OSDN Git Service

SimpleHTMLEditorを追加。
[chnosproject/CHNOSProject.git] / CHNOSProject / chnos / tolset_chn_000 / chnos_008 / chnos / window.c
diff --git a/CHNOSProject/chnos/tolset_chn_000/chnos_008/chnos/window.c b/CHNOSProject/chnos/tolset_chn_000/chnos_008/chnos/window.c
deleted file mode 100644 (file)
index 1c73f1a..0000000
+++ /dev/null
@@ -1,307 +0,0 @@
-#include "core.h"\r
-\r
-void scrool_win_8(UI_Window *winfo, uchar *vram);\r
-void scrool_win_16(UI_Window *winfo, ushort *vram);\r
-void scrool_win_32(UI_Window *winfo, uint *vram);\r
-\r
-char closebtn[16][40] = {\r
-       "OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO",\r
-       "OQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ$@",\r
-       "OQQQQQQQQQQQQQJJQQQQQQQQJJQQQQQQQQQQQQ$@",\r
-       "OQQQQQQQQQQQQQJJJQQQQQQJJJQQQQQQQQQQQQ$@",\r
-       "OQQQQQQQQQQQQQQJJJQQQQJJJQQQQQQQQQQQQQ$@",\r
-       "OQQQQQQQQQQQQQQQJJJQQJJJQQQQQQQQQQQQQQ$@",\r
-       "OQQQQQQQQQQQQQQQQJJJJJJQQQQQQQQQQQQQQQ$@",\r
-       "OQQQQQQQQQQQQQQQQQJJJJQQQQQQQQQQQQQQQQ$@",\r
-       "OQQQQQQQQQQQQQQQQQJJJJQQQQQQQQQQQQQQQQ$@",\r
-       "OQQQQQQQQQQQQQQQQJJJJJJQQQQQQQQQQQQQQQ$@",\r
-       "OQQQQQQQQQQQQQQQJJJQQJJJQQQQQQQQQQQQQQ$@",\r
-       "OQQQQQQQQQQQQQQJJJQQQQJJJQQQQQQQQQQQQQ$@",\r
-       "OQQQQQQQQQQQQQJJJQQQQQQJJJQQQQQQQQQQQQ$@",\r
-       "OQQQQQQQQQQQQQJJQQQQQQQQJJQQQQQQQQQQQQ$@",\r
-       "OQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ$@",\r
-       "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@"\r
-};\r
-\r
-void init_windows(void)\r
-{\r
-       int i;\r
-\r
-       for(i = 0;i < MAX_WINDOWS;i++){\r
-               system.ui.window.ctrl.winfos[i].flags = initialized;\r
-               system.ui.window.ctrl.winfos[i].buf = (void *)0x00000000;\r
-               system.ui.window.ctrl.winfos[i].app_buf = (void *)0x00000000;\r
-               system.ui.window.ctrl.winfos[i].app_buf_bits = 0;\r
-               system.ui.window.ctrl.winfos[i].task = (UI_Task *)0;\r
-       }\r
-       return;\r
-}\r
-\r
-UI_Window *window_alloc(void)\r
-{\r
-       UI_Window *win;\r
-       int i;\r
-\r
-       for(i = 0;i < MAX_WINDOWS;i++){\r
-               if(system.ui.window.ctrl.winfos[i].flags == initialized){\r
-                       win = &system.ui.window.ctrl.winfos[i];\r
-                       win->flags = allocated;\r
-                       win->buf = (void *)0x00000000;\r
-                       win->app_buf = (void *)0x00000000;\r
-                       win->app_buf_bits = 0;\r
-                       win->task = (UI_Task *)0;\r
-                       return win;\r
-               }\r
-       }\r
-       return 0;\r
-}\r
-\r
-void window_free(UI_Window *winfo)\r
-{\r
-       winfo->flags = initialized;\r
-       winfo->task = (UI_Task *)0;\r
-       return;\r
-}\r
-\r
-UI_Window *make_window(uchar *title, int xsize, int ysize, int px, int py, int height, bool active)\r
-{\r
-       UI_Window *winfo = window_alloc();\r
-\r
-       if(winfo == 0) goto err;\r
-       winfo->winxsize = xsize + 8;\r
-       winfo->winysize = ysize + 28;\r
-       winfo->xsize = xsize;\r
-       winfo->ysize = ysize;\r
-       winfo->position.x = px;\r
-       winfo->position.y = py;\r
-       winfo->origin.x = 4;\r
-       winfo->origin.y = 24;\r
-       winfo->win = sheet_alloc();\r
-       winfo->buf = (uint *)sys_memman_alloc((winfo->winxsize * winfo->winysize) * (system.data.info.vesa.BitsPerPixel >> 2));\r
-\r
-       sheet_setbuf(winfo->win, winfo->buf, winfo->winxsize, winfo->winysize,INV_COL32);       \r
-\r
-       change_window(winfo, title, active);\r
-       boxfill_win(winfo, 0xFFFFFF, 0, 0, winfo->xsize, winfo->ysize);\r
-\r
-       sheet_slide(winfo->win, px, py);\r
-       sheet_updown(winfo->win, height);       \r
-err:\r
-       return winfo;\r
-}\r
-\r
-UI_Window *make_window_app(uchar *title, int xsize, int ysize, int px, int py, int height, bool active, uint *buf, UI_Task *task)\r
-{\r
-       UI_Window *winfo = window_alloc();\r
-\r
-       if(winfo == 0) goto err;\r
-       winfo->winxsize = xsize + 8;\r
-       winfo->winysize = ysize + 28;\r
-       winfo->xsize = xsize;\r
-       winfo->ysize = ysize;\r
-       winfo->position.x = px;\r
-       winfo->position.y = py;\r
-       winfo->origin.x = 4;\r
-       winfo->origin.y = 24;\r
-       winfo->win = sheet_alloc();\r
-       winfo->buf = buf;\r
-       winfo->task = task;\r
-\r
-       sheet_setbuf(winfo->win, winfo->buf, winfo->winxsize, winfo->winysize,INV_COL32);       \r
-\r
-       change_window(winfo, title, active);\r
-       boxfill_win(winfo, 0xFFFFFF, 0, 0, winfo->xsize, winfo->ysize);\r
-\r
-       sheet_slide(winfo->win, px, py);\r
-       sheet_updown(winfo->win, height);       \r
-err:\r
-       return winfo;\r
-}\r
-\r
-UI_Window *make_window_app_compatible_hrb(uchar *title, int xsize, int ysize, int px, int py, int height, bool active, uint *buf, UI_Task *task)\r
-{\r
-       xsize = xsize - 8;\r
-       ysize = ysize - 28;\r
-       return make_window_app(title, xsize, ysize, px, py, height, active, buf, task);\r
-}\r
-\r
-void free_window_app(UI_Window *winfo)\r
-{\r
-       sheet_free(winfo->win);\r
-       window_free(winfo);\r
-       return;\r
-}\r
-\r
-void change_window(UI_Window *winfo, uchar *title, bool active)\r
-{\r
-       uint color = 0;\r
-       int x = 0, y = 0;\r
-       char c;\r
-\r
-       for (; *title != 0x00; title++) {\r
-               winfo->title[x] = *title;               \r
-               x++;\r
-       }\r
-       winfo->title[x] = 0x00;\r
-       winfo->active = active; \r
-\r
-       if(system.data.info.vesa.BitsPerPixel == 8){\r
-               if(active) color = WIN_COL8_ACTIVE;\r
-               else color = WIN_COL8_INACTIVE;\r
-       } else if(system.data.info.vesa.BitsPerPixel == 16){\r
-               if(active) color = WIN_COL16_ACTIVE;\r
-               else color = WIN_COL16_INACTIVE;\r
-       } else if(system.data.info.vesa.BitsPerPixel == 32){\r
-               if(active) color = WIN_COL32_ACTIVE;\r
-               else color = WIN_COL32_INACTIVE;\r
-       }\r
-\r
-       boxfill_i(winfo->buf, winfo->winxsize, color, 0, 0, winfo->winxsize, 24);       \r
-       boxfill_i(winfo->buf, winfo->winxsize, color, 0, 0, 4, winfo->winysize);\r
-       boxfill_i(winfo->buf, winfo->winxsize, color, winfo->winxsize - 4, 0, winfo->winxsize, winfo->winysize);\r
-       boxfill_i(winfo->buf, winfo->winxsize, color, 0, winfo->winysize - 4, winfo->winxsize, winfo->winysize);\r
-\r
-\r
-       line_i(winfo->buf, winfo->winxsize, 0, 0, winfo->winxsize - 1, 0, 0xFFFFFF);\r
-       line_i(winfo->buf, winfo->winxsize, 0, 0, 0, winfo->winysize - 1, 0xFFFFFF);\r
-       line_i(winfo->buf, winfo->winxsize, winfo->winxsize - 1, 0, winfo->winxsize - 1, winfo->winysize - 1, 0x000000);\r
-       line_i(winfo->buf, winfo->winxsize, 0, winfo->winysize - 1, winfo->winxsize - 1, winfo->winysize - 1, 0x000000);\r
-\r
-       putfonts_asc_sht_i(winfo->win, 4, 4, 0xFFFFFF, color, winfo->title);\r
-\r
-       for(y = 0; y < 16; y++){\r
-               for(x = 0; x < 40; x++){\r
-                       c = closebtn[y][x];\r
-                       if(c == '@')            color = 0xFF0000;\r
-                       else if(c == '$')       color = 0xFF0000;\r
-                       else if(c == 'Q')       color = 0xFF0000;\r
-                       else if(c == 'J')       color = 0xFFFFFF;\r
-                       else if(c == 'O')       color = 0xFFFFFF;\r
-                       point_i(winfo->buf, winfo->winxsize - 44 + x, y, color, winfo->winxsize);\r
-               }\r
-       }\r
-       refresh_window(winfo);\r
-       return;\r
-}\r
-\r
-void change_window_title(UI_Window *winfo, uchar *title)\r
-{\r
-       change_window(winfo, title, winfo->active);\r
-}\r
-\r
-void change_window_active(UI_Window *winfo, bool active)\r
-{\r
-       change_window(winfo, winfo->title, active);\r
-}\r
-\r
-void slide_window(UI_Window *winfo, int px, int py)\r
-{\r
-       winfo->position.x = px;\r
-       winfo->position.y = py;\r
-\r
-       sheet_slide(winfo->win, winfo->position.x, winfo->position.y);\r
-       return;\r
-}\r
-\r
-void refresh_window(UI_Window *winfo)\r
-{\r
-       sheet_refresh_full(winfo->win);\r
-       return;\r
-}\r
-\r
-void refresh_window_alpha(UI_Window *winfo)\r
-{\r
-       sheet_refresh_full_alpha(winfo->win);\r
-       return;\r
-}\r
-\r
-void boxfill_win(UI_Window *winfo, uint c, int x0, int y0, int x1, int y1)\r
-{\r
-       if(x0 < 0 || y0 < 0 || x1 > winfo->xsize || y1 > winfo->ysize) goto err;\r
-\r
-       boxfill_i(winfo->buf, winfo->winxsize, c, winfo->origin.x + x0, winfo->origin.y + y0, winfo->origin.x + x1, winfo->origin.y + y1);\r
-       sheet_refresh(winfo->win, x0 + winfo->origin.x, y0 + winfo->origin.y, x1 + winfo->origin.x, y1 + winfo->origin.y);\r
-err:\r
-       return;\r
-}\r
-\r
-void point_win(UI_Window *winfo, uint c, int x, int y)\r
-{\r
-       point_i(winfo->buf, x + winfo->origin.x, y + winfo->origin.y, c, winfo->winxsize);\r
-       return;\r
-}\r
-\r
-void putfonts_win(UI_Window *winfo, int x, int y, uint c, uint bc, const uchar *s)\r
-{\r
-       if(x < 0 || y < 0 || x > winfo->xsize || y > winfo->ysize) goto err;\r
-       putfonts_asc_sht_i(winfo->win, x + winfo->origin.x, y + winfo->origin.y, c, bc, s);\r
-err:\r
-       return;\r
-}\r
-\r
-void putfonts_win_no_bc(UI_Window *winfo, int x, int y, uint c, const uchar *s)\r
-{\r
-       if(x < 0 || y < 0 || x > winfo->xsize || y > winfo->ysize) goto err;\r
-       putfonts_asc_sht_i_no_bc(winfo->win, x + winfo->origin.x, y + winfo->origin.y, c, s);\r
-err:\r
-       return;\r
-}\r
-\r
-void scrool_win(UI_Window *winfo)\r
-{\r
-       if(system.data.info.vesa.BitsPerPixel == 8) scrool_win_8(winfo, winfo->buf);\r
-       else if(system.data.info.vesa.BitsPerPixel == 16) scrool_win_16(winfo, winfo->buf);\r
-       else if(system.data.info.vesa.BitsPerPixel == 32) scrool_win_32(winfo, winfo->buf);\r
-       boxfill_win(winfo, 0x000000, 0, winfo->ysize - 16, winfo->xsize, winfo->ysize);\r
-       return;\r
-}\r
-\r
-void scrool_win_32(UI_Window *winfo, uint *vram)\r
-{\r
-       int x, y;\r
-       for (y = winfo->origin.y; y < winfo->ysize + winfo->origin.y - 16; y++) {\r
-               for (x = winfo->origin.x; x < winfo->xsize + winfo->origin.x; x++) {\r
-                       vram[x + y * winfo->winxsize] = vram[x + (y + 16) * winfo->winxsize];\r
-               }\r
-       }\r
-       return;\r
-}\r
-\r
-void scrool_win_16(UI_Window *winfo, ushort *vram)\r
-{\r
-       int x, y;\r
-\r
-       for (y = winfo->origin.y; y < winfo->ysize + winfo->origin.y - 16; y++) {\r
-               for (x = winfo->origin.x; x < winfo->xsize + winfo->origin.x; x++) {\r
-                       vram[x + y * winfo->winxsize] = vram[x + (y + 16) * winfo->winxsize];\r
-               }\r
-       }\r
-       return;\r
-}\r
-\r
-void scrool_win_8(UI_Window *winfo, uchar *vram)\r
-{\r
-       int x, y;\r
-\r
-       for (y = winfo->origin.y; y < winfo->ysize + winfo->origin.y - 16; y++) {\r
-               for (x = winfo->origin.x; x < winfo->xsize + winfo->origin.x; x++) {\r
-                       vram[x + y * winfo->winxsize] = vram[x + (y + 16) * winfo->winxsize];\r
-               }\r
-       }\r
-       return;\r
-}\r
-\r
-void line_win(UI_Window *winfo, int x0, int y0, int x1, int y1, uint c)\r
-{\r
-       line_i(winfo->buf, winfo->winxsize, x0 + winfo->origin.x, y0 + winfo->origin.y, x1 + winfo->origin.x, y1 + winfo->origin.y, c);\r
-       return;\r
-}\r
-\r
-void draw_hexagon_win(UI_Window *winfo, int a, int x, int y, uint c)\r
-{\r
-       draw_hexagon_i(winfo->buf, winfo->winxsize, a, x + winfo->origin.x, y + winfo->origin.y, c);\r
-       return;\r
-}\r
-\r
-\r
-\r