简介
看似立体的窗口、按钮、输入框等,全是在2维坐标中画出来的。
目标
绘制简单的文本输入框和按住鼠标左键移动窗口。
1.os.c
makeWindow函数绘制输入框在消息窗体上
static void makeWindow(SHTCTL *shtctl,SHEET *sht) {
static char closebtn[14][16] = {
"OOOOOOOOOOOOOOO@", "OQQQQQQQQQQQQQ$@","OQQQQQQQQQQQQQ$@",
"OQQQ@@QQQQ@@QQ$@", "OQQQQ@@QQ@@QQQ$@", "OQQQQQ@@@@QQQQ$@",
"OQQQQQQ@@QQQQQ$@", "OQQQQQ@@@@QQQQ$@", "OQQQQ@@QQ@@QQQ$@",
"OQQQ@@QQQQ@@QQ$@", "OQQQQQQQQQQQQQ$@", "OQQQQQQQQQQQQQ$@",
"O$$$$$$$$$$$$$$@", "@@@@@@@@@@@@@@@@"
};
int bxsize = sht->width;
int bysize = sht->height;
sheet_fillRect(0,0,bxsize,1,COL8_C6C6C6,sht);
sheet_fillRect(1,1,bxsize-2,1,COL8_FFFFFF,sht);
sheet_fillRect(0,0,1,bysize,COL8_C6C6C6,sht);
sheet_fillRect(1,1,1,bysize-1,COL8_FFFFFF,sht);
sheet_fillRect(bxsize-2,1,1,1,COL8_848484,sht);
sheet_fillRect(bxsize-1,0,1,bysize,COL8_000000,sht);
sheet_fillRect(2,2,bxsize-4,bysize-4,COL8_C6C6C6,sht);
sheet_fillRect(3,3,bxsize-6,18,COL8_000084,sht);
sheet_fillRect(1,bysize-2,bxsize-2,1,COL8_848484,sht);
s