OSDN Git Service

SimpleHTMLEditorを追加。
[chnosproject/CHNOSProject.git] / CHNOSProject / chnos / tolset_chn_000 / chnos_009 / chnos / window.c
diff --git a/CHNOSProject/chnos/tolset_chn_000/chnos_009/chnos/window.c b/CHNOSProject/chnos/tolset_chn_000/chnos_009/chnos/window.c
deleted file mode 100644 (file)
index a62ec24..0000000
+++ /dev/null
@@ -1,228 +0,0 @@
-\r
-#include "core.h"\r
-\r
-uchar closebutton[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
-UI_Window *window_root;\r
-\r
-void Initialise_Window(UI_Window *windowctrl)\r
-{\r
-       window_root = windowctrl;\r
-       window_root->client = 0;\r
-       window_root->control = 0;\r
-       window_root->title[0] = 0x00;\r
-       window_root->next = 0;\r
-       return;\r
-}\r
-\r
-UI_Window *Window_Create(const uchar *title, uint flags, uint xsize, uint ysize)\r
-{\r
-       DATA_BootInfo *boot = (DATA_BootInfo *)ADR_BOOTINFO;\r
-       UI_Window *win, *end;\r
-       uint i;\r
-       int x, y;\r
-\r
-       win = MemoryBlock_Allocate_System(sizeof(UI_Window));\r
-       MemoryBlock_Write_Description(win, "UI_Window");\r
-\r
-       for(i = 0; i < (WINDOW_TITLE_LENGTH - 1); i++){\r
-               if(title[i] == 0x00){\r
-                       break;\r
-               }\r
-               win->title[i] = title[i];\r
-       }\r
-       win->title[i] = 0x00;\r
-\r
-       win->control = System_Sheet_Get((i + 8) << 3, WINDOW_CONTROL_XSIZE, 0, 0);\r
-       win->client = System_Sheet_Get(xsize, ysize, 0, 0);\r
-       Sheet_Set_Movable(win->control, true);\r
-\r
-       Sheet_Draw_Fill_Rectangle_Gradation_Vertical(win->control, 0xffffff, 0x7cfc00, 0, 0, win->control->size.x - 1, win->control->size.y - 1);\r
-\r
-       Sheet_Draw_Fill_Rectangle(win->client, 0xffffff, 0, 0, win->client->size.x - 1, win->client->size.y - 1);\r
-\r
-       Window_Draw_CloseButton(win, false);\r
-\r
-//     Sheet_Draw_Fill_Rectangle(win->control, 0xffffff, 0, 0, win->control->size.x - 1, 0);\r
-//     Sheet_Draw_Fill_Rectangle(win->control, 0xffffff, 0, 0, 0, win->control->size.y - 1);\r
-//     Sheet_Draw_Fill_Rectangle(win->control, 0x32cd32, win->control->size.x - 1, 0, win->control->size.x - 1, win->control->size.y - 1);\r
-//     Sheet_Draw_Fill_Rectangle(win->control, 0x32cd32, 0, win->control->size.y - 1, win->control->size.x - 1, win->control->size.y - 1);\r
-\r
-       x = (boot->scrnx >> 1) - (win->client->size.x >> 1);\r
-       y = (boot->scrny >> 1) - (win->client->size.y >> 1) - (win->control->size.y >> 1);\r
-\r
-       if(x < 0){\r
-               x = 0;\r
-       }\r
-       if(y < 0){\r
-               y = 0;\r
-       }\r
-       Sheet_Draw_Put_String(win->control, 4 + 8, 4, 0x00000000, win->title);\r
-\r
-       Sheet_Set_MouseEventProcedure(win->control, &Window_Control_MouseEventProcedure, 0);\r
-\r
-       Sheet_Show(win->control, x, y, System_Sheet_Get_Top_Of_Height());\r
-       Sheet_Show(win->client, x, y + win->control->size.y, System_Sheet_Get_Top_Of_Height());\r
-\r
-       for(end = window_root; end->next != 0; end = end->next){\r
-\r
-       }\r
-       win->next = 0;\r
-       end->next = win;\r
-\r
-       CHNOS_UI_KeyFocus_Change(win->client);\r
-\r
-       return win;\r
-}\r
-\r
-UI_Window *Window_Create_User(const uchar *title, uint flags, UI_Sheet *client)\r
-{\r
-       DATA_BootInfo *boot = (DATA_BootInfo *)ADR_BOOTINFO;\r
-       UI_Window *win, *end;\r
-       uint i;\r
-       int x, y;\r
-\r
-       win = MemoryBlock_Allocate_System(sizeof(UI_Window));\r
-       MemoryBlock_Write_Description(win, "UI_Window");\r
-\r
-       for(i = 0; i < (WINDOW_TITLE_LENGTH - 1); i++){\r
-               if(title[i] == 0x00){\r
-                       break;\r
-               }\r
-               win->title[i] = title[i];\r
-       }\r
-       win->title[i] = 0x00;\r
-\r
-       win->control = System_Sheet_Get((i + 8) << 3, WINDOW_CONTROL_XSIZE, 0, 0);\r
-       win->client = client;\r
-       Sheet_Set_Movable(win->control, true);\r
-\r
-       Sheet_Draw_Fill_Rectangle_Gradation_Vertical(win->control, 0xffffff, 0x7cfc00, 0, 0, win->control->size.x - 1, win->control->size.y - 1);\r
-\r
-       Window_Draw_CloseButton(win, false);\r
-\r
-//     Sheet_Draw_Fill_Rectangle(win->control, 0xffffff, 0, 0, win->control->size.x - 1, 0);\r
-//     Sheet_Draw_Fill_Rectangle(win->control, 0xffffff, 0, 0, 0, win->control->size.y - 1);\r
-//     Sheet_Draw_Fill_Rectangle(win->control, 0x32cd32, win->control->size.x - 1, 0, win->control->size.x - 1, win->control->size.y - 1);\r
-//     Sheet_Draw_Fill_Rectangle(win->control, 0x32cd32, 0, win->control->size.y - 1, win->control->size.x - 1, win->control->size.y - 1);\r
-\r
-       x = (boot->scrnx >> 1) - (win->client->size.x >> 1);\r
-       y = (boot->scrny >> 1) - (win->client->size.y >> 1) - (win->control->size.y >> 1);\r
-\r
-       if(x < 0){\r
-               x = 0;\r
-       }\r
-       if(y < 0){\r
-               y = 0;\r
-       }\r
-       Sheet_Draw_Put_String(win->control, 4 + 8, 4, 0x00000000, win->title);\r
-\r
-       Sheet_Set_MouseEventProcedure(win->control, &Window_Control_MouseEventProcedure, 0);\r
-\r
-       Sheet_Show(win->control, x, y, System_Sheet_Get_Top_Of_Height());\r
-\r
-       if(!win->client->visible){\r
-               Sheet_Show(win->client, x, y + win->control->size.y, System_Sheet_Get_Top_Of_Height());\r
-       } else{\r
-               Sheet_Slide(win->client, x, y + win->control->size.y);\r
-               Sheet_UpDown(win->client, System_Sheet_Get_Top_Of_Height());\r
-       }\r
-\r
-       for(end = window_root; end->next != 0; end = end->next){\r
-\r
-       }\r
-       win->next = 0;\r
-       end->next = win;\r
-\r
-       CHNOS_UI_KeyFocus_Change(win->client);\r
-\r
-       return win;\r
-}\r
-\r
-UI_Window *Window_Get_From_Sheet(UI_Sheet *sheet)\r
-{\r
-       UI_Window *now;\r
-\r
-       for(now = window_root->next; now != 0; now = now->next){\r
-               if(now->control == sheet || now->client == sheet){\r
-                       return now;\r
-               }\r
-       }\r
-       return 0;\r
-}\r
-\r
-void Window_Control_MouseEventProcedure(UI_MouseEventArguments *e)\r
-{\r
-       UI_Window *focus_win;\r
-\r
-       focus_win = Window_Get_From_Sheet(e->focus);\r
-\r
-       if(focus_win == 0){\r
-               return;\r
-       }\r
-\r
-       if((e->button & MOUSE_BUTTON_L) != 0 && (e->button_before & MOUSE_BUTTON_L) == 0){      /*L down*/\r
-               CHNOS_UI_KeyFocus_Change(focus_win->client);\r
-               Sheet_UpDown(focus_win->client, System_Sheet_Get_Top_Of_Height() - 1);\r
-               if(focus_win->control->size.x - 44 <= e->position_local.x && e->position_local.x <= focus_win->control->size.x - 4 - 1 && 0 <= e->position_local.y && e->position_local.y <= 16 - 1){\r
-                       Window_Draw_CloseButton(focus_win, true);\r
-               }\r
-       }\r
-       if((e->button & MOUSE_BUTTON_L) == 0 && (e->button_before & MOUSE_BUTTON_L) != 0){      /*L release*/\r
-               Sheet_Slide(focus_win->client, focus_win->control->position.x, focus_win->control->position.y + focus_win->control->size.y);\r
-               Window_Draw_CloseButton(focus_win, false);\r
-       }\r
-       return;\r
-}\r
-\r
-void Window_Draw_CloseButton(UI_Window *win, bool pressed)\r
-{\r
-       uint x, y, color;\r
-       uchar c;\r
-\r
-       if(pressed){\r
-               Sheet_Draw_Fill_Rectangle_Gradation_Vertical(win->control, 0xff0000, 0xffffff, win->control->size.x - 44, 0, win->control->size.x - 4 - 1, 16 - 1);\r
-       } else{\r
-               Sheet_Draw_Fill_Rectangle_Gradation_Vertical(win->control, 0xffffff, 0xff0000, win->control->size.x - 44, 0, win->control->size.x - 4 - 1, 16 - 1);\r
-       }\r
-\r
-       for(y = 0; y < 16; y++){\r
-               for(x = 0; x < 40; x++){\r
-                       c = closebutton[y][x];\r
-                       color = 0x000000;\r
-                       if(c == '@'){\r
-                               //color = 0x8b0000;\r
-                       } else if(c == '$'){\r
-                               //color = 0xff0000;\r
-                       } else if(c == 'Q'){\r
-                               //color = 0xff0000;\r
-                       } else if(c == 'J'){\r
-                               color = 0xffffff;\r
-                       } else if(c == 'O'){\r
-                               //color = 0xffffff;\r
-                       }\r
-                       if(color != 0x000000){\r
-                               Sheet_Draw_Point(win->control, color, win->control->size.x - 44 + x, y);\r
-                       }\r
-               }\r
-       }\r
-\r
-       return;\r
-}\r