From 4ad25a75b3e0c44808742145bcb72cd454f2a596 Mon Sep 17 00:00:00 2001 From: "Kirill Lipatov (Leency)" Date: Tue, 14 Apr 2020 11:29:55 +0000 Subject: [PATCH] @menu: return to orthodox flat design git-svn-id: svn://kolibrios.org@7786 a494cfbc-eb01-0410-851d-a64ba20cac60 --- programs/cmm/eolite/Eolite.c | 688 +++++++++--------- programs/develop/sdk/trunk/pixlib/demo1.asm | 4 +- programs/develop/sdk/trunk/pixlib/demo2.asm | 4 +- programs/develop/sdk/trunk/pixlib/demo3.asm | 4 +- programs/fs/fspeed/udata.inc | 4 +- programs/fs/opendial/opendial.asm | 4 +- programs/games/flood-it/trunk/lib/kolibri.h | 2 +- programs/games/mine/trunk/kos_sys.h-- | 4 +- programs/gui_patterns.inc | 17 +- programs/macros.inc | 4 +- programs/media/scrshoot/scrshoot.mac | 4 +- programs/other/Timer/Timer.asm | 4 +- programs/other/calc/trunk/calc.asm | 2 +- .../menu/trunk/{build_en.bat => build.bat} | 0 programs/system/menu/trunk/build_ru.bat | 6 - programs/system/menu/trunk/menu.asm | 28 +- programs/system/rdsave/trunk/rdsave.asm | 2 +- programs/system/skincfg/trunk/udata.inc | 4 +- 18 files changed, 397 insertions(+), 388 deletions(-) rename programs/system/menu/trunk/{build_en.bat => build.bat} (100%) delete mode 100644 programs/system/menu/trunk/build_ru.bat diff --git a/programs/cmm/eolite/Eolite.c b/programs/cmm/eolite/Eolite.c index 5dbf3fb9ea..7d52cbf091 100644 --- a/programs/cmm/eolite/Eolite.c +++ b/programs/cmm/eolite/Eolite.c @@ -150,18 +150,22 @@ byte cmd_free=0; #include "include\properties.h" #include "include\breadcrumbs.h" -void main() +void load_libraries() { - dword id; - byte count_sl = 0; - signed x_old, y_old, dif_x, dif_y, adif_x, adif_y; - char stats; - rand_n = random(40); - load_dll(boxlib, #box_lib_init,0); load_dll(libini, #lib_init,1); load_dll(libio, #libio_init,1); load_dll(libimg, #libimg_init,1); +} + +void main() +{ + dword id; + byte count_sl = 0; + + rand_n = random(40); + + load_libraries(); SetAppColors(); LoadIniSettings(); @@ -182,12 +186,9 @@ void main() { if (strlen(#param)>1) && (param[strlen(#param)-1]=='/') param[strlen(#param)-1]=NULL; //no "/" at the end - if (dir_exists(#param)==true) - { + if (dir_exists(#param)) { strcpy(#path, #param); - } - else - { + } else { notify(T_NOTIFY_APP_PARAM_WRONG); } } @@ -196,355 +197,309 @@ void main() strcpy(#inactive_path, #path); llist_copy(#files_inactive, #files); SetEventMask(EVM_REDRAW+EVM_KEY+EVM_BUTTON+EVM_MOUSE+EVM_MOUSE_FILTER); - loop(){ - switch(WaitEventTimeout(50)) - { - case evMouse: - if (del_active) || (Form.status_window>2) break; - if (new_element_active) - { - edit_box_mouse stdcall(#new_file_ed); - break; - } - - mouse.get(); + loop() switch(WaitEventTimeout(50)) + { + case evMouse: + if (del_active) || (Form.status_window>2) break; + if (new_element_active) + { + edit_box_mouse stdcall(#new_file_ed); + break; + } + + mouse.get(); - if (!mouse.mkm) && (stats>0) stats = 0; - if (mouse.mkm) && (!stats) + ProceedMouseGestures(); + + if (files.MouseOver(mouse.x, mouse.y)) + { + //select file + if (mouse.key&MOUSE_LEFT) && (mouse.up) { - x_old = mouse.x; - y_old = mouse.y; - stats = 1; - } - if (mouse.mkm) && (stats==1) - { - dif_x = mouse.x-x_old; - dif_y = mouse.y-y_old; - adif_x = fabs(dif_x); - adif_y = fabs(dif_y); - - if (adif_x>adif_y) - { - if (dif_x > 150) - { - if (history.forward()) - { - strcpy(#path, history.current()); - files.KeyHome(); - Open_Dir(#path,WITH_REDRAW); - } - stats = 0; - } - if (dif_x < -150) - { - GoBack(); - stats = 0; - } - } - else - { - if (dif_y < -100) - { - Dir_Up(); - stats = 0; - } - } - } - if (files.MouseOver(mouse.x, mouse.y)) - { - //select file - if (mouse.key&MOUSE_LEFT) && (mouse.up) - { - if (files.ProcessMouse(mouse.x, mouse.y)) List_ReDraw(); else { - if (mouse.y - files.y / files.item_h + files.first == files.cur_y) Open(0); - } - } - //file menu - if (mouse.key&MOUSE_RIGHT) && (mouse.up) - { - if (files.ProcessMouse(mouse.x, mouse.y)) List_ReDraw(); - if (getElementSelectedFlag(files.cur_y) == false) selected_count = 0; //on redraw selection would be flashed, see [L001] - EventShowListMenu(); - break; + if (files.ProcessMouse(mouse.x, mouse.y)) List_ReDraw(); else { + if (mouse.y - files.y / files.item_h + files.first == files.cur_y) Open(0); } } - - if (mouse.vert) + //file menu + if (mouse.key&MOUSE_RIGHT) && (mouse.up) { - if (files.MouseScroll(mouse.vert)) List_ReDraw(); + if (files.ProcessMouse(mouse.x, mouse.y)) List_ReDraw(); + if (getElementSelectedFlag(files.cur_y) == false) selected_count = 0; //on redraw selection would be flashed, see [L001] + EventShowListMenu(); break; } + } - if (mouse.x>=files.x+files.w) && (mouse.x<=files.x+files.w+16) && (mouse.y>files.y-17) && (mouse.y=files.x+files.w) && (mouse.x<=files.x+files.w+16) && (mouse.y>files.y-17) && (mouse.y0) { - if (mouse.lkm) DrawRectangle3D(files.x+files.w+1,files.y-16,14,14,system.color.work_dark,system.color.work_light); - WHILE (mouse.lkm) && (files.first>0) - { - pause(8); - files.first--; - List_ReDraw(); - mouse.get(); - } - DrawRectangle3D(files.x+files.w+1,files.y-16,14,14,system.color.work_light,system.color.work_dark); + pause(8); + files.first--; + List_ReDraw(); + mouse.get(); } + DrawRectangle3D(files.x+files.w+1,files.y-16,14,14,system.color.work_light,system.color.work_dark); + } - if (mouse.x>=files.x+files.w) && (mouse.x<=files.x+files.w+16) && (mouse.y>files.y+files.h-16) && (mouse.y=files.x+files.w) && (mouse.x<=files.x+files.w+16) && (mouse.y>files.y+files.h-16) && (mouse.y=files.x+files.w) && (mouse.x<=files.x+files.w+18) && (mouse.y>files.y) && (mouse.y=files.x+files.w) && (mouse.x<=files.x+files.w+18) && (mouse.y>files.y) && (mouse.ymouse.y) || (mouse.y<0) || (mouse.y>4000) mouse.y=sc_slider_h/2+files.y; //anee eo?ni? iaa ieiii + id = files.first; + files.first = -sc_slider_h / 2 + mouse.y -files.y * files.count; + files.first /= files.h - 18; + if (files.visible+files.first>files.count) files.first=files.count-files.visible; + if (files.first<0) files.first=0; + if (id!=files.first) List_ReDraw(); + break; + } + + if (two_panels.checked) && (mouse.y > files.y) && (mouse.down) { + if (mouse.xmouse.y) || (mouse.y<0) || (mouse.y>4000) mouse.y=sc_slider_h/2+files.y; //anee eo?ni? iaa ieiii - id = files.first; - files.first = -sc_slider_h / 2 + mouse.y -files.y * files.count; - files.first /= files.h - 18; - if (files.visible+files.first>files.count) files.first=files.count-files.visible; - if (files.first<0) files.first=0; - if (id!=files.first) List_ReDraw(); + if (active_panel!=1) + { + active_panel = 1; + ChangeActivePanel(); + } + } + else + { + if (active_panel!=2) + { + active_panel = 2; + ChangeActivePanel(); + } + } + } + break; +//Button pressed----------------------------------------------------------------------------- + case evButton: + id=GetButtonID(); + + if (new_element_active) || (del_active) { + if(POPUP_BTN1==id) || (POPUP_BTN2==id) { + if (del_active) Del_File(id-POPUP_BTN2); + if (new_element_active) NewElement(id-POPUP_BTN2); + DeleteButton(POPUP_BTN1); + DeleteButton(POPUP_BTN2); + } + break; + } + + switch(id) + { + case CLOSE_BTN: + KillProcess(about_thread_id); + SaveIniSettings(); + ExitProcess(); + case PATH_BTN: + notify(COPY_PATH_STR); + Clipboard__CopyText(#path); + break; + case 21: //Back + EventHistoryGoBack(); + break; + case 22: //Forward + EventHistoryGoForward(); + break; + case 23: + Dir_Up(); + break; + case 24: + Copy(#file_path, CUT); + break; + case 25: + Copy(#file_path, NOCUT); + break; + case 26: + Paste(); + break; + case 31...33: + EventSort(id-30); + break; + case 50...60: //Actions + FnProcess(id-50); + break; + case 61: // Set path as default + SetDefaultPath(#path); + break; + case 100...120: + SystemDiscs.Click(id-100); break; - } + case BREADCRUMB_ID...360: + ClickOnBreadCrumb(id-BREADCRUMB_ID); + break; + } + break; + +//Key pressed----------------------------------------------------------------------------- + case evKey: + GetKeys(); - if (two_panels.checked) && (mouse.y > files.y) && (mouse.down) { - if (mouse.x2) break; - if (new_element_active) || (del_active) { - if(POPUP_BTN1==id) || (POPUP_BTN2==id) { - if (del_active) Del_File(id-POPUP_BTN2); - if (new_element_active) NewElement(id-POPUP_BTN2); - DeleteButton(POPUP_BTN1); - DeleteButton(POPUP_BTN2); - } - break; - } - - switch(id) + if (new_element_active) || (del_active) + { + if (del_active) { - case CLOSE_BTN: - KillProcess(about_thread_id); - SaveIniSettings(); - ExitProcess(); - case PATH_BTN: - notify(COPY_PATH_STR); - Clipboard__CopyText(#path); - break; - case 21: //Back - GoBack(); - break; - case 22: //Forward - if (history.forward()) - { - strcpy(#path, history.current()); - files.KeyHome(); - Open_Dir(#path,WITH_REDRAW); - } - break; - case 23: - Dir_Up(); - break; - case 24: - Copy(#file_path, CUT); - break; - case 25: - Copy(#file_path, NOCUT); - break; - case 26: - Paste(); - break; - case 31...33: - EventSort(id-30); - break; - case 50...60: //Actions - FnProcess(id-50); - break; - case 61: // Set path as default - SetDefaultPath(#path); - break; - case 100...120: - SystemDiscs.Click(id-100); - break; - case BREADCRUMB_ID...360: - ClickOnBreadCrumb(id-BREADCRUMB_ID); - break; + if (key_scancode == SCAN_CODE_ENTER) Del_File(true); + if (key_scancode == SCAN_CODE_ESC) Del_File(false); + } + if (new_element_active) + { + if (key_scancode == SCAN_CODE_ENTER) NewElement(true); + if (key_scancode == SCAN_CODE_ESC) NewElement(false); + EAX = key_editbox; + edit_box_key stdcall (#new_file_ed); } break; - - //Key pressed----------------------------------------------------------------------------- - case evKey: - GetKeys(); + } - if (Form.status_window>2) break; + if (files.ProcessKey(key_scancode)) + { + List_ReDraw(); + break; + } - if (new_element_active) || (del_active) + if (key_modifier&KEY_LCTRL) || (key_modifier&KEY_RCTRL) + { + switch(key_scancode) { - if (del_active) - { - if (key_scancode == SCAN_CODE_ENTER) Del_File(true); - if (key_scancode == SCAN_CODE_ESC) Del_File(false); - } - if (new_element_active) - { - if (key_scancode == SCAN_CODE_ENTER) NewElement(true); - if (key_scancode == SCAN_CODE_ESC) NewElement(false); - EAX = key_editbox; - edit_box_key stdcall (#new_file_ed); - } - break; + case SCAN_CODE_F1...SCAN_CODE_F3: + EventSort(key_scancode - 58); + break; + case SCAN_CODE_1...SCAN_CODE_10: + key_scancode-=2; + if (key_scancode >= SystemDiscs.list.count) break; + if (!two_panels.checked) + { + DrawRectangle(17,key_scancode*16+74,159,16, 0); //display click + pause(7); + } + SystemDiscs.Click(key_scancode); + break; + case SCAN_CODE_KEY_X: + Copy(#file_path, CUT); + break; + case SCAN_CODE_KEY_C: + Copy(#file_path, NOCUT); + break; + case SCAN_CODE_KEY_V: + Paste(); + break; + case SCAN_CODE_KEY_D: //set image as bg + strlcpy(#temp, "\\S__",4); + strcat(#temp, #file_path); + RunProgram("/sys/media/kiv", #temp); + break; + case SCAN_CODE_KEY_N: //create new window + if (Form.left==98) MoveSize(Form.left-20,Form.top-20,OLD,OLD); + RunProgram(I_Path, #path); + break; + case SCAN_CODE_KEY_M: + Open_Dir(#inactive_path,WITH_REDRAW); + break; + case SCAN_CODE_ENTER: + if (!itdir) ShowOpenWithDialog(); + else Open(1); + break; + case SCAN_CODE_KEY_A: + EventSelectAllFiles(true); + break; + case SCAN_CODE_KEY_U: //unselect all files + selected_count = 0; + EventSelectAllFiles(false); + break; } + break; + } - if (files.ProcessKey(key_scancode)) - { - List_ReDraw(); - break; - } - - if (key_modifier&KEY_LCTRL) || (key_modifier&KEY_RCTRL) - { - switch(key_scancode) - { - case SCAN_CODE_F1...SCAN_CODE_F3: - EventSort(key_scancode - 58); - break; - case SCAN_CODE_1...SCAN_CODE_10: - key_scancode-=2; - if (key_scancode >= SystemDiscs.list.count) break; - if (!two_panels.checked) - { - DrawRectangle(17,key_scancode*16+74,159,16, 0); //display click - pause(7); - } - SystemDiscs.Click(key_scancode); - break; - case SCAN_CODE_KEY_X: - Copy(#file_path, CUT); - break; - case SCAN_CODE_KEY_C: - Copy(#file_path, NOCUT); - break; - case SCAN_CODE_KEY_V: - Paste(); - break; - case SCAN_CODE_KEY_D: //set image as bg - strlcpy(#temp, "\\S__",4); - strcat(#temp, #file_path); - RunProgram("/sys/media/kiv", #temp); - break; - case SCAN_CODE_KEY_N: //create new window - if (Form.left==98) MoveSize(Form.left-20,Form.top-20,OLD,OLD); - RunProgram(I_Path, #path); - break; - case SCAN_CODE_KEY_M: - Open_Dir(#inactive_path,WITH_REDRAW); - break; - case SCAN_CODE_ENTER: - if (!itdir) ShowOpenWithDialog(); - else Open(1); - break; - case SCAN_CODE_KEY_A: - EventSelectAllFiles(true); - break; - case SCAN_CODE_KEY_U: //unselect all files - selected_count = 0; - EventSelectAllFiles(false); - break; - } - break; - } - - switch (key_scancode) - { - case SCAN_CODE_BS: - //GoBack(); - Dir_Up(); - break; - case SCAN_CODE_ENTER: - Open(0); - break; - case SCAN_CODE_TAB: - if (!two_panels.checked) break; - if (active_panel==1) active_panel=2; else active_panel=1; - ChangeActivePanel(); - DrawFilePanels(); - break; - case SCAN_CODE_MENU: - mouse.x = files.x+15; - mouse.y = files.cur_y - files.first * files.item_h + files.y + 5; - EventShowListMenu(); - break; - case SCAN_CODE_DEL: - Del_Form(); - break; - case SCAN_CODE_INS: - if (getElementSelectedFlag(files.cur_y) == true) setElementSelectedFlag(files.cur_y, false); - else setElementSelectedFlag(files.cur_y, true); - files.KeyDown(); - List_ReDraw(); - DrawStatusBar(); - break; - case SCAN_CODE_F1...SCAN_CODE_F10: - FnProcess(key_scancode-58); - break; - default: - EventSelectFileByKeyPress(); - } - break; - case evIPC: - case evReDraw: - draw_window(); - if (CheckActiveProcess(Form.ID)) && (GetMenuClick()) break; - if (action_buf==OPERATION_END) - { - FnProcess(5); - if (copy_stak) SelectFileByName(#copy_to+strrchr(#copy_to,'/')); - action_buf=0; - } - break; - default: - if (Form.status_window>2) break; - EventRefreshDisksAndFolders(); - } - - if(cmd_free) - { - if(cmd_free==2) about_stak=free(about_stak); - else if(cmd_free==3) properties_stak=free(properties_stak); - else if(cmd_free==4) settings_stak=free(settings_stak); - else if(cmd_free==5) copy_stak=free(copy_stak); - else if(cmd_free==6) delete_stak=free(delete_stak); - cmd_free = false; - } + switch (key_scancode) + { + case SCAN_CODE_BS: + //EventHistoryGoBack(); + Dir_Up(); + break; + case SCAN_CODE_ENTER: + Open(0); + break; + case SCAN_CODE_TAB: + if (!two_panels.checked) break; + if (active_panel==1) active_panel=2; else active_panel=1; + ChangeActivePanel(); + DrawFilePanels(); + break; + case SCAN_CODE_MENU: + mouse.x = files.x+15; + mouse.y = files.cur_y - files.first * files.item_h + files.y + 5; + EventShowListMenu(); + break; + case SCAN_CODE_DEL: + Del_Form(); + break; + case SCAN_CODE_INS: + if (getElementSelectedFlag(files.cur_y) == true) setElementSelectedFlag(files.cur_y, false); + else setElementSelectedFlag(files.cur_y, true); + files.KeyDown(); + List_ReDraw(); + DrawStatusBar(); + break; + case SCAN_CODE_F1...SCAN_CODE_F10: + FnProcess(key_scancode-58); + break; + default: + EventSelectFileByKeyPress(); + } + break; + case evIPC: + case evReDraw: + draw_window(); + if (CheckActiveProcess(Form.ID)) && (GetMenuClick()) break; + if (action_buf==OPERATION_END) + { + FnProcess(5); + if (copy_stak) SelectFileByName(#copy_to+strrchr(#copy_to,'/')); + action_buf=0; + } + break; + default: + if (Form.status_window>2) break; + EventRefreshDisksAndFolders(); + } + + if(cmd_free) + { + if(cmd_free==2) about_stak=free(about_stak); + else if(cmd_free==3) properties_stak=free(properties_stak); + else if(cmd_free==4) settings_stak=free(settings_stak); + else if(cmd_free==5) copy_stak=free(copy_stak); + else if(cmd_free==6) delete_stak=free(delete_stak); + cmd_free = false; } } @@ -817,7 +772,7 @@ void Open_Dir(dword dir_path, redraw){ if (errornum) { history.add(#path); - GoBack(); + EventHistoryGoBack(); Write_Error(errornum); return; } @@ -973,7 +928,7 @@ void Open(byte rez) } } -inline fastcall void GoBack() +inline fastcall void EventHistoryGoBack() { char cur_folder[4096]; strcpy(#cur_folder, #path); @@ -1091,26 +1046,22 @@ void FnProcess(byte N) switch(N) { case 1: - if (!active_about) - { + if (!active_about) { about_stak = malloc(4096); about_thread_id = CreateThread(#about_dialog,about_stak+4092); break; - } - else - { + } else { ActivateWindow(GetProcessSlot(about_thread_id)); } break; case 2: - if (!files.count) break; - NewElement_Form(RENAME_ITEM, #file_name); + if (files.count) NewElement_Form(RENAME_ITEM, #file_name); break; case 3: - if (!itdir) RunProgram("/sys/tinypad", #file_path); + if (files.count) && (!itdir) RunProgram("/sys/tinypad", #file_path); break; case 4: - if (!itdir) RunProgram("/sys/develop/heed", #file_path); + if (files.count) && (!itdir) RunProgram("/sys/develop/heed", #file_path); break; case 5: //refresh cur dir & devs if (two_panels.checked) @@ -1238,4 +1189,49 @@ void EventSort(dword id) SelectFileByName(#selected_filename); } +void EventHistoryGoForward() +{ + if (history.forward()) { + strcpy(#path, history.current()); + files.KeyHome(); + Open_Dir(#path,WITH_REDRAW); + } +} + +void ProceedMouseGestures() +{ + char stats; + signed x_old, y_old, dif_x, dif_y, adif_x, adif_y; + if (!mouse.mkm) && (stats>0) stats = 0; + if (mouse.mkm) && (!stats) + { + x_old = mouse.x; + y_old = mouse.y; + stats = 1; + } + if (mouse.mkm) && (stats==1) + { + dif_x = mouse.x-x_old; + dif_y = mouse.y-y_old; + adif_x = fabs(dif_x); + adif_y = fabs(dif_y); + + if (adif_x>adif_y) { + if (dif_x > 150) { + EventHistoryGoForward(); + stats = 0; + } + if (dif_x < -150) { + EventHistoryGoBack(); + stats = 0; + } + } else { + if (dif_y < -100) { + Dir_Up(); + stats = 0; + } + } + } +} + stop: diff --git a/programs/develop/sdk/trunk/pixlib/demo1.asm b/programs/develop/sdk/trunk/pixlib/demo1.asm index e47f646ae1..1b40b31e07 100644 --- a/programs/develop/sdk/trunk/pixlib/demo1.asm +++ b/programs/develop/sdk/trunk/pixlib/demo1.asm @@ -5,8 +5,8 @@ struc system_colors { .frame dd ? .grab dd ? - .work_3d_dark dd ? - .work_3d_light dd ? + .work_dark dd ? + .work_light dd ? .grab_text dd ? .work dd ? .work_button dd ? diff --git a/programs/develop/sdk/trunk/pixlib/demo2.asm b/programs/develop/sdk/trunk/pixlib/demo2.asm index b161235f17..8354dccdba 100644 --- a/programs/develop/sdk/trunk/pixlib/demo2.asm +++ b/programs/develop/sdk/trunk/pixlib/demo2.asm @@ -5,8 +5,8 @@ struc system_colors { .frame dd ? .grab dd ? - .work_3d_dark dd ? - .work_3d_light dd ? + .work_dark dd ? + .work_light dd ? .grab_text dd ? .work dd ? .work_button dd ? diff --git a/programs/develop/sdk/trunk/pixlib/demo3.asm b/programs/develop/sdk/trunk/pixlib/demo3.asm index 0db263e142..3f0096d0b2 100644 --- a/programs/develop/sdk/trunk/pixlib/demo3.asm +++ b/programs/develop/sdk/trunk/pixlib/demo3.asm @@ -5,8 +5,8 @@ struc system_colors { .frame dd ? .grab dd ? - .work_3d_dark dd ? - .work_3d_light dd ? + .work_dark dd ? + .work_light dd ? .grab_text dd ? .work dd ? .work_button dd ? diff --git a/programs/fs/fspeed/udata.inc b/programs/fs/fspeed/udata.inc index 6d5f5ec29e..2e99068791 100644 --- a/programs/fs/fspeed/udata.inc +++ b/programs/fs/fspeed/udata.inc @@ -28,8 +28,8 @@ align 4 app_colours: w_frame dd ? w_grab dd ? -w_work_3d_dark dd ? -w_work_3d_light dd ? +w_work_dark dd ? +w_work_light dd ? w_grab_text dd ? w_work dd ? w_work_button dd ? diff --git a/programs/fs/opendial/opendial.asm b/programs/fs/opendial/opendial.asm index d3ceac0923..62452d9829 100644 --- a/programs/fs/opendial/opendial.asm +++ b/programs/fs/opendial/opendial.asm @@ -3207,8 +3207,8 @@ app_colours: w_frame rd 1 w_grab rd 1 -w_work_3d_dark rd 1 -w_work_3d_light rd 1 +w_work_dark rd 1 +w_work_light rd 1 w_grab_text rd 1 w_work rd 1 w_work_button rd 1 diff --git a/programs/games/flood-it/trunk/lib/kolibri.h b/programs/games/flood-it/trunk/lib/kolibri.h index f0b05f9e51..6f6d86d111 100644 --- a/programs/games/flood-it/trunk/lib/kolibri.h +++ b/programs/games/flood-it/trunk/lib/kolibri.h @@ -47,7 +47,7 @@ inline fastcall void GetProcessInfo(dword EBX, ECX) } struct system_colors{ - dword frame,grab,work_3d_dark,work_3d_light,grab_text,work,work_button,work_button_text,work_text,work_graph; + dword frame,grab,work_dark,work_light,grab_text,work,work_button,work_button_text,work_text,work_graph; void get(); }; diff --git a/programs/games/mine/trunk/kos_sys.h-- b/programs/games/mine/trunk/kos_sys.h-- index a820ad5c73..23e1a31037 100644 --- a/programs/games/mine/trunk/kos_sys.h-- +++ b/programs/games/mine/trunk/kos_sys.h-- @@ -73,8 +73,8 @@ struct SystemColours { dword nonset1, nonset2, - work_3d_dark, - work_3d_light, + work_dark, + work_light, w_title, w_work, w_work_button, diff --git a/programs/gui_patterns.inc b/programs/gui_patterns.inc index bc53519066..d518b2f104 100644 --- a/programs/gui_patterns.inc +++ b/programs/gui_patterns.inc @@ -1,3 +1,12 @@ +BT_DEL equ 0x80000000 +BT_HIDE equ 0x40000000 +BT_NOFRAME equ 0x20000000 + +macro DefineButton x, y, w, h, id, background_color +{ + mcall 8, (x) shl 16 + (w), (y) shl 16 + (h), id, background_color +} + macro DrawBar x, y, width, height, color { mcall 13, (x) shl 16 + (width), (y) shl 16 + (height), color @@ -39,11 +48,3 @@ macro WriteTextBold x, y, fontType, color, text mcall } -BT_DEL equ 0x80000000 -BT_HIDE equ 0x40000000 -BT_NOFRAME equ 0x20000000 - -macro DefineButton x, y, w, h, id, background_color -{ - mcall 8, (x) shl 16 + (w), (y) shl 16 + (h), id, background_color -} diff --git a/programs/macros.inc b/programs/macros.inc index e274d86f6b..a7af66bf03 100644 --- a/programs/macros.inc +++ b/programs/macros.inc @@ -469,8 +469,8 @@ ends struct system_colors frame dd ? ;nonset1 grab dd ? ;nonset2 - work_3d_dark dd ? - work_3d_light dd ? + work_dark dd ? + work_light dd ? grab_text dd ? ;window_title work dd ? work_button dd ? diff --git a/programs/media/scrshoot/scrshoot.mac b/programs/media/scrshoot/scrshoot.mac index f5c5e52d91..1aaf42d7de 100644 --- a/programs/media/scrshoot/scrshoot.mac +++ b/programs/media/scrshoot/scrshoot.mac @@ -224,8 +224,8 @@ struc sys_color_table { .frames: dd ? ;+0 .grab: dd ? ;+4 -.work_3d_dark: dd ? ;+8 -.work_3d_light: dd ? ;+12 +.work_dark: dd ? ;+8 +.work_light: dd ? ;+12 .grab_text: dd ? ;+16 .work: dd ? ;+20 .work_button: dd ?;+24 diff --git a/programs/other/Timer/Timer.asm b/programs/other/Timer/Timer.asm index 1961d0cef2..d0f39b4e30 100644 --- a/programs/other/Timer/Timer.asm +++ b/programs/other/Timer/Timer.asm @@ -59,8 +59,8 @@ window: sc: .frames dd 0 .grab dd 0 -.work_3d_dark dd 0 -.work_3d_light dd 0 +.work_dark dd 0 +.work_light dd 0 .grab_text dd 0 .work dd 0 .work_button dd 0 diff --git a/programs/other/calc/trunk/calc.asm b/programs/other/calc/trunk/calc.asm index 550ca5399d..094f7ade80 100644 --- a/programs/other/calc/trunk/calc.asm +++ b/programs/other/calc/trunk/calc.asm @@ -715,7 +715,7 @@ next_button: cmp [edx], byte 'x' jne next_line - DrawRectangle3D DISPLAY_X-1,DISPLAY_Y-1,DISPLAY_W+2,DISPLAY_H+2, [sc.work_3d_dark], [sc.work_3d_light] + DrawRectangle3D DISPLAY_X-1,DISPLAY_Y-1,DISPLAY_W+2,DISPLAY_H+2, [sc.work_dark], [sc.work_light] DrawRectangle DISPLAY_X,DISPLAY_Y,DISPLAY_W,DISPLAY_H, [sc.work_graph] mcall 38, < DISPLAY_X+1, DISPLAY_W+DISPLAY_X-1>, , 0xE0E0E0 ; internal shadow mcall , < DISPLAY_X+1, DISPLAY_X+1>, , ; internal shadow diff --git a/programs/system/menu/trunk/build_en.bat b/programs/system/menu/trunk/build.bat similarity index 100% rename from programs/system/menu/trunk/build_en.bat rename to programs/system/menu/trunk/build.bat diff --git a/programs/system/menu/trunk/build_ru.bat b/programs/system/menu/trunk/build_ru.bat deleted file mode 100644 index 461c3d5f6f..0000000000 --- a/programs/system/menu/trunk/build_ru.bat +++ /dev/null @@ -1,6 +0,0 @@ -@erase lang.inc -@echo lang fix ru >lang.inc -@fasm -m 16384 menu.asm @menu -@kpack @menu -@erase lang.inc -@pause \ No newline at end of file diff --git a/programs/system/menu/trunk/menu.asm b/programs/system/menu/trunk/menu.asm index d5a4bb3419..cc0ee08052 100644 --- a/programs/system/menu/trunk/menu.asm +++ b/programs/system/menu/trunk/menu.asm @@ -21,6 +21,7 @@ ; Compile with FASM for Menuet ;****************************************************************************** BTN_HEIGHT = 22 + BTN_WIDTH = 140 TXT_Y = (BTN_HEIGHT)/2-4 PANEL_HEIGHT = 20 @@ -39,8 +40,8 @@ dd bootparam ; boot parameters dd 0x0 ; path ;------------------------------------------------------------------------------ -include "lang.inc" include "..\..\..\macros.inc" +include "..\..\..\gui_patterns.inc" ;include "../../../debug.inc" ; debug macros ;------------------------------------------------------------------------------ align 4 @@ -475,7 +476,7 @@ mouse: ; MOUSE EVENT HANDLER jnz click mcall 37,1 ror eax,16 ; eax = [ Y | X ] relative to window - cmp ax,140 ; pointer in window? + cmp ax,BTN_WIDTH ; pointer in window? ja noinwindow ; *** in window *** shr eax,16 ; eax = [ 0 | Y ] @@ -722,10 +723,11 @@ align 4 .1: shl ecx,16 add ecx,eax ; ecx = [ Y_START | Y_SIZE ] + dec ecx movzx ebx,[edi + x_start] shl ebx,16 - mov bx,140 ; ebx = [ X_START | X_SIZE ] + mov bx,BTN_WIDTH ; ebx = [ X_START | X_SIZE ] mov edx,0x01000000 ; color of work area RRGGBB,8->color gl mov esi,edx ; unmovable window @@ -788,9 +790,10 @@ draw_one_button: ; receives number of button in dl push edx mov eax,8 - mov ebx,140 + mov ebx,BTN_WIDTH movzx ecx,dl imul ecx,BTN_HEIGHT + mov [draw_y], ecx shl ecx,16 add ecx,BTN_HEIGHT ; edx = button identifier @@ -798,6 +801,7 @@ draw_one_button: cmp esi,0xdfdfdf jb nocorrect sub esi,0x1b1b1b + ;-------------------------------------- align 4 nocorrect: @@ -808,12 +812,24 @@ nocorrect: ;-------------------------------------- align 4 .nohighlight: - or edx,0x20000000 + or edx,BT_NOFRAME + BT_HIDE ; dunkaist[ add edx,0xd1ff00 ; This makes first menu buttons differ ; from system close button with 0x000001 id ; dunkaist] mcall + pusha + + mov edx, esi + mcall 13 + + mcall , BTN_WIDTH, <[draw_y],1>, [sc.work_light] + mcall , 1, <[draw_y],BTN_HEIGHT> + mcall , , <[draw_y],BTN_HEIGHT+1>, [sc.work_dark] + add [draw_y], BTN_HEIGHT-1 + mcall , BTN_WIDTH, <[draw_y],1> + + popa movzx edx,dl dec dl imul ebx,edx,BTN_HEIGHT @@ -911,6 +927,8 @@ screen_size: .y dw ? .x dw ? ;-------------------------------------- +draw_y dd ? +;-------------------------------------- x_working_area: .right: dw ? .left: dw ? diff --git a/programs/system/rdsave/trunk/rdsave.asm b/programs/system/rdsave/trunk/rdsave.asm index 806aab64fe..c2d16a8894 100644 --- a/programs/system/rdsave/trunk/rdsave.asm +++ b/programs/system/rdsave/trunk/rdsave.asm @@ -359,7 +359,7 @@ draw_window: m2m dword [frame_data.font_backgr_color],[sc.work] m2m dword [frame_data.font_color],[sc.work_text] m2m dword [frame_data.ext_fr_col],[sc.work_graph] - m2m dword [frame_data.int_fr_col],[sc.work_3d_light] + m2m dword [frame_data.int_fr_col],[sc.work_light] push dword frame_data call [Frame_draw] diff --git a/programs/system/skincfg/trunk/udata.inc b/programs/system/skincfg/trunk/udata.inc index ac97847455..16fa617cec 100644 --- a/programs/system/skincfg/trunk/udata.inc +++ b/programs/system/skincfg/trunk/udata.inc @@ -33,8 +33,8 @@ app_colours: w_frame dd ? w_grab dd ? -w_work_3d_dark dd ? -w_work_3d_light dd ? +w_work_dark dd ? +w_work_light dd ? w_grab_text dd ? w_work dd ? w_work_button dd ?