diff --git a/programs/develop/fasm/1.73/fasm.asm b/programs/develop/fasm/1.73/fasm.asm index ee42de6751..f144346c90 100644 --- a/programs/develop/fasm/1.73/fasm.asm +++ b/programs/develop/fasm/1.73/fasm.asm @@ -531,7 +531,7 @@ include 'core/messages.inc' library box_lib,'box_lib.obj',\ proc_lib,'proc_lib.obj' - import box_lib,edit_box_draw,'edit_box',\ + import box_lib,edit_box_draw,'edit_box_draw',\ edit_box_key,'edit_box_key',\ edit_box_mouse,'edit_box_mouse',\ edit_box_set_text,'edit_box_set_text',\ diff --git a/programs/develop/fasm/tags/1.71/fasm.asm b/programs/develop/fasm/tags/1.71/fasm.asm index a7303c1fbe..d3e76b36c9 100644 --- a/programs/develop/fasm/tags/1.71/fasm.asm +++ b/programs/develop/fasm/tags/1.71/fasm.asm @@ -514,7 +514,7 @@ check_box_mouse dd aCheck_box_mouse dd 0,0 -aEdit_box_draw db 'edit_box',0 +aEdit_box_draw db 'edit_box_draw',0 aEdit_box_key db 'edit_box_key',0 aEdit_box_mouse db 'edit_box_mouse',0 aEdit_box_set_text db 'edit_box_set_text',0 diff --git a/programs/develop/h2d2b/trunk/h2d2b.asm b/programs/develop/h2d2b/trunk/h2d2b.asm index 8b06a978e9..846f9ae695 100644 --- a/programs/develop/h2d2b/trunk/h2d2b.asm +++ b/programs/develop/h2d2b/trunk/h2d2b.asm @@ -13,9 +13,9 @@ WIN_W = 364 use32 - org 0x0 + org 0 db 'MENUET01' - dd 0x01,start,i_end,e_end,e_end,0,sys_path + dd 1,start,i_end,e_end,e_end,0,sys_path include '../../../proc32.inc' include '../../../macros.inc' ; макросы облегчают жизнь ассемблерщиков! @@ -32,17 +32,18 @@ start: mov ebp,lib_0 cmp dword [ebp+ll_struc_size-4],0 jz @f - mcall -1 ;exit not correct + mcall SF_TERMINATE_PROCESS @@: - mcall 40,0x80000027 - mcall 48, 3, sys_colors, 40 + mcall SF_SET_EVENTS_MASK,0x80000027 + mcall SF_STYLE_SETTINGS, SSF_GET_COLORS, sys_colors, 40 edit_boxes_set_sys_color edit1,editboxes_end,sys_colors red: call draw_window +align 4 still: - mcall 10 ; функция 10 - ждать события + mcall SF_WAIT_EVENT cmp eax,1 ; перерисовать окно ? je red ; если да - на метку red @@ -58,7 +59,7 @@ still: ;--------------------------------------------------------------------- key: ; нажата клавиша на клавиатуре - mcall 2 + mcall SF_GET_KEY cmp ah,13 ;обработка кнопки Enter je @f stdcall [edit_box_key], dword edit1 @@ -124,10 +125,10 @@ next_digit: ;--------------------------------------------------------------------- button: - mcall 17 ; 17 - получить идентификатор нажатой кнопки + mcall SF_GET_BUTTON cmp ah, 1 ; если НЕ нажата кнопка с номером 1, jne @f - mcall -1 + mcall SF_TERMINATE_PROCESS @@: cmp ah, 2 jne @f @@ -158,19 +159,19 @@ mouse: jmp still ;------------------------------------------------ - draw_window: +draw_window: ;------------------------------------------------ - mcall 48, 3, sys_colors, 40 + mcall SF_STYLE_SETTINGS, SSF_GET_COLORS, sys_colors, 40 - mcall 12, 1 + mcall SF_REDRAW, SSF_BEGIN_DRAW mov edx, 0x14000000 or edx, [sys_colors.work] ;mov esi, 0x80000000 ;or esi, [sys_colors.grab_text] - mcall 0, 200*65536+WIN_W, 200*65536+179, ,,title + mcall SF_CREATE_WINDOW, 200*65536+WIN_W, 200*65536+179, ,,title - mcall 8, 15*65536+42,106*65536+ 21, 2, [sys_colors.work_button] ; кнопка shl + mcall SF_DEFINE_BUTTON, 15*65536+42,106*65536+ 21, 2, [sys_colors.work_button] ; кнопка shl mcall , 70*65536+42, , , ; кнопка sal mcall , (WIN_W-55)*65536+42, , 3, ; кнопка shr mcall ,(WIN_W-111)*65536+42, , 4, ; кнопка sar @@ -178,7 +179,7 @@ mouse: mov ecx, 0x90000000 or ecx, [sys_colors.work_text] - mcall 4, 15*65536+30, , binstr, + mcall SF_DRAW_TEXT, 15*65536+30, , binstr, mcall , 15*65536+46, , decstr, mcall , 15*65536+62, ,sdecstr, mcall , 15*65536+78, , hexstr, @@ -193,9 +194,9 @@ mouse: mov esi, [sys_colors.work_text] or esi, 0x90000000 - mcall 47, 10*65536, ,(WIN_W-92)*65536+62, ; 10-ная со знаком + mcall SF_DRAW_NUMBER, 10*65536, ,(WIN_W-92)*65536+62, ; 10-ная со знаком BIN_LINE_BLOCK_W = 76 - mcall 47, 8*65536+512,,(WIN_W-BIN_LINE_BLOCK_W)*65536+30 ; 2-ная + mcall SF_DRAW_NUMBER, 8*65536+512,,(WIN_W-BIN_LINE_BLOCK_W)*65536+30 ; 2-ная ror ecx, 8 mov edx, (WIN_W-BIN_LINE_BLOCK_W*2)*65536+30 mcall @@ -214,10 +215,10 @@ mouse: mcall , 10*65536, ,(WIN_W-92)*65536+46, ; 10-ная mcall , 8*65536+256,,(WIN_W-76)*65536+78, ; 16-ная mov ecx,esi - mcall 4, (WIN_W-102)*65536+61, , minus, 1 - mcall 38, 15*65536+WIN_W-15, 137*65536+137, [sys_colors.work_graph] + mcall SF_DRAW_TEXT, (WIN_W-102)*65536+61, , minus, 1 + mcall SF_DRAW_LINE, 15*65536+WIN_W-15, 137*65536+137, [sys_colors.work_graph] stdcall [edit_box_draw], edit1 - mcall 12, 2 ; функция 12: сообщить ОС об отрисовке окна + mcall SF_REDRAW, SSF_END_DRAW ret @@ -274,13 +275,9 @@ string1_end: if lang eq ru numstr db 'Число:',0 Okstr db 'Ввод',0 - head_f_i: - head_f_l db 'Системная ошибка',0 else numstr db 'Number:',0 Okstr db 'Enter',0 - head_f_i: - head_f_l db 'System error',0 end if mouse_dd dd 0 @@ -304,7 +301,7 @@ import_box_lib: ;edit_box_set_text dd sz_edit_box_set_text dd 0,0 ;sz_init1 db 'lib_init',0 - sz_edit_box_draw db 'edit_box',0 + sz_edit_box_draw db 'edit_box_draw',0 sz_edit_box_key db 'edit_box_key',0 sz_edit_box_mouse db 'edit_box_mouse',0 ;sz_edit_box_set_text db 'edit_box_set_text',0 diff --git a/programs/develop/heed/trunk/heed.asm b/programs/develop/heed/trunk/heed.asm index 738eaa1ad3..364ee57476 100644 --- a/programs/develop/heed/trunk/heed.asm +++ b/programs/develop/heed/trunk/heed.asm @@ -498,10 +498,10 @@ mouse: mcall SF_MOUSE_GET,SSF_WINDOW_POSITION shr eax,16 - cmp ax,[scroll_bar_data_vertical.start_x] + cmp ax,[scroll_bar_data_vertical.x_pos] jb .horizontal - sub ax,[scroll_bar_data_vertical.start_x] - cmp ax,[scroll_bar_data_vertical.size_x] + sub ax,[scroll_bar_data_vertical.x_pos] + cmp ax,[scroll_bar_data_vertical.x_size] jge still @@ -567,10 +567,10 @@ mouse: jbe .other mcall SF_MOUSE_GET,SSF_WINDOW_POSITION - cmp ax,[scroll_bar_data_horizontal.start_y] + cmp ax,[scroll_bar_data_horizontal.y_pos] jb still - sub ax,[scroll_bar_data_horizontal.start_y] - cmp ax,[scroll_bar_data_horizontal.size_y] + sub ax,[scroll_bar_data_horizontal.y_pos] + cmp ax,[scroll_bar_data_horizontal.y_size] jge still ; mouse event for Horizontal ScrollBar @@ -586,10 +586,10 @@ mouse: ; mcall SF_MOUSE_GET,SSF_WINDOW_POSITION ; shr eax,16 -; cmp ax,[scroll_bar_data_vertical.start_x] +; cmp ax,[scroll_bar_data_vertical.x_pos] ; jb .horizontal -; sub ax,[scroll_bar_data_vertical.start_x] -; cmp ax,[scroll_bar_data_vertical.size_x] +; sub ax,[scroll_bar_data_vertical.x_pos] +; cmp ax,[scroll_bar_data_vertical.x_size] ; jge still ;@@: ; mouse event for Vertical ScrollBar @@ -1039,9 +1039,9 @@ main_area: shl ecx,16 mov ebx,edx shr ebx,16 - cmp bx,[scroll_bar_data_vertical.start_x] + cmp bx,[scroll_bar_data_vertical.x_pos] jge .ls1 - mov ax,[scroll_bar_data_vertical.start_x] + mov ax,[scroll_bar_data_vertical.x_pos] sub ax,bx shl ebx,16 mov bx,ax @@ -1067,9 +1067,9 @@ main_area: mov dx,16 mov ecx,edx mov edx,frgrd_color - movzx ebx,[scroll_bar_data_vertical.start_x] + movzx ebx,[scroll_bar_data_vertical.x_pos] - mov ax,[scroll_bar_data_vertical.size_x] + mov ax,[scroll_bar_data_vertical.x_size] test ax,ax jnz .no_inc_ebx inc ebx @@ -1084,15 +1084,15 @@ main_area: shl ecx,16 mov ebx,edx shr ebx,16 - cmp bx,[scroll_bar_data_vertical.start_x] + cmp bx,[scroll_bar_data_vertical.x_pos] jge .10 - mov ax,[scroll_bar_data_vertical.start_x] + mov ax,[scroll_bar_data_vertical.x_pos] sub ax,bx shl ebx,16 mov bx,ax mov cx,16 - mov ax,[scroll_bar_data_vertical.size_x] + mov ax,[scroll_bar_data_vertical.x_size] test ax,ax jnz .no_inc_ebx_2 inc ebx @@ -1430,22 +1430,22 @@ draw_window: mov ebx,[bytes_per_line] xor edx,edx div ebx - mov [scroll_bar_data_vertical.size_x],0 + mov [scroll_bar_data_vertical.x_size],0 cmp eax,[number_strings] jl @f - mov [scroll_bar_data_vertical.size_x],scroll_width_size + mov [scroll_bar_data_vertical.x_size],scroll_width_size @@: mov eax,dword [threath_buf+62] ;ширина клиентской области - sub ax,[scroll_bar_data_vertical.size_x] - mov [scroll_bar_data_vertical.start_x],ax + sub ax,[scroll_bar_data_vertical.x_size] + mov [scroll_bar_data_vertical.x_pos],ax mov eax,dword [threath_buf+66] ;высота клиентской области sub eax,24+24-11 - mov [scroll_bar_data_vertical.size_y],ax + mov [scroll_bar_data_vertical.y_size],ax mov ebx,eax push eax add ebx,20 mov [scroll_bar_data_vertical.max_area],ebx - mov ebx,[scroll_bar_data_vertical.btn_high] + mov ebx,[scroll_bar_data_vertical.btn_height] shl ebx,1 add ebx,20 mov [scroll_bar_data_vertical.cur_area],ebx @@ -1518,7 +1518,7 @@ draw_window: shl ecx,16 add cx,dx sub ecx,1*65536 - movzx ebx, word [scroll_bar_data_vertical.start_x] + movzx ebx, word [scroll_bar_data_vertical.x_pos] inc ebx mcall SF_DRAW_RECT,,,frgrd_color @@ -1559,15 +1559,15 @@ draw_window: mov [beg_str_scr],ebx movzx eax,word [threath_buf+66] sub eax,34 - mov [scroll_bar_data_horizontal.start_y],ax + mov [scroll_bar_data_horizontal.y_pos],ax -;cur_area/(size_x-30)=len_str_scr/string_size +;cur_area/(x_size-30)=len_str_scr/string_size mov eax,dword [threath_buf+62] - sub ax,[scroll_bar_data_vertical.size_x] - mov [scroll_bar_data_horizontal.size_x],ax - sub eax,[scroll_bar_data_horizontal.btn_high] - sub eax,[scroll_bar_data_horizontal.btn_high] + sub ax,[scroll_bar_data_vertical.x_size] + mov [scroll_bar_data_horizontal.x_size],ax + sub eax,[scroll_bar_data_horizontal.btn_height] + sub eax,[scroll_bar_data_horizontal.btn_height] mov [scroll_bar_data_horizontal.max_area],eax xor edx,edx mov ebx,[len_str_scr] @@ -2895,8 +2895,7 @@ ProcLib_import: OpenDialog_Init dd aOpenDialog_Init OpenDialog_Start dd aOpenDialog_Start ;OpenDialog__Version dd aOpenDialog_Version - dd 0 - dd 0 + dd 0,0 aOpenDialog_Init db 'OpenDialog_init',0 aOpenDialog_Start db 'OpenDialog_start',0 ;aOpenDialog_Version db 'Version_OpenDialog',0 @@ -2922,10 +2921,9 @@ menu_bar_draw dd aMenu_bar_draw menu_bar_mouse dd aMenu_bar_mouse version_menu_bar dd aVersion_menu_bar - dd 0 - dd 0 + dd 0,0 -aEdit_box_draw db 'edit_box',0 +aEdit_box_draw db 'edit_box_draw',0 aEdit_box_key db 'edit_box_key',0 aEdit_box_mouse db 'edit_box_mouse',0 aVersion_ed db 'version_ed',0 @@ -2945,72 +2943,10 @@ aMenu_bar_mouse db 'menu_bar_mouse',0 aVersion_menu_bar db 'version_menu_bar',0 ;--------------------------------------------------------------------- align 4 -scroll_bar_data_vertical: -.x: -.size_x dw scroll_width_size;+0 -.start_x dw 565 ;+2 -.y: -.size_y dw 284 ;+4 -.start_y dw 19 ;+6 -.btn_high dd scroll_width_size ;+8 -.type dd 0 ;+12 -.max_area dd 300+20 ;+16 -.cur_area dd 50 ;+20 -.position dd 0 ;+24 -.bckg_col dd 0xAAAAAA ;+28 -.frnt_col dd 0xCCCCCC ;+32 -.line_col dd 0 ;+36 -.redraw dd 0 ;+40 -.delta dw 0 ;+44 -.delta2 dw 0 ;+46 -.run_x: -.r_size_x dw 0 ;+48 -.r_start_x dw 0 ;+50 -.run_y: -.r_size_y dw 0 ;+52 -.r_start_y dw 0 ;+54 -.m_pos dd 0 ;+56 -.m_pos_2 dd 0 ;+60 -.m_keys dd 0 ;+64 -.run_size dd 0 ;+68 -.position2 dd 0 ;+72 -.work_size dd 0 ;+76 -.all_redraw dd 0 ;+80 -.ar_offset dd 10 ;+84 +scroll_bar_data_vertical scrollbar scroll_width_size, 565, 284, 19, scroll_width_size, 300+20, 50, 0, 0xAAAAAA, 0xCCCCCC, 0, 10 ;--------------------------------------------------------------------- align 4 -scroll_bar_data_horizontal: -.x: -.size_x dw 300 ;0 ;+0 -.start_x dw 0 ;0 ;+2 -.y: -.size_y dw scroll_width_size ;0 ;+4 -.start_y dw 300 ;0 ;+6 -.btn_high dd scroll_width_size ;+8 -.type dd 0 ;+12 -.max_area dd 300 ;+16 -.cur_area dd 30 ;+20 -.position dd 1 ;+24 -.bckg_col dd 0xAAAAAA ;+28 -.frnt_col dd 0xCCCCCC ;+32 -.line_col dd 0 ;+36 -.redraw dd 0 ;+40 -.delta dw 0 ;+44 -.delta2 dw 0 ;+46 -.run_x: -.r_size_x dw 0 ;+48 -.r_start_x dw 0 ;+50 -.run_y: -.r_size_y dw 0 ;+52 -.r_start_y dw 0 ;+54 -.m_pos dd 0 ;+56 -.m_pos_2 dd 0 ;+60 -.m_keys dd 0 ;+64 -.run_size dd 0 ;+68 -.position2 dd 0 ;+72 -.work_size dd 0 ;+76 -.all_redraw dd 0 ;+80 -.ar_offset dd 10 ;+84 +scroll_bar_data_horizontal scrollbar 300, 0, scroll_width_size, 300, scroll_width_size, 300, 30, 1, 0xAAAAAA, 0xCCCCCC, 0, 10 ;--------------------------------------------------------------------- align 4 menu_data_1: diff --git a/programs/develop/info3ds/info3ds.asm b/programs/develop/info3ds/info3ds.asm index 9dbc253c8f..5b87b76111 100644 --- a/programs/develop/info3ds/info3ds.asm +++ b/programs/develop/info3ds/info3ds.asm @@ -1231,7 +1231,7 @@ import_box_lib: dd 0,0 sz_init1 db 'lib_init',0 - sz_edit_box_draw db 'edit_box',0 + sz_edit_box_draw db 'edit_box_draw',0 sz_edit_box_key db 'edit_box_key',0 sz_edit_box_mouse db 'edit_box_mouse',0 sz_edit_box_set_text db 'edit_box_set_text',0 diff --git a/programs/develop/info3ds/info3ds_u.asm b/programs/develop/info3ds/info3ds_u.asm index 52f2e6c182..457c4978be 100644 --- a/programs/develop/info3ds/info3ds_u.asm +++ b/programs/develop/info3ds/info3ds_u.asm @@ -1301,7 +1301,7 @@ import_box_lib: dd 0,0 sz_init1 db 'lib_init',0 - sz_edit_box_draw db 'edit_box',0 + sz_edit_box_draw db 'edit_box_draw',0 sz_edit_box_key db 'edit_box_key',0 sz_edit_box_mouse db 'edit_box_mouse',0 sz_edit_box_set_text db 'edit_box_set_text',0 diff --git a/programs/develop/kol_f_edit/kol_f_edit.asm b/programs/develop/kol_f_edit/kol_f_edit.asm index bbdafdd74a..cc5dbd1c02 100644 --- a/programs/develop/kol_f_edit/kol_f_edit.asm +++ b/programs/develop/kol_f_edit/kol_f_edit.asm @@ -1462,7 +1462,7 @@ dd 0,0 alib_init2 db 'lib_init',0 - aEdit_box_draw db 'edit_box',0 + aEdit_box_draw db 'edit_box_draw',0 aEdit_box_key db 'edit_box_key',0 aEdit_box_mouse db 'edit_box_mouse',0 aEdit_box_set_text db 'edit_box_set_text',0 diff --git a/programs/develop/libraries/box_lib/asm/trunk/ctrldemo.asm b/programs/develop/libraries/box_lib/asm/trunk/ctrldemo.asm index 18550d9c59..062a457fd5 100644 --- a/programs/develop/libraries/box_lib/asm/trunk/ctrldemo.asm +++ b/programs/develop/libraries/box_lib/asm/trunk/ctrldemo.asm @@ -29,21 +29,20 @@ ;--------------------------------------------------------------------- use32 - org 0x0 + org 0 db 'MENUET01' - dd 0x01 + dd 1 dd START dd IM_END dd I_END dd stacktop - dd 0x0 + dd 0 dd path include '../../../../../macros.inc' -include '../../load_lib.mac' -;include 'macros.inc' -;include 'load_lib.mac' +include '../../../../../KOSfuncs.inc' +include '../../../../../load_lib.mac' @use_library ;--------------------------------------------------------------------- diff --git a/programs/develop/libraries/box_lib/asm/trunk/data.inc b/programs/develop/libraries/box_lib/asm/trunk/data.inc index e625b05b0a..39c2d8c7e4 100644 --- a/programs/develop/libraries/box_lib/asm/trunk/data.inc +++ b/programs/develop/libraries/box_lib/asm/trunk/data.inc @@ -26,35 +26,20 @@ system_dir_ProcLib db '/sys/lib/proc_lib.obj',0 ;... любая последовательность других команд и определений. ;library_name db 'box_lib.obj',0 ;library_name db 'box_lib.obj',0 -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -ihead_f_i: -ihead_f_l db 'System error',0 - -er_message_found_lib db 'Sorry I cannot load library box_lib.obj',0 -er_message_import db 'Error on load import library box_lib.obj',0 - -er_message_found_lib2 db 'cnv_png.obj - Not found!',0 -er_message_import2 db 'cnv_png.obj - Wrong import!',0 - -er_message_found_lib3 db 'archiver.obj - Not found!',0 -er_message_import3 db 'archiver.obj - Wrong import!',0 - -er_message_found_lib4 db 'proc_lib.obj - Not found!',0 -er_message_import4 db 'proc_lib.obj - Wrong import!',0 ;--------------------------------------------------------------------- align 4 l_libs_start: -library01 l_libs system_dir_Boxlib+9, path, file_name, system_dir_Boxlib,\ -er_message_found_lib, ihead_f_l, Box_lib_import, er_message_import, ihead_f_i, plugins_directory +library01 l_libs system_dir_Boxlib+9, file_name, system_dir_Boxlib,\ + Box_lib_import, plugins_directory -library02 l_libs system_dir_CnvPNG+9, path, file_name, system_dir_CnvPNG,\ -er_message_found_lib2, ihead_f_l, cnv_png_import, er_message_import2, ihead_f_i, plugins_directory +library02 l_libs system_dir_CnvPNG+9, file_name, system_dir_CnvPNG,\ + cnv_png_import, plugins_directory -library03 l_libs system_dir_UNPACK+9, path, file_name, system_dir_UNPACK,\ -er_message_found_lib3, ihead_f_l, UNPACK_import, er_message_import3, ihead_f_i, plugins_directory +library03 l_libs system_dir_UNPACK+9, file_name, system_dir_UNPACK,\ + UNPACK_import, plugins_directory -library04 l_libs system_dir_ProcLib+9, path, file_name, system_dir_ProcLib, \ -er_message_found_lib4, ihead_f_l, ProcLib_import, er_message_import4, ihead_f_i, plugins_directory +library04 l_libs system_dir_ProcLib+9, file_name, system_dir_ProcLib, \ + ProcLib_import, plugins_directory end_l_libs: ;--------------------------------------------------------------------- @@ -63,8 +48,7 @@ ProcLib_import: OpenDialog_Init dd aOpenDialog_Init OpenDialog_Start dd aOpenDialog_Start ;OpenDialog__Version dd aOpenDialog_Version - dd 0 - dd 0 + dd 0,0 aOpenDialog_Init db 'OpenDialog_init',0 aOpenDialog_Start db 'OpenDialog_start',0 ;aOpenDialog_Version db 'Version_OpenDialog',0 @@ -75,8 +59,7 @@ cnv_png_import: .Version dd aCP_Version .Check dd aCP_Check .Assoc dd aCP_Assoc - dd 0 - dd 0 + dd 0,0 aCP_Start db 'START',0 aCP_Version db 'version',0 aCP_Check db 'Check_Header',0 @@ -99,9 +82,7 @@ UNPACK_import: ;unpack_Close dd aUnpack_Close unpack_DeflateUnpack dd aUnpack_DeflateUnpack unpack_DeflateUnpack2 dd aUnpack_DeflateUnpack2 - dd 0 - dd 0 - + dd 0,0 ;aUnpack_Version db 'version',0 ;aUnpack_PluginLoad db 'plugin_load',0 ;aUnpack_OpenFilePlugin db 'OpenFilePlugin',0 @@ -187,13 +168,12 @@ menu_bar_activate dd aMenu_bar_activate PathShow_prepare dd sz_PathShow_prepare PathShow_draw dd sz_PathShow_draw ;Version_path_show dd szVersion_path_show - dd 0 - dd 0 + dd 0,0 ;a_init db 'lib_init',0 ;a_version db 'version',0 -;aEdit_box_draw db 'edit_box',0 +;aEdit_box_draw db 'edit_box_draw',0 ;aEdit_box_key db 'edit_box_key',0 ;aEdit_box_mouse db 'edit_box_mouse',0 ;aVersion_ed db 'version_ed',0 diff --git a/programs/develop/libraries/box_lib/asm/trunk/editbox_ex.asm b/programs/develop/libraries/box_lib/asm/trunk/editbox_ex.asm index 31ad3e828c..50942dd7df 100644 --- a/programs/develop/libraries/box_lib/asm/trunk/editbox_ex.asm +++ b/programs/develop/libraries/box_lib/asm/trunk/editbox_ex.asm @@ -1,28 +1,28 @@ ;заголовок приложения use32 ; транслятор, использующий 32 разрядных команды - org 0x0 ; базовый адрес кода, всегда 0x0 + org 0 ; базовый адрес кода, всегда 0 db 'MENUET01' ; идентификатор исполняемого файла (8 байт) - dd 0x1 ; версия формата заголовка исполняемого файла + dd 1 ; версия формата заголовка исполняемого файла dd start ; адрес, на который система передаёт управление ; после загрузки приложения в память dd i_end ; размер приложения dd mem ; Объем используемой памяти, для стека отведем 0х100 байт и выровним на грницу 4 байта dd mem ; расположим позицию стека в области памяти, сразу за телом программы. Вершина стека в диапазоне памяти, указанном выше - dd 0x0 ; указатель на строку с параметрами. + dd 0 ; указатель на строку с параметрами. dd cur_dir_path ; указатель на адрес, куда помещается строка, содержащая путь до программы в момент запуска. include '../../../../../macros.inc' include '../../trunk/box_lib.mac' -include '../../load_lib.mac' +include '../../../../../KOSfuncs.inc' +include '../../../../../load_lib.mac' @use_library ;use load lib macros start: ;universal load library/librarys -sys_load_library library_name, cur_dir_path, library_path, system_path, \ -err_message_found_lib, head_f_l, myimport, err_message_import, head_f_i +sys_load_library library_name, library_path, system_path, myimport ;if return code =-1 then exit, else nornary work cmp eax,-1 jz exit - mcall 40,0x27 ;установить маску для ожидаемых событий + mcall SF_SET_EVENTS_MASK,0x80000027 ;установить маску для ожидаемых событий push dword check1 ;подсчёт дины текста для Checkbox'ов call [init_checkbox] @@ -34,7 +34,7 @@ red_win: call draw_window ;первоначально необходимо нарисовать окно align 4 still: ;основной обработчик - mcall 10 ;Ожидать события + mcall SF_WAIT_EVENT dec eax jz red_win dec eax @@ -63,13 +63,13 @@ still: ; jmp still ;если ничего из перечисленного то снова в цикл ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; button: - mcall 17 ;получить идентификатор нажатой клавиши + mcall SF_GET_BUTTON test ah,ah ;если в ah 0, то перейти на обработчик событий still jz still exit: - mcall -1 + mcall SF_TERMINATE_PROCESS key: - mcall 2 ;загрузим значение 2 в регистор eax и получим код нажатой клавиши + mcall SF_GET_KEY push dword edit1 call [edit_box_key] @@ -82,8 +82,8 @@ key: ;>>>>>>>>>>>>>>>>>>>>>>>>>>>>> align 4 draw_window: ;рисование окна приложения - mcall 12,1 - mcall 0,(50*65536+390),(30*65536+200),0x33AABBCC,0x805080DD,hed + mcall SF_REDRAW, SSF_BEGIN_DRAW + mcall SF_CREATE_WINDOW,(50*65536+390),(30*65536+200),0x33AABBCC,0x805080DD,hed push dword edit1 call [edit_box_draw] @@ -103,7 +103,7 @@ draw_window: ; push dword Option_boxs2 call [option_box_draw] - mcall 12,2 + mcall SF_REDRAW, SSF_END_DRAW ret ;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> ;DATA данные @@ -116,12 +116,6 @@ library_name db 'box_lib.obj',0 ;library_name db 'box_lib.obj',0 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -err_message_found_lib db 'Sorry I cannot load library box_lib.obj',0 - -head_f_i: -head_f_l db 'System error',0 -err_message_import db 'Error on load import library box_lib.obj',0 - myimport: edit_box_draw dd aEdit_box_draw @@ -138,10 +132,9 @@ option_box_draw dd aOption_box_draw option_box_mouse dd aOption_box_mouse version_op dd aVersion_op - dd 0 - dd 0 + dd 0,0 -aEdit_box_draw db 'edit_box',0 +aEdit_box_draw db 'edit_box_draw',0 aEdit_box_key db 'edit_box_key',0 aEdit_box_mouse db 'edit_box_mouse',0 aVersion_ed db 'version_ed',0 diff --git a/programs/develop/libraries/box_lib/asm/trunk/tooltip_demo.asm b/programs/develop/libraries/box_lib/asm/trunk/tooltip_demo.asm index 39df41bce5..cfaac8dbae 100644 --- a/programs/develop/libraries/box_lib/asm/trunk/tooltip_demo.asm +++ b/programs/develop/libraries/box_lib/asm/trunk/tooltip_demo.asm @@ -3,15 +3,15 @@ ; - переделан как пример использования tooltip use32 ; включить 32-битный режим ассемблера -org 0x0 ; адресация с нуля +org 0 ; адресация с нуля db 'MENUET01' ; 8-байтный идентификатор MenuetOS -dd 0x01 ; версия заголовка (всегда 1) +dd 1 ; версия заголовка (всегда 1) dd START ; адрес первой команды dd CODE_END ; размер программы dd DATA_END ; количество памяти dd STACK_END ; адрес вершины стэка -dd 0x0 ; адрес буфера для параметров +dd 0 ; адрес буфера для параметров dd cur_dir_path ; указатель на адрес, куда помещается строка, содержащая путь до программы в момент запуска. include '../../../../../proc32.inc' @@ -19,10 +19,8 @@ include '../../../../../macros.inc' include '../../../../../KOSfuncs.inc' include '../../../../../dll.inc' ; malloc fn include '../../trunk/box_lib.mac' -include '../../load_lib.mac' -;include 'proc32.inc' -;include 'macros.inc' -;include 'KOSfuncs.inc' +include '../../../../../load_lib.mac' + ;--------------------------------------------------------------------- ;--- НАЧАЛО ПРОГРАММЫ ---------------------------------------------- @@ -30,24 +28,17 @@ include '../../load_lib.mac' ; этот макрос обязателен для всех компонетов, использующих heap ; кроме того, обязательно имортировать lib_init - при импорте определяются ; функции хипа для библиотеки -@use_library_mem mem.Alloc,mem.Free,mem.ReAlloc,dll.Load +@use_library mem.Alloc,mem.Free,mem.ReAlloc,dll.Load START: ;--------------------------------------------------------------------- ;--- ИНИЦИАЛИЗАЦИЯ ---------------------------------------- ;--------------------------------------------------------------------- -;mov eax, mem_alloc -;mov [mem.alloc], eax -;mov eax, mem_realloc -;mov [mem.realloc], eax -;mov eax, mem_free -;mov [mem.free], eax mcall 68, 11 mcall 40, $C0000027 ; маска событий - мышь только в активном окне -sys_load_library lib_name, cur_dir_path, lib_path, sys_path, \ - e_notfound_lib, head_f_l, myimport, e_import, head_f_i +sys_load_library lib_name, lib_path, sys_path, myimport test eax,eax jz @f mcall -1 ; alarm exit @@ -144,12 +135,6 @@ lib_name db 'box_lib.obj',0 cur_dir_path rb 4096 lib_path rb 4096 -e_notfound_lib db 'Sorry I cannot load library box_lib.obj',0 - -head_f_i: -head_f_l db 'System error',0 -e_import db 'Error on load import library box_lib.obj',0 - myimport: dd sz_lib_init ;функция запускается макросом 1 раз при подключении ;библиотеки, потому в программе метка на нее не нужна @@ -158,8 +143,7 @@ tooltip_delete dd sz_tooltip_delete tooltip_test_show dd sz_tooltip_test_show tooltip_mouse dd sz_tooltip_mouse get_font_size dd sz_get_font_size - dd 0 - dd 0 + dd 0,0 sz_lib_init db 'lib_init',0 sz_tooltip_init db 'tooltip_init', 0 diff --git a/programs/develop/libraries/box_lib/trunk/box_lib.asm b/programs/develop/libraries/box_lib/trunk/box_lib.asm index aedf85dd39..cc298faecc 100644 --- a/programs/develop/libraries/box_lib/trunk/box_lib.asm +++ b/programs/develop/libraries/box_lib/trunk/box_lib.asm @@ -183,7 +183,8 @@ EXPORTS: dd sz_init, lib_init dd sz_version, 0x00000001 -dd sz_edit_box, edit_box +dd sz_edit_box, edit_box_draw ;old function name +dd sz_edit_box_draw, edit_box_draw dd sz_edit_box_key, edit_box_key dd sz_edit_box_mouse, edit_box_mouse dd sz_edit_box_set_text, edit_box_set_text @@ -298,6 +299,7 @@ sz_init db 'lib_init',0 sz_version db 'version',0 sz_edit_box db 'edit_box',0 +sz_edit_box_draw db 'edit_box_draw',0 sz_edit_box_key db 'edit_box_key',0 sz_edit_box_mouse db 'edit_box_mouse',0 sz_edit_box_set_text db 'edit_box_set_text',0 diff --git a/programs/develop/libraries/box_lib/trunk/editbox.asm b/programs/develop/libraries/box_lib/trunk/editbox.asm index 6b6518c6ff..60e0301069 100644 --- a/programs/develop/libraries/box_lib/trunk/editbox.asm +++ b/programs/develop/libraries/box_lib/trunk/editbox.asm @@ -2,8 +2,7 @@ SCAN_LWIN_RELEASE = 0xDB SCAN_RWIN_RELEASE = 0xDC align 16 -edit_box: -.draw: +edit_box_draw: pushad mov edi,[esp+36] and dword ed_text_color,17FFFFFFh @@ -26,25 +25,25 @@ edit_box: mul bl add eax,4 mov ed_height,eax - call .draw_border -.draw_bg_cursor_text: + call .border +.bg_cursor_text: ;test word ed_flags,ed_focus ; for unfocused controls => ;jz .skip_offset ; do not recalculate offset - call .check_offset + call edit_box.check_offset ;.skip_offset: - call .draw_bg + call edit_box_draw.bg test word ed_flags,ed_focus ; do not draw selection(named shift) - jz .draw_cursor_text ; - call .draw_shift -.draw_cursor_text: - call .draw_text + jz .cursor_text ; + call .shift +.cursor_text: + call .text test word ed_flags,ed_focus ; and dosn`t draw cursor - jz .editbox_exit - call .draw_cursor + jz edit_box_exit + call .cursor ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;Общий выход из editbox для всех функций и пост обработчиков;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -.editbox_exit: +edit_box_exit: popad ret 4 @@ -56,15 +55,15 @@ edit_box_key: pushad mov edi,[esp+36] test word ed_flags,ed_focus ; если не в фокусе, выходим - jz edit_box.editbox_exit + jz edit_box_exit test word ed_flags,ed_mouse_on or ed_disabled - jnz edit_box.editbox_exit + jnz edit_box_exit ;-------------------------------------- ; this code for Win-keys, works with ; kernel SVN r.3356 or later mcall SF_KEYBOARD,SSF_GET_CONTROL_KEYS test ah,$06 ; LWin ($02) & RWin ($04) - jnz edit_box.editbox_exit + jnz edit_box_exit ;-------------------------------------- ;Проверка нажат shift ? test al,$03 @@ -98,26 +97,26 @@ edit_box_key: je edit_box_key.ctrl_v cmp ah,SCAN_CODE_A ; Ctrl + A je edit_box_key.ctrl_a - jmp edit_box.editbox_exit + jmp edit_box_exit @@: cmp ah,SCAN_CODE_SPACE ja @F cmp al,ASCII_KEY_BACK jz edit_box_key.backspace cmp ah,SCAN_CODE_ESCAPE - jz edit_box.editbox_exit + jz edit_box_exit cmp ah,SCAN_CODE_TAB - jz edit_box.editbox_exit + jz edit_box_exit cmp ah,SCAN_CODE_RETURN - jz edit_box.editbox_exit + jz edit_box_exit jmp .printable_character @@: cmp ah,SCAN_CODE_DELETE - ja edit_box.editbox_exit + ja edit_box_exit cmp ah,SCAN_CODE_HOME - jb edit_box.editbox_exit + jb edit_box_exit cmp ax,SCAN_CODE_CLEAR shl 8 + ASCII_KEY_CLEAR ; not operate numpad unlocked 5 - jz edit_box.editbox_exit + jz edit_box_exit ;here best place to filter up,down,pgup,pgdown cmp al,ASCII_KEY_LEFT jb .printable_character @@ -126,23 +125,23 @@ edit_box_key: jmp dword[ebx+eax*4] .unlock_numpad_filtration \ dd edit_box_key.left, \ ; LEFT - edit_box.editbox_exit,\ ; DOWN - edit_box.editbox_exit,\ ; UP + edit_box_exit,\ ; DOWN + edit_box_exit,\ ; UP edit_box_key.right, \ ; RIGHT edit_box_key.home, \ ; HOME edit_box_key.end, \ ; END edit_box_key.delete, \ ; DELETE - edit_box.editbox_exit,\ ; PGDN - edit_box.editbox_exit,\ ; PGUP + edit_box_exit,\ ; PGDN + edit_box_exit,\ ; PGUP edit_box_key.insert ; INSERT .printable_character: test word ed_flags,ed_figure_only ; только цифры? jz @f cmp al,'0' - jb edit_box.editbox_exit + jb edit_box_exit cmp al,'9' - ja edit_box.editbox_exit + ja edit_box_exit @@: ; restore ascii code rol eax,8 @@ -179,10 +178,10 @@ edit_box_key: test word ed_flags,ed_insert jne @f cmp ecx,edx - jae edit_box.editbox_exit + jae edit_box_exit @@: mov ebx, ed_pos cmp ebx,edx - jnl edit_box.editbox_exit + jnl edit_box_exit mov ecx,ed_size push edi eax mov ebp,edi @@ -222,7 +221,7 @@ edit_box_key.In_k: ;;;;;;;;;;;;;;;;;;;;;;;;;;;; edit_box_key.insert: xor word ed_flags,ed_insert - jmp edit_box.editbox_exit + jmp edit_box_exit edit_box_key.ins_v: dec dword bp_size @@ -280,7 +279,7 @@ edit_box_key.draw_all: call edit_box.clear_cursor call edit_box.check_offset and word ed_flags,ed_shift_cl - jmp edit_box.draw_bg + jmp edit_box_draw.bg @@: dec dword ed_size edit_box_key.draw_all2: @@ -299,10 +298,10 @@ edit_box_key.left: or word ed_flags,ed_left_fl call edit_box_key.sh_first_sh dec dword ed_pos - call edit_box.draw_bg - call edit_box.draw_shift + call edit_box_draw.bg + call edit_box_draw.shift call edit_box_key.sh_enable - jmp edit_box.draw_cursor_text + jmp edit_box_draw.cursor_text ;--- нажата клавиша right --- edit_box_key.right: @@ -312,10 +311,10 @@ edit_box_key.right: and word ed_flags,ed_right_fl call edit_box_key.sh_first_sh inc dword ed_pos - call edit_box.draw_bg - call edit_box.draw_shift + call edit_box_draw.bg + call edit_box_draw.shift call edit_box_key.sh_enable - jmp edit_box.draw_cursor_text + jmp edit_box_draw.cursor_text edit_box_key.home: mov ebx,ed_pos @@ -324,10 +323,10 @@ edit_box_key.home: call edit_box_key.sh_first_sh xor eax,eax mov ed_pos,eax - call edit_box.draw_bg - call edit_box.draw_shift + call edit_box_draw.bg + call edit_box_draw.shift call edit_box_key.sh_home_end - jmp edit_box.draw_cursor_text + jmp edit_box_draw.cursor_text ;--- нажата клавиша end --- edit_box_key.end: @@ -337,10 +336,10 @@ edit_box_key.end: call edit_box_key.sh_first_sh mov eax,ed_size mov ed_pos,eax - call edit_box.draw_bg - call edit_box.draw_shift + call edit_box_draw.bg + call edit_box_draw.shift call edit_box_key.sh_home_end - jmp edit_box.draw_cursor_text + jmp edit_box_draw.cursor_text ;---------------------------------------- StrInsert: ; SizeOf(TmpBuf) >= StrLen(Src) + StrLen(Dst) + 1 @@ -412,13 +411,13 @@ restore DstCount ;---------------------------------------- edit_box_key.ctrl_x: test word ed_flags,ed_shift_on - jz edit_box.editbox_exit + jz edit_box_exit push dword 'X' ; this value need below to determine which action is used jmp edit_box_key.ctrl_c.pushed edit_box_key.ctrl_c: test word ed_flags,ed_shift_on - jz edit_box.editbox_exit + jz edit_box_exit push dword 'C' ; this value need below to determine which action is used .pushed: ; add memory area @@ -466,7 +465,7 @@ edit_box_key.ctrl_c: pop eax ; determine current action (ctrl+X or ctrl+C) cmp eax, 'X' je edit_box_key.delete - jmp edit_box.editbox_exit + jmp edit_box_exit edit_box_key.ctrl_v: mcall SF_CLIPBOARD,SSF_GET_SLOT_COUNT @@ -556,7 +555,7 @@ edit_box_key.ctrl_v: mov ecx,eax mcall SF_SYS_MISC,SSF_MEM_FREE .exit: - jmp edit_box.draw_bg_cursor_text + jmp edit_box_draw.bg_cursor_text edit_box_key.ctrl_a: mov eax,ed_size @@ -564,7 +563,7 @@ edit_box_key.ctrl_a: xor eax,eax mov ed_shift_pos,eax or word ed_flags,ed_shift_bac+ed_shift_on - jmp edit_box.draw_bg_cursor_text + jmp edit_box_draw.bg_cursor_text ;========================================================== ;=== обработка мыши ======================================= @@ -575,7 +574,7 @@ edit_box_mouse: pushad mov edi,[esp+36] test word ed_flags,ed_disabled - jnz edit_box.editbox_exit + jnz edit_box_exit ;---------------------------------------------------------- ;--- получаем состояние кнопок мыши ----------------------- @@ -590,7 +589,7 @@ edit_box_mouse: mov ebx,ed_mouse_variable push 0 pop dword [ebx] - jmp edit_box.editbox_exit + jmp edit_box_exit .mouse_left_button: ;---------------------------------------------------------- @@ -662,26 +661,26 @@ edit_box_mouse._mshift: push edi pop dword [ebx] bts word ed_flags,1 - call edit_box.draw_bg + call edit_box_draw.bg jmp edit_box_mouse.m_sh @@: cmp ax,ed_shift_pos - je edit_box.editbox_exit + je edit_box_exit mov ed_pos,eax - call edit_box.draw_bg + call edit_box_draw.bg mov ebp,shift_color movzx ebx, word ed_shift_pos call edit_box_key.sh_cl_ or word ed_flags,ed_mous_adn_b edit_box_mouse.m_sh: - call edit_box.draw_text - call edit_box.draw_cursor + call edit_box_draw.text + call edit_box_draw.cursor ; процедура установки фокуса jmp edit_box_mouse.drc edit_box_mouse._remove_selection: and word ed_flags,ed_shift_cl - jmp edit_box.draw_bg_cursor_text + jmp edit_box_draw.bg_cursor_text edit_box_mouse._blur: test word ed_flags,ed_always_focus @@ -691,7 +690,7 @@ edit_box_mouse._blur: mov ebp,ed_color call edit_box.clear_cursor edit_box_mouse.drc: - call edit_box.draw_border + call edit_box_draw.border jmp edit_box_mouse._remove_selection ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; @@ -699,7 +698,7 @@ edit_box_mouse.drc: ;---------------------------------------------------------- ;--- процедура прорисовки выделенной части ---------------- ;---------------------------------------------------------- -edit_box.draw_shift: +edit_box_draw.shift: test word ed_flags,ed_shift_bac ;установка флага, выделенной области jz @f mov ebp,shift_color @@ -709,7 +708,7 @@ edit_box.draw_shift: ;---------------------------------------------------------- ;--- процедура прорисовки текста -------------------------- ;---------------------------------------------------------- -edit_box.draw_text: +edit_box_draw.text: call edit_box.get_n mov esi,ed_size sub esi,ed_offset @@ -751,7 +750,7 @@ txt_pass db '*' ;---------------------------------------------------------- ;--- процедура прорисовки фона ---------------------------- ;---------------------------------------------------------- -edit_box.draw_bg: +edit_box_draw.bg: mov ebx,ed_left inc ebx shl ebx,16 @@ -759,9 +758,9 @@ edit_box.draw_bg: dec ebx mov edx,ed_color test word ed_flags, ed_disabled - jz edit_box.draw_bg_eax + jz edit_box_draw.bg_eax mov edx, 0xCACACA ; TODO: add disabled_color field to editbox struct -edit_box.draw_bg_eax: +edit_box_draw.bg_eax: mov ecx,ed_top inc ecx shl ecx,16 @@ -796,11 +795,11 @@ edit_box.clear_cursor: mov edx, ebp movzx ecx, word cl_curs_y cmp ecx, ed_top - jg edit_box.draw_curs + jg edit_box_draw.curs @@: ret -edit_box.draw_cursor: +edit_box_draw.cursor: mov edx, ed_text_color mov eax, ed_pos sub eax, ed_offset @@ -812,7 +811,7 @@ edit_box.draw_cursor: add ecx, 2 mov cl_curs_x, bx mov cl_curs_y, cx -edit_box.draw_curs: +edit_box_draw.curs: mov eax, ebx shl ebx, 16 or ebx, eax @@ -827,7 +826,7 @@ edit_box.draw_curs: ;---------------------------------------------------------- ;--- процедура рисования рамки ---------------------------- ;---------------------------------------------------------- -edit_box.draw_border: +edit_box_draw.border: test word ed_flags,ed_focus mov edx,ed_focus_border_color jne @f @@ -916,7 +915,7 @@ edit_box.add_8: add ebx,edx edit_box.chk_d: mov ed_offset,ebx - call edit_box.draw_bg + call edit_box_draw.bg and word ed_flags,ed_offset_cl popad ret @@ -952,20 +951,20 @@ endp ;Обработка Shift для снятия выделения неизвестной области edit_box_key.shift: - call edit_box.draw_bg + call edit_box_draw.bg test word ed_flags,ed_shift je edit_box_key.f_exit mov ebp,shift_color or word ed_flags,ed_shift_bac ;установка флага, выделенной области movzx ebx, word ed_shift_pos call edit_box_key.sh_cl_ - jmp edit_box.draw_cursor_text + jmp edit_box_draw.cursor_text edit_box_key.f_exit: call edit_box.check_offset and word ed_flags,ed_shift_cl call edit_box_key.enable_null - jmp edit_box.draw_cursor_text + jmp edit_box_draw.cursor_text edit_box_key.sh_cl_: ;обработка очистки, при левом - правом движении выделения @@ -1020,7 +1019,7 @@ edit_box_key.nxt_f: inc eax mov bx, ax mov edx,ebp ;shift_color - call edit_box.draw_bg_eax + call edit_box_draw.bg_eax jmp edit_box_key.enable_null ;Установка- снятие выделения в один символ @@ -1070,12 +1069,12 @@ edit_box_key.sh_st_of: jne @f test word ed_flags,ed_shift_bac je @f - call edit_box.draw_bg + call edit_box_draw.bg mov ebp,ed_color movzx ebx, word ed_shift_pos call edit_box_key.sh_cl_ ;очистка выделеного фрагмента and word ed_flags,ed_shift_cl ; очистка от того, что убрали выделение - jmp edit_box.draw_cursor_text + jmp edit_box_draw.cursor_text @@: and word ed_flags,ed_shift_off popad @@ -1150,7 +1149,7 @@ edit_box_key.sh_home_end: jmp edit_box_key.sh_e_end edit_box_key.sh_exit_: - call edit_box.draw_bg + call edit_box_draw.bg jmp edit_box.check_offset ;функция внесения 0 по адресу ed_size+1 @@ -1248,7 +1247,7 @@ edit_box_key.nxt: inc eax mov bx, ax mov edx,ed_color - jmp edit_box.draw_bg_eax + jmp edit_box_draw.bg_eax ;;;;;;;;;;;;;;;;;;; ;;; Обработка примитивов @@ -1266,15 +1265,15 @@ edit_box_key.draw_rectangle: add eax,ed_char_width mov ebx,eax mov edx,ebp - jmp edit_box.draw_bg_eax + jmp edit_box_draw.bg_eax ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;Функции для работы с mouse ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; edit_box_mouse.mouse_wigwag: push eax - call edit_box.draw_bg - call edit_box.draw_shift + call edit_box_draw.bg + call edit_box_draw.shift pop eax or word ed_flags,ed_shift_bac+ed_shift_on+ed_shift ;Обработка положения выделенного текста, когда происходит выход за пределы editbox @@ -1323,7 +1322,7 @@ edit_box_mouse.m1_shem: call edit_box_key.sh_cl_ edit_box_mouse.mwigvag: and word ed_flags,ed_shift_mcl - jmp edit_box.draw_cursor_text + jmp edit_box_draw.cursor_text edit_box_mouse.mleft: mov eax,ed_pos diff --git a/programs/develop/libraries/crypt_des/example/crypt_files.asm b/programs/develop/libraries/crypt_des/example/crypt_files.asm index 9ebb6cfdc8..ec3c7e2333 100644 --- a/programs/develop/libraries/crypt_des/example/crypt_files.asm +++ b/programs/develop/libraries/crypt_des/example/crypt_files.asm @@ -535,7 +535,7 @@ import_box_lib: dd 0,0 ;sz_init1 db 'lib_init',0 - sz_edit_box_draw db 'edit_box',0 + sz_edit_box_draw db 'edit_box_draw',0 sz_edit_box_key db 'edit_box_key',0 sz_edit_box_mouse db 'edit_box_mouse',0 ;sz_edit_box_set_text db 'edit_box_set_text',0 diff --git a/programs/develop/libraries/fontslib/trunk/font_ex.asm b/programs/develop/libraries/fontslib/trunk/font_ex.asm index 37ffd0afc6..623e7ae722 100644 --- a/programs/develop/libraries/fontslib/trunk/font_ex.asm +++ b/programs/develop/libraries/fontslib/trunk/font_ex.asm @@ -156,10 +156,9 @@ edit_box_key dd aEdit_box_key edit_box_mouse dd aEdit_box_mouse version_ed dd aVersion_ed - dd 0 - dd 0 + dd 0,0 -aEdit_box_draw db 'edit_box',0 +aEdit_box_draw db 'edit_box_draw',0 aEdit_box_key db 'edit_box_key',0 aEdit_box_mouse db 'edit_box_mouse',0 aVersion_ed db 'version_ed',0 diff --git a/programs/develop/libraries/http/examples/deflate.asm b/programs/develop/libraries/http/examples/deflate.asm index bbd3e8dfbc..7efad8c96c 100644 --- a/programs/develop/libraries/http/examples/deflate.asm +++ b/programs/develop/libraries/http/examples/deflate.asm @@ -315,7 +315,7 @@ import lib_http, \ HTTP_free, 'free' import box_lib, \ - edit_box_draw, 'edit_box', \ + edit_box_draw, 'edit_box_draw', \ edit_box_key, 'edit_box_key', \ edit_box_mouse, 'edit_box_mouse', \ PathShow_prepare, 'PathShow_prepare', \ diff --git a/programs/develop/libraries/http/examples/get.asm b/programs/develop/libraries/http/examples/get.asm index 9ecfccfed4..1a1ba381e6 100644 --- a/programs/develop/libraries/http/examples/get.asm +++ b/programs/develop/libraries/http/examples/get.asm @@ -288,7 +288,7 @@ import lib_http, \ HTTP_free , 'free' import box_lib, \ - edit_box_draw, 'edit_box', \ + edit_box_draw, 'edit_box_draw', \ edit_box_key, 'edit_box_key', \ edit_box_mouse, 'edit_box_mouse', \ PathShow_prepare, 'PathShow_prepare', \ diff --git a/programs/develop/str_double/trunk/str_double.asm b/programs/develop/str_double/trunk/str_double.asm index 9881b5da8f..79403cc6f3 100644 --- a/programs/develop/str_double/trunk/str_double.asm +++ b/programs/develop/str_double/trunk/str_double.asm @@ -251,7 +251,7 @@ proc conv_str_to_int uses ebx ecx esi, buf:dword endp ;------------------------------------------------- -title db 'string to double 20.08.19',0 +title db 'string to double 03.01.21',0 hexstr db 'hex:',0 decstr db 'dec:',0 binstr db 'bin:',0 @@ -301,7 +301,7 @@ import_box_lib: ;version_op dd aVersion_op dd 0,0 ;sz_init1 db 'lib_init',0 - sz_edit_box_draw db 'edit_box',0 + sz_edit_box_draw db 'edit_box_draw',0 sz_edit_box_key db 'edit_box_key',0 sz_edit_box_mouse db 'edit_box_mouse',0 ;sz_edit_box_set_text db 'edit_box_set_text',0 diff --git a/programs/emulator/PrMK/trunk/PrMK.asm b/programs/emulator/PrMK/trunk/PrMK.asm index 3d13963766..8926f5b0f7 100644 --- a/programs/emulator/PrMK/trunk/PrMK.asm +++ b/programs/emulator/PrMK/trunk/PrMK.asm @@ -1696,10 +1696,9 @@ scrollbar_ver_draw dd aScrollbar_ver_draw scrollbar_ver_mouse dd aScrollbar_ver_mouse version_scrollbar dd aVersion_scrollbar - dd 0 - dd 0 + dd 0,0 -aEdit_box_draw db 'edit_box',0 +aEdit_box_draw db 'edit_box_draw',0 aEdit_box_key db 'edit_box_key',0 aEdit_box_mouse db 'edit_box_mouse',0 aVersion_ed db 'version_ed',0 diff --git a/programs/fs/opendial/opendial.asm b/programs/fs/opendial/opendial.asm index 66a53564f7..89e903716f 100644 --- a/programs/fs/opendial/opendial.asm +++ b/programs/fs/opendial/opendial.asm @@ -2662,7 +2662,7 @@ PathShow_draw dd sz_PathShow_draw ;a_init db 'lib_init',0 ;a_version db 'version',0 -aEdit_box_draw db 'edit_box',0 +aEdit_box_draw db 'edit_box_draw',0 aEdit_box_key db 'edit_box_key',0 aEdit_box_mouse db 'edit_box_mouse',0 ;aVersion_ed db 'version_ed',0 diff --git a/programs/fs/unz/unz.asm b/programs/fs/unz/unz.asm index d0cfc96163..7977ce5913 100644 --- a/programs/fs/unz/unz.asm +++ b/programs/fs/unz/unz.asm @@ -842,7 +842,7 @@ import proc_lib,\ OpenDialog_Init ,'OpenDialog_init',\ OpenDialog_Start ,'OpenDialog_start' import box_lib,\ - edit_box_draw ,'edit_box',\ + edit_box_draw ,'edit_box_draw',\ edit_box_key ,'edit_box_key',\ edit_box_mouse ,'edit_box_mouse' diff --git a/programs/games/sudoku/trunk/sudoku.asm b/programs/games/sudoku/trunk/sudoku.asm index 885d5b69a0..7086c53943 100644 --- a/programs/games/sudoku/trunk/sudoku.asm +++ b/programs/games/sudoku/trunk/sudoku.asm @@ -1061,7 +1061,7 @@ edit_box_mouse dd aEdit_box_mouse version_ed dd aVersion_ed dd 0 dd 0 -aEdit_box_draw db 'edit_box',0 +aEdit_box_draw db 'edit_box_draw',0 aEdit_box_key db 'edit_box_key',0 aEdit_box_mouse db 'edit_box_mouse',0 aVersion_ed db 'version_ed',0 diff --git a/programs/media/log_el/trunk/le_libs.inc b/programs/media/log_el/trunk/le_libs.inc index cfd5de7972..1e5f6e516d 100644 --- a/programs/media/log_el/trunk/le_libs.inc +++ b/programs/media/log_el/trunk/le_libs.inc @@ -1 +1 @@ - system_dir_0 db '/sys/lib/' lib_name_0 db 'proc_lib.obj',0 system_dir_1 db '/sys/lib/' lib_name_1 db 'libimg.obj',0 system_dir_2 db '/sys/lib/' lib_name_2 db 'box_lib.obj',0 system_dir_3 db '/sys/lib/' lib_name_3 db 'libini.obj',0 system_dir_4 db '/sys/lib/' lib_name_4 db 'buf2d.obj',0 l_libs_start: lib0 l_libs lib_name_0, file_name, system_dir_0, import_proclib lib1 l_libs lib_name_1, file_name, system_dir_1, import_libimg lib2 l_libs lib_name_2, file_name, system_dir_2, import_box_lib lib3 l_libs lib_name_3, file_name, system_dir_3, import_libini lib4 l_libs lib_name_4, file_name, system_dir_4, import_buf2d l_libs_end: align 4 import_proclib: OpenDialog_Init dd aOpenDialog_Init OpenDialog_Start dd aOpenDialog_Start dd 0,0 aOpenDialog_Init db 'OpenDialog_init',0 aOpenDialog_Start db 'OpenDialog_start',0 align 4 import_libimg: dd alib_init1 img_is_img dd aimg_is_img img_info dd aimg_info img_from_file dd aimg_from_file img_to_file dd aimg_to_file img_from_rgb dd aimg_from_rgb img_to_rgb dd aimg_to_rgb img_to_rgb2 dd aimg_to_rgb2 img_decode dd aimg_decode img_encode dd aimg_encode img_create dd aimg_create img_destroy dd aimg_destroy img_destroy_layer dd aimg_destroy_layer img_count dd aimg_count img_lock_bits dd aimg_lock_bits img_unlock_bits dd aimg_unlock_bits img_flip dd aimg_flip img_flip_layer dd aimg_flip_layer img_rotate dd aimg_rotate img_rotate_layer dd aimg_rotate_layer img_draw dd aimg_draw dd 0,0 alib_init1 db 'lib_init',0 aimg_is_img db 'img_is_img',0 ;определяет по данным, может ли библиотека сделать из них изображение aimg_info db 'img_info',0 aimg_from_file db 'img_from_file',0 aimg_to_file db 'img_to_file',0 aimg_from_rgb db 'img_from_rgb',0 aimg_to_rgb db 'img_to_rgb',0 ;преобразование изображения в данные RGB aimg_to_rgb2 db 'img_to_rgb2',0 aimg_decode db 'img_decode',0 ;автоматически определяет формат графических данных aimg_encode db 'img_encode',0 aimg_create db 'img_create',0 aimg_destroy db 'img_destroy',0 aimg_destroy_layer db 'img_destroy_layer',0 aimg_count db 'img_count',0 aimg_lock_bits db 'img_lock_bits',0 aimg_unlock_bits db 'img_unlock_bits',0 aimg_flip db 'img_flip',0 aimg_flip_layer db 'img_flip_layer',0 aimg_rotate db 'img_rotate',0 aimg_rotate_layer db 'img_rotate_layer',0 aimg_draw db 'img_draw',0 align 4 import_box_lib: dd alib_init2 ;функция запускается макросом 1 раз при подключении бибилиотеки, потому в программе метка на нее не нужна edit_box_draw dd aEdit_box_draw edit_box_key dd aEdit_box_key edit_box_mouse dd aEdit_box_mouse ; version_ed dd aVersion_ed scrollbar_ver_draw dd aScrollbar_ver_draw ; scrollbar_ver_mouse dd aScrollbar_ver_mouse scrollbar_hor_draw dd aScrollbar_hor_draw ; scrollbar_hor_mouse dd aScrollbar_hor_mouse ; version_scrollbar dd aVersion_scrollbar tl_data_init dd sz_tl_data_init tl_data_clear dd sz_tl_data_clear tl_info_clear dd sz_tl_info_clear tl_key dd sz_tl_key tl_mouse dd sz_tl_mouse tl_draw dd sz_tl_draw tl_info_undo dd sz_tl_info_undo tl_info_redo dd sz_tl_info_redo tl_node_add dd sz_tl_node_add tl_node_set_data dd sz_tl_node_set_data tl_node_get_data dd sz_tl_node_get_data tl_node_delete dd sz_tl_node_delete tl_cur_beg dd sz_tl_cur_beg tl_cur_next dd sz_tl_cur_next tl_cur_perv dd sz_tl_cur_perv tl_node_close_open dd sz_tl_node_close_open tl_node_lev_inc dd sz_tl_node_lev_inc tl_node_lev_dec dd sz_tl_node_lev_dec tl_node_move_up dd sz_tl_node_move_up tl_node_move_down dd sz_tl_node_move_down tl_save_mem dd sz_tl_save_mem tl_load_mem dd sz_tl_load_mem tl_get_mem_size dd sz_tl_get_mem_size tl_node_poi_get_info dd sz_tl_node_poi_get_info tl_node_poi_get_next_info dd sz_tl_node_poi_get_next_info tl_node_poi_get_data dd sz_tl_node_poi_get_data dd 0,0 alib_init2 db 'lib_init',0 aEdit_box_draw db 'edit_box',0 aEdit_box_key db 'edit_box_key',0 aEdit_box_mouse db 'edit_box_mouse',0 ; aVersion_ed db 'version_ed',0 aScrollbar_ver_draw db 'scrollbar_v_draw',0 ; aScrollbar_ver_mouse db 'scrollbar_v_mouse',0 aScrollbar_hor_draw db 'scrollbar_h_draw',0 ; aScrollbar_hor_mouse db 'scrollbar_h_mouse',0 ; aVersion_scrollbar db 'version_scrollbar',0 sz_tl_data_init db 'tl_data_init',0 sz_tl_data_clear db 'tl_data_clear',0 sz_tl_info_clear db 'tl_info_clear',0 sz_tl_key db 'tl_key',0 sz_tl_mouse db 'tl_mouse',0 sz_tl_draw db 'tl_draw',0 sz_tl_info_undo db 'tl_info_undo',0 sz_tl_info_redo db 'tl_info_redo',0 sz_tl_node_add db 'tl_node_add',0 sz_tl_node_set_data db 'tl_node_set_data',0 sz_tl_node_get_data db 'tl_node_get_data',0 sz_tl_node_delete db 'tl_node_delete',0 sz_tl_cur_beg db 'tl_cur_beg',0 sz_tl_cur_next db 'tl_cur_next',0 sz_tl_cur_perv db 'tl_cur_perv',0 sz_tl_node_close_open db 'tl_node_close_open',0 sz_tl_node_lev_inc db 'tl_node_lev_inc',0 sz_tl_node_lev_dec db 'tl_node_lev_dec',0 sz_tl_node_move_up db 'tl_node_move_up',0 sz_tl_node_move_down db 'tl_node_move_down',0 sz_tl_save_mem db 'tl_save_mem',0 sz_tl_load_mem db 'tl_load_mem',0 sz_tl_get_mem_size db 'tl_get_mem_size',0 sz_tl_node_poi_get_info db 'tl_node_poi_get_info',0 sz_tl_node_poi_get_next_info db 'tl_node_poi_get_next_info',0 sz_tl_node_poi_get_data db 'tl_node_poi_get_data',0 align 4 import_libini: dd alib_init0 ini_get_str dd aini_get_str ini_get_int dd aini_get_int ini_get_color dd aini_get_color dd 0,0 alib_init0 db 'lib_init',0 aini_get_str db 'ini_get_str',0 aini_get_int db 'ini_get_int',0 aini_get_color db 'ini_get_color',0 align 4 import_buf2d: init dd sz_init buf2d_create dd sz_buf2d_create buf2d_create_f_img dd sz_buf2d_create_f_img buf2d_clear dd sz_buf2d_clear buf2d_draw dd sz_buf2d_draw buf2d_delete dd sz_buf2d_delete buf2d_line dd sz_buf2d_line buf2d_rect_by_size dd sz_buf2d_rect_by_size buf2d_filled_rect_by_size dd sz_buf2d_filled_rect_by_size buf2d_circle dd sz_buf2d_circle buf2d_img_hdiv2 dd sz_buf2d_img_hdiv2 buf2d_img_wdiv2 dd sz_buf2d_img_wdiv2 buf2d_conv_24_to_8 dd sz_buf2d_conv_24_to_8 buf2d_conv_24_to_32 dd sz_buf2d_conv_24_to_32 buf2d_bit_blt dd sz_buf2d_bit_blt buf2d_bit_blt_transp dd sz_buf2d_bit_blt_transp buf2d_bit_blt_alpha dd sz_buf2d_bit_blt_alpha buf2d_curve_bezier dd sz_buf2d_curve_bezier buf2d_convert_text_matrix dd sz_buf2d_convert_text_matrix buf2d_draw_text dd sz_buf2d_draw_text buf2d_crop_color dd sz_buf2d_crop_color buf2d_offset_h dd sz_buf2d_offset_h buf2d_flood_fill dd sz_buf2d_flood_fill buf2d_set_pixel dd sz_buf2d_set_pixel dd 0,0 sz_init db 'lib_init',0 sz_buf2d_create db 'buf2d_create',0 sz_buf2d_create_f_img db 'buf2d_create_f_img',0 sz_buf2d_clear db 'buf2d_clear',0 sz_buf2d_draw db 'buf2d_draw',0 sz_buf2d_delete db 'buf2d_delete',0 sz_buf2d_line db 'buf2d_line',0 sz_buf2d_rect_by_size db 'buf2d_rect_by_size',0 sz_buf2d_filled_rect_by_size db 'buf2d_filled_rect_by_size',0 sz_buf2d_circle db 'buf2d_circle',0 sz_buf2d_img_hdiv2 db 'buf2d_img_hdiv2',0 sz_buf2d_img_wdiv2 db 'buf2d_img_wdiv2',0 sz_buf2d_conv_24_to_8 db 'buf2d_conv_24_to_8',0 sz_buf2d_conv_24_to_32 db 'buf2d_conv_24_to_32',0 sz_buf2d_bit_blt db 'buf2d_bit_blt',0 sz_buf2d_bit_blt_transp db 'buf2d_bit_blt_transp',0 sz_buf2d_bit_blt_alpha db 'buf2d_bit_blt_alpha',0 sz_buf2d_curve_bezier db 'buf2d_curve_bezier',0 sz_buf2d_convert_text_matrix db 'buf2d_convert_text_matrix',0 sz_buf2d_draw_text db 'buf2d_draw_text',0 sz_buf2d_crop_color db 'buf2d_crop_color',0 sz_buf2d_offset_h db 'buf2d_offset_h',0 sz_buf2d_flood_fill db 'buf2d_flood_fill',0 sz_buf2d_set_pixel db 'buf2d_set_pixel',0 + system_dir_0 db '/sys/lib/' lib_name_0 db 'proc_lib.obj',0 system_dir_1 db '/sys/lib/' lib_name_1 db 'libimg.obj',0 system_dir_2 db '/sys/lib/' lib_name_2 db 'box_lib.obj',0 system_dir_3 db '/sys/lib/' lib_name_3 db 'libini.obj',0 system_dir_4 db '/sys/lib/' lib_name_4 db 'buf2d.obj',0 l_libs_start: lib0 l_libs lib_name_0, file_name, system_dir_0, import_proclib lib1 l_libs lib_name_1, file_name, system_dir_1, import_libimg lib2 l_libs lib_name_2, file_name, system_dir_2, import_box_lib lib3 l_libs lib_name_3, file_name, system_dir_3, import_libini lib4 l_libs lib_name_4, file_name, system_dir_4, import_buf2d l_libs_end: align 4 import_proclib: OpenDialog_Init dd aOpenDialog_Init OpenDialog_Start dd aOpenDialog_Start dd 0,0 aOpenDialog_Init db 'OpenDialog_init',0 aOpenDialog_Start db 'OpenDialog_start',0 align 4 import_libimg: dd alib_init1 img_is_img dd aimg_is_img img_info dd aimg_info img_from_file dd aimg_from_file img_to_file dd aimg_to_file img_from_rgb dd aimg_from_rgb img_to_rgb dd aimg_to_rgb img_to_rgb2 dd aimg_to_rgb2 img_decode dd aimg_decode img_encode dd aimg_encode img_create dd aimg_create img_destroy dd aimg_destroy img_destroy_layer dd aimg_destroy_layer img_count dd aimg_count img_lock_bits dd aimg_lock_bits img_unlock_bits dd aimg_unlock_bits img_flip dd aimg_flip img_flip_layer dd aimg_flip_layer img_rotate dd aimg_rotate img_rotate_layer dd aimg_rotate_layer img_draw dd aimg_draw dd 0,0 alib_init1 db 'lib_init',0 aimg_is_img db 'img_is_img',0 ;определяет по данным, может ли библиотека сделать из них изображение aimg_info db 'img_info',0 aimg_from_file db 'img_from_file',0 aimg_to_file db 'img_to_file',0 aimg_from_rgb db 'img_from_rgb',0 aimg_to_rgb db 'img_to_rgb',0 ;преобразование изображения в данные RGB aimg_to_rgb2 db 'img_to_rgb2',0 aimg_decode db 'img_decode',0 ;автоматически определяет формат графических данных aimg_encode db 'img_encode',0 aimg_create db 'img_create',0 aimg_destroy db 'img_destroy',0 aimg_destroy_layer db 'img_destroy_layer',0 aimg_count db 'img_count',0 aimg_lock_bits db 'img_lock_bits',0 aimg_unlock_bits db 'img_unlock_bits',0 aimg_flip db 'img_flip',0 aimg_flip_layer db 'img_flip_layer',0 aimg_rotate db 'img_rotate',0 aimg_rotate_layer db 'img_rotate_layer',0 aimg_draw db 'img_draw',0 align 4 import_box_lib: dd alib_init2 ;функция запускается макросом 1 раз при подключении бибилиотеки, потому в программе метка на нее не нужна edit_box_draw dd aEdit_box_draw edit_box_key dd aEdit_box_key edit_box_mouse dd aEdit_box_mouse ; version_ed dd aVersion_ed scrollbar_ver_draw dd aScrollbar_ver_draw ; scrollbar_ver_mouse dd aScrollbar_ver_mouse scrollbar_hor_draw dd aScrollbar_hor_draw ; scrollbar_hor_mouse dd aScrollbar_hor_mouse ; version_scrollbar dd aVersion_scrollbar tl_data_init dd sz_tl_data_init tl_data_clear dd sz_tl_data_clear tl_info_clear dd sz_tl_info_clear tl_key dd sz_tl_key tl_mouse dd sz_tl_mouse tl_draw dd sz_tl_draw tl_info_undo dd sz_tl_info_undo tl_info_redo dd sz_tl_info_redo tl_node_add dd sz_tl_node_add tl_node_set_data dd sz_tl_node_set_data tl_node_get_data dd sz_tl_node_get_data tl_node_delete dd sz_tl_node_delete tl_cur_beg dd sz_tl_cur_beg tl_cur_next dd sz_tl_cur_next tl_cur_perv dd sz_tl_cur_perv tl_node_close_open dd sz_tl_node_close_open tl_node_lev_inc dd sz_tl_node_lev_inc tl_node_lev_dec dd sz_tl_node_lev_dec tl_node_move_up dd sz_tl_node_move_up tl_node_move_down dd sz_tl_node_move_down tl_save_mem dd sz_tl_save_mem tl_load_mem dd sz_tl_load_mem tl_get_mem_size dd sz_tl_get_mem_size tl_node_poi_get_info dd sz_tl_node_poi_get_info tl_node_poi_get_next_info dd sz_tl_node_poi_get_next_info tl_node_poi_get_data dd sz_tl_node_poi_get_data dd 0,0 alib_init2 db 'lib_init',0 aEdit_box_draw db 'edit_box_draw',0 aEdit_box_key db 'edit_box_key',0 aEdit_box_mouse db 'edit_box_mouse',0 ; aVersion_ed db 'version_ed',0 aScrollbar_ver_draw db 'scrollbar_v_draw',0 ; aScrollbar_ver_mouse db 'scrollbar_v_mouse',0 aScrollbar_hor_draw db 'scrollbar_h_draw',0 ; aScrollbar_hor_mouse db 'scrollbar_h_mouse',0 ; aVersion_scrollbar db 'version_scrollbar',0 sz_tl_data_init db 'tl_data_init',0 sz_tl_data_clear db 'tl_data_clear',0 sz_tl_info_clear db 'tl_info_clear',0 sz_tl_key db 'tl_key',0 sz_tl_mouse db 'tl_mouse',0 sz_tl_draw db 'tl_draw',0 sz_tl_info_undo db 'tl_info_undo',0 sz_tl_info_redo db 'tl_info_redo',0 sz_tl_node_add db 'tl_node_add',0 sz_tl_node_set_data db 'tl_node_set_data',0 sz_tl_node_get_data db 'tl_node_get_data',0 sz_tl_node_delete db 'tl_node_delete',0 sz_tl_cur_beg db 'tl_cur_beg',0 sz_tl_cur_next db 'tl_cur_next',0 sz_tl_cur_perv db 'tl_cur_perv',0 sz_tl_node_close_open db 'tl_node_close_open',0 sz_tl_node_lev_inc db 'tl_node_lev_inc',0 sz_tl_node_lev_dec db 'tl_node_lev_dec',0 sz_tl_node_move_up db 'tl_node_move_up',0 sz_tl_node_move_down db 'tl_node_move_down',0 sz_tl_save_mem db 'tl_save_mem',0 sz_tl_load_mem db 'tl_load_mem',0 sz_tl_get_mem_size db 'tl_get_mem_size',0 sz_tl_node_poi_get_info db 'tl_node_poi_get_info',0 sz_tl_node_poi_get_next_info db 'tl_node_poi_get_next_info',0 sz_tl_node_poi_get_data db 'tl_node_poi_get_data',0 align 4 import_libini: dd alib_init0 ini_get_str dd aini_get_str ini_get_int dd aini_get_int ini_get_color dd aini_get_color dd 0,0 alib_init0 db 'lib_init',0 aini_get_str db 'ini_get_str',0 aini_get_int db 'ini_get_int',0 aini_get_color db 'ini_get_color',0 align 4 import_buf2d: init dd sz_init buf2d_create dd sz_buf2d_create buf2d_create_f_img dd sz_buf2d_create_f_img buf2d_clear dd sz_buf2d_clear buf2d_draw dd sz_buf2d_draw buf2d_delete dd sz_buf2d_delete buf2d_line dd sz_buf2d_line buf2d_rect_by_size dd sz_buf2d_rect_by_size buf2d_filled_rect_by_size dd sz_buf2d_filled_rect_by_size buf2d_circle dd sz_buf2d_circle buf2d_img_hdiv2 dd sz_buf2d_img_hdiv2 buf2d_img_wdiv2 dd sz_buf2d_img_wdiv2 buf2d_conv_24_to_8 dd sz_buf2d_conv_24_to_8 buf2d_conv_24_to_32 dd sz_buf2d_conv_24_to_32 buf2d_bit_blt dd sz_buf2d_bit_blt buf2d_bit_blt_transp dd sz_buf2d_bit_blt_transp buf2d_bit_blt_alpha dd sz_buf2d_bit_blt_alpha buf2d_curve_bezier dd sz_buf2d_curve_bezier buf2d_convert_text_matrix dd sz_buf2d_convert_text_matrix buf2d_draw_text dd sz_buf2d_draw_text buf2d_crop_color dd sz_buf2d_crop_color buf2d_offset_h dd sz_buf2d_offset_h buf2d_flood_fill dd sz_buf2d_flood_fill buf2d_set_pixel dd sz_buf2d_set_pixel dd 0,0 sz_init db 'lib_init',0 sz_buf2d_create db 'buf2d_create',0 sz_buf2d_create_f_img db 'buf2d_create_f_img',0 sz_buf2d_clear db 'buf2d_clear',0 sz_buf2d_draw db 'buf2d_draw',0 sz_buf2d_delete db 'buf2d_delete',0 sz_buf2d_line db 'buf2d_line',0 sz_buf2d_rect_by_size db 'buf2d_rect_by_size',0 sz_buf2d_filled_rect_by_size db 'buf2d_filled_rect_by_size',0 sz_buf2d_circle db 'buf2d_circle',0 sz_buf2d_img_hdiv2 db 'buf2d_img_hdiv2',0 sz_buf2d_img_wdiv2 db 'buf2d_img_wdiv2',0 sz_buf2d_conv_24_to_8 db 'buf2d_conv_24_to_8',0 sz_buf2d_conv_24_to_32 db 'buf2d_conv_24_to_32',0 sz_buf2d_bit_blt db 'buf2d_bit_blt',0 sz_buf2d_bit_blt_transp db 'buf2d_bit_blt_transp',0 sz_buf2d_bit_blt_alpha db 'buf2d_bit_blt_alpha',0 sz_buf2d_curve_bezier db 'buf2d_curve_bezier',0 sz_buf2d_convert_text_matrix db 'buf2d_convert_text_matrix',0 sz_buf2d_draw_text db 'buf2d_draw_text',0 sz_buf2d_crop_color db 'buf2d_crop_color',0 sz_buf2d_offset_h db 'buf2d_offset_h',0 sz_buf2d_flood_fill db 'buf2d_flood_fill',0 sz_buf2d_set_pixel db 'buf2d_set_pixel',0 \ No newline at end of file diff --git a/programs/media/scrshoot/srectwin.inc b/programs/media/scrshoot/srectwin.inc index fc80375c20..9cba899e39 100644 --- a/programs/media/scrshoot/srectwin.inc +++ b/programs/media/scrshoot/srectwin.inc @@ -252,8 +252,7 @@ ProcLib_import: OpenDialog_Init dd aOpenDialog_Init OpenDialog_Start dd aOpenDialog_Start ;OpenDialog__Version dd aOpenDialog_Version - dd 0 - dd 0 + dd 0,0 aOpenDialog_Init db 'OpenDialog_init',0 aOpenDialog_Start db 'OpenDialog_start',0 ;aOpenDialog_Version db 'Version_OpenDialog',0 @@ -286,7 +285,7 @@ PathShow_draw dd sz_PathShow_draw ;a_init db 'lib_init',0 ;a_version db 'version',0 -aEdit_box_draw db 'edit_box',0 +aEdit_box_draw db 'edit_box_draw',0 aEdit_box_key db 'edit_box_key',0 aEdit_box_mouse db 'edit_box_mouse',0 aEdit_box_set_text db 'edit_box_set_text',0 diff --git a/programs/media/zsea/data.inc b/programs/media/zsea/data.inc index c879d24d87..bf58f60f8d 100644 --- a/programs/media/zsea/data.inc +++ b/programs/media/zsea/data.inc @@ -1 +1 @@ -;--------------------------------------------------------------------- ; DATA AREA ;--------------------------------------------------------------------- lsz labelt1,\ en, 'File',\ ru, 'Файл',\ de, 'Datei' db 0 ;--------------------------------------------------------------------- lsz labelt2,\ en, 'File info',\ ru, 'Информация о файле',\ de, 'Dateiinfo' db 0 lsz fitext,\ en, 'File name ',\ en, 'File size ',\ en, 'X size ',\ en, 'Y size ',\ en, 'Resolution ',\ en, 'Frames total ',\ \ ru, 'Имя файла ',\ ru, 'Размер файла ',\ ru, 'Ширина ',\ ru, 'Высота ',\ ru, 'Бит на пиксел ',\ ru, 'Всего кадров ',\ \ de, 'Datei Namen ',\ de, 'Fateigroesse ',\ de, 'X groesse ',\ de, 'Y groesse ',\ de, 'Die Tiefe ',\ de, 'Zahl Frames ' db 0 ;--------------------------------------------------------------------- Authors_text: .1: db 'zSea version: 1.00 RC5-1 Date: 03/12/2021',0 .2: db 'Authors:',0 .3: db 'Marat Zakiyanov aka Mario(Mario79)',0 .4: db 'zSea program, modules: cnv_bmp.obj,',0 .5: db 'cnv_png.obj, convert.obj, rotate.obj ',0 .6: db 'scaling.obj, box_lib.obj, OpenDialog',0 .7: db 'proc_lib.obj',0 .8: db 'Evgeny Grechnikov aka Diamond',0 .9: db 'modules: cnv_jpeg.obj, cnv_gif.obj,',0 .10: db 'archiver.obj, sort.obj ',0 .11: db 'Alexey Teplov aka ',0 .12: db 'modules: box_lib.obj, load_lib.mac',0 .13: db 'Mihail Semenyako aka Mike.dld',0 .14: db 'modules: libini.obj, libio.obj',0 ;--------------------------------------------------------------------- status dd 0 ;bit0=1 if file thread is created ;process dd 0 bWasDraw db 0 vflag: db 'x' bgrmode: dd 1 wnd_width dd 210 wnd_height dd 53 ;--------------------------------- lsz labelt3,\ en, 'About program',\ ru, 'О программе',\ de, 'Uber das programm' db 0 ;--------------------------------- lsz labelt4,\ en, 'Set wallpaper',\ ru, 'Установка фона',\ de, 'Installation hintergrund' db 0 ;--------------------------------- lsz labelt5,\ en, 'Select sorting mode',\ ru, 'Сортировка директории',\ de, 'Regimes der Sortierung' db 0 ;--------------------------------- lsz bgrdtext,\ en, 'Set as background:',\ ru, 'Тип обоев:',\ de, 'Als hintergrund' db 0 ;--------------------------------- lsz scc_text,\ en, 'Position:',\ ru, 'Позиция:',\ de, 'Position:' db 0 ;--------------------------------- lsz sorttext,\ en, 'Directory sorting mode:',\ ru, 'Режим сортировки директории:',\ de, 'Regime der Sortierung des Verzeichnisses:' db 0 ;--------------------------------- lsz errortext,\ en, 'File system error:',\ ru, 'Ошибка файловой системы:',\ de, 'Fehler files systemes:' db 0 ;--------------------------------- lsz optiontext,\ en, 'Options:',\ ru, 'Настройки:',\ de, 'Optionen:' db 0 ;--------------------------------- ;lsz tiled,\ ; en, 'Tiled',\ ; ru, 'Замостить',\ ; de, 'Gekachelt' ;lsz stretch,\ ; en, 'Stretch',\ ; ru, 'Растянуть',\ ; de, 'Gestreckt' ;--------------------------------- lsz color_btn,\ en, 'Background color:',\ ru, 'Цвет фона:',\ de, 'Hintergrundfarbe:' db 0 ;--------------------------------- lsz ok_btn,\ en, 'Ok',\ ru, 'Ok',\ de, 'Ok' db 0 ;--------------------------------- lsz slide_show_delay_title,\ en, 'Slide show delay:',\ ru, 'Задержка слайдшоу:',\ de, 'Verzug der schau:' db 0 ;--------------------------------- lsz arrows_offset_title,\ en, 'Arrows offset:',\ ru, 'Смещение стрелками:',\ de, 'Bewegung von den zeigern:' db 0 ;--------------------------------- slide_show_delay_text: db '+ -',0 ;--------------------------------------------------------------------- zoom_auto_factor: dd 0 zoom_auto_text: db 'auto',0 zoom_factors: dd zoom_factors.100 .1: dd 0 .min: dd 1 dd 2 dd 3 dd 4 dd 5 dd 7 dd 10 dd 17 dd 25 dd 37 dd 50 dd 62 dd 75 dd 87 .100: dd 100 dd 125 dd 150 dd 175 dd 200 dd 225 dd 250 dd 275 dd 300 dd 350 dd 400 dd 450 dd 500 dd 600 dd 700 dd 800 dd 900 dd 1000 dd 1100 dd 1200 dd 1300 dd 1400 dd 1500 dd 1750 dd 2000 dd 2250 dd 2500 dd 2750 dd 3000 dd 3500 dd 4000 dd 4500 .max: dd 5000 zoom_factors_old dd 0 ;--------------------------------------------------------------------- ; not change this section!!! ; start section ;--------------------------------------------------------------------- align 4 crop_image_file dd 0 ;+0 crop_raw_pointer dd 0 ;+4 crop_return_code dd 0 ;+8 crop_img_size dd 0 ;+12 crop_deflate_unpack dd 0 ;+16 crop_raw_pointer_2 dd 0 ;+20 ;--------------------------------------------------------------------- ; end section ;--------------------------------------------------------------------- ;--------------------------------------------------------------------- ; not change this section!!! ; start section ;--------------------------------------------------------------------- align 4 image_file dd 0 ;+0 raw_pointer dd 0 ;+4 return_code dd 0 ;+8 img_size dd 0 ;+12 deflate_unpack dd 0 ;+16 raw_pointer_2 dd 0 ;+20 ;--------------------------------------------------------------------- ; end section ;--------------------------------------------------------------------- test1 dd 0 ;+24 test2 dd 0 ;+28 test3 dd 0 ;+32 test4 dd 0 ;+36 test5 dd 0 ;+40 test6 dd 0 ;+44 test7 dd 0 ;+48 ;--------------------------------------------------------------------- align 4 soi dd 0 img_width dd 0 img_width_2 dd 0 img_high dd 0 img_high_2 dd 0 img_resolution dd 0 img_resolution_2 dd 0 img_palette dd 0 background_color dd 0xffffff skin_height dd 0 screen_high dd 0 screen_width dd 0 stretch_start_coordinates: .y dw 0 .x dw 0 screen_relation dd 0 picture_relation dd 0 stretch_img_high dd 0 stretch_img_width dd 0 RAW1_pointer dd 0 RAW1_size_x dd 0 RAW1_size dd 0 Repeat_N dd 0 Total_Repeat_N dd 1 previous_frame_pointer dd 0 Animation_timer dd 0 Frame_delay dw 0 Transp_flag db 0 Transp_index db 0 Disposal_Method db 0 RAW1_flag db 0 no_fill db 0 redraw_wallpaper_flag db 0 calc_next_value_plus db 0 calc_next_value_minus db 0 ;--------------------------------------------------------------------- align 4 ;plugin dd 0 ;plugin_1 dd 0 ;plugin_2 dd 0 ;plugin_3 dd 0 ;plugin_validate dd 0 ;plugin_validate_1 dd 0 ;plugin_validate_2 dd 0 ;plugin_validate_3 dd 0 ;plugin_format dd 0 ;plugin_format_1 dd 0 ;plugin_format_2 dd 0 ;plugin_format_3 dd 0 ;plugin_convert dd 0 ;plugin_convert_background dd 0 ;plugin_sort dd 0 ;plugin_rotate dd 0 ;plugin_scaling dd 0 slide_show_delay dd 500 ; cost of 0,01 sec. slide_show_delay_old dd 0 sort_type dd 2 sort_type_old dd 0 ;--------------------------------------------------------------------- expansion_length dd 0 expansion_start dd 0 timer dd 0 ;--------------------------------------------------------------------- mouse_scroll_data: .vertical dw 0 .horizontal dw 0 mouse_position: .y dw 0 .x dw 0 mouse_position_old: .y dw 0 .x dw 0 mouse_keys dd 0 mouse_keys_old dd 0 arrows_offset dd 10 arrows_offset_old dd 10 option_pointer dd 0 plus_pointer dd 0 minus_pointer dd 0 space_pointer dd 0 ;--------------------------------------------------------------------- pos: dd 6 work_area_LR_old dd 0 work_area_TB_old dd 0 scaling_mode dd 100 scaling_mode_old dd 100 window_start_x_old dd 0 window_start_y_old dd 0 window_high_old dd 0 window_width_old dd 0 window_start_x dd 0 window_start_y dd 0 window_high dd 0 window_width dd 0 ;skin_high dd 0 window_status dd 0 draw_SB db 0 draw_SB1 db 0 correct_w db 0 correct_h db 0 wa_width dw 0 wa_high dw 0 wa_width_1 dw 0 wa_width_2 dw 0 wa_high_1 dw 0 wa_high_2 dw 0 image_start_coordinates dd 0 image_draw_size: .y: dw 0 .x: dw 0 vertical_position_coorect dd 0 horizontal_position_coorect dd 0 fill_color dd 0xffffff fill_color_old dd 0xffffff position_coorect db 0 open_file_flag db 0 sort_directory_flag db 0 redraw_flag db 0 press_Enter_flag db 0 capture_image_area_flag db 0 correct_scrollbar_100_flag db 0 ;--------------------------------------------------------------------- ;test_area: ;dd test_area.end - test_area ;db 'BMP',0 ;.end: ;db 0,0,0,0,0,0,0,0,0,0,0,0,0 ;--------------------------------------------------------------------- aApplicationsPaths db 'ApplicationsPaths',0 aOther db 'Other',0 aHelp db 'Help',0 aEditor db 'Editor',0 aOpenDialog db 'OpenDialog',0 akey_help db 'HelpFile',0 aConvertPlugins db 'ConvertPlugins',0 ConvertPlugins_no_key db 'NoKey',0 aCP0 db 'CP0',0 aCP1 db 'CP1',0 aCP2 db 'CP2',0 aCP3 db 'CP3',0 aCP4 db 'CP4',0 aCP5 db 'CP5',0 aCP6 db 'CP6',0 aCP7 db 'CP7',0 aCP8 db 'CP8',0 aCP9 db 'CP9',0 ;--------------------------------------------------------------------- plugin_BMP_name db 'cnv_bmp.obj',0 plugin_PNG_name db 'cnv_png.obj',0 plugin_JPEG_name db 'cnv_jpeg.obj',0 plugin_GIF_name db 'cnv_gif.obj',0 ;plugin_convert_name db 'convert.obj',0 ;plugin_sort_name db 'sort.obj',0 ;plugin_rotate_name db 'rotate.obj',0 ;plugin_scaling_name db 'scaling.obj',0 ;plugin_UNPACK_name db 'archiver.obj',0 ;boxlib_name db 'box_lib.obj',0 ;Libini_name db 'libini.obj',0 plugins_directory db 'plugins/',0 ini_file_name db 'zsea.ini',0 button_name db 'buttons.png',0 ;buttons_passive_name db '1.png',0 ;buttons_active_name db '2.png',0 ;buttons_click_name db '3.png',0 buttons_directory db 'buttons/',0 ;UNPACK_function_name db 'deflate_unpack',0 ;UNPACK_function_name_end: ;UNPACK_function_name db 'deflate_unpack2',0 ;UNPACK_function_name_end: system_dir_Boxlib db '/sys/lib/box_lib.obj',0 system_dir_Libini db '/sys/lib/libini.obj',0 system_dir_Sort db '/sys/lib/sort.obj',0 system_dir_UNPACK db '/sys/lib/archiver.obj',0 system_dir_Convert db '/sys/lib/convert.obj',0 system_dir_Rotate db '/sys/lib/rotate.obj',0 system_dir_Scaling db '/sys/lib/scaling.obj',0 system_dir_ProcLib db '/sys/lib/proc_lib.obj',0 ;--------------------------------------------------------------------- l_libs_start: library01 l_libs system_dir_Boxlib+9, library_path, system_dir_Boxlib, \ Box_lib_import, plugins_directory library02 l_libs system_dir_Libini+9, library_path, system_dir_Libini, \ Libini_import, plugins_directory library03 l_libs system_dir_Sort+9, library_path, system_dir_Sort, \ Sort_import, plugins_directory library04 l_libs system_dir_UNPACK+9, library_path, system_dir_UNPACK, \ UNPACK_import, plugins_directory library05 l_libs system_dir_Convert+9, library_path, system_dir_Convert, \ Convert_import, plugins_directory library06 l_libs system_dir_Rotate+9, library_path, system_dir_Rotate, \ Rotate_import, plugins_directory library07 l_libs system_dir_Scaling+9, library_path, system_dir_Scaling, \ Scaling_import, plugins_directory library08 l_libs system_dir_ProcLib+9, library_path, system_dir_ProcLib, \ ProcLib_import, plugins_directory end_l_libs: ;--------------------------------------------------------------------- align 4 cnv_plugin_name_pointer dd plugin_0_name cnv_plugin_import_pointer dd Convert_plugin_0 system_path db '/sys/lib/' .1: rb 128 ;--------------------------------------------------------------------- Convert_plugin_0: .Start dd aCP_Start .Version dd aCP_Version .Check dd aCP_Check .Assoc dd aCP_Assoc dd 0 dd 0 Convert_plugin_1: .Start dd aCP_Start .Version dd aCP_Version .Check dd aCP_Check .Assoc dd aCP_Assoc dd 0 dd 0 Convert_plugin_2: .Start dd aCP_Start .Version dd aCP_Version .Check dd aCP_Check .Assoc dd aCP_Assoc dd 0 dd 0 Convert_plugin_3: .Start dd aCP_Start .Version dd aCP_Version .Check dd aCP_Check .Assoc dd aCP_Assoc dd 0 dd 0 Convert_plugin_4: .Start dd aCP_Start .Version dd aCP_Version .Check dd aCP_Check .Assoc dd aCP_Assoc dd 0 dd 0 Convert_plugin_5: .Start dd aCP_Start .Version dd aCP_Version .Check dd aCP_Check .Assoc dd aCP_Assoc dd 0 dd 0 Convert_plugin_6: .Start dd aCP_Start .Version dd aCP_Version .Check dd aCP_Check .Assoc dd aCP_Assoc dd 0 dd 0 Convert_plugin_7: .Start dd aCP_Start .Version dd aCP_Version .Check dd aCP_Check .Assoc dd aCP_Assoc dd 0 dd 0 Convert_plugin_8: .Start dd aCP_Start .Version dd aCP_Version .Check dd aCP_Check .Assoc dd aCP_Assoc dd 0 dd 0 Convert_plugin_9: .Start dd aCP_Start .Version dd aCP_Version .Check dd aCP_Check .Assoc dd aCP_Assoc dd 0 dd 0 aCP_Start db 'START',0 aCP_Version db 'version',0 aCP_Check db 'Check_Header',0 aCP_Assoc db 'Associations',0 ;--------------------------------------------------------------------- file_mount: db 'File N: Amount: Zoom:',0 .end: current_key_code db 0 old_key_code db 0 ;--------------------------------------------------------------------- ; Tokens ;--------------------------------------------------------------------- aSortMode db 'SortMode',0 aSlideShowDelay db 'SlideShowDelay',0 aArrowsOffset db 'ArrowsOffset',0 aShowFileName db 'ShowFileName',0 aFilteringFlag db 'FilteringFlag',0 ;--------------------------------------------------------------------- ;Sections ;--------------------------------------------------------------------- aVariables db 'Variables',0 ;aVar db 'Var',0 ;aTemp db 'Temp',0 ;--------------------------------------------------------------------- align 4 ProcLib_import: OpenDialog_Init dd aOpenDialog_Init OpenDialog_Start dd aOpenDialog_Start ColorDialog_Init dd aColorDialog_Init ColorDialog_Start dd aColorDialog_Start ;OpenDialog__Version dd aOpenDialog_Version dd 0 dd 0 aOpenDialog_Init db 'OpenDialog_init',0 aOpenDialog_Start db 'OpenDialog_start',0 aColorDialog_Init db 'ColorDialog_init',0 aColorDialog_Start db 'ColorDialog_start',0 ;aOpenDialog_Version db 'Version_OpenDialog',0 ;--------------------------------------------------------------------- align 4 Scaling_import: Scaling_Start dd aScaling_Start Scaling_Version dd aScaling_Version dd 0 dd 0 aScaling_Start db 'START',0 aScaling_Version db 'version',0 ;--------------------------------------------------------------------- align 4 Rotate_import: rotate_Start dd aRotate_Start rotate_Version dd aRotate_Version dd 0 dd 0 aRotate_Start db 'START',0 aRotate_Version db 'version',0 ;--------------------------------------------------------------------- align 4 Convert_import: convert_Start dd aConvert_Start convert_Version dd aConvert_Version convert_Conv_24b dd aConvert_Conv_24b dd 0 dd 0 aConvert_Start db 'START',0 aConvert_Version db 'version',0 aConvert_Conv_24b db 'Convert24b',0 ;--------------------------------------------------------------------- align 4 UNPACK_import: ;unpack_Version dd aUnpack_Version ;unpack_PluginLoad dd aUnpack_PluginLoad ;unpack_OpenFilePlugin dd aUnpack_OpenFilePlugin ;unpack_ClosePlugin dd aUnpack_ClosePlugin ;unpack_ReadFolder dd aUnpack_ReadFolder ;unpack_SetFolder dd aUnpack_SetFolder ;unpack_GetFiles dd aUnpack_GetFiles ;unpack_GetOpenPluginInfo dd aUnpack_GetOpenPluginInfo ;unpack_Getattr dd aUnpack_Getattr ;unpack_Open dd aUnpack_Open ;unpack_Read dd aUnpack_Read ;unpack_Setpos dd aUnpack_Setpos ;unpack_Close dd aUnpack_Close ;unpack_DeflateUnpack dd aUnpack_DeflateUnpack unpack_DeflateUnpack2 dd aUnpack_DeflateUnpack2 dd 0 dd 0 ;aUnpack_Version db 'version',0 ;aUnpack_PluginLoad db 'plugin_load',0 ;aUnpack_OpenFilePlugin db 'OpenFilePlugin',0 ;aUnpack_ClosePlugin db 'ClosePlugin',0 ;aUnpack_ReadFolder db 'ReadFolder',0 ;aUnpack_SetFolder db 'SetFolder',0 ;aUnpack_GetFiles db 'GetFiles',0 ;aUnpack_GetOpenPluginInfo db 'GetOpenPluginInfo',0 ;aUnpack_Getattr db 'getattr',0 ;aUnpack_Open db 'open',0 ;aUnpack_Read db 'read',0 ;aUnpack_Setpos db 'setpos',0 ;aUnpack_Close db 'close',0 ;aUnpack_DeflateUnpack db 'deflate_unpack',0 aUnpack_DeflateUnpack2 db 'deflate_unpack2',0 ;--------------------------------------------------------------------- align 4 Sort_import: sort_init dd aSort_init sort_version dd aSort_version sort_dir dd aSort_SortDir sort_strcmpi dd aSort_strcmpi dd 0 dd 0 aSort_init db 'START',0 aSort_version db 'version',0 aSort_SortDir db 'SortDir',0 aSort_strcmpi db 'strcmpi',0 ;--------------------------------------------------------------------- align 4 Libini_import: lib_init dd aLib_init version_lib_ini dd aVersion_lib_ini ini_enum_sections dd aIni_enum_sections ini_enum_keys dd aIni_enum_keys ini_get_str dd aIni_get_str ini_get_int dd aIni_get_int ini_get_color dd aIni_get_color ini_set_str dd aIni_set_str ini_set_int dd aIni_set_int ini_set_color dd aIni_set_color dd 0 dd 0 aLib_init db 'lib_init',0 aVersion_lib_ini db 'version',0 aIni_enum_sections db 'ini_enum_sections',0 aIni_enum_keys db 'ini_enum_keys',0 aIni_get_str db 'ini_get_str',0 aIni_get_int db 'ini_get_int',0 aIni_get_color db 'ini_get_color',0 aIni_set_str db 'ini_set_str',0 aIni_set_int db 'ini_set_int',0 aIni_set_color db 'ini_set_color',0 ;--------------------------------------------------------------------- align 4 Box_lib_import: ;init_lib dd a_init ;version_lib dd a_version edit_box_draw dd aEdit_box_draw edit_box_key dd aEdit_box_key edit_box_mouse dd aEdit_box_mouse ;version_ed dd aVersion_ed init_checkbox dd aInit_checkbox check_box_draw dd aCheck_box_draw check_box_mouse dd aCheck_box_mouse ;version_ch dd aVersion_ch option_box_draw dd aOption_box_draw option_box_mouse dd aOption_box_mouse ;version_op dd aVersion_op scrollbar_ver_draw dd aScrollbar_ver_draw scrollbar_ver_mouse dd aScrollbar_ver_mouse scrollbar_hor_draw dd aScrollbar_hor_draw scrollbar_hor_mouse dd aScrollbar_hor_mouse ;version_scrollbar dd aVersion_scrollbar dinamic_button_draw dd aDbutton_draw dinamic_button_mouse dd aDbutton_mouse ;version_dbutton dd aVersion_dbutton menu_bar_draw dd aMenu_bar_draw menu_bar_mouse dd aMenu_bar_mouse menu_bar_activate dd aMenu_bar_activate ;version_menu_bar dd aVersion_menu_bar ;FileBrowser_draw dd aFileBrowser_draw ;FileBrowser_mouse dd aFileBrowser_mouse ;FileBrowser_key dd aFileBrowser_key ;Version_FileBrowser dd aVersion_FileBrowser dd 0 dd 0 ;a_init db 'lib_init',0 ;a_version db 'version',0 aEdit_box_draw db 'edit_box',0 aEdit_box_key db 'edit_box_key',0 aEdit_box_mouse db 'edit_box_mouse',0 ;aVersion_ed db 'version_ed',0 aInit_checkbox db 'init_checkbox2',0 aCheck_box_draw db 'check_box_draw2',0 aCheck_box_mouse db 'check_box_mouse2',0 ;aVersion_ch db 'version_ch2',0 aOption_box_draw db 'option_box_draw',0 aOption_box_mouse db 'option_box_mouse',0 ;aVersion_op db 'version_op',0 aScrollbar_ver_draw db 'scrollbar_v_draw',0 aScrollbar_ver_mouse db 'scrollbar_v_mouse',0 aScrollbar_hor_draw db 'scrollbar_h_draw',0 aScrollbar_hor_mouse db 'scrollbar_h_mouse',0 ;aVersion_scrollbar db 'version_scrollbar',0 aDbutton_draw db 'dbutton_draw',0 aDbutton_mouse db 'dbutton_mouse',0 ;aVersion_dbutton db 'version_dbutton',0 aMenu_bar_draw db 'menu_bar_draw',0 aMenu_bar_mouse db 'menu_bar_mouse',0 aMenu_bar_activate db 'menu_bar_activate',0 ;aVersion_menu_bar db 'version_menu_bar',0 ;aFileBrowser_draw db 'FileBrowser_draw',0 ;aFileBrowser_mouse db 'FileBrowser_mouse',0 ;aFileBrowser_key db 'FileBrowser_key',0 ;aVersion_FileBrowser db 'version_FileBrowser',0 ;--------------------------------------------------------------------- align 4 load_directory_pointer dd 0 file_name_length dd 0 load_file_number dd 0 error_fs dd 0 error_pointer dd 0 ;error_locate dd 0 error_window_x: dd 100 shl 16 + 300 error_window_y: dd 100 shl 16 + 100 PID dd 0 PID1 dd 0 PID2 dd 0 PID3 dd 0 PID4 dd 0 PID5 dd 0 PID6 dd 0 PID7 dd 0 active_process dd 0 timer_counter dd 0 draw_scrollbar_counter dd 0 ;--------------------------------------------------------------------- align 4 error_fs_text_pointers: dd error_fs_text_0 dd error_fs_text_1 dd error_fs_text_2 dd error_fs_text_3 dd error_fs_text_4 dd error_fs_text_5 dd error_fs_text_6 dd error_fs_text_7 dd error_fs_text_8 dd error_fs_text_9 dd error_fs_text_10 dd error_fs_text_11 error_fs_text_0: db 'Success full',0 error_fs_text_1: db 'Base and/or partition of a hard disk is not defined',0 error_fs_text_2: db 'Function is not supported for the given file system',0 error_fs_text_3: db 'Unknown file system',0 error_fs_text_4: db 'Reserved, is never returned in the current implementation',0 error_fs_text_5: db 'File not found',0 error_fs_text_6: db 'End of file, EOF',0 error_fs_text_7: db 'Pointer lies outside of application memory',0 error_fs_text_8: db 'Disk is full',0 error_fs_text_9: db 'FAT table is destroyed',0 error_fs_text_10: db 'Access denied',0 error_fs_text_11: db 'Device error',0 ;--------------------------------------------------------------------- error_type: db 'File system error',0 ;--------------------------------------------------------------------- error_not_supported_file: db 'Unsupported file or corrupt data',0 ;--------------------------------------------------------------------- error_not_enough_memory: db 'Not_enough_memory',0 ;--------------------------------------------------------------------- error_unknown: db 'Unknown error',0 ;--------------------------------------------------------------------- extended_key db 0 no_draw_window db 0 shift_flag db 0 ctrl_flag db 0 alt_flag db 0 ;--------------------------------------------------------------------- ; for EDITBOX align 4 name_editboxes: edit1 edit_box 200,10,30,0xffffff,0xbbddff,0,0,0,255,string,mouse_dd,ed_focus+ed_always_focus,0 name_editboxes_end: ;mouse_flag: dd 0x0 mouse_dd rd 1 ;--------------------------------------------------------------------- align 4 ; option_boxes_bcgr: op1 option_box option_group1,60,45,6,12,0xFFFFFF,0,0xffffff,op_text.1,op_text.e1-op_text.1 op2 option_box option_group1,60,60,6,12,0xFFFFFF,0,0xffffff,op_text.2,op_text.e2-op_text.2 op3 option_box option_group1,60,75,6,12,0xFFFFFF,0,0xffffff,op_text.3,op_text.e3-op_text.3 op4 option_box option_group1,60,90,6,12,0xFFFFFF,0,0xffffff,op_text.4,op_text.e4-op_text.4 ;option_boxes_bcgr_end: op_text: .1 db 'Tiled' .e1: .2 db 'Stretch' .e2: .3 db 'Stretch + Crop' .e3: .4 db 'Stretch + Inscribe' .e4: option_group1 dd op1 option_boxes_bcgr: dd op1,op2,op3,op4,0 ;--------------------------------------------------------------------- align 4 op_UL option_box option_group3,200,40,20,20,0xFFFFFF,0,0xffffff,0,0 op_UC option_box option_group3,223,40,20,20,0xFFFFFF,0,0xffffff,0,0 op_UR option_box option_group3,246,40,20,20,0xFFFFFF,0,0xffffff,0,0 op_CL option_box option_group3,200,63,20,20,0xFFFFFF,0,0xffffff,0,0 op_CC option_box option_group3,223,63,20,20,0xFFFFFF,0,0xffffff,0,0 op_CR option_box option_group3,246,63,20,20,0xFFFFFF,0,0xffffff,0,0 op_DL option_box option_group3,200,86,20,20,0xFFFFFF,0,0xffffff,0,0 op_DC option_box option_group3,223,86,20,20,0xFFFFFF,0,0xffffff,0,0 op_DR option_box option_group3,246,86,20,20,0xFFFFFF,0,0xffffff,0,0 ;option_boxes_bcgr_end: option_group3 dd op_CC Stretch_Crop_Corner dd 1 shl 16+1 option_boxes_SCC: dd op_UL,op_UC,op_UR,op_CL,op_CC,op_CR,op_DL,op_DC,op_DR,0 bcgr_group_pointer db 0 ;--------------------------------------------------------------------- align 4 ;option_boxes_sort: sort0 option_box option_group2,60,40,6,12,0xFFFFFF,0,0xffffff,op_text_1.1,op_text_1.e1-op_text_1.1 sort2 option_box option_group2,60,55,6,12,0xFFFFFF,0,0xffffff,op_text_1.2,op_text_1.e2-op_text_1.2 sort4 option_box option_group2,60,70,6,12,0xFFFFFF,0,0xffffff,op_text_1.3,op_text_1.e3-op_text_1.3 sort6 option_box option_group2,60,85,6,12,0xFFFFFF,0,0xffffff,op_text_1.4,op_text_1.e4-op_text_1.4 option_boxes_sort_end: op_text_1: .1 db 'Name' .e1: .2 db 'Type' .e2: .3 db 'Date' .e3: .4 db 'Size' .e4: option_group2 dd sort2 option_group2_old dd 0 option_boxes_sort dd sort0, sort2, sort4, sort6,0 ;--------------------------------------------------------------------- check1 check_box2 (140 shl 16)+12,(50 shl 16)+12,6,0xFFFFFF,0,0xffffff,check_text1,ch_flag_middle ;ch_flag_en check_text1 db 'Show file name',0 show_file_name_old dd 0 ;--------------------------------------------------------------------- check2 check_box2 (140 shl 16)+12,(70 shl 16)+12,6,0xFFFFFF,0,0xffffff,check_text2,ch_flag_middle ;ch_flag_en check_text2 db 'Bilinear filtering',0 filtering_flag dd 0 filtering_flag_old dd 0 ;--------------------------------------------------------------------- align 4 scroll_bar_data_vertical: .x: .size_x dw 15 ;+0 .start_x dw 500 ;+2 .y: .size_y dw 300 ;+4 .start_y dw 30 ;+6 .btn_high dd 15 ;+8 .type dd 2 ;+12 .max_area dd 10 ;+16 .cur_area dd 2 ;+20 .position dd 0 ;+24 .bckg_col dd 0xeeeeee ;+28 .frnt_col dd 0x8aeaa0 ;0xbbddff ;+32 .line_col dd 0 ;+36 .redraw dd 0 ;+40 .delta dw 0 ;+44 .delta2 dw 0 ;+46 .run_x: .r_size_x dw 0 ;+48 .r_start_x dw 0 ;+50 .run_y: .r_size_y dw 0 ;+52 .r_start_y dw 0 ;+54 .m_pos dd 0 ;+56 .m_pos_2 dd 0 ;+60 .m_keys dd 0 ;+64 .run_size dd 0 ;+68 .position2 dd 0 ;+72 .work_size dd 0 ;+76 .all_redraw dd 0 ;+80 .ar_offset dd 10 ;+84 ;--------------------------------------------------------------------- align 4 scroll_bar_data_horizontal: .x: .size_x dw 300 ;0 ;+0 .start_x dw 10 ;0 ;+2 .y: .size_y dw 15 ;0 ;+4 .start_y dw 300 ;0 ;+6 .btn_high dd 15 ;+8 .type dd 2 ;+12 .max_area dd 10 ;+16 .cur_area dd 2 ;+20 .position dd 0 ;+24 .bckg_col dd 0xeeeeee ;+28 .frnt_col dd 0x8aeaa0 ;0xbbddff ;+32 .line_col dd 0 ;+36 .redraw dd 0 ;+40 .delta dw 0 ;+44 .delta2 dw 0 ;+46 .run_x: .r_size_x dw 0 ;+48 .r_start_x dw 0 ;+50 .run_y: .r_size_y dw 0 ;+52 .r_start_y dw 0 ;+54 .m_pos dd 0 ;+56 .m_pos_2 dd 0 ;+60 .m_keys dd 0 ;+64 .run_size dd 0 ;+68 .position2 dd 0 ;+72 .work_size dd 0 ;+76 .all_redraw dd 0 ;+80 .ar_offset dd 10 ;+84 ;--------------------------------------------------------------------- align 4 menu_data_1: .type: dd 0 ;+0 .x: .size_x dw 35 ;+4 .start_x dw 5 ;+6 .y: .size_y dw 15 ;+8 .start_y dw 6 ;+10 .text_pointer: dd menu_text_area_1 ;0 ;+12 .pos_pointer: dd menu_text_area_1.1 ;0 ;+16 .text_end dd menu_text_area_1.end ;0 ;+20 .ret_key dd 0 ;+24 .mouse_keys dd 0 ;+28 .x1: .size_x1 dw 70 ;+32 .start_x1 dw 5 ;+34 .y1: .size_y1 dw 100 ;+36 .start_y1 dw 21 ;+38 .bckg_col dd 0xe5e5e5 ;+40 .frnt_col dd 0xff ;+44 .menu_col dd 0xeef0ff ;0xffffff ;+48 .select dd 0 ;+52 .out_select dd 0 ;+56 .buf_adress dd 0 ;+60 .procinfo dd 0 ;+64 .click dd 0 ;+68 .cursor dd 0 ;+72 .cursor_old dd 0 ;+76 .interval dd 16 ;+80 .cursor_max dd 0 ;+84 .extended_key dd 0 ;+88 .menu_sel_col dd 0x00cc00 ;+92 .bckg_text_col dd 0 ; +96 .frnt_text_col dd 0xffffff ;+100 .mouse_keys_old dd 0 ;+104 .font_height dd 8 ;+108 .cursor_out dd 0 ;+112 .get_mouse_flag dd 0 ;+116 ;--------------------------------------------------------------------- menu_text_area_1: db 'File',0 .1: db 'Open',0 db 'Properties',0 db 'Exit',0 .end: db 0 ;--------------------------------------------------------------------- align 4 menu_data_2: .type: dd 0 ;+0 .x: .size_x dw 35 ;+4 .start_x dw 40 ;+6 .y: .size_y dw 15 ;+8 .start_y dw 6 ;+10 .text_pointer: dd menu_text_area_2 ;0 ;+12 .pos_pointer: dd menu_text_area_2.1 ;0 ;+16 .text_end dd menu_text_area_2.end ;0 ;+20 .ret_key dd 0 ;+24 .mouse_keys dd 0 ;+28 .x1: .size_x1 dw 90 ;+32 .start_x1 dw 40 ;+34 .y1: .size_y1 dw 100 ;+36 .start_y1 dw 21 ;+38 .bckg_col dd 0xe5e5e5 ;+40 .frnt_col dd 0xff ;+44 .menu_col dd 0xeef0ff ;0xffffff ;+48 .select dd 0 ;+52 .out_select dd 0 ;+56 .buf_adress dd 0 ;+60 .procinfo dd 0 ;+64 .click dd 0 ;+68 .cursor dd 0 ;+72 .cursor_old dd 0 ;+76 .interval dd 16 ;+80 .cursor_max dd 0 ;+84 .extended_key dd 0 ;+88 .menu_sel_col dd 0x00cc00 ;+92 .bckg_text_col dd 0 ; +96 .frnt_text_col dd 0xffffff ;+100 .mouse_keys_old dd 0 ;+104 .font_height dd 8 ;+108 .cursor_out dd 0 ;+112 .get_mouse_flag dd 0 ;+116 ;--------------------------------------------------------------------- menu_text_area_2: db 'Edit',0 .1: db 'Rotate Clock.',0 db 'Rotate CClock.',0 db 'Invert L to R',0 db 'Invert U to D',0 .end: db 0 ;--------------------------------------------------------------------- align 4 menu_data_3: .type: dd 0 ;+0 .x: .size_x dw 35 ;+4 .start_x dw 75 ;+6 .y: .size_y dw 15 ;+8 .start_y dw 6 ;+10 .text_pointer: dd menu_text_area_3 ;0 ;+12 .pos_pointer: dd menu_text_area_3.1 ;0 ;+16 .text_end dd menu_text_area_3.end ;0 ;+20 .ret_key dd 0 ;+24 .mouse_keys dd 0 ;+28 .x1: .size_x1 dw 90 ;+32 .start_x1 dw 75 ;+34 .y1: .size_y1 dw 100 ;+36 .start_y1 dw 21 ;+38 .bckg_col dd 0xe5e5e5 ;+40 .frnt_col dd 0xff ;+44 .menu_col dd 0xeef0ff ;0xffffff ;+48 .select dd 0 ;+52 .out_select dd 0 ;+56 .buf_adress dd 0 ;+60 .procinfo dd 0 ;+64 .click dd 0 ;+68 .cursor dd 0 ;+72 .cursor_old dd 0 ;+76 .interval dd 16 ;+80 .cursor_max dd 0 ;+84 .extended_key dd 0 ;+88 .menu_sel_col dd 0x00cc00 ;+92 .bckg_text_col dd 0 ; +96 .frnt_text_col dd 0xffffff ;+100 .mouse_keys_old dd 0 ;+104 .font_height dd 8 ;+108 .cursor_out dd 0 ;+112 .get_mouse_flag dd 0 ;+116 ;--------------------------------------------------------------------- menu_text_area_3: db 'View',0 .1: db 'Sort Directory',0 db 'Full Screen',0 db 'Reload',0 .end: db 0 ;--------------------------------------------------------------------- align 4 menu_data_4: .type: dd 0 ;+0 .x: .size_x dw 35 ;+4 .start_x dw 110 ;+6 .y: .size_y dw 15 ;+8 .start_y dw 6 ;+10 .text_pointer: dd menu_text_area_4 ;0 ;+12 .pos_pointer: dd menu_text_area_4.1 ;0 ;+16 .text_end dd menu_text_area_4.end ;0 ;+20 .ret_key dd 0 ;+24 .mouse_keys dd 0 ;+28 .x1: .size_x1 dw 40 ;+32 .start_x1 dw 110 ;+34 .y1: .size_y1 dw 100 ;+36 .start_y1 dw 21 ;+38 .bckg_col dd 0xe5e5e5 ;+40 .frnt_col dd 0xff ;+44 .menu_col dd 0xeef0ff ;0xffffff ;+48 .select dd 0 ;+52 .out_select dd 0 ;+56 .buf_adress dd 0 ;+60 .procinfo dd 0 ;+64 .click dd 0 ;+68 .cursor dd 0 ;+72 .cursor_old dd 0 ;+76 .interval dd 16 ;+80 .cursor_max dd 0 ;+84 .extended_key dd 0 ;+88 .menu_sel_col dd 0x00cc00 ;+92 .bckg_text_col dd 0 ; +96 .frnt_text_col dd 0xffffff ;+100 .mouse_keys_old dd 0 ;+104 .font_height dd 8 ;+108 .cursor_out dd 0 ;+112 .get_mouse_flag dd 0 ;+116 ;--------------------------------------------------------------------- menu_text_area_4: db 'Zoom',0 .1: db 'Normal',0 db 'More',0 db 'Less',0 db 'Auto',0 .end: db 0 ;--------------------------------------------------------------------- align 4 menu_data_5: .type: dd 0 ;+0 .x: .size_x dw 40 ;+4 .start_x dw 145 ;+6 .y: .size_y dw 15 ;+8 .start_y dw 6 ;+10 .text_pointer: dd menu_text_area_5 ;0 ;+12 .pos_pointer: dd menu_text_area_5.1 ;0 ;+16 .text_end dd menu_text_area_5.end ;0 ;+20 .ret_key dd 0 ;+24 .mouse_keys dd 0 ;+28 .x1: .size_x1 dw 80 ;+32 .start_x1 dw 145 ;+34 .y1: .size_y1 dw 100 ;+36 .start_y1 dw 21 ;+38 .bckg_col dd 0xe5e5e5 ;+40 .frnt_col dd 0xff ;+44 .menu_col dd 0xeef0ff ;0xffffff ;+48 .select dd 0 ;+52 .out_select dd 0 ;+56 .buf_adress dd 0 ;+60 .procinfo dd 0 ;+64 .click dd 0 ;+68 .cursor dd 0 ;+72 .cursor_old dd 0 ;+76 .interval dd 16 ;+80 .cursor_max dd 0 ;+84 .extended_key dd 0 ;+88 .menu_sel_col dd 0x00cc00 ;+92 .bckg_text_col dd 0 ; +96 .frnt_text_col dd 0xffffff ;+100 .mouse_keys_old dd 0 ;+104 .font_height dd 8 ;+108 .cursor_out dd 0 ;+112 .get_mouse_flag dd 0 ;+116 ;--------------------------------------------------------------------- menu_text_area_5: db 'Tools',0 .1: db 'Image Editor',0 db 'Wallpaper',0 db 'Slide Show',0 db 'Options',0 .end: db 0 ;--------------------------------------------------------------------- align 4 menu_data_6: .type: dd 0 ;+0 .x: .size_x dw 35 ;+4 .start_x dw 185 ;+6 .y: .size_y dw 15 ;+8 .start_y dw 6 ;+10 .text_pointer: dd menu_text_area_6 ;0 ;+12 .pos_pointer: dd menu_text_area_6.1 ;0 ;+16 .text_end dd menu_text_area_6.end ;0 ;+20 .ret_key dd 0 ;+24 .mouse_keys dd 0 ;+28 .x1: .size_x1 dw 50 ;+32 .start_x1 dw 185 ;+34 .y1: .size_y1 dw 100 ;+36 .start_y1 dw 21 ;+38 .bckg_col dd 0xe5e5e5 ;+40 .frnt_col dd 0xff ;+44 .menu_col dd 0xeef0ff ;0xffffff ;+48 .select dd 0 ;+52 .out_select dd 0 ;+56 .buf_adress dd 0 ;+60 .procinfo dd 0 ;+64 .click dd 0 ;+68 .cursor dd 0 ;+72 .cursor_old dd 0 ;+76 .interval dd 16 ;+80 .cursor_max dd 0 ;+84 .extended_key dd 0 ;+88 .menu_sel_col dd 0x00cc00 ;+92 .bckg_text_col dd 0 ; +96 .frnt_text_col dd 0xffffff ;+100 .mouse_keys_old dd 0 ;+104 .font_height dd 8 ;+108 .cursor_out dd 0 ;+112 .get_mouse_flag dd 0 ;+116 ;--------------------------------------------------------------------- menu_text_area_6: db 'Help',0 .1: db 'Help',0 db 'About',0 .end: db 0 ;--------------------------------------------------------------------- align 4 dinamic_button_data_1: ; open file .type dd 0 ;+0 .x: .size_x dw 20 ;+4 .start_x dw 230 ;+6 .y: .size_y dw 20 ;+8 .start_y dw 3 ;+10 .mouse_pos dd 0 ;+12 .mouse_keys dd 0 ;+16 .mouse_keys_old dd 0 ;+20 .active_raw dd 0 ;+24 .passive_raw dd 0 ;+28 .click_raw dd 0 ;+32 .resolution_raw dd 0 ;+36 .palette_raw dd 0 ;+40 .offset_raw dd 0 ;+44 .select dd 0 ;+48 .click dd 0 ;+52 ;--------------------------------------------------------------------- align 4 dinamic_button_data_2: ; reload file .type dd 0 ;+0 .x: .size_x dw 20 ;+4 .start_x dw 255 ;+6 .y: .size_y dw 20 ;+8 .start_y dw 3 ;+10 .mouse_pos dd 0 ;+12 .mouse_keys dd 0 ;+16 .mouse_keys_old dd 0 ;+20 .active_raw dd 0 ;+24 .passive_raw dd 0 ;+28 .click_raw dd 0 ;+32 .resolution_raw dd 0 ;+36 .palette_raw dd 0 ;+40 .offset_raw dd 0 ;+44 .select dd 0 ;+48 .click dd 0 ;+52 ;--------------------------------------------------------------------- align 4 dinamic_button_data_3: ; left limit .type dd 0 ;+0 .x: .size_x dw 20 ;+4 .start_x dw 285 ;+6 .y: .size_y dw 20 ;+8 .start_y dw 3 ;+10 .mouse_pos dd 0 ;+12 .mouse_keys dd 0 ;+16 .mouse_keys_old dd 0 ;+20 .active_raw dd 0 ;+24 .passive_raw dd 0 ;+28 .click_raw dd 0 ;+32 .resolution_raw dd 0 ;+36 .palette_raw dd 0 ;+40 .offset_raw dd 0 ;+44 .select dd 0 ;+48 .click dd 0 ;+52 ;--------------------------------------------------------------------- align 4 dinamic_button_data_4: ; left arrow .type dd 0 ;+0 .x: .size_x dw 20 ;+4 .start_x dw 310 ;+6 .y: .size_y dw 20 ;+8 .start_y dw 3 ;+10 .mouse_pos dd 0 ;+12 .mouse_keys dd 0 ;+16 .mouse_keys_old dd 0 ;+20 .active_raw dd 0 ;+24 .passive_raw dd 0 ;+28 .click_raw dd 0 ;+32 .resolution_raw dd 0 ;+36 .palette_raw dd 0 ;+40 .offset_raw dd 0 ;+44 .select dd 0 ;+48 .click dd 0 ;+52 ;--------------------------------------------------------------------- align 4 dinamic_button_data_5: ; slide show .type dd 0 ;+0 .x: .size_x dw 20 ;+4 .start_x dw 335 ;+6 .y: .size_y dw 20 ;+8 .start_y dw 3 ;+10 .mouse_pos dd 0 ;+12 .mouse_keys dd 0 ;+16 .mouse_keys_old dd 0 ;+20 .active_raw dd 0 ;+24 .passive_raw dd 0 ;+28 .click_raw dd 0 ;+32 .resolution_raw dd 0 ;+36 .palette_raw dd 0 ;+40 .offset_raw dd 0 ;+44 .select dd 0 ;+48 .click dd 0 ;+52 ;--------------------------------------------------------------------- align 4 dinamic_button_data_6: ; right arrow .type dd 0 ;+0 .x: .size_x dw 20 ;+4 .start_x dw 360 ;+6 .y: .size_y dw 20 ;+8 .start_y dw 3 ;+10 .mouse_pos dd 0 ;+12 .mouse_keys dd 0 ;+16 .mouse_keys_old dd 0 ;+20 .active_raw dd 0 ;+24 .passive_raw dd 0 ;+28 .click_raw dd 0 ;+32 .resolution_raw dd 0 ;+36 .palette_raw dd 0 ;+40 .offset_raw dd 0 ;+44 .select dd 0 ;+48 .click dd 0 ;+52 ;--------------------------------------------------------------------- align 4 dinamic_button_data_7: ; right limit .type dd 0 ;+0 .x: .size_x dw 20 ;+4 .start_x dw 385 ;+6 .y: .size_y dw 20 ;+8 .start_y dw 3 ;+10 .mouse_pos dd 0 ;+12 .mouse_keys dd 0 ;+16 .mouse_keys_old dd 0 ;+20 .active_raw dd 0 ;+24 .passive_raw dd 0 ;+28 .click_raw dd 0 ;+32 .resolution_raw dd 0 ;+36 .palette_raw dd 0 ;+40 .offset_raw dd 0 ;+44 .select dd 0 ;+48 .click dd 0 ;+52 ;--------------------------------------------------------------------- align 4 dinamic_button_data_8: ; zoom + .type dd 0 ;+0 .x: .size_x dw 20 ;+4 .start_x dw 415 ;+6 .y: .size_y dw 20 ;+8 .start_y dw 3 ;+10 .mouse_pos dd 0 ;+12 .mouse_keys dd 0 ;+16 .mouse_keys_old dd 0 ;+20 .active_raw dd 0 ;+24 .passive_raw dd 0 ;+28 .click_raw dd 0 ;+32 .resolution_raw dd 0 ;+36 .palette_raw dd 0 ;+40 .offset_raw dd 0 ;+44 .select dd 0 ;+48 .click dd 0 ;+52 ;--------------------------------------------------------------------- align 4 dinamic_button_data_9: ; zoom - .type dd 0 ;+0 .x: .size_x dw 20 ;+4 .start_x dw 440 ;+6 .y: .size_y dw 20 ;+8 .start_y dw 3 ;+10 .mouse_pos dd 0 ;+12 .mouse_keys dd 0 ;+16 .mouse_keys_old dd 0 ;+20 .active_raw dd 0 ;+24 .passive_raw dd 0 ;+28 .click_raw dd 0 ;+32 .resolution_raw dd 0 ;+36 .palette_raw dd 0 ;+40 .offset_raw dd 0 ;+44 .select dd 0 ;+48 .click dd 0 ;+52 ;--------------------------------------------------------------------- align 4 dinamic_button_data_10: ; zoom 100% .type dd 0 ;+0 .x: .size_x dw 20 ;+4 .start_x dw 465 ;+6 .y: .size_y dw 20 ;+8 .start_y dw 3 ;+10 .mouse_pos dd 0 ;+12 .mouse_keys dd 0 ;+16 .mouse_keys_old dd 0 ;+20 .active_raw dd 0 ;+24 .passive_raw dd 0 ;+28 .click_raw dd 0 ;+32 .resolution_raw dd 0 ;+36 .palette_raw dd 0 ;+40 .offset_raw dd 0 ;+44 .select dd 0 ;+48 .click dd 0 ;+52 ;--------------------------------------------------------------------- align 4 dinamic_button_data_11: ; rotate clockwise .type dd 0 ;+0 .x: .size_x dw 20 ;+4 .start_x dw 495 ;+6 .y: .size_y dw 20 ;+8 .start_y dw 3 ;+10 .mouse_pos dd 0 ;+12 .mouse_keys dd 0 ;+16 .mouse_keys_old dd 0 ;+20 .active_raw dd 0 ;+24 .passive_raw dd 0 ;+28 .click_raw dd 0 ;+32 .resolution_raw dd 0 ;+36 .palette_raw dd 0 ;+40 .offset_raw dd 0 ;+44 .select dd 0 ;+48 .click dd 0 ;+52 ;--------------------------------------------------------------------- align 4 dinamic_button_data_12: ; rotate counter-clockwise .type dd 0 ;+0 .x: .size_x dw 20 ;+4 .start_x dw 520 ;+6 .y: .size_y dw 20 ;+8 .start_y dw 3 ;+10 .mouse_pos dd 0 ;+12 .mouse_keys dd 0 ;+16 .mouse_keys_old dd 0 ;+20 .active_raw dd 0 ;+24 .passive_raw dd 0 ;+28 .click_raw dd 0 ;+32 .resolution_raw dd 0 ;+36 .palette_raw dd 0 ;+40 .offset_raw dd 0 ;+44 .select dd 0 ;+48 .click dd 0 ;+52 ;--------------------------------------------------------------------- align 4 dinamic_button_data_13: ; file information .type dd 0 ;+0 .x: .size_x dw 20 ;+4 .start_x dw 550 ;+6 .y: .size_y dw 20 ;+8 .start_y dw 3 ;+10 .mouse_pos dd 0 ;+12 .mouse_keys dd 0 ;+16 .mouse_keys_old dd 0 ;+20 .active_raw dd 0 ;+24 .passive_raw dd 0 ;+28 .click_raw dd 0 ;+32 .resolution_raw dd 0 ;+36 .palette_raw dd 0 ;+40 .offset_raw dd 0 ;+44 .select dd 0 ;+48 .click dd 0 ;+52 ;--------------------------------------------------------------------- align 4 dinamic_button_data_14: ; wallpaper .type dd 0 ;+0 .x: .size_x dw 20 ;+4 .start_x dw 575 ;+6 .y: .size_y dw 20 ;+8 .start_y dw 3 ;+10 .mouse_pos dd 0 ;+12 .mouse_keys dd 0 ;+16 .mouse_keys_old dd 0 ;+20 .active_raw dd 0 ;+24 .passive_raw dd 0 ;+28 .click_raw dd 0 ;+32 .resolution_raw dd 0 ;+36 .palette_raw dd 0 ;+40 .offset_raw dd 0 ;+44 .select dd 0 ;+48 .click dd 0 ;+52 ;--------------------------------------------------------------------- align 4 dinamic_button_data_15: ; settings .type dd 0 ;+0 .x: .size_x dw 20 ;+4 .start_x dw 600 ;+6 .y: .size_y dw 20 ;+8 .start_y dw 3 ;+10 .mouse_pos dd 0 ;+12 .mouse_keys dd 0 ;+16 .mouse_keys_old dd 0 ;+20 .active_raw dd 0 ;+24 .passive_raw dd 0 ;+28 .click_raw dd 0 ;+32 .resolution_raw dd 0 ;+36 .palette_raw dd 0 ;+40 .offset_raw dd 0 ;+44 .select dd 0 ;+48 .click dd 0 ;+52 ;--------------------------------------------------------------------- align 4 dirinfo: .subfunction dd 1 .start dd 0 .flags dd 0 .size dd 0 .return dd procinfo db 0 .name: dd plugin_pach ;--------------------------------------------------------------------- align 4 fileinfo: .subfunction dd 5 .Offset dd 0 .Offset_1 dd 0 .size dd 0 .return dd process_info db 0 .name: dd string ;--------------------------------------------------------------------- align 4 start_appl: .subfunction dd 7 .flags dd 0 .parameter dd library_path .reserved1 dd 0 .reserved2 dd 0 db 0 .name: dd Help_path ;--------------------------------------------------------------------- align 4 dir_header: .version dd 0 ;+0 .curn_blocks dd 0 ;+4 .totl_blocks dd 0 ;+8 .other rb 20 ;--------------------------------------------------------------------- OpenDialog_data: .type dd 0 .procinfo dd procinfo ;+4 .com_area_name dd communication_area_name ;+8 .com_area dd 0 ;+12 .opendir_pach dd plugin_pach ;+16 .dir_default_pach dd communication_area_default_pach ;+20 .start_path dd library_path ;+24 .draw_window dd draw_window ;+28 .status dd 0 ;+32 .openfile_pach dd string ;+36 .filename_area dd 0 ;+40 .filter_area dd Filter .x: .x_size dw 420 ;+48 ; Window X size .x_start dw 10 ;+50 ; Window X position .y: .y_size dw 320 ;+52 ; Window y size .y_start dw 10 ;+54 ; Window Y position communication_area_name: db 'FFFFFFFF_open_dialog',0 open_dialog_name: db 'opendial',0 communication_area_default_pach: db '/rd/1',0 ;communication_area dd 0 ;--------------------------------------------------------------------- ColorDialog_data: .type dd 0 .procinfo dd procinfo ;+4 .com_area_name dd cd_communication_area_name ;+8 .com_area dd 0 ;+12 .start_path dd colordialog_path ;+16 .draw_window dd thread4.draw_window ;+20 .status dd 0 ;+24 .x: .x_size dw 510 ;+28 ; Window X size .x_start dw 10 ;+30 ; Window X position .y: .y_size dw 310 ;+32 ; Window y size .y_start dw 10 ;+34 ; Window Y position .color_type dd 0 ;+36 ; 0- RGB, 1 or other - reserved .color dd 0 ;+40 ; Selected color cd_communication_area_name: db 'FFFFFFFF_color_dialog',0 colordialog_path: db '/rd/1/colrdial',0 ;--------------------------------------------------------------------- ; clear bacground thread clear_thread_stack: dd 0 ;---------------------- ; window option thread_stack_7: dd 0 ;---------------------- ; window error message thread_stack_6: dd 0 ;---------------------- ; window set sort mode thread_stack_5: dd 0 ;---------------------- ; window background thread_stack_4: dd 0 ;---------------------- ; window about thread_stack_3: dd 0 ;---------------------- ; file info thread_stack_2: dd 0 ;---------------------- ; file open thread_stack: dd 0 ;--------------------------------------------------------------------- ;size_before_open_dir: ; dd 0 ;size_before_open_file: ; dd 0 ;size_after_open_file: ; dd 0 ;size_after_convert: ; dd 0 ;size_after_convert_2: ; dd 0 ;size_before_draw_image: ; dd 0 ;size_after_draw_image: ; dd 0 ;size_before_scaling: ; dd 0 ;size_after_scaling: ; dd 0 \ No newline at end of file +;--------------------------------------------------------------------- ; DATA AREA ;--------------------------------------------------------------------- lsz labelt1,\ en, 'File',\ ru, 'Файл',\ de, 'Datei' db 0 ;--------------------------------------------------------------------- lsz labelt2,\ en, 'File info',\ ru, 'Информация о файле',\ de, 'Dateiinfo' db 0 lsz fitext,\ en, 'File name ',\ en, 'File size ',\ en, 'X size ',\ en, 'Y size ',\ en, 'Resolution ',\ en, 'Frames total ',\ \ ru, 'Имя файла ',\ ru, 'Размер файла ',\ ru, 'Ширина ',\ ru, 'Высота ',\ ru, 'Бит на пиксел ',\ ru, 'Всего кадров ',\ \ de, 'Datei Namen ',\ de, 'Fateigroesse ',\ de, 'X groesse ',\ de, 'Y groesse ',\ de, 'Die Tiefe ',\ de, 'Zahl Frames ' db 0 ;--------------------------------------------------------------------- Authors_text: .1: db 'zSea version: 1.00 RC5-1 Date: 03/12/2021',0 .2: db 'Authors:',0 .3: db 'Marat Zakiyanov aka Mario(Mario79)',0 .4: db 'zSea program, modules: cnv_bmp.obj,',0 .5: db 'cnv_png.obj, convert.obj, rotate.obj ',0 .6: db 'scaling.obj, box_lib.obj, OpenDialog',0 .7: db 'proc_lib.obj',0 .8: db 'Evgeny Grechnikov aka Diamond',0 .9: db 'modules: cnv_jpeg.obj, cnv_gif.obj,',0 .10: db 'archiver.obj, sort.obj ',0 .11: db 'Alexey Teplov aka ',0 .12: db 'modules: box_lib.obj, load_lib.mac',0 .13: db 'Mihail Semenyako aka Mike.dld',0 .14: db 'modules: libini.obj, libio.obj',0 ;--------------------------------------------------------------------- status dd 0 ;bit0=1 if file thread is created ;process dd 0 bWasDraw db 0 vflag: db 'x' bgrmode: dd 1 wnd_width dd 210 wnd_height dd 53 ;--------------------------------- lsz labelt3,\ en, 'About program',\ ru, 'О программе',\ de, 'Uber das programm' db 0 ;--------------------------------- lsz labelt4,\ en, 'Set wallpaper',\ ru, 'Установка фона',\ de, 'Installation hintergrund' db 0 ;--------------------------------- lsz labelt5,\ en, 'Select sorting mode',\ ru, 'Сортировка директории',\ de, 'Regimes der Sortierung' db 0 ;--------------------------------- lsz bgrdtext,\ en, 'Set as background:',\ ru, 'Тип обоев:',\ de, 'Als hintergrund' db 0 ;--------------------------------- lsz scc_text,\ en, 'Position:',\ ru, 'Позиция:',\ de, 'Position:' db 0 ;--------------------------------- lsz sorttext,\ en, 'Directory sorting mode:',\ ru, 'Режим сортировки директории:',\ de, 'Regime der Sortierung des Verzeichnisses:' db 0 ;--------------------------------- lsz errortext,\ en, 'File system error:',\ ru, 'Ошибка файловой системы:',\ de, 'Fehler files systemes:' db 0 ;--------------------------------- lsz optiontext,\ en, 'Options:',\ ru, 'Настройки:',\ de, 'Optionen:' db 0 ;--------------------------------- ;lsz tiled,\ ; en, 'Tiled',\ ; ru, 'Замостить',\ ; de, 'Gekachelt' ;lsz stretch,\ ; en, 'Stretch',\ ; ru, 'Растянуть',\ ; de, 'Gestreckt' ;--------------------------------- lsz color_btn,\ en, 'Background color:',\ ru, 'Цвет фона:',\ de, 'Hintergrundfarbe:' db 0 ;--------------------------------- lsz ok_btn,\ en, 'Ok',\ ru, 'Ok',\ de, 'Ok' db 0 ;--------------------------------- lsz slide_show_delay_title,\ en, 'Slide show delay:',\ ru, 'Задержка слайдшоу:',\ de, 'Verzug der schau:' db 0 ;--------------------------------- lsz arrows_offset_title,\ en, 'Arrows offset:',\ ru, 'Смещение стрелками:',\ de, 'Bewegung von den zeigern:' db 0 ;--------------------------------- slide_show_delay_text: db '+ -',0 ;--------------------------------------------------------------------- zoom_auto_factor: dd 0 zoom_auto_text: db 'auto',0 zoom_factors: dd zoom_factors.100 .1: dd 0 .min: dd 1 dd 2 dd 3 dd 4 dd 5 dd 7 dd 10 dd 17 dd 25 dd 37 dd 50 dd 62 dd 75 dd 87 .100: dd 100 dd 125 dd 150 dd 175 dd 200 dd 225 dd 250 dd 275 dd 300 dd 350 dd 400 dd 450 dd 500 dd 600 dd 700 dd 800 dd 900 dd 1000 dd 1100 dd 1200 dd 1300 dd 1400 dd 1500 dd 1750 dd 2000 dd 2250 dd 2500 dd 2750 dd 3000 dd 3500 dd 4000 dd 4500 .max: dd 5000 zoom_factors_old dd 0 ;--------------------------------------------------------------------- ; not change this section!!! ; start section ;--------------------------------------------------------------------- align 4 crop_image_file dd 0 ;+0 crop_raw_pointer dd 0 ;+4 crop_return_code dd 0 ;+8 crop_img_size dd 0 ;+12 crop_deflate_unpack dd 0 ;+16 crop_raw_pointer_2 dd 0 ;+20 ;--------------------------------------------------------------------- ; end section ;--------------------------------------------------------------------- ;--------------------------------------------------------------------- ; not change this section!!! ; start section ;--------------------------------------------------------------------- align 4 image_file dd 0 ;+0 raw_pointer dd 0 ;+4 return_code dd 0 ;+8 img_size dd 0 ;+12 deflate_unpack dd 0 ;+16 raw_pointer_2 dd 0 ;+20 ;--------------------------------------------------------------------- ; end section ;--------------------------------------------------------------------- test1 dd 0 ;+24 test2 dd 0 ;+28 test3 dd 0 ;+32 test4 dd 0 ;+36 test5 dd 0 ;+40 test6 dd 0 ;+44 test7 dd 0 ;+48 ;--------------------------------------------------------------------- align 4 soi dd 0 img_width dd 0 img_width_2 dd 0 img_high dd 0 img_high_2 dd 0 img_resolution dd 0 img_resolution_2 dd 0 img_palette dd 0 background_color dd 0xffffff skin_height dd 0 screen_high dd 0 screen_width dd 0 stretch_start_coordinates: .y dw 0 .x dw 0 screen_relation dd 0 picture_relation dd 0 stretch_img_high dd 0 stretch_img_width dd 0 RAW1_pointer dd 0 RAW1_size_x dd 0 RAW1_size dd 0 Repeat_N dd 0 Total_Repeat_N dd 1 previous_frame_pointer dd 0 Animation_timer dd 0 Frame_delay dw 0 Transp_flag db 0 Transp_index db 0 Disposal_Method db 0 RAW1_flag db 0 no_fill db 0 redraw_wallpaper_flag db 0 calc_next_value_plus db 0 calc_next_value_minus db 0 ;--------------------------------------------------------------------- align 4 ;plugin dd 0 ;plugin_1 dd 0 ;plugin_2 dd 0 ;plugin_3 dd 0 ;plugin_validate dd 0 ;plugin_validate_1 dd 0 ;plugin_validate_2 dd 0 ;plugin_validate_3 dd 0 ;plugin_format dd 0 ;plugin_format_1 dd 0 ;plugin_format_2 dd 0 ;plugin_format_3 dd 0 ;plugin_convert dd 0 ;plugin_convert_background dd 0 ;plugin_sort dd 0 ;plugin_rotate dd 0 ;plugin_scaling dd 0 slide_show_delay dd 500 ; cost of 0,01 sec. slide_show_delay_old dd 0 sort_type dd 2 sort_type_old dd 0 ;--------------------------------------------------------------------- expansion_length dd 0 expansion_start dd 0 timer dd 0 ;--------------------------------------------------------------------- mouse_scroll_data: .vertical dw 0 .horizontal dw 0 mouse_position: .y dw 0 .x dw 0 mouse_position_old: .y dw 0 .x dw 0 mouse_keys dd 0 mouse_keys_old dd 0 arrows_offset dd 10 arrows_offset_old dd 10 option_pointer dd 0 plus_pointer dd 0 minus_pointer dd 0 space_pointer dd 0 ;--------------------------------------------------------------------- pos: dd 6 work_area_LR_old dd 0 work_area_TB_old dd 0 scaling_mode dd 100 scaling_mode_old dd 100 window_start_x_old dd 0 window_start_y_old dd 0 window_high_old dd 0 window_width_old dd 0 window_start_x dd 0 window_start_y dd 0 window_high dd 0 window_width dd 0 ;skin_high dd 0 window_status dd 0 draw_SB db 0 draw_SB1 db 0 correct_w db 0 correct_h db 0 wa_width dw 0 wa_high dw 0 wa_width_1 dw 0 wa_width_2 dw 0 wa_high_1 dw 0 wa_high_2 dw 0 image_start_coordinates dd 0 image_draw_size: .y: dw 0 .x: dw 0 vertical_position_coorect dd 0 horizontal_position_coorect dd 0 fill_color dd 0xffffff fill_color_old dd 0xffffff position_coorect db 0 open_file_flag db 0 sort_directory_flag db 0 redraw_flag db 0 press_Enter_flag db 0 capture_image_area_flag db 0 correct_scrollbar_100_flag db 0 ;--------------------------------------------------------------------- ;test_area: ;dd test_area.end - test_area ;db 'BMP',0 ;.end: ;db 0,0,0,0,0,0,0,0,0,0,0,0,0 ;--------------------------------------------------------------------- aApplicationsPaths db 'ApplicationsPaths',0 aOther db 'Other',0 aHelp db 'Help',0 aEditor db 'Editor',0 aOpenDialog db 'OpenDialog',0 akey_help db 'HelpFile',0 aConvertPlugins db 'ConvertPlugins',0 ConvertPlugins_no_key db 'NoKey',0 aCP0 db 'CP0',0 aCP1 db 'CP1',0 aCP2 db 'CP2',0 aCP3 db 'CP3',0 aCP4 db 'CP4',0 aCP5 db 'CP5',0 aCP6 db 'CP6',0 aCP7 db 'CP7',0 aCP8 db 'CP8',0 aCP9 db 'CP9',0 ;--------------------------------------------------------------------- plugin_BMP_name db 'cnv_bmp.obj',0 plugin_PNG_name db 'cnv_png.obj',0 plugin_JPEG_name db 'cnv_jpeg.obj',0 plugin_GIF_name db 'cnv_gif.obj',0 ;plugin_convert_name db 'convert.obj',0 ;plugin_sort_name db 'sort.obj',0 ;plugin_rotate_name db 'rotate.obj',0 ;plugin_scaling_name db 'scaling.obj',0 ;plugin_UNPACK_name db 'archiver.obj',0 ;boxlib_name db 'box_lib.obj',0 ;Libini_name db 'libini.obj',0 plugins_directory db 'plugins/',0 ini_file_name db 'zsea.ini',0 button_name db 'buttons.png',0 ;buttons_passive_name db '1.png',0 ;buttons_active_name db '2.png',0 ;buttons_click_name db '3.png',0 buttons_directory db 'buttons/',0 ;UNPACK_function_name db 'deflate_unpack',0 ;UNPACK_function_name_end: ;UNPACK_function_name db 'deflate_unpack2',0 ;UNPACK_function_name_end: system_dir_Boxlib db '/sys/lib/box_lib.obj',0 system_dir_Libini db '/sys/lib/libini.obj',0 system_dir_Sort db '/sys/lib/sort.obj',0 system_dir_UNPACK db '/sys/lib/archiver.obj',0 system_dir_Convert db '/sys/lib/convert.obj',0 system_dir_Rotate db '/sys/lib/rotate.obj',0 system_dir_Scaling db '/sys/lib/scaling.obj',0 system_dir_ProcLib db '/sys/lib/proc_lib.obj',0 ;--------------------------------------------------------------------- l_libs_start: library01 l_libs system_dir_Boxlib+9, library_path, system_dir_Boxlib, \ Box_lib_import, plugins_directory library02 l_libs system_dir_Libini+9, library_path, system_dir_Libini, \ Libini_import, plugins_directory library03 l_libs system_dir_Sort+9, library_path, system_dir_Sort, \ Sort_import, plugins_directory library04 l_libs system_dir_UNPACK+9, library_path, system_dir_UNPACK, \ UNPACK_import, plugins_directory library05 l_libs system_dir_Convert+9, library_path, system_dir_Convert, \ Convert_import, plugins_directory library06 l_libs system_dir_Rotate+9, library_path, system_dir_Rotate, \ Rotate_import, plugins_directory library07 l_libs system_dir_Scaling+9, library_path, system_dir_Scaling, \ Scaling_import, plugins_directory library08 l_libs system_dir_ProcLib+9, library_path, system_dir_ProcLib, \ ProcLib_import, plugins_directory end_l_libs: ;--------------------------------------------------------------------- align 4 cnv_plugin_name_pointer dd plugin_0_name cnv_plugin_import_pointer dd Convert_plugin_0 system_path db '/sys/lib/' .1: rb 128 ;--------------------------------------------------------------------- Convert_plugin_0: .Start dd aCP_Start .Version dd aCP_Version .Check dd aCP_Check .Assoc dd aCP_Assoc dd 0 dd 0 Convert_plugin_1: .Start dd aCP_Start .Version dd aCP_Version .Check dd aCP_Check .Assoc dd aCP_Assoc dd 0 dd 0 Convert_plugin_2: .Start dd aCP_Start .Version dd aCP_Version .Check dd aCP_Check .Assoc dd aCP_Assoc dd 0 dd 0 Convert_plugin_3: .Start dd aCP_Start .Version dd aCP_Version .Check dd aCP_Check .Assoc dd aCP_Assoc dd 0 dd 0 Convert_plugin_4: .Start dd aCP_Start .Version dd aCP_Version .Check dd aCP_Check .Assoc dd aCP_Assoc dd 0 dd 0 Convert_plugin_5: .Start dd aCP_Start .Version dd aCP_Version .Check dd aCP_Check .Assoc dd aCP_Assoc dd 0 dd 0 Convert_plugin_6: .Start dd aCP_Start .Version dd aCP_Version .Check dd aCP_Check .Assoc dd aCP_Assoc dd 0 dd 0 Convert_plugin_7: .Start dd aCP_Start .Version dd aCP_Version .Check dd aCP_Check .Assoc dd aCP_Assoc dd 0 dd 0 Convert_plugin_8: .Start dd aCP_Start .Version dd aCP_Version .Check dd aCP_Check .Assoc dd aCP_Assoc dd 0 dd 0 Convert_plugin_9: .Start dd aCP_Start .Version dd aCP_Version .Check dd aCP_Check .Assoc dd aCP_Assoc dd 0 dd 0 aCP_Start db 'START',0 aCP_Version db 'version',0 aCP_Check db 'Check_Header',0 aCP_Assoc db 'Associations',0 ;--------------------------------------------------------------------- file_mount: db 'File N: Amount: Zoom:',0 .end: current_key_code db 0 old_key_code db 0 ;--------------------------------------------------------------------- ; Tokens ;--------------------------------------------------------------------- aSortMode db 'SortMode',0 aSlideShowDelay db 'SlideShowDelay',0 aArrowsOffset db 'ArrowsOffset',0 aShowFileName db 'ShowFileName',0 aFilteringFlag db 'FilteringFlag',0 ;--------------------------------------------------------------------- ;Sections ;--------------------------------------------------------------------- aVariables db 'Variables',0 ;aVar db 'Var',0 ;aTemp db 'Temp',0 ;--------------------------------------------------------------------- align 4 ProcLib_import: OpenDialog_Init dd aOpenDialog_Init OpenDialog_Start dd aOpenDialog_Start ColorDialog_Init dd aColorDialog_Init ColorDialog_Start dd aColorDialog_Start ;OpenDialog__Version dd aOpenDialog_Version dd 0 dd 0 aOpenDialog_Init db 'OpenDialog_init',0 aOpenDialog_Start db 'OpenDialog_start',0 aColorDialog_Init db 'ColorDialog_init',0 aColorDialog_Start db 'ColorDialog_start',0 ;aOpenDialog_Version db 'Version_OpenDialog',0 ;--------------------------------------------------------------------- align 4 Scaling_import: Scaling_Start dd aScaling_Start Scaling_Version dd aScaling_Version dd 0 dd 0 aScaling_Start db 'START',0 aScaling_Version db 'version',0 ;--------------------------------------------------------------------- align 4 Rotate_import: rotate_Start dd aRotate_Start rotate_Version dd aRotate_Version dd 0 dd 0 aRotate_Start db 'START',0 aRotate_Version db 'version',0 ;--------------------------------------------------------------------- align 4 Convert_import: convert_Start dd aConvert_Start convert_Version dd aConvert_Version convert_Conv_24b dd aConvert_Conv_24b dd 0 dd 0 aConvert_Start db 'START',0 aConvert_Version db 'version',0 aConvert_Conv_24b db 'Convert24b',0 ;--------------------------------------------------------------------- align 4 UNPACK_import: ;unpack_Version dd aUnpack_Version ;unpack_PluginLoad dd aUnpack_PluginLoad ;unpack_OpenFilePlugin dd aUnpack_OpenFilePlugin ;unpack_ClosePlugin dd aUnpack_ClosePlugin ;unpack_ReadFolder dd aUnpack_ReadFolder ;unpack_SetFolder dd aUnpack_SetFolder ;unpack_GetFiles dd aUnpack_GetFiles ;unpack_GetOpenPluginInfo dd aUnpack_GetOpenPluginInfo ;unpack_Getattr dd aUnpack_Getattr ;unpack_Open dd aUnpack_Open ;unpack_Read dd aUnpack_Read ;unpack_Setpos dd aUnpack_Setpos ;unpack_Close dd aUnpack_Close ;unpack_DeflateUnpack dd aUnpack_DeflateUnpack unpack_DeflateUnpack2 dd aUnpack_DeflateUnpack2 dd 0 dd 0 ;aUnpack_Version db 'version',0 ;aUnpack_PluginLoad db 'plugin_load',0 ;aUnpack_OpenFilePlugin db 'OpenFilePlugin',0 ;aUnpack_ClosePlugin db 'ClosePlugin',0 ;aUnpack_ReadFolder db 'ReadFolder',0 ;aUnpack_SetFolder db 'SetFolder',0 ;aUnpack_GetFiles db 'GetFiles',0 ;aUnpack_GetOpenPluginInfo db 'GetOpenPluginInfo',0 ;aUnpack_Getattr db 'getattr',0 ;aUnpack_Open db 'open',0 ;aUnpack_Read db 'read',0 ;aUnpack_Setpos db 'setpos',0 ;aUnpack_Close db 'close',0 ;aUnpack_DeflateUnpack db 'deflate_unpack',0 aUnpack_DeflateUnpack2 db 'deflate_unpack2',0 ;--------------------------------------------------------------------- align 4 Sort_import: sort_init dd aSort_init sort_version dd aSort_version sort_dir dd aSort_SortDir sort_strcmpi dd aSort_strcmpi dd 0 dd 0 aSort_init db 'START',0 aSort_version db 'version',0 aSort_SortDir db 'SortDir',0 aSort_strcmpi db 'strcmpi',0 ;--------------------------------------------------------------------- align 4 Libini_import: lib_init dd aLib_init version_lib_ini dd aVersion_lib_ini ini_enum_sections dd aIni_enum_sections ini_enum_keys dd aIni_enum_keys ini_get_str dd aIni_get_str ini_get_int dd aIni_get_int ini_get_color dd aIni_get_color ini_set_str dd aIni_set_str ini_set_int dd aIni_set_int ini_set_color dd aIni_set_color dd 0 dd 0 aLib_init db 'lib_init',0 aVersion_lib_ini db 'version',0 aIni_enum_sections db 'ini_enum_sections',0 aIni_enum_keys db 'ini_enum_keys',0 aIni_get_str db 'ini_get_str',0 aIni_get_int db 'ini_get_int',0 aIni_get_color db 'ini_get_color',0 aIni_set_str db 'ini_set_str',0 aIni_set_int db 'ini_set_int',0 aIni_set_color db 'ini_set_color',0 ;--------------------------------------------------------------------- align 4 Box_lib_import: ;init_lib dd a_init ;version_lib dd a_version edit_box_draw dd aEdit_box_draw edit_box_key dd aEdit_box_key edit_box_mouse dd aEdit_box_mouse ;version_ed dd aVersion_ed init_checkbox dd aInit_checkbox check_box_draw dd aCheck_box_draw check_box_mouse dd aCheck_box_mouse ;version_ch dd aVersion_ch option_box_draw dd aOption_box_draw option_box_mouse dd aOption_box_mouse ;version_op dd aVersion_op scrollbar_ver_draw dd aScrollbar_ver_draw scrollbar_ver_mouse dd aScrollbar_ver_mouse scrollbar_hor_draw dd aScrollbar_hor_draw scrollbar_hor_mouse dd aScrollbar_hor_mouse ;version_scrollbar dd aVersion_scrollbar dinamic_button_draw dd aDbutton_draw dinamic_button_mouse dd aDbutton_mouse ;version_dbutton dd aVersion_dbutton menu_bar_draw dd aMenu_bar_draw menu_bar_mouse dd aMenu_bar_mouse menu_bar_activate dd aMenu_bar_activate ;version_menu_bar dd aVersion_menu_bar ;FileBrowser_draw dd aFileBrowser_draw ;FileBrowser_mouse dd aFileBrowser_mouse ;FileBrowser_key dd aFileBrowser_key ;Version_FileBrowser dd aVersion_FileBrowser dd 0 dd 0 ;a_init db 'lib_init',0 ;a_version db 'version',0 aEdit_box_draw db 'edit_box_draw',0 aEdit_box_key db 'edit_box_key',0 aEdit_box_mouse db 'edit_box_mouse',0 ;aVersion_ed db 'version_ed',0 aInit_checkbox db 'init_checkbox2',0 aCheck_box_draw db 'check_box_draw2',0 aCheck_box_mouse db 'check_box_mouse2',0 ;aVersion_ch db 'version_ch2',0 aOption_box_draw db 'option_box_draw',0 aOption_box_mouse db 'option_box_mouse',0 ;aVersion_op db 'version_op',0 aScrollbar_ver_draw db 'scrollbar_v_draw',0 aScrollbar_ver_mouse db 'scrollbar_v_mouse',0 aScrollbar_hor_draw db 'scrollbar_h_draw',0 aScrollbar_hor_mouse db 'scrollbar_h_mouse',0 ;aVersion_scrollbar db 'version_scrollbar',0 aDbutton_draw db 'dbutton_draw',0 aDbutton_mouse db 'dbutton_mouse',0 ;aVersion_dbutton db 'version_dbutton',0 aMenu_bar_draw db 'menu_bar_draw',0 aMenu_bar_mouse db 'menu_bar_mouse',0 aMenu_bar_activate db 'menu_bar_activate',0 ;aVersion_menu_bar db 'version_menu_bar',0 ;aFileBrowser_draw db 'FileBrowser_draw',0 ;aFileBrowser_mouse db 'FileBrowser_mouse',0 ;aFileBrowser_key db 'FileBrowser_key',0 ;aVersion_FileBrowser db 'version_FileBrowser',0 ;--------------------------------------------------------------------- align 4 load_directory_pointer dd 0 file_name_length dd 0 load_file_number dd 0 error_fs dd 0 error_pointer dd 0 ;error_locate dd 0 error_window_x: dd 100 shl 16 + 300 error_window_y: dd 100 shl 16 + 100 PID dd 0 PID1 dd 0 PID2 dd 0 PID3 dd 0 PID4 dd 0 PID5 dd 0 PID6 dd 0 PID7 dd 0 active_process dd 0 timer_counter dd 0 draw_scrollbar_counter dd 0 ;--------------------------------------------------------------------- align 4 error_fs_text_pointers: dd error_fs_text_0 dd error_fs_text_1 dd error_fs_text_2 dd error_fs_text_3 dd error_fs_text_4 dd error_fs_text_5 dd error_fs_text_6 dd error_fs_text_7 dd error_fs_text_8 dd error_fs_text_9 dd error_fs_text_10 dd error_fs_text_11 error_fs_text_0: db 'Success full',0 error_fs_text_1: db 'Base and/or partition of a hard disk is not defined',0 error_fs_text_2: db 'Function is not supported for the given file system',0 error_fs_text_3: db 'Unknown file system',0 error_fs_text_4: db 'Reserved, is never returned in the current implementation',0 error_fs_text_5: db 'File not found',0 error_fs_text_6: db 'End of file, EOF',0 error_fs_text_7: db 'Pointer lies outside of application memory',0 error_fs_text_8: db 'Disk is full',0 error_fs_text_9: db 'FAT table is destroyed',0 error_fs_text_10: db 'Access denied',0 error_fs_text_11: db 'Device error',0 ;--------------------------------------------------------------------- error_type: db 'File system error',0 ;--------------------------------------------------------------------- error_not_supported_file: db 'Unsupported file or corrupt data',0 ;--------------------------------------------------------------------- error_not_enough_memory: db 'Not_enough_memory',0 ;--------------------------------------------------------------------- error_unknown: db 'Unknown error',0 ;--------------------------------------------------------------------- extended_key db 0 no_draw_window db 0 shift_flag db 0 ctrl_flag db 0 alt_flag db 0 ;--------------------------------------------------------------------- ; for EDITBOX align 4 name_editboxes: edit1 edit_box 200,10,30,0xffffff,0xbbddff,0,0,0,255,string,mouse_dd,ed_focus+ed_always_focus,0 name_editboxes_end: ;mouse_flag: dd 0x0 mouse_dd rd 1 ;--------------------------------------------------------------------- align 4 ; option_boxes_bcgr: op1 option_box option_group1,60,45,6,12,0xFFFFFF,0,0xffffff,op_text.1,op_text.e1-op_text.1 op2 option_box option_group1,60,60,6,12,0xFFFFFF,0,0xffffff,op_text.2,op_text.e2-op_text.2 op3 option_box option_group1,60,75,6,12,0xFFFFFF,0,0xffffff,op_text.3,op_text.e3-op_text.3 op4 option_box option_group1,60,90,6,12,0xFFFFFF,0,0xffffff,op_text.4,op_text.e4-op_text.4 ;option_boxes_bcgr_end: op_text: .1 db 'Tiled' .e1: .2 db 'Stretch' .e2: .3 db 'Stretch + Crop' .e3: .4 db 'Stretch + Inscribe' .e4: option_group1 dd op1 option_boxes_bcgr: dd op1,op2,op3,op4,0 ;--------------------------------------------------------------------- align 4 op_UL option_box option_group3,200,40,20,20,0xFFFFFF,0,0xffffff,0,0 op_UC option_box option_group3,223,40,20,20,0xFFFFFF,0,0xffffff,0,0 op_UR option_box option_group3,246,40,20,20,0xFFFFFF,0,0xffffff,0,0 op_CL option_box option_group3,200,63,20,20,0xFFFFFF,0,0xffffff,0,0 op_CC option_box option_group3,223,63,20,20,0xFFFFFF,0,0xffffff,0,0 op_CR option_box option_group3,246,63,20,20,0xFFFFFF,0,0xffffff,0,0 op_DL option_box option_group3,200,86,20,20,0xFFFFFF,0,0xffffff,0,0 op_DC option_box option_group3,223,86,20,20,0xFFFFFF,0,0xffffff,0,0 op_DR option_box option_group3,246,86,20,20,0xFFFFFF,0,0xffffff,0,0 ;option_boxes_bcgr_end: option_group3 dd op_CC Stretch_Crop_Corner dd 1 shl 16+1 option_boxes_SCC: dd op_UL,op_UC,op_UR,op_CL,op_CC,op_CR,op_DL,op_DC,op_DR,0 bcgr_group_pointer db 0 ;--------------------------------------------------------------------- align 4 ;option_boxes_sort: sort0 option_box option_group2,60,40,6,12,0xFFFFFF,0,0xffffff,op_text_1.1,op_text_1.e1-op_text_1.1 sort2 option_box option_group2,60,55,6,12,0xFFFFFF,0,0xffffff,op_text_1.2,op_text_1.e2-op_text_1.2 sort4 option_box option_group2,60,70,6,12,0xFFFFFF,0,0xffffff,op_text_1.3,op_text_1.e3-op_text_1.3 sort6 option_box option_group2,60,85,6,12,0xFFFFFF,0,0xffffff,op_text_1.4,op_text_1.e4-op_text_1.4 option_boxes_sort_end: op_text_1: .1 db 'Name' .e1: .2 db 'Type' .e2: .3 db 'Date' .e3: .4 db 'Size' .e4: option_group2 dd sort2 option_group2_old dd 0 option_boxes_sort dd sort0, sort2, sort4, sort6,0 ;--------------------------------------------------------------------- check1 check_box2 (140 shl 16)+12,(50 shl 16)+12,6,0xFFFFFF,0,0xffffff,check_text1,ch_flag_middle ;ch_flag_en check_text1 db 'Show file name',0 show_file_name_old dd 0 ;--------------------------------------------------------------------- check2 check_box2 (140 shl 16)+12,(70 shl 16)+12,6,0xFFFFFF,0,0xffffff,check_text2,ch_flag_middle ;ch_flag_en check_text2 db 'Bilinear filtering',0 filtering_flag dd 0 filtering_flag_old dd 0 ;--------------------------------------------------------------------- align 4 scroll_bar_data_vertical: .x: .size_x dw 15 ;+0 .start_x dw 500 ;+2 .y: .size_y dw 300 ;+4 .start_y dw 30 ;+6 .btn_high dd 15 ;+8 .type dd 2 ;+12 .max_area dd 10 ;+16 .cur_area dd 2 ;+20 .position dd 0 ;+24 .bckg_col dd 0xeeeeee ;+28 .frnt_col dd 0x8aeaa0 ;0xbbddff ;+32 .line_col dd 0 ;+36 .redraw dd 0 ;+40 .delta dw 0 ;+44 .delta2 dw 0 ;+46 .run_x: .r_size_x dw 0 ;+48 .r_start_x dw 0 ;+50 .run_y: .r_size_y dw 0 ;+52 .r_start_y dw 0 ;+54 .m_pos dd 0 ;+56 .m_pos_2 dd 0 ;+60 .m_keys dd 0 ;+64 .run_size dd 0 ;+68 .position2 dd 0 ;+72 .work_size dd 0 ;+76 .all_redraw dd 0 ;+80 .ar_offset dd 10 ;+84 ;--------------------------------------------------------------------- align 4 scroll_bar_data_horizontal: .x: .size_x dw 300 ;0 ;+0 .start_x dw 10 ;0 ;+2 .y: .size_y dw 15 ;0 ;+4 .start_y dw 300 ;0 ;+6 .btn_high dd 15 ;+8 .type dd 2 ;+12 .max_area dd 10 ;+16 .cur_area dd 2 ;+20 .position dd 0 ;+24 .bckg_col dd 0xeeeeee ;+28 .frnt_col dd 0x8aeaa0 ;0xbbddff ;+32 .line_col dd 0 ;+36 .redraw dd 0 ;+40 .delta dw 0 ;+44 .delta2 dw 0 ;+46 .run_x: .r_size_x dw 0 ;+48 .r_start_x dw 0 ;+50 .run_y: .r_size_y dw 0 ;+52 .r_start_y dw 0 ;+54 .m_pos dd 0 ;+56 .m_pos_2 dd 0 ;+60 .m_keys dd 0 ;+64 .run_size dd 0 ;+68 .position2 dd 0 ;+72 .work_size dd 0 ;+76 .all_redraw dd 0 ;+80 .ar_offset dd 10 ;+84 ;--------------------------------------------------------------------- align 4 menu_data_1: .type: dd 0 ;+0 .x: .size_x dw 35 ;+4 .start_x dw 5 ;+6 .y: .size_y dw 15 ;+8 .start_y dw 6 ;+10 .text_pointer: dd menu_text_area_1 ;0 ;+12 .pos_pointer: dd menu_text_area_1.1 ;0 ;+16 .text_end dd menu_text_area_1.end ;0 ;+20 .ret_key dd 0 ;+24 .mouse_keys dd 0 ;+28 .x1: .size_x1 dw 70 ;+32 .start_x1 dw 5 ;+34 .y1: .size_y1 dw 100 ;+36 .start_y1 dw 21 ;+38 .bckg_col dd 0xe5e5e5 ;+40 .frnt_col dd 0xff ;+44 .menu_col dd 0xeef0ff ;0xffffff ;+48 .select dd 0 ;+52 .out_select dd 0 ;+56 .buf_adress dd 0 ;+60 .procinfo dd 0 ;+64 .click dd 0 ;+68 .cursor dd 0 ;+72 .cursor_old dd 0 ;+76 .interval dd 16 ;+80 .cursor_max dd 0 ;+84 .extended_key dd 0 ;+88 .menu_sel_col dd 0x00cc00 ;+92 .bckg_text_col dd 0 ; +96 .frnt_text_col dd 0xffffff ;+100 .mouse_keys_old dd 0 ;+104 .font_height dd 8 ;+108 .cursor_out dd 0 ;+112 .get_mouse_flag dd 0 ;+116 ;--------------------------------------------------------------------- menu_text_area_1: db 'File',0 .1: db 'Open',0 db 'Properties',0 db 'Exit',0 .end: db 0 ;--------------------------------------------------------------------- align 4 menu_data_2: .type: dd 0 ;+0 .x: .size_x dw 35 ;+4 .start_x dw 40 ;+6 .y: .size_y dw 15 ;+8 .start_y dw 6 ;+10 .text_pointer: dd menu_text_area_2 ;0 ;+12 .pos_pointer: dd menu_text_area_2.1 ;0 ;+16 .text_end dd menu_text_area_2.end ;0 ;+20 .ret_key dd 0 ;+24 .mouse_keys dd 0 ;+28 .x1: .size_x1 dw 90 ;+32 .start_x1 dw 40 ;+34 .y1: .size_y1 dw 100 ;+36 .start_y1 dw 21 ;+38 .bckg_col dd 0xe5e5e5 ;+40 .frnt_col dd 0xff ;+44 .menu_col dd 0xeef0ff ;0xffffff ;+48 .select dd 0 ;+52 .out_select dd 0 ;+56 .buf_adress dd 0 ;+60 .procinfo dd 0 ;+64 .click dd 0 ;+68 .cursor dd 0 ;+72 .cursor_old dd 0 ;+76 .interval dd 16 ;+80 .cursor_max dd 0 ;+84 .extended_key dd 0 ;+88 .menu_sel_col dd 0x00cc00 ;+92 .bckg_text_col dd 0 ; +96 .frnt_text_col dd 0xffffff ;+100 .mouse_keys_old dd 0 ;+104 .font_height dd 8 ;+108 .cursor_out dd 0 ;+112 .get_mouse_flag dd 0 ;+116 ;--------------------------------------------------------------------- menu_text_area_2: db 'Edit',0 .1: db 'Rotate Clock.',0 db 'Rotate CClock.',0 db 'Invert L to R',0 db 'Invert U to D',0 .end: db 0 ;--------------------------------------------------------------------- align 4 menu_data_3: .type: dd 0 ;+0 .x: .size_x dw 35 ;+4 .start_x dw 75 ;+6 .y: .size_y dw 15 ;+8 .start_y dw 6 ;+10 .text_pointer: dd menu_text_area_3 ;0 ;+12 .pos_pointer: dd menu_text_area_3.1 ;0 ;+16 .text_end dd menu_text_area_3.end ;0 ;+20 .ret_key dd 0 ;+24 .mouse_keys dd 0 ;+28 .x1: .size_x1 dw 90 ;+32 .start_x1 dw 75 ;+34 .y1: .size_y1 dw 100 ;+36 .start_y1 dw 21 ;+38 .bckg_col dd 0xe5e5e5 ;+40 .frnt_col dd 0xff ;+44 .menu_col dd 0xeef0ff ;0xffffff ;+48 .select dd 0 ;+52 .out_select dd 0 ;+56 .buf_adress dd 0 ;+60 .procinfo dd 0 ;+64 .click dd 0 ;+68 .cursor dd 0 ;+72 .cursor_old dd 0 ;+76 .interval dd 16 ;+80 .cursor_max dd 0 ;+84 .extended_key dd 0 ;+88 .menu_sel_col dd 0x00cc00 ;+92 .bckg_text_col dd 0 ; +96 .frnt_text_col dd 0xffffff ;+100 .mouse_keys_old dd 0 ;+104 .font_height dd 8 ;+108 .cursor_out dd 0 ;+112 .get_mouse_flag dd 0 ;+116 ;--------------------------------------------------------------------- menu_text_area_3: db 'View',0 .1: db 'Sort Directory',0 db 'Full Screen',0 db 'Reload',0 .end: db 0 ;--------------------------------------------------------------------- align 4 menu_data_4: .type: dd 0 ;+0 .x: .size_x dw 35 ;+4 .start_x dw 110 ;+6 .y: .size_y dw 15 ;+8 .start_y dw 6 ;+10 .text_pointer: dd menu_text_area_4 ;0 ;+12 .pos_pointer: dd menu_text_area_4.1 ;0 ;+16 .text_end dd menu_text_area_4.end ;0 ;+20 .ret_key dd 0 ;+24 .mouse_keys dd 0 ;+28 .x1: .size_x1 dw 40 ;+32 .start_x1 dw 110 ;+34 .y1: .size_y1 dw 100 ;+36 .start_y1 dw 21 ;+38 .bckg_col dd 0xe5e5e5 ;+40 .frnt_col dd 0xff ;+44 .menu_col dd 0xeef0ff ;0xffffff ;+48 .select dd 0 ;+52 .out_select dd 0 ;+56 .buf_adress dd 0 ;+60 .procinfo dd 0 ;+64 .click dd 0 ;+68 .cursor dd 0 ;+72 .cursor_old dd 0 ;+76 .interval dd 16 ;+80 .cursor_max dd 0 ;+84 .extended_key dd 0 ;+88 .menu_sel_col dd 0x00cc00 ;+92 .bckg_text_col dd 0 ; +96 .frnt_text_col dd 0xffffff ;+100 .mouse_keys_old dd 0 ;+104 .font_height dd 8 ;+108 .cursor_out dd 0 ;+112 .get_mouse_flag dd 0 ;+116 ;--------------------------------------------------------------------- menu_text_area_4: db 'Zoom',0 .1: db 'Normal',0 db 'More',0 db 'Less',0 db 'Auto',0 .end: db 0 ;--------------------------------------------------------------------- align 4 menu_data_5: .type: dd 0 ;+0 .x: .size_x dw 40 ;+4 .start_x dw 145 ;+6 .y: .size_y dw 15 ;+8 .start_y dw 6 ;+10 .text_pointer: dd menu_text_area_5 ;0 ;+12 .pos_pointer: dd menu_text_area_5.1 ;0 ;+16 .text_end dd menu_text_area_5.end ;0 ;+20 .ret_key dd 0 ;+24 .mouse_keys dd 0 ;+28 .x1: .size_x1 dw 80 ;+32 .start_x1 dw 145 ;+34 .y1: .size_y1 dw 100 ;+36 .start_y1 dw 21 ;+38 .bckg_col dd 0xe5e5e5 ;+40 .frnt_col dd 0xff ;+44 .menu_col dd 0xeef0ff ;0xffffff ;+48 .select dd 0 ;+52 .out_select dd 0 ;+56 .buf_adress dd 0 ;+60 .procinfo dd 0 ;+64 .click dd 0 ;+68 .cursor dd 0 ;+72 .cursor_old dd 0 ;+76 .interval dd 16 ;+80 .cursor_max dd 0 ;+84 .extended_key dd 0 ;+88 .menu_sel_col dd 0x00cc00 ;+92 .bckg_text_col dd 0 ; +96 .frnt_text_col dd 0xffffff ;+100 .mouse_keys_old dd 0 ;+104 .font_height dd 8 ;+108 .cursor_out dd 0 ;+112 .get_mouse_flag dd 0 ;+116 ;--------------------------------------------------------------------- menu_text_area_5: db 'Tools',0 .1: db 'Image Editor',0 db 'Wallpaper',0 db 'Slide Show',0 db 'Options',0 .end: db 0 ;--------------------------------------------------------------------- align 4 menu_data_6: .type: dd 0 ;+0 .x: .size_x dw 35 ;+4 .start_x dw 185 ;+6 .y: .size_y dw 15 ;+8 .start_y dw 6 ;+10 .text_pointer: dd menu_text_area_6 ;0 ;+12 .pos_pointer: dd menu_text_area_6.1 ;0 ;+16 .text_end dd menu_text_area_6.end ;0 ;+20 .ret_key dd 0 ;+24 .mouse_keys dd 0 ;+28 .x1: .size_x1 dw 50 ;+32 .start_x1 dw 185 ;+34 .y1: .size_y1 dw 100 ;+36 .start_y1 dw 21 ;+38 .bckg_col dd 0xe5e5e5 ;+40 .frnt_col dd 0xff ;+44 .menu_col dd 0xeef0ff ;0xffffff ;+48 .select dd 0 ;+52 .out_select dd 0 ;+56 .buf_adress dd 0 ;+60 .procinfo dd 0 ;+64 .click dd 0 ;+68 .cursor dd 0 ;+72 .cursor_old dd 0 ;+76 .interval dd 16 ;+80 .cursor_max dd 0 ;+84 .extended_key dd 0 ;+88 .menu_sel_col dd 0x00cc00 ;+92 .bckg_text_col dd 0 ; +96 .frnt_text_col dd 0xffffff ;+100 .mouse_keys_old dd 0 ;+104 .font_height dd 8 ;+108 .cursor_out dd 0 ;+112 .get_mouse_flag dd 0 ;+116 ;--------------------------------------------------------------------- menu_text_area_6: db 'Help',0 .1: db 'Help',0 db 'About',0 .end: db 0 ;--------------------------------------------------------------------- align 4 dinamic_button_data_1: ; open file .type dd 0 ;+0 .x: .size_x dw 20 ;+4 .start_x dw 230 ;+6 .y: .size_y dw 20 ;+8 .start_y dw 3 ;+10 .mouse_pos dd 0 ;+12 .mouse_keys dd 0 ;+16 .mouse_keys_old dd 0 ;+20 .active_raw dd 0 ;+24 .passive_raw dd 0 ;+28 .click_raw dd 0 ;+32 .resolution_raw dd 0 ;+36 .palette_raw dd 0 ;+40 .offset_raw dd 0 ;+44 .select dd 0 ;+48 .click dd 0 ;+52 ;--------------------------------------------------------------------- align 4 dinamic_button_data_2: ; reload file .type dd 0 ;+0 .x: .size_x dw 20 ;+4 .start_x dw 255 ;+6 .y: .size_y dw 20 ;+8 .start_y dw 3 ;+10 .mouse_pos dd 0 ;+12 .mouse_keys dd 0 ;+16 .mouse_keys_old dd 0 ;+20 .active_raw dd 0 ;+24 .passive_raw dd 0 ;+28 .click_raw dd 0 ;+32 .resolution_raw dd 0 ;+36 .palette_raw dd 0 ;+40 .offset_raw dd 0 ;+44 .select dd 0 ;+48 .click dd 0 ;+52 ;--------------------------------------------------------------------- align 4 dinamic_button_data_3: ; left limit .type dd 0 ;+0 .x: .size_x dw 20 ;+4 .start_x dw 285 ;+6 .y: .size_y dw 20 ;+8 .start_y dw 3 ;+10 .mouse_pos dd 0 ;+12 .mouse_keys dd 0 ;+16 .mouse_keys_old dd 0 ;+20 .active_raw dd 0 ;+24 .passive_raw dd 0 ;+28 .click_raw dd 0 ;+32 .resolution_raw dd 0 ;+36 .palette_raw dd 0 ;+40 .offset_raw dd 0 ;+44 .select dd 0 ;+48 .click dd 0 ;+52 ;--------------------------------------------------------------------- align 4 dinamic_button_data_4: ; left arrow .type dd 0 ;+0 .x: .size_x dw 20 ;+4 .start_x dw 310 ;+6 .y: .size_y dw 20 ;+8 .start_y dw 3 ;+10 .mouse_pos dd 0 ;+12 .mouse_keys dd 0 ;+16 .mouse_keys_old dd 0 ;+20 .active_raw dd 0 ;+24 .passive_raw dd 0 ;+28 .click_raw dd 0 ;+32 .resolution_raw dd 0 ;+36 .palette_raw dd 0 ;+40 .offset_raw dd 0 ;+44 .select dd 0 ;+48 .click dd 0 ;+52 ;--------------------------------------------------------------------- align 4 dinamic_button_data_5: ; slide show .type dd 0 ;+0 .x: .size_x dw 20 ;+4 .start_x dw 335 ;+6 .y: .size_y dw 20 ;+8 .start_y dw 3 ;+10 .mouse_pos dd 0 ;+12 .mouse_keys dd 0 ;+16 .mouse_keys_old dd 0 ;+20 .active_raw dd 0 ;+24 .passive_raw dd 0 ;+28 .click_raw dd 0 ;+32 .resolution_raw dd 0 ;+36 .palette_raw dd 0 ;+40 .offset_raw dd 0 ;+44 .select dd 0 ;+48 .click dd 0 ;+52 ;--------------------------------------------------------------------- align 4 dinamic_button_data_6: ; right arrow .type dd 0 ;+0 .x: .size_x dw 20 ;+4 .start_x dw 360 ;+6 .y: .size_y dw 20 ;+8 .start_y dw 3 ;+10 .mouse_pos dd 0 ;+12 .mouse_keys dd 0 ;+16 .mouse_keys_old dd 0 ;+20 .active_raw dd 0 ;+24 .passive_raw dd 0 ;+28 .click_raw dd 0 ;+32 .resolution_raw dd 0 ;+36 .palette_raw dd 0 ;+40 .offset_raw dd 0 ;+44 .select dd 0 ;+48 .click dd 0 ;+52 ;--------------------------------------------------------------------- align 4 dinamic_button_data_7: ; right limit .type dd 0 ;+0 .x: .size_x dw 20 ;+4 .start_x dw 385 ;+6 .y: .size_y dw 20 ;+8 .start_y dw 3 ;+10 .mouse_pos dd 0 ;+12 .mouse_keys dd 0 ;+16 .mouse_keys_old dd 0 ;+20 .active_raw dd 0 ;+24 .passive_raw dd 0 ;+28 .click_raw dd 0 ;+32 .resolution_raw dd 0 ;+36 .palette_raw dd 0 ;+40 .offset_raw dd 0 ;+44 .select dd 0 ;+48 .click dd 0 ;+52 ;--------------------------------------------------------------------- align 4 dinamic_button_data_8: ; zoom + .type dd 0 ;+0 .x: .size_x dw 20 ;+4 .start_x dw 415 ;+6 .y: .size_y dw 20 ;+8 .start_y dw 3 ;+10 .mouse_pos dd 0 ;+12 .mouse_keys dd 0 ;+16 .mouse_keys_old dd 0 ;+20 .active_raw dd 0 ;+24 .passive_raw dd 0 ;+28 .click_raw dd 0 ;+32 .resolution_raw dd 0 ;+36 .palette_raw dd 0 ;+40 .offset_raw dd 0 ;+44 .select dd 0 ;+48 .click dd 0 ;+52 ;--------------------------------------------------------------------- align 4 dinamic_button_data_9: ; zoom - .type dd 0 ;+0 .x: .size_x dw 20 ;+4 .start_x dw 440 ;+6 .y: .size_y dw 20 ;+8 .start_y dw 3 ;+10 .mouse_pos dd 0 ;+12 .mouse_keys dd 0 ;+16 .mouse_keys_old dd 0 ;+20 .active_raw dd 0 ;+24 .passive_raw dd 0 ;+28 .click_raw dd 0 ;+32 .resolution_raw dd 0 ;+36 .palette_raw dd 0 ;+40 .offset_raw dd 0 ;+44 .select dd 0 ;+48 .click dd 0 ;+52 ;--------------------------------------------------------------------- align 4 dinamic_button_data_10: ; zoom 100% .type dd 0 ;+0 .x: .size_x dw 20 ;+4 .start_x dw 465 ;+6 .y: .size_y dw 20 ;+8 .start_y dw 3 ;+10 .mouse_pos dd 0 ;+12 .mouse_keys dd 0 ;+16 .mouse_keys_old dd 0 ;+20 .active_raw dd 0 ;+24 .passive_raw dd 0 ;+28 .click_raw dd 0 ;+32 .resolution_raw dd 0 ;+36 .palette_raw dd 0 ;+40 .offset_raw dd 0 ;+44 .select dd 0 ;+48 .click dd 0 ;+52 ;--------------------------------------------------------------------- align 4 dinamic_button_data_11: ; rotate clockwise .type dd 0 ;+0 .x: .size_x dw 20 ;+4 .start_x dw 495 ;+6 .y: .size_y dw 20 ;+8 .start_y dw 3 ;+10 .mouse_pos dd 0 ;+12 .mouse_keys dd 0 ;+16 .mouse_keys_old dd 0 ;+20 .active_raw dd 0 ;+24 .passive_raw dd 0 ;+28 .click_raw dd 0 ;+32 .resolution_raw dd 0 ;+36 .palette_raw dd 0 ;+40 .offset_raw dd 0 ;+44 .select dd 0 ;+48 .click dd 0 ;+52 ;--------------------------------------------------------------------- align 4 dinamic_button_data_12: ; rotate counter-clockwise .type dd 0 ;+0 .x: .size_x dw 20 ;+4 .start_x dw 520 ;+6 .y: .size_y dw 20 ;+8 .start_y dw 3 ;+10 .mouse_pos dd 0 ;+12 .mouse_keys dd 0 ;+16 .mouse_keys_old dd 0 ;+20 .active_raw dd 0 ;+24 .passive_raw dd 0 ;+28 .click_raw dd 0 ;+32 .resolution_raw dd 0 ;+36 .palette_raw dd 0 ;+40 .offset_raw dd 0 ;+44 .select dd 0 ;+48 .click dd 0 ;+52 ;--------------------------------------------------------------------- align 4 dinamic_button_data_13: ; file information .type dd 0 ;+0 .x: .size_x dw 20 ;+4 .start_x dw 550 ;+6 .y: .size_y dw 20 ;+8 .start_y dw 3 ;+10 .mouse_pos dd 0 ;+12 .mouse_keys dd 0 ;+16 .mouse_keys_old dd 0 ;+20 .active_raw dd 0 ;+24 .passive_raw dd 0 ;+28 .click_raw dd 0 ;+32 .resolution_raw dd 0 ;+36 .palette_raw dd 0 ;+40 .offset_raw dd 0 ;+44 .select dd 0 ;+48 .click dd 0 ;+52 ;--------------------------------------------------------------------- align 4 dinamic_button_data_14: ; wallpaper .type dd 0 ;+0 .x: .size_x dw 20 ;+4 .start_x dw 575 ;+6 .y: .size_y dw 20 ;+8 .start_y dw 3 ;+10 .mouse_pos dd 0 ;+12 .mouse_keys dd 0 ;+16 .mouse_keys_old dd 0 ;+20 .active_raw dd 0 ;+24 .passive_raw dd 0 ;+28 .click_raw dd 0 ;+32 .resolution_raw dd 0 ;+36 .palette_raw dd 0 ;+40 .offset_raw dd 0 ;+44 .select dd 0 ;+48 .click dd 0 ;+52 ;--------------------------------------------------------------------- align 4 dinamic_button_data_15: ; settings .type dd 0 ;+0 .x: .size_x dw 20 ;+4 .start_x dw 600 ;+6 .y: .size_y dw 20 ;+8 .start_y dw 3 ;+10 .mouse_pos dd 0 ;+12 .mouse_keys dd 0 ;+16 .mouse_keys_old dd 0 ;+20 .active_raw dd 0 ;+24 .passive_raw dd 0 ;+28 .click_raw dd 0 ;+32 .resolution_raw dd 0 ;+36 .palette_raw dd 0 ;+40 .offset_raw dd 0 ;+44 .select dd 0 ;+48 .click dd 0 ;+52 ;--------------------------------------------------------------------- align 4 dirinfo: .subfunction dd 1 .start dd 0 .flags dd 0 .size dd 0 .return dd procinfo db 0 .name: dd plugin_pach ;--------------------------------------------------------------------- align 4 fileinfo: .subfunction dd 5 .Offset dd 0 .Offset_1 dd 0 .size dd 0 .return dd process_info db 0 .name: dd string ;--------------------------------------------------------------------- align 4 start_appl: .subfunction dd 7 .flags dd 0 .parameter dd library_path .reserved1 dd 0 .reserved2 dd 0 db 0 .name: dd Help_path ;--------------------------------------------------------------------- align 4 dir_header: .version dd 0 ;+0 .curn_blocks dd 0 ;+4 .totl_blocks dd 0 ;+8 .other rb 20 ;--------------------------------------------------------------------- OpenDialog_data: .type dd 0 .procinfo dd procinfo ;+4 .com_area_name dd communication_area_name ;+8 .com_area dd 0 ;+12 .opendir_pach dd plugin_pach ;+16 .dir_default_pach dd communication_area_default_pach ;+20 .start_path dd library_path ;+24 .draw_window dd draw_window ;+28 .status dd 0 ;+32 .openfile_pach dd string ;+36 .filename_area dd 0 ;+40 .filter_area dd Filter .x: .x_size dw 420 ;+48 ; Window X size .x_start dw 10 ;+50 ; Window X position .y: .y_size dw 320 ;+52 ; Window y size .y_start dw 10 ;+54 ; Window Y position communication_area_name: db 'FFFFFFFF_open_dialog',0 open_dialog_name: db 'opendial',0 communication_area_default_pach: db '/rd/1',0 ;communication_area dd 0 ;--------------------------------------------------------------------- ColorDialog_data: .type dd 0 .procinfo dd procinfo ;+4 .com_area_name dd cd_communication_area_name ;+8 .com_area dd 0 ;+12 .start_path dd colordialog_path ;+16 .draw_window dd thread4.draw_window ;+20 .status dd 0 ;+24 .x: .x_size dw 510 ;+28 ; Window X size .x_start dw 10 ;+30 ; Window X position .y: .y_size dw 310 ;+32 ; Window y size .y_start dw 10 ;+34 ; Window Y position .color_type dd 0 ;+36 ; 0- RGB, 1 or other - reserved .color dd 0 ;+40 ; Selected color cd_communication_area_name: db 'FFFFFFFF_color_dialog',0 colordialog_path: db '/rd/1/colrdial',0 ;--------------------------------------------------------------------- ; clear bacground thread clear_thread_stack: dd 0 ;---------------------- ; window option thread_stack_7: dd 0 ;---------------------- ; window error message thread_stack_6: dd 0 ;---------------------- ; window set sort mode thread_stack_5: dd 0 ;---------------------- ; window background thread_stack_4: dd 0 ;---------------------- ; window about thread_stack_3: dd 0 ;---------------------- ; file info thread_stack_2: dd 0 ;---------------------- ; file open thread_stack: dd 0 ;--------------------------------------------------------------------- ;size_before_open_dir: ; dd 0 ;size_before_open_file: ; dd 0 ;size_after_open_file: ; dd 0 ;size_after_convert: ; dd 0 ;size_after_convert_2: ; dd 0 ;size_before_draw_image: ; dd 0 ;size_after_draw_image: ; dd 0 ;size_before_scaling: ; dd 0 ;size_after_scaling: ; dd 0 \ No newline at end of file diff --git a/programs/network/downloader/downloader.asm b/programs/network/downloader/downloader.asm index 326b348c89..ab5544cd9f 100644 --- a/programs/network/downloader/downloader.asm +++ b/programs/network/downloader/downloader.asm @@ -348,7 +348,7 @@ import lib_http, \ HTTP_free, 'free' import box_lib, \ - edit_box_draw, 'edit_box', \ + edit_box_draw, 'edit_box_draw', \ edit_box_key, 'edit_box_key', \ edit_box_mouse, 'edit_box_mouse', \ progressbar_draw, 'progressbar_draw', \ diff --git a/programs/network/ftpc/gui.inc b/programs/network/ftpc/gui.inc index 8c90337056..c8b4521562 100755 --- a/programs/network/ftpc/gui.inc +++ b/programs/network/ftpc/gui.inc @@ -1106,7 +1106,7 @@ align 4 library box_lib, 'box_lib.obj', libimg, 'libimg.obj' import box_lib, \ - edit_box_draw, 'edit_box', \ + edit_box_draw, 'edit_box_draw', \ edit_box_key, 'edit_box_key', \ edit_box_mouse, 'edit_box_mouse', \ edit_box_set_text, 'edit_box_set_text', \ diff --git a/programs/network/ircc/ircc.asm b/programs/network/ircc/ircc.asm index 82625aa11d..a12b6be70a 100644 --- a/programs/network/ircc/ircc.asm +++ b/programs/network/ircc/ircc.asm @@ -589,7 +589,7 @@ import libini,\ ini.get_int, 'ini_get_int' import boxlib,\ - edit_box_draw, 'edit_box',\ + edit_box_draw, 'edit_box_draw',\ edit_box_key, 'edit_box_key',\ edit_box_mouse, 'edit_box_mouse',\ scrollbar_draw, 'scrollbar_v_draw',\ diff --git a/programs/other/cnc_control/cnc_control.asm b/programs/other/cnc_control/cnc_control.asm index 9ad77abd10..2b69015d4e 100644 --- a/programs/other/cnc_control/cnc_control.asm +++ b/programs/other/cnc_control/cnc_control.asm @@ -911,7 +911,7 @@ import_box_lib: sz_Option_box_mouse db 'option_box_mouse',0 ;sz_Version_op db 'version_op',0 - sz_edit_box_draw db 'edit_box',0 + sz_edit_box_draw db 'edit_box_draw',0 sz_edit_box_key db 'edit_box_key',0 sz_edit_box_mouse db 'edit_box_mouse',0 sz_edit_box_set_text db 'edit_box_set_text',0 diff --git a/programs/other/cnc_editor/cnc_editor.asm b/programs/other/cnc_editor/cnc_editor.asm index 357c49d20b..c1484decfa 100644 --- a/programs/other/cnc_editor/cnc_editor.asm +++ b/programs/other/cnc_editor/cnc_editor.asm @@ -2280,7 +2280,7 @@ import_box_lib: sz_Option_box_mouse db 'option_box_mouse',0 ;sz_Version_op db 'version_op',0 - sz_edit_box_draw db 'edit_box',0 + sz_edit_box_draw db 'edit_box_draw',0 sz_edit_box_key db 'edit_box_key',0 sz_edit_box_mouse db 'edit_box_mouse',0 sz_edit_box_set_text db 'edit_box_set_text',0 diff --git a/programs/other/ha/HACONFIG.ASM b/programs/other/ha/HACONFIG.ASM index 1f1892d792..8a4f979cc9 100644 --- a/programs/other/ha/HACONFIG.ASM +++ b/programs/other/ha/HACONFIG.ASM @@ -1390,11 +1390,11 @@ saveKey: align 16 @IMPORT: - + library box_lib, 'box_lib.obj' - + import box_lib,\ - edit_box_draw, 'edit_box',\ + edit_box_draw, 'edit_box_draw',\ edit_box_key, 'edit_box_key',\ edit_box_mouse, 'edit_box_mouse',\ init_checkbox, 'init_checkbox2',\ @@ -1579,24 +1579,24 @@ copyPath: IntToStr: ;in esi - ёЄЁюър; eёx - ўшёыю push eax ecx edx esi - cmp ecx, 0 - jne @f - mov byte[esi], 48 ; '0' + or ecx, ecx + jnz @f + mov byte[esi], '0' inc esi jmp .end @@: mov eax, ecx mov ecx, 10 .next: - mov edx, 0 + xor edx, edx div ecx - add edx, 48 + add edx, '0' mov byte[esi], dl inc esi - cmp eax, 0 - je .end + or eax, eax + jz .end jmp .next .end: mov byte[esi], 0 ;ъырф▐ь чртхЁ°р■∙шщ эюы№ diff --git a/programs/other/kpack/trunk/const_var.inc b/programs/other/kpack/trunk/const_var.inc index 7de220b951..d1168386c0 100644 --- a/programs/other/kpack/trunk/const_var.inc +++ b/programs/other/kpack/trunk/const_var.inc @@ -86,7 +86,7 @@ check_box_mouse dd aCheck_box_mouse dd 0,0 -aEdit_box_draw db 'edit_box',0 +aEdit_box_draw db 'edit_box_draw',0 aEdit_box_key db 'edit_box_key',0 aEdit_box_mouse db 'edit_box_mouse',0 diff --git a/programs/other/outdated/dictionary/dictionary.ASM b/programs/other/outdated/dictionary/dictionary.ASM index 2e3bf03332..d3cdbcc4e9 100644 --- a/programs/other/outdated/dictionary/dictionary.ASM +++ b/programs/other/outdated/dictionary/dictionary.ASM @@ -1,14 +1,14 @@ use32 ; транслятор, использующий 32 разрядных команды - org 0x0 ; базовый адрес кода, всегда 0x0 + org 0 ; базовый адрес кода, всегда 0x0 db 'MENUET01' ; идентификатор исполняемого файла (8 байт) - dd 0x1 ; версия формата заголовка исполняемого файла - dd start ; адрес, на который система передаёт управление - ; после загрузки приложения в память - dd i_end ; размер приложения - dd mem ; Объем используемой памяти, для стека отведем 0х100 байт и выровним на грницу 4 байта - dd mem ; расположим позицию стека в области памяти, сразу за телом программы. Вершина стека в диапазоне памяти, указанном выше - dd 0x0 ; указатель на строку с параметрами. + dd 1 ; версия формата заголовка исполняемого файла + dd start ; адрес, на который система передаёт управление + ; после загрузки приложения в память + dd i_end ; размер приложения + dd mem ; Объем используемой памяти, для стека отведем 0х100 байт и выровним на грницу 4 байта + dd mem ; расположим позицию стека в области памяти, сразу за телом программы. Вершина стека в диапазоне памяти, указанном выше + dd 0 ; указатель на строку с параметрами. dd 0;pathprog ;путь и имя проги include "../../../macros.inc" @@ -16,7 +16,8 @@ include "../../../proc32.inc" include "API.INC" include "../../../dll.inc" include '../../../develop/libraries/box_lib/trunk/box_lib.mac' -include '../../../develop/libraries/box_lib/load_lib.mac' +;include '../../../KOSfuncs.inc' +;include '../../../load_lib.mac' start: mcall 68,11 ;инициализируем кучу @@ -379,7 +380,7 @@ NextPerev: @IMPORT: library box_lib,'box_lib.obj',msgbox,'msgbox.obj' import box_lib,\ - edit_box_draw,'edit_box',\ + edit_box_draw,'edit_box_draw',\ edit_box_key,'edit_box_key';,\ ;edit_box_mouse,'edit_box_mouse' import msgbox,\ diff --git a/programs/other/planet_v/pl_import.inc b/programs/other/planet_v/pl_import.inc index b7ef47a664..13df833047 100644 --- a/programs/other/planet_v/pl_import.inc +++ b/programs/other/planet_v/pl_import.inc @@ -49,7 +49,7 @@ boxlib_import: dd 0,0 alib_init2 db 'lib_init',0 - aEdit_box_draw db 'edit_box',0 + aEdit_box_draw db 'edit_box_draw',0 aEdit_box_key db 'edit_box_key',0 aEdit_box_mouse db 'edit_box_mouse',0 ; aVersion_ed db 'version_ed',0 diff --git a/programs/other/t_edit/t_data.inc b/programs/other/t_edit/t_data.inc index 5c317416fb..19a1145b4e 100644 --- a/programs/other/t_edit/t_data.inc +++ b/programs/other/t_edit/t_data.inc @@ -1 +1 @@ -fn_col_option dd def_col_file fn_syntax_dir db 'info/',0 def_col_file db 'default.syn',0 exit_code dd 0 ;переменная используемая для выхода из программы panel_but rb 21 ;настройки отображения кнопок на панели ;значения задаваемые по умолчанию, без ini файла ini_def_window_t equ 20 ini_def_window_l equ 200 ini_def_window_w equ 570 ini_def_window_h equ 470 ini_def_symbol_w equ 7 ini_def_symbol_h equ 10 ini_def_font_s equ 0 ini_def_scroll_type equ 0 ;описание параматров для ini файла ini_name db 't_edit.ini',0 ini_sec_window db 'Window',0 key_window_t db 't',0 key_window_l db 'l',0 key_window_w db 'w',0 key_window_h db 'h',0 key_symbol_w db 'symbol_w',0 key_symbol_h db 'symbol_h',0 key_font_s db 'font_s',0 key_scroll_type db 'scroll_type',0 key_but_new db 'but_new',0 key_but_open db 'but_open',0 key_but_save db 'but_save',0 key_but_save_as db 'but_save_as',0 key_but_select db 'but_select',0 key_but_cut db 'but_cut',0 key_but_copy db 'but_copy',0 key_but_paste db 'but_paste',0 key_but_find db 'but_find',0 key_but_replace db 'but_replace',0 key_but_key_words db 'but_key_words',0 key_but_upper db 'but_upper',0 key_but_lower db 'but_lower',0 key_but_reverse db 'but_reverse',0 key_but_undo db 'but_undo',0 key_but_redo db 'but_redo',0 key_but_invisible db 'but_invisible',0 key_but_syntax_list db 'but_syntax_list',0 key_but_syntax_mode db 'but_syntax_mode',0 key_but_convert_1251_866 db 'but_convert_1251_866',0 key_but_convert_866_1251 db 'but_convert_866_1251',0 ini_sec_options db 'Options',0 key_synt_file: db 'syntax_' .numb: db '0',0 key_synt_ext: db 'ext_' .numb: db '0',0 ini_def_synt_f db 0 align 4 max_synt_auto_open equ 10 synt_auto_open: rb 64*max_synt_auto_open db 0 system_dir_0 db '/sys/lib/' lib_name_0 db 'box_lib.obj',0 system_dir_1 db '/sys/lib/' lib_name_1 db 'msgbox.obj',0 system_dir_2 db '/sys/lib/' lib_name_2 db 'proc_lib.obj',0 system_dir_3 db '/sys/lib/' lib_name_3 db 'libimg.obj',0 system_dir_4 db '/sys/lib/' lib_name_4 db 'libini.obj',0 system_dir_5 db '/sys/lib/' lib_name_5 db 'kmenu.obj',0 ;--------------------------------------------------------------------- align 4 import_box_lib: dd alib_init0 ;функция запускается макросом 1 раз при подключении бибилиотеки, потому в программе метка на нее не нужна edit_box_draw dd aEdit_box_draw edit_box_key dd aEdit_box_key edit_box_mouse dd aEdit_box_mouse ;edit_box_set_text dd aEdit_box_set_text ;version_ed dd aVersion_ed init_checkbox dd ainit_checkbox check_box_draw dd acheck_box_draw check_box_mouse dd acheck_box_mouse option_box_draw dd aOption_box_draw option_box_mouse dd aOption_box_mouse ;version_op dd aVersion_op scrollbar_ver_draw dd aScrollbar_ver_draw scrollbar_ver_mouse dd aScrollbar_ver_mouse scrollbar_hor_draw dd aScrollbar_hor_draw scrollbar_hor_mouse dd aScrollbar_hor_mouse ;version_scrollbar dd aVersion_scrollbar tl_data_init dd sz_tl_data_init tl_data_clear dd sz_tl_data_clear tl_info_clear dd sz_tl_info_clear tl_key dd sz_tl_key tl_mouse dd sz_tl_mouse tl_draw dd sz_tl_draw tl_info_undo dd sz_tl_info_undo tl_info_redo dd sz_tl_info_redo tl_node_add dd sz_tl_node_add tl_node_set_data dd sz_tl_node_set_data tl_node_get_data dd sz_tl_node_get_data tl_node_delete dd sz_tl_node_delete tl_cur_beg dd sz_tl_cur_beg tl_cur_next dd sz_tl_cur_next tl_cur_perv dd sz_tl_cur_perv ;tl_node_close_open dd sz_tl_node_close_open tl_node_lev_inc dd sz_tl_node_lev_inc tl_node_lev_dec dd sz_tl_node_lev_dec ted_but_sumb_upper dd sz_ted_but_sumb_upper ted_but_sumb_lover dd sz_ted_but_sumb_lover ted_but_convert_by_table dd sz_ted_but_convert_by_table ted_can_save dd sz_ted_can_save ted_clear dd sz_ted_clear ted_delete dd sz_ted_delete ted_draw dd sz_ted_draw ted_init dd sz_ted_init ted_init_scroll_bars dd sz_ted_init_scroll_bars ted_init_syntax_file dd sz_ted_init_syntax_file ted_is_select dd sz_ted_is_select ted_key dd sz_ted_key ted_mouse dd sz_ted_mouse ted_open_file dd sz_ted_open_file ted_save_file dd sz_ted_save_file ted_text_add dd sz_ted_text_add ted_but_select_word dd sz_ted_but_select_word ted_but_cut dd sz_ted_but_cut ted_but_copy dd sz_ted_but_copy ted_but_paste dd sz_ted_but_paste ted_but_undo dd sz_ted_but_undo ted_but_redo dd sz_ted_but_redo ted_but_reverse dd sz_ted_but_reverse ted_but_find dd sz_ted_but_find ted_but_replace dd sz_ted_but_replace ted_text_colored dd sz_ted_text_colored ted_go_to_position dd sz_ted_go_to_position version_text_edit dd sz_ted_version dd 0,0 alib_init0 db 'lib_init',0 aEdit_box_draw db 'edit_box',0 aEdit_box_key db 'edit_box_key',0 aEdit_box_mouse db 'edit_box_mouse',0 ;aEdit_box_set_text db 'edit_box_set_text',0 ;aVersion_ed db 'version_ed',0 ainit_checkbox db 'init_checkbox2',0 acheck_box_draw db 'check_box_draw2',0 acheck_box_mouse db 'check_box_mouse2',0 aOption_box_draw db 'option_box_draw',0 aOption_box_mouse db 'option_box_mouse',0 ;aVersion_op db 'version_op',0 aScrollbar_ver_draw db 'scrollbar_v_draw',0 aScrollbar_ver_mouse db 'scrollbar_v_mouse',0 aScrollbar_hor_draw db 'scrollbar_h_draw',0 aScrollbar_hor_mouse db 'scrollbar_h_mouse',0 ;aVersion_scrollbar db 'version_scrollbar',0 sz_tl_data_init db 'tl_data_init',0 sz_tl_data_clear db 'tl_data_clear',0 sz_tl_info_clear db 'tl_info_clear',0 sz_tl_key db 'tl_key',0 sz_tl_mouse db 'tl_mouse',0 sz_tl_draw db 'tl_draw',0 sz_tl_info_undo db 'tl_info_undo',0 sz_tl_info_redo db 'tl_info_redo',0 sz_tl_node_add db 'tl_node_add',0 sz_tl_node_set_data db 'tl_node_set_data',0 sz_tl_node_get_data db 'tl_node_get_data',0 sz_tl_node_delete db 'tl_node_delete',0 sz_tl_cur_beg db 'tl_cur_beg',0 sz_tl_cur_next db 'tl_cur_next',0 sz_tl_cur_perv db 'tl_cur_perv',0 ;sz_tl_node_close_open db 'tl_node_close_open',0 sz_tl_node_lev_inc db 'tl_node_lev_inc',0 sz_tl_node_lev_dec db 'tl_node_lev_dec',0 sz_ted_but_sumb_upper db 'ted_but_sumb_upper',0 sz_ted_but_sumb_lover db 'ted_but_sumb_lover',0 sz_ted_but_convert_by_table db 'ted_but_convert_by_table',0 sz_ted_can_save db 'ted_can_save',0 sz_ted_clear db 'ted_clear',0 sz_ted_delete db 'ted_delete',0 sz_ted_draw db 'ted_draw',0 sz_ted_init db 'ted_init',0 sz_ted_init_scroll_bars db 'ted_init_scroll_bars',0 sz_ted_init_syntax_file db 'ted_init_syntax_file',0 sz_ted_is_select db 'ted_is_select',0 sz_ted_key db 'ted_key',0 sz_ted_mouse db 'ted_mouse',0 sz_ted_open_file db 'ted_open_file',0 sz_ted_save_file db 'ted_save_file',0 sz_ted_text_add db 'ted_text_add',0 sz_ted_but_select_word db 'ted_but_select_word',0 sz_ted_but_cut db 'ted_but_cut',0 sz_ted_but_copy db 'ted_but_copy',0 sz_ted_but_paste db 'ted_but_paste',0 sz_ted_but_undo db 'ted_but_undo',0 sz_ted_but_redo db 'ted_but_redo',0 sz_ted_but_reverse db 'ted_but_reverse',0 sz_ted_but_find db 'ted_but_find',0 sz_ted_but_replace db 'ted_but_replace',0 sz_ted_text_colored db 'ted_text_colored',0 sz_ted_go_to_position db 'ted_go_to_position',0 sz_ted_version db 'version_text_edit',0 align 4 import_proclib: OpenDialog_Init dd aOpenDialog_Init OpenDialog_Start dd aOpenDialog_Start dd 0,0 aOpenDialog_Init db 'OpenDialog_init',0 aOpenDialog_Start db 'OpenDialog_start',0 align 4 import_msgbox_lib: mb_create dd amb_create mb_reinit dd amb_reinit mb_setfunctions dd amb_setfunctions dd 0,0 amb_create db 'mb_create',0 amb_reinit db 'mb_reinit',0 amb_setfunctions db 'mb_setfunctions',0 align 4 import_libimg: dd alib_init1 img_to_rgb2 dd aimg_to_rgb2 img_decode dd aimg_decode img_destroy dd aimg_destroy dd 0,0 alib_init1 db 'lib_init',0 aimg_to_rgb2 db 'img_to_rgb2',0 aimg_decode db 'img_decode',0 ;автоматически определяет формат графических данных aimg_destroy db 'img_destroy',0 align 4 import_libini: dd alib_init2 ini_get_str dd aini_get_str ini_get_int dd aini_get_int ini_get_color dd aini_get_color dd 0,0 alib_init2 db 'lib_init',0 aini_get_str db 'ini_get_str',0 aini_get_int db 'ini_get_int',0 aini_get_color db 'ini_get_color',0 align 4 import_libkmenu: kmenu_init dd akmenu_init kmainmenu_draw dd akmainmenu_draw kmainmenu_dispatch_cursorevent dd akmainmenu_dispatch_cursorevent ksubmenu_new dd aksubmenu_new ksubmenu_delete dd aksubmenu_delete ksubmenu_draw dd aksubmenu_draw ksubmenu_add dd aksubmenu_add kmenuitem_new dd akmenuitem_new kmenuitem_delete dd akmenuitem_delete kmenuitem_draw dd akmenuitem_draw dd 0,0 akmenu_init db 'kmenu_init',0 akmainmenu_draw db 'kmainmenu_draw',0 akmainmenu_dispatch_cursorevent db 'kmainmenu_dispatch_cursorevent',0 aksubmenu_new db 'ksubmenu_new',0 aksubmenu_delete db 'ksubmenu_delete',0 aksubmenu_draw db 'ksubmenu_draw',0 aksubmenu_add db 'ksubmenu_add',0 akmenuitem_new db 'kmenuitem_new',0 akmenuitem_delete db 'kmenuitem_delete',0 akmenuitem_draw db 'kmenuitem_draw',0 ;--------------------------------------------------------------------- align 4 wScr scrollbar 16,50, 300,50, 15, 100,30,0, 0,0,0, 1 align 4 hScr scrollbar 150,0, 16,50, 15, 100,30,0, 0,0,0, 1 ;дочерний скроллинг для элемента ListBox align 4 ws_dir_lbox scrollbar 16,0, 30,70, 15, 100,30,0, 0,0,0, 1 ;--------------------------------------------------------------------- align 4 OpenDialog_data: .type dd 0 .procinfo dd procinfo ;+4 .com_area_name dd communication_area_name ;+8 .com_area dd 0 ;+12 .opendir_path dd plugin_path ;+16 .dir_default_path dd default_dir ;+20 .start_path dd file_name ;+24 путь к диалогу открытия файлов .draw_window dd draw_window ;+28 .status dd 0 ;+32 .openfile_path dd openfile_path ;+36 путь к открываемому файлу .filename_area dd filename_area ;+40 имя открываемого файла .filter_area dd Filter .x: .x_size dw 420 ;+48 ; Window X size .x_start dw 10 ;+50 ; Window X position .y: .y_size dw 320 ;+52 ; Window y size .y_start dw 10 ;+54 ; Window Y position default_dir db '/rd/1',0 ;директория по умолчанию communication_area_name: db 'FFFFFFFF_open_dialog',0 open_dialog_name: db 'opendial',0 communication_area_default_path: db '/rd/1/File managers/',0 Filter: dd Filter.end - Filter.1 .1: db 'ASM',0 db 'CPP',0 db 'INC',0 db 'MAC',0 db 'INI',0 db 'TXT',0 db 'H',0 db 'C',0 db 'HTM',0 db 'HTML',0 db 'PY',0 db 'SH',0 db 'BAT',0 db 'LUA',0 db 'INF',0 db 'LOG',0 db 'DBG',0 db 'DAT',0 .end: db 0 txt_Info db '" -tI',0 TED_PANEL_NULL equ 0 ;нет открытой панели TED_PANEL_FIND equ 1 ;панель поиска TED_PANEL_REPLACE equ 2 ;панель замены TED_PANEL_SYNTAX equ 3 ;панель выбора файлов подсветки TED_PANEL_GOTO equ 4 ;панель перехода TED_PANEL_WIDTH equ 150 ;ширина панели count_of_dir_list_files equ 15 ;максимальное число файлов синтаксиса показываемых в окне элемента tree1 ;------------------------------------------------------------------------------ struct TexSelect x0 dd ? y0 dd ? x1 dd ? y1 dd ? ends ;------------------------------------------------------------------------------ align 4 tedit0: ;структура текстового редактора .wnd BOX 0,50,440,150 ;+ 0 .rec BOX 30,25,ini_def_symbol_w,ini_def_symbol_h ;+16 .drag_m db 0 ;+32 выделение от мыши .drag_k db 0 ;+33 выделение от клавиатуры .sel TexSelect 0,0,0,0 ;+34 структура выделения .seln TexSelect ;+50 дополнительная структура выделения .tex dd 0 ;+66 text memory pointer .tex_1 dd 0 ;+70 text first symbol pointer .tex_end dd 0 ;+74 text end memory pointer .cur_x dd 0 ;+78 координата x курсора .cur_y dd 0 ;+82 координата y курсора .max_chars dd maxChars ;+86 максимальное число символов в одном документе .count_colors_text dd 1 ;+90 колличество цветов текста .count_key_words dd 0 ;+94 колличество ключевых слов .color_cursor dd 0x808080 ;+98 цвет курсора .color_wnd_capt dd 0x80 ;+102 цвет полей вокруг окна .color_wnd_work dd 0x0 ;+106 цвет фона окна .color_wnd_bord dd 0xd0d0d0 ;+110 цвет текста на полях .color_select dd 0x208080 ;+114 цвет выделения .color_cur_text dd 0xff0000 ;+118 цвет символа под курсором .color_wnd_text dd 0xffff00 ;+122 цвет текста в окне .syntax_file dd 0 ;+126 указатель на начало файла синтаксиса .syntax_file_size dd maxSyntaxFileSize ;+130 максимальный размер файла синтаксиса .text_colors dd 0 ;+134 указатель на массив цветов текста .help_text_f1 dd 0 ;+138 указатель на текст справки (по нажатии F1) .help_id dd -1 ;+142 идентификатор для справки .key_words_data dd 0 ;+146 указатель на структуры ключевых слов TexColViv .tim_ch dd ? ;+150 количество изменений в файле .tim_undo dd ? ;+154 количество отмененных действий .tim_ls dd ? ;+158 время последнего сохранения .tim_co dd ? ;+162 время последней цветовой разметки .el_focus dd el_focus ;+166 указатель на переменную элемента в фокусе .err_save db 0 ;+170 ошибка сохранения файла .panel_id db 0 ;+171 номер открытой панели .key_new db 0 ;+172 символ, который будет добавлятся с клавиатуры .symbol_new_line db 20 ;+173 символ завершения строки .scr_w dd wScr ;+174 вертикальный скроллинг .scr_h dd hScr ;+178 горизонтальный скроллинг .arr_key_pos dd 0 ;+182 указатель на массив позиций ключевых слов .buffer dd buf ;+186 указатель на буфер копирования/вставки .buffer_find dd buf_find ;+190 указатель на буфер для поиска .cur_ins db 1 ;+194 режим работы курсора (обычный или замена) .mode_color db 1 ;+195 режим выделения слов цветом (0-выкл. 1-вкл.) .mode_invis db 0 ;+196 режим показа непечатаемых символов .gp_opt db 0 ;+197 опции возвращаемые функцией ted_get_pos_by_cursor .fun_on_key_ctrl_all dd ted_but_ctrl_all ;+198 указатель на функцию вызываемую при нажатии Ctrl+N,O,S,F,H,G dd 0,0,0 ;зарезервировано .buffer_size dd BUF_SIZE ;+214 размер буфера копирования/вставки .fun_find_err dd ted_on_find_err ;+218 указатель на функцию вызываемую если поиск закончился неудачно .fun_init_synt_err dd 0 ;+222 .fun_draw_panel_buttons dd draw_but_toolbar ;+226 указатель на функцию рисования панели с кнопками .fun_draw_panels dd draw_panels ;+230 указатель на функцию рисования панели поиска/замены dd 0 ;+234 зарезервировано .fun_save_err dd ted_save_err_msg ;+238 указатель на функцию вызываемую если сохранение файла закончилось неудачно .increase_size dd 200 ;+242 число символов на которые будет увечиваться память при нехватке .ptr_free_symb dd ? ;+246 используется внутри элемента для ускорения вставки текста .font_size dd 0 ;+250 множитель для размера шрифта ;------------------------------------------------------------------------------ conv_tabl rb 128 ; таблица для конвертирования scan-кода в ascii-код el_focus dd tedit0 mouse_dd dd 0 tree1 tree_list 264,count_of_dir_list_files+2, tl_key_no_edit+tl_draw_par_line+tl_list_box_mode,\ 16,16, 0x8080ff,0x0000ff,0xffffff, 0,70,TED_PANEL_WIDTH-17,120, 0,0,0, el_focus,\ ws_dir_lbox,0 ;dir_list memory tree_file_struct: dd 1,0,0,count_of_dir_list_files dd dir_mem db 0 .f: dd file_name align 4 opt_gr1 dd opt1 opt_grlist1 dd opt1,opt2,opt3,0 ;end option group opt1 option_box opt_gr1, 5, 90,6,12,0xd0d0ff, 0xff, 0x80ff,txt_f_opt_next,txt_f_opt_next.end-txt_f_opt_next opt2 option_box opt_gr1, 5,108,6,12,0xd0d0ff, 0xff, 0x80ff,txt_f_opt_perv,txt_f_opt_perv.end-txt_f_opt_perv opt3 option_box opt_gr1, 5,126,6,12,0xd0d0ff, 0xff, 0x80ff,txt_f_opt_beg,txt_f_opt_beg.end-txt_f_opt_beg check_boxes: ch1 check_box2 (5 shl 16+12),(144 shl 16 +12),5,0xffffff,0,0x80ff,ch_text.1,ch_flag_en+ch_flag_middle check_boxes_end: if lang eq ru msgbox_1: db '"Замена',13,10,'Сделано замен: ' .z: rb 10 msgbox_2: db 3,0 db 'Внимание',0 db 'Сохранить изменения в файле?',0 db 'Сохранить',0 db 'Не сохранять',0 db 'Отмена',0 db 0 msgbox_3: db 1,0 db 'Внимание',0 db 'Ошибка при открытии файла с цветовыми настройками!',13,\ 'Потому выделение слов цветом не возможно.',13,\ ' (код ошибки =' .err: db '?' db ')',0 db 'Закрыть',0 db 0 msgbox_4: db 1,0 db 'Внимание',0 db 'Ошибка при открытии файла!',13,\ 'Возможно имя файла введено не правильно.',13,\ ' (код ошибки =' .err: db '?' db ')',0 db 'Закрыть',0 db 0 msgbox_6: db 1,0 db 'Внимание',0 db 'Ошибка при сохранении файла!',13,\ 'Возможно имя файла введено не правильно.',13,\ ' (код ошибки =' .err: db '?' db ')',0 db 'Закрыть',0 db 0 msgbox_7: db '"Текст не найден',13,10 db 'Попробуйте или изменить запрос и повторить поиск." -tI',0 msgbox_9: db 3,0 db 'Внимание',0 db 'Не открылся ',39,'диалог открытия файла',39,'.',13 .fdp: rb 100 db 0 db 'Закрыть',0 db 0 txtFindCapt db 'Поиск:',0 txtFindNext db 'Найти далее',0 txtRerlaceCapt db 'Чем заменить:',0 txtRerlace db 'Заменить',0 txtRerlaceAll db 'Заменить все',0 txtFormatCapt db 'Формат',0 txtFormatApply db 'Применить',0 txtReplace db 'Заменить',0 txtReplaceAll db 'Заменить все',0 txtGotoCapt db 'Переход на строку:',0 txtGoto db 'Перейти',0 txt_f_opt_next: db 'Вниз' .end: db 0 txt_f_opt_perv: db 'Вверх' .end: db 0 txt_f_opt_beg: db 'С начала' .end: db 0 ch_text: .1 db 'Учитывать регистр',0 else msgbox_1: db '"Replace',13,10,'Made replacements: ' .z: rb 10 msgbox_2: db 3,0 db 'Warning',0 db 'Save changes to the file?',0 db 'Save',0 db 'Discard',0 db 'Cancel',0 db 0 msgbox_3: db 1,0 db 'Warning',0 db 'Error opening the file with the color settings!',13,\ 'Because color selection of words is not possible.',13,\ ' (error code =' .err: db '?' db ')',0 db 'Close',0 db 0 msgbox_4: db 1,0 db 'Warning',0 db 'Error opening file!',13,\ 'Maybe the file name is not entered correctly.',13,\ ' (error code =' .err: db '?' db ')',0 db 'Close',0 db 0 msgbox_6: db 1,0 db 'Warning',0 db 'Error saving file!',13,\ 'Maybe the file name is not entered correctly.',13,\ ' (error code =' .err: db '?' db ')',0 db 'Close',0 db 0 msgbox_7: db '"Text not found.',13,10 db 'Try change the query and search again." -tI',0 msgbox_9: db 3,0 db 'Warning',0 db 'Error run ',39,'open file dialog',39,'.',13 .fdp: rb 100 db 0 db 'Close',0 db 0 txtFindCapt db 'Search:',0 txtFindNext db 'Find next',0 txtRerlaceCapt db 'Replace with:',0 txtRerlace db 'Replace',0 txtRerlaceAll db 'Replace all',0 txtFormatCapt db 'Format',0 txtFormatApply db 'Apply',0 txtReplace db 'Replace',0 txtReplaceAll db 'Replace all',0 txtGotoCapt db 'Go to line:',0 txtGoto db 'Go to',0 txt_f_opt_next: db 'Down' .end: db 0 txt_f_opt_perv: db 'Up' .end: db 0 txt_f_opt_beg: db 'At first' .end: db 0 ch_text: .1 db 'Case sensitive',0 end if ;функции для кнопок в сообщениях msgbox_2N_funct: dd On_SaveAndNewFile dd On_NewFile dd 0 msgbox_2O_funct: dd On_SaveAndOpenFile dd ted_but_open_file.no_msg dd 0 msgbox_2E_funct: dd On_SaveAndExit dd On_Exit dd 0 KM_SHIFT equ 0x00010000 KM_CTRL equ 0x00020000 KM_ALT equ 0x00040000 KM_NUMLOCK equ 0x00080000 ; KEY CODES KEY_F1 equ 0x0000003B KEY_F2 equ 0x0000003C KEY_F3 equ 0x0000003D \ No newline at end of file +fn_col_option dd def_col_file fn_syntax_dir db 'info/',0 def_col_file db 'default.syn',0 exit_code dd 0 ;переменная используемая для выхода из программы panel_but rb 21 ;настройки отображения кнопок на панели ;значения задаваемые по умолчанию, без ini файла ini_def_window_t equ 20 ini_def_window_l equ 200 ini_def_window_w equ 570 ini_def_window_h equ 470 ini_def_symbol_w equ 7 ini_def_symbol_h equ 10 ini_def_font_s equ 0 ini_def_scroll_type equ 0 ;описание параматров для ini файла ini_name db 't_edit.ini',0 ini_sec_window db 'Window',0 key_window_t db 't',0 key_window_l db 'l',0 key_window_w db 'w',0 key_window_h db 'h',0 key_symbol_w db 'symbol_w',0 key_symbol_h db 'symbol_h',0 key_font_s db 'font_s',0 key_scroll_type db 'scroll_type',0 key_but_new db 'but_new',0 key_but_open db 'but_open',0 key_but_save db 'but_save',0 key_but_save_as db 'but_save_as',0 key_but_select db 'but_select',0 key_but_cut db 'but_cut',0 key_but_copy db 'but_copy',0 key_but_paste db 'but_paste',0 key_but_find db 'but_find',0 key_but_replace db 'but_replace',0 key_but_key_words db 'but_key_words',0 key_but_upper db 'but_upper',0 key_but_lower db 'but_lower',0 key_but_reverse db 'but_reverse',0 key_but_undo db 'but_undo',0 key_but_redo db 'but_redo',0 key_but_invisible db 'but_invisible',0 key_but_syntax_list db 'but_syntax_list',0 key_but_syntax_mode db 'but_syntax_mode',0 key_but_convert_1251_866 db 'but_convert_1251_866',0 key_but_convert_866_1251 db 'but_convert_866_1251',0 ini_sec_options db 'Options',0 key_synt_file: db 'syntax_' .numb: db '0',0 key_synt_ext: db 'ext_' .numb: db '0',0 ini_def_synt_f db 0 align 4 max_synt_auto_open equ 10 synt_auto_open: rb 64*max_synt_auto_open db 0 system_dir_0 db '/sys/lib/' lib_name_0 db 'box_lib.obj',0 system_dir_1 db '/sys/lib/' lib_name_1 db 'msgbox.obj',0 system_dir_2 db '/sys/lib/' lib_name_2 db 'proc_lib.obj',0 system_dir_3 db '/sys/lib/' lib_name_3 db 'libimg.obj',0 system_dir_4 db '/sys/lib/' lib_name_4 db 'libini.obj',0 system_dir_5 db '/sys/lib/' lib_name_5 db 'kmenu.obj',0 ;--------------------------------------------------------------------- align 4 import_box_lib: dd alib_init0 ;функция запускается макросом 1 раз при подключении бибилиотеки, потому в программе метка на нее не нужна edit_box_draw dd aEdit_box_draw edit_box_key dd aEdit_box_key edit_box_mouse dd aEdit_box_mouse ;edit_box_set_text dd aEdit_box_set_text ;version_ed dd aVersion_ed init_checkbox dd ainit_checkbox check_box_draw dd acheck_box_draw check_box_mouse dd acheck_box_mouse option_box_draw dd aOption_box_draw option_box_mouse dd aOption_box_mouse ;version_op dd aVersion_op scrollbar_ver_draw dd aScrollbar_ver_draw scrollbar_ver_mouse dd aScrollbar_ver_mouse scrollbar_hor_draw dd aScrollbar_hor_draw scrollbar_hor_mouse dd aScrollbar_hor_mouse ;version_scrollbar dd aVersion_scrollbar tl_data_init dd sz_tl_data_init tl_data_clear dd sz_tl_data_clear tl_info_clear dd sz_tl_info_clear tl_key dd sz_tl_key tl_mouse dd sz_tl_mouse tl_draw dd sz_tl_draw tl_info_undo dd sz_tl_info_undo tl_info_redo dd sz_tl_info_redo tl_node_add dd sz_tl_node_add tl_node_set_data dd sz_tl_node_set_data tl_node_get_data dd sz_tl_node_get_data tl_node_delete dd sz_tl_node_delete tl_cur_beg dd sz_tl_cur_beg tl_cur_next dd sz_tl_cur_next tl_cur_perv dd sz_tl_cur_perv ;tl_node_close_open dd sz_tl_node_close_open tl_node_lev_inc dd sz_tl_node_lev_inc tl_node_lev_dec dd sz_tl_node_lev_dec ted_but_sumb_upper dd sz_ted_but_sumb_upper ted_but_sumb_lover dd sz_ted_but_sumb_lover ted_but_convert_by_table dd sz_ted_but_convert_by_table ted_can_save dd sz_ted_can_save ted_clear dd sz_ted_clear ted_delete dd sz_ted_delete ted_draw dd sz_ted_draw ted_init dd sz_ted_init ted_init_scroll_bars dd sz_ted_init_scroll_bars ted_init_syntax_file dd sz_ted_init_syntax_file ted_is_select dd sz_ted_is_select ted_key dd sz_ted_key ted_mouse dd sz_ted_mouse ted_open_file dd sz_ted_open_file ted_save_file dd sz_ted_save_file ted_text_add dd sz_ted_text_add ted_but_select_word dd sz_ted_but_select_word ted_but_cut dd sz_ted_but_cut ted_but_copy dd sz_ted_but_copy ted_but_paste dd sz_ted_but_paste ted_but_undo dd sz_ted_but_undo ted_but_redo dd sz_ted_but_redo ted_but_reverse dd sz_ted_but_reverse ted_but_find dd sz_ted_but_find ted_but_replace dd sz_ted_but_replace ted_text_colored dd sz_ted_text_colored ted_go_to_position dd sz_ted_go_to_position version_text_edit dd sz_ted_version dd 0,0 alib_init0 db 'lib_init',0 aEdit_box_draw db 'edit_box_draw',0 aEdit_box_key db 'edit_box_key',0 aEdit_box_mouse db 'edit_box_mouse',0 ;aEdit_box_set_text db 'edit_box_set_text',0 ;aVersion_ed db 'version_ed',0 ainit_checkbox db 'init_checkbox2',0 acheck_box_draw db 'check_box_draw2',0 acheck_box_mouse db 'check_box_mouse2',0 aOption_box_draw db 'option_box_draw',0 aOption_box_mouse db 'option_box_mouse',0 ;aVersion_op db 'version_op',0 aScrollbar_ver_draw db 'scrollbar_v_draw',0 aScrollbar_ver_mouse db 'scrollbar_v_mouse',0 aScrollbar_hor_draw db 'scrollbar_h_draw',0 aScrollbar_hor_mouse db 'scrollbar_h_mouse',0 ;aVersion_scrollbar db 'version_scrollbar',0 sz_tl_data_init db 'tl_data_init',0 sz_tl_data_clear db 'tl_data_clear',0 sz_tl_info_clear db 'tl_info_clear',0 sz_tl_key db 'tl_key',0 sz_tl_mouse db 'tl_mouse',0 sz_tl_draw db 'tl_draw',0 sz_tl_info_undo db 'tl_info_undo',0 sz_tl_info_redo db 'tl_info_redo',0 sz_tl_node_add db 'tl_node_add',0 sz_tl_node_set_data db 'tl_node_set_data',0 sz_tl_node_get_data db 'tl_node_get_data',0 sz_tl_node_delete db 'tl_node_delete',0 sz_tl_cur_beg db 'tl_cur_beg',0 sz_tl_cur_next db 'tl_cur_next',0 sz_tl_cur_perv db 'tl_cur_perv',0 ;sz_tl_node_close_open db 'tl_node_close_open',0 sz_tl_node_lev_inc db 'tl_node_lev_inc',0 sz_tl_node_lev_dec db 'tl_node_lev_dec',0 sz_ted_but_sumb_upper db 'ted_but_sumb_upper',0 sz_ted_but_sumb_lover db 'ted_but_sumb_lover',0 sz_ted_but_convert_by_table db 'ted_but_convert_by_table',0 sz_ted_can_save db 'ted_can_save',0 sz_ted_clear db 'ted_clear',0 sz_ted_delete db 'ted_delete',0 sz_ted_draw db 'ted_draw',0 sz_ted_init db 'ted_init',0 sz_ted_init_scroll_bars db 'ted_init_scroll_bars',0 sz_ted_init_syntax_file db 'ted_init_syntax_file',0 sz_ted_is_select db 'ted_is_select',0 sz_ted_key db 'ted_key',0 sz_ted_mouse db 'ted_mouse',0 sz_ted_open_file db 'ted_open_file',0 sz_ted_save_file db 'ted_save_file',0 sz_ted_text_add db 'ted_text_add',0 sz_ted_but_select_word db 'ted_but_select_word',0 sz_ted_but_cut db 'ted_but_cut',0 sz_ted_but_copy db 'ted_but_copy',0 sz_ted_but_paste db 'ted_but_paste',0 sz_ted_but_undo db 'ted_but_undo',0 sz_ted_but_redo db 'ted_but_redo',0 sz_ted_but_reverse db 'ted_but_reverse',0 sz_ted_but_find db 'ted_but_find',0 sz_ted_but_replace db 'ted_but_replace',0 sz_ted_text_colored db 'ted_text_colored',0 sz_ted_go_to_position db 'ted_go_to_position',0 sz_ted_version db 'version_text_edit',0 align 4 import_proclib: OpenDialog_Init dd aOpenDialog_Init OpenDialog_Start dd aOpenDialog_Start dd 0,0 aOpenDialog_Init db 'OpenDialog_init',0 aOpenDialog_Start db 'OpenDialog_start',0 align 4 import_msgbox_lib: mb_create dd amb_create mb_reinit dd amb_reinit mb_setfunctions dd amb_setfunctions dd 0,0 amb_create db 'mb_create',0 amb_reinit db 'mb_reinit',0 amb_setfunctions db 'mb_setfunctions',0 align 4 import_libimg: dd alib_init1 img_to_rgb2 dd aimg_to_rgb2 img_decode dd aimg_decode img_destroy dd aimg_destroy dd 0,0 alib_init1 db 'lib_init',0 aimg_to_rgb2 db 'img_to_rgb2',0 aimg_decode db 'img_decode',0 ;автоматически определяет формат графических данных aimg_destroy db 'img_destroy',0 align 4 import_libini: dd alib_init2 ini_get_str dd aini_get_str ini_get_int dd aini_get_int ini_get_color dd aini_get_color dd 0,0 alib_init2 db 'lib_init',0 aini_get_str db 'ini_get_str',0 aini_get_int db 'ini_get_int',0 aini_get_color db 'ini_get_color',0 align 4 import_libkmenu: kmenu_init dd akmenu_init kmainmenu_draw dd akmainmenu_draw kmainmenu_dispatch_cursorevent dd akmainmenu_dispatch_cursorevent ksubmenu_new dd aksubmenu_new ksubmenu_delete dd aksubmenu_delete ksubmenu_draw dd aksubmenu_draw ksubmenu_add dd aksubmenu_add kmenuitem_new dd akmenuitem_new kmenuitem_delete dd akmenuitem_delete kmenuitem_draw dd akmenuitem_draw dd 0,0 akmenu_init db 'kmenu_init',0 akmainmenu_draw db 'kmainmenu_draw',0 akmainmenu_dispatch_cursorevent db 'kmainmenu_dispatch_cursorevent',0 aksubmenu_new db 'ksubmenu_new',0 aksubmenu_delete db 'ksubmenu_delete',0 aksubmenu_draw db 'ksubmenu_draw',0 aksubmenu_add db 'ksubmenu_add',0 akmenuitem_new db 'kmenuitem_new',0 akmenuitem_delete db 'kmenuitem_delete',0 akmenuitem_draw db 'kmenuitem_draw',0 ;--------------------------------------------------------------------- align 4 wScr scrollbar 16,50, 300,50, 15, 100,30,0, 0,0,0, 1 align 4 hScr scrollbar 150,0, 16,50, 15, 100,30,0, 0,0,0, 1 ;дочерний скроллинг для элемента ListBox align 4 ws_dir_lbox scrollbar 16,0, 30,70, 15, 100,30,0, 0,0,0, 1 ;--------------------------------------------------------------------- align 4 OpenDialog_data: .type dd 0 .procinfo dd procinfo ;+4 .com_area_name dd communication_area_name ;+8 .com_area dd 0 ;+12 .opendir_path dd plugin_path ;+16 .dir_default_path dd default_dir ;+20 .start_path dd file_name ;+24 путь к диалогу открытия файлов .draw_window dd draw_window ;+28 .status dd 0 ;+32 .openfile_path dd openfile_path ;+36 путь к открываемому файлу .filename_area dd filename_area ;+40 имя открываемого файла .filter_area dd Filter .x: .x_size dw 420 ;+48 ; Window X size .x_start dw 10 ;+50 ; Window X position .y: .y_size dw 320 ;+52 ; Window y size .y_start dw 10 ;+54 ; Window Y position default_dir db '/rd/1',0 ;директория по умолчанию communication_area_name: db 'FFFFFFFF_open_dialog',0 open_dialog_name: db 'opendial',0 communication_area_default_path: db '/rd/1/File managers/',0 Filter: dd Filter.end - Filter.1 .1: db 'ASM',0 db 'CPP',0 db 'INC',0 db 'MAC',0 db 'INI',0 db 'TXT',0 db 'H',0 db 'C',0 db 'HTM',0 db 'HTML',0 db 'PY',0 db 'SH',0 db 'BAT',0 db 'LUA',0 db 'INF',0 db 'LOG',0 db 'DBG',0 db 'DAT',0 .end: db 0 txt_Info db '" -tI',0 TED_PANEL_NULL equ 0 ;нет открытой панели TED_PANEL_FIND equ 1 ;панель поиска TED_PANEL_REPLACE equ 2 ;панель замены TED_PANEL_SYNTAX equ 3 ;панель выбора файлов подсветки TED_PANEL_GOTO equ 4 ;панель перехода TED_PANEL_WIDTH equ 150 ;ширина панели count_of_dir_list_files equ 15 ;максимальное число файлов синтаксиса показываемых в окне элемента tree1 ;------------------------------------------------------------------------------ struct TexSelect x0 dd ? y0 dd ? x1 dd ? y1 dd ? ends ;------------------------------------------------------------------------------ align 4 tedit0: ;структура текстового редактора .wnd BOX 0,50,440,150 ;+ 0 .rec BOX 30,25,ini_def_symbol_w,ini_def_symbol_h ;+16 .drag_m db 0 ;+32 выделение от мыши .drag_k db 0 ;+33 выделение от клавиатуры .sel TexSelect 0,0,0,0 ;+34 структура выделения .seln TexSelect ;+50 дополнительная структура выделения .tex dd 0 ;+66 text memory pointer .tex_1 dd 0 ;+70 text first symbol pointer .tex_end dd 0 ;+74 text end memory pointer .cur_x dd 0 ;+78 координата x курсора .cur_y dd 0 ;+82 координата y курсора .max_chars dd maxChars ;+86 максимальное число символов в одном документе .count_colors_text dd 1 ;+90 колличество цветов текста .count_key_words dd 0 ;+94 колличество ключевых слов .color_cursor dd 0x808080 ;+98 цвет курсора .color_wnd_capt dd 0x80 ;+102 цвет полей вокруг окна .color_wnd_work dd 0x0 ;+106 цвет фона окна .color_wnd_bord dd 0xd0d0d0 ;+110 цвет текста на полях .color_select dd 0x208080 ;+114 цвет выделения .color_cur_text dd 0xff0000 ;+118 цвет символа под курсором .color_wnd_text dd 0xffff00 ;+122 цвет текста в окне .syntax_file dd 0 ;+126 указатель на начало файла синтаксиса .syntax_file_size dd maxSyntaxFileSize ;+130 максимальный размер файла синтаксиса .text_colors dd 0 ;+134 указатель на массив цветов текста .help_text_f1 dd 0 ;+138 указатель на текст справки (по нажатии F1) .help_id dd -1 ;+142 идентификатор для справки .key_words_data dd 0 ;+146 указатель на структуры ключевых слов TexColViv .tim_ch dd ? ;+150 количество изменений в файле .tim_undo dd ? ;+154 количество отмененных действий .tim_ls dd ? ;+158 время последнего сохранения .tim_co dd ? ;+162 время последней цветовой разметки .el_focus dd el_focus ;+166 указатель на переменную элемента в фокусе .err_save db 0 ;+170 ошибка сохранения файла .panel_id db 0 ;+171 номер открытой панели .key_new db 0 ;+172 символ, который будет добавлятся с клавиатуры .symbol_new_line db 20 ;+173 символ завершения строки .scr_w dd wScr ;+174 вертикальный скроллинг .scr_h dd hScr ;+178 горизонтальный скроллинг .arr_key_pos dd 0 ;+182 указатель на массив позиций ключевых слов .buffer dd buf ;+186 указатель на буфер копирования/вставки .buffer_find dd buf_find ;+190 указатель на буфер для поиска .cur_ins db 1 ;+194 режим работы курсора (обычный или замена) .mode_color db 1 ;+195 режим выделения слов цветом (0-выкл. 1-вкл.) .mode_invis db 0 ;+196 режим показа непечатаемых символов .gp_opt db 0 ;+197 опции возвращаемые функцией ted_get_pos_by_cursor .fun_on_key_ctrl_all dd ted_but_ctrl_all ;+198 указатель на функцию вызываемую при нажатии Ctrl+N,O,S,F,H,G dd 0,0,0 ;зарезервировано .buffer_size dd BUF_SIZE ;+214 размер буфера копирования/вставки .fun_find_err dd ted_on_find_err ;+218 указатель на функцию вызываемую если поиск закончился неудачно .fun_init_synt_err dd 0 ;+222 .fun_draw_panel_buttons dd draw_but_toolbar ;+226 указатель на функцию рисования панели с кнопками .fun_draw_panels dd draw_panels ;+230 указатель на функцию рисования панели поиска/замены dd 0 ;+234 зарезервировано .fun_save_err dd ted_save_err_msg ;+238 указатель на функцию вызываемую если сохранение файла закончилось неудачно .increase_size dd 200 ;+242 число символов на которые будет увечиваться память при нехватке .ptr_free_symb dd ? ;+246 используется внутри элемента для ускорения вставки текста .font_size dd 0 ;+250 множитель для размера шрифта ;------------------------------------------------------------------------------ conv_tabl rb 128 ; таблица для конвертирования scan-кода в ascii-код el_focus dd tedit0 mouse_dd dd 0 tree1 tree_list 264,count_of_dir_list_files+2, tl_key_no_edit+tl_draw_par_line+tl_list_box_mode,\ 16,16, 0x8080ff,0x0000ff,0xffffff, 0,70,TED_PANEL_WIDTH-17,120, 0,0,0, el_focus,\ ws_dir_lbox,0 ;dir_list memory tree_file_struct: dd 1,0,0,count_of_dir_list_files dd dir_mem db 0 .f: dd file_name align 4 opt_gr1 dd opt1 opt_grlist1 dd opt1,opt2,opt3,0 ;end option group opt1 option_box opt_gr1, 5, 90,6,12,0xd0d0ff, 0xff, 0x80ff,txt_f_opt_next,txt_f_opt_next.end-txt_f_opt_next opt2 option_box opt_gr1, 5,108,6,12,0xd0d0ff, 0xff, 0x80ff,txt_f_opt_perv,txt_f_opt_perv.end-txt_f_opt_perv opt3 option_box opt_gr1, 5,126,6,12,0xd0d0ff, 0xff, 0x80ff,txt_f_opt_beg,txt_f_opt_beg.end-txt_f_opt_beg check_boxes: ch1 check_box2 (5 shl 16+12),(144 shl 16 +12),5,0xffffff,0,0x80ff,ch_text.1,ch_flag_en+ch_flag_middle check_boxes_end: if lang eq ru msgbox_1: db '"Замена',13,10,'Сделано замен: ' .z: rb 10 msgbox_2: db 3,0 db 'Внимание',0 db 'Сохранить изменения в файле?',0 db 'Сохранить',0 db 'Не сохранять',0 db 'Отмена',0 db 0 msgbox_3: db 1,0 db 'Внимание',0 db 'Ошибка при открытии файла с цветовыми настройками!',13,\ 'Потому выделение слов цветом не возможно.',13,\ ' (код ошибки =' .err: db '?' db ')',0 db 'Закрыть',0 db 0 msgbox_4: db 1,0 db 'Внимание',0 db 'Ошибка при открытии файла!',13,\ 'Возможно имя файла введено не правильно.',13,\ ' (код ошибки =' .err: db '?' db ')',0 db 'Закрыть',0 db 0 msgbox_6: db 1,0 db 'Внимание',0 db 'Ошибка при сохранении файла!',13,\ 'Возможно имя файла введено не правильно.',13,\ ' (код ошибки =' .err: db '?' db ')',0 db 'Закрыть',0 db 0 msgbox_7: db '"Текст не найден',13,10 db 'Попробуйте или изменить запрос и повторить поиск." -tI',0 msgbox_9: db 3,0 db 'Внимание',0 db 'Не открылся ',39,'диалог открытия файла',39,'.',13 .fdp: rb 100 db 0 db 'Закрыть',0 db 0 txtFindCapt db 'Поиск:',0 txtFindNext db 'Найти далее',0 txtRerlaceCapt db 'Чем заменить:',0 txtRerlace db 'Заменить',0 txtRerlaceAll db 'Заменить все',0 txtFormatCapt db 'Формат',0 txtFormatApply db 'Применить',0 txtReplace db 'Заменить',0 txtReplaceAll db 'Заменить все',0 txtGotoCapt db 'Переход на строку:',0 txtGoto db 'Перейти',0 txt_f_opt_next: db 'Вниз' .end: db 0 txt_f_opt_perv: db 'Вверх' .end: db 0 txt_f_opt_beg: db 'С начала' .end: db 0 ch_text: .1 db 'Учитывать регистр',0 else msgbox_1: db '"Replace',13,10,'Made replacements: ' .z: rb 10 msgbox_2: db 3,0 db 'Warning',0 db 'Save changes to the file?',0 db 'Save',0 db 'Discard',0 db 'Cancel',0 db 0 msgbox_3: db 1,0 db 'Warning',0 db 'Error opening the file with the color settings!',13,\ 'Because color selection of words is not possible.',13,\ ' (error code =' .err: db '?' db ')',0 db 'Close',0 db 0 msgbox_4: db 1,0 db 'Warning',0 db 'Error opening file!',13,\ 'Maybe the file name is not entered correctly.',13,\ ' (error code =' .err: db '?' db ')',0 db 'Close',0 db 0 msgbox_6: db 1,0 db 'Warning',0 db 'Error saving file!',13,\ 'Maybe the file name is not entered correctly.',13,\ ' (error code =' .err: db '?' db ')',0 db 'Close',0 db 0 msgbox_7: db '"Text not found.',13,10 db 'Try change the query and search again." -tI',0 msgbox_9: db 3,0 db 'Warning',0 db 'Error run ',39,'open file dialog',39,'.',13 .fdp: rb 100 db 0 db 'Close',0 db 0 txtFindCapt db 'Search:',0 txtFindNext db 'Find next',0 txtRerlaceCapt db 'Replace with:',0 txtRerlace db 'Replace',0 txtRerlaceAll db 'Replace all',0 txtFormatCapt db 'Format',0 txtFormatApply db 'Apply',0 txtReplace db 'Replace',0 txtReplaceAll db 'Replace all',0 txtGotoCapt db 'Go to line:',0 txtGoto db 'Go to',0 txt_f_opt_next: db 'Down' .end: db 0 txt_f_opt_perv: db 'Up' .end: db 0 txt_f_opt_beg: db 'At first' .end: db 0 ch_text: .1 db 'Case sensitive',0 end if ;функции для кнопок в сообщениях msgbox_2N_funct: dd On_SaveAndNewFile dd On_NewFile dd 0 msgbox_2O_funct: dd On_SaveAndOpenFile dd ted_but_open_file.no_msg dd 0 msgbox_2E_funct: dd On_SaveAndExit dd On_Exit dd 0 KM_SHIFT equ 0x00010000 KM_CTRL equ 0x00020000 KM_ALT equ 0x00040000 KM_NUMLOCK equ 0x00080000 ; KEY CODES KEY_F1 equ 0x0000003B KEY_F2 equ 0x0000003C KEY_F3 equ 0x0000003D \ No newline at end of file diff --git a/programs/other/t_edit_synt/te_data.inc b/programs/other/t_edit_synt/te_data.inc index 4f02c361cd..2bb81715c9 100644 --- a/programs/other/t_edit_synt/te_data.inc +++ b/programs/other/t_edit_synt/te_data.inc @@ -75,7 +75,7 @@ PathShow_draw dd sz_PathShow_draw dd 0,0 alib_init2 db 'lib_init',0 -aEdit_box_draw db 'edit_box',0 +aEdit_box_draw db 'edit_box_draw',0 aEdit_box_key db 'edit_box_key',0 aEdit_box_mouse db 'edit_box_mouse',0 diff --git a/programs/system/MyKey/trunk/MyKey.asm b/programs/system/MyKey/trunk/MyKey.asm index 4dc96cb204..e415f6fc1c 100644 --- a/programs/system/MyKey/trunk/MyKey.asm +++ b/programs/system/MyKey/trunk/MyKey.asm @@ -1000,7 +1000,7 @@ edit_box_mouse dd aEdit_box_mouse version_ed dd aVersion_ed dd 0,0 -aEdit_box_draw db 'edit_box',0 +aEdit_box_draw db 'edit_box_draw',0 aEdit_box_key db 'edit_box_key',0 aEdit_box_mouse db 'edit_box_mouse',0 aVersion_ed db 'version_ed',0 @@ -1013,7 +1013,7 @@ library \ ; libio, 'libio.obj', \ ;import boxlib, \ -;edit_box_draw , 'edit_box', \ +;edit_box_draw , 'edit_box_draw', \ ;edit_box_key , 'edit_box_key', \ ;edit_box_mouse , 'edit_box_mouse', \ ;version_ed , 'version_ed' diff --git a/programs/system/colrdial/i_data.inc b/programs/system/colrdial/i_data.inc index 948a9b71b6..2fabe12d61 100644 --- a/programs/system/colrdial/i_data.inc +++ b/programs/system/colrdial/i_data.inc @@ -79,7 +79,7 @@ Frame_draw dd sz_Frame_draw ;a_init db 'lib_init',0 ;a_version db 'version',0 -aEdit_box_draw db 'edit_box',0 +aEdit_box_draw db 'edit_box_draw',0 aEdit_box_key db 'edit_box_key',0 aEdit_box_mouse db 'edit_box_mouse',0 aEdit_box_set_text db 'edit_box_set_text',0 diff --git a/programs/system/format/format.asm b/programs/system/format/format.asm index 59a372b000..42c83bc452 100644 --- a/programs/system/format/format.asm +++ b/programs/system/format/format.asm @@ -715,7 +715,7 @@ align 16 library box_lib, 'box_lib.obj' import box_lib,\ - edit_box_draw, 'edit_box',\ + edit_box_draw, 'edit_box_draw',\ edit_box_key, 'edit_box_key',\ edit_box_mouse, 'edit_box_mouse',\ init_checkbox, 'init_checkbox2',\ diff --git a/programs/system/hdd_info/trunk/hdd_info.asm b/programs/system/hdd_info/trunk/hdd_info.asm index c0e66a0f4c..c5b6a2b4b8 100644 --- a/programs/system/hdd_info/trunk/hdd_info.asm +++ b/programs/system/hdd_info/trunk/hdd_info.asm @@ -1750,13 +1750,12 @@ option_box_mouse dd aOption_box_mouse PathShow_prepare dd sz_PathShow_prepare PathShow_draw dd sz_PathShow_draw ;Version_path_show dd szVersion_path_show - dd 0 - dd 0 + dd 0,0 ;a_init db 'lib_init',0 ;a_version db 'version',0 -aEdit_box_draw db 'edit_box',0 +aEdit_box_draw db 'edit_box_draw',0 aEdit_box_key db 'edit_box_key',0 aEdit_box_mouse db 'edit_box_mouse',0 ;aVersion_ed db 'version_ed',0 diff --git a/programs/system/icon_new/icon.asm b/programs/system/icon_new/icon.asm index 5199617960..56e3f75cfb 100644 --- a/programs/system/icon_new/icon.asm +++ b/programs/system/icon_new/icon.asm @@ -1074,7 +1074,7 @@ import archiver,\ unpack_DeflateUnpack2 ,'deflate_unpack2' import box_lib,\ - edit_box_draw ,'edit_box',\ + edit_box_draw ,'edit_box_draw',\ edit_box_key ,'edit_box_key',\ edit_box_mouse ,'edit_box_mouse',\ scrollbar_h_draw ,'scrollbar_h_draw',\ diff --git a/programs/system/rdsave/trunk/rdsave.asm b/programs/system/rdsave/trunk/rdsave.asm index 9afe0341ec..fa591fb545 100644 --- a/programs/system/rdsave/trunk/rdsave.asm +++ b/programs/system/rdsave/trunk/rdsave.asm @@ -31,7 +31,8 @@ include '../../../debug.inc' end if include '../../../proc32.inc' include '../../../dll.inc' -include '../../../develop/libraries/box_lib/load_lib.mac' +include '../../../KOSfuncs.inc' +include '../../../load_lib.mac' include '../../../develop/libraries/box_lib/trunk/box_lib.mac' include 'str.inc' @@ -493,27 +494,16 @@ system_dir_Boxlib db '/sys/lib/box_lib.obj',0 system_dir_ProcLib db '/sys/lib/proc_lib.obj',0 system_dir_libini db '/sys/lib/libini.obj',0 ;--------------------------------------------------------------------- -head_f_i: -head_f_l db 'System error',0 - -err_message_found_lib1 db 'box_lib.obj - Not found!',0 -err_message_found_lib2 db 'proc_lib.obj - Not found!',0 -err_message_found_lib3 db 'libini.obj - Not found!',0 - -err_message_import1 db 'box_lib.obj - Wrong import!',0 -err_message_import2 db 'proc_lib.obj - Wrong import!',0 -err_message_import3 db 'libini.obj - Wrong import!',0 -;--------------------------------------------------------------------- l_libs_start: -library01 l_libs system_dir_Boxlib+9, cur_dir_path, library_path, system_dir_Boxlib, \ -err_message_found_lib1, head_f_l, Box_lib_import, err_message_import1, head_f_i +library01 l_libs system_dir_Boxlib+9, library_path, system_dir_Boxlib, \ + Box_lib_import -library02 l_libs system_dir_ProcLib+9, cur_dir_path, library_path, system_dir_ProcLib, \ -err_message_found_lib2, head_f_l, ProcLib_import, err_message_import2, head_f_i +library02 l_libs system_dir_ProcLib+9, library_path, system_dir_ProcLib, \ + ProcLib_import -library03 l_libs system_dir_libini+9, cur_dir_path, library_path, system_dir_libini, \ -err_message_found_lib3, head_f_l, libini_import, err_message_import3, head_f_i +library03 l_libs system_dir_libini+9, library_path, system_dir_libini, \ + libini_import end_l_libs: ;--------------------------------------------------------------------- @@ -563,8 +553,7 @@ align 4 ProcLib_import: OpenDialog_Init dd aOpenDialog_Init OpenDialog_Start dd aOpenDialog_Start - dd 0 - dd 0 + dd 0,0 aOpenDialog_Init db 'OpenDialog_init',0 aOpenDialog_Start db 'OpenDialog_start',0 ;--------------------------------------------------------------------- @@ -592,10 +581,9 @@ Box_lib_import: PathShow_prepare dd sz_PathShow_prepare PathShow_draw dd sz_PathShow_draw Frame_draw dd sz_Frame_draw - dd 0 - dd 0 + dd 0,0 -;aEdit_box_draw db 'edit_box',0 +;aEdit_box_draw db 'edit_box_draw',0 ;aEdit_box_key db 'edit_box_key',0 ;aEdit_box_mouse db 'edit_box_mouse',0 ;aVersion_ed db 'version_ed',0 @@ -631,8 +619,7 @@ ini_get_str dd aini_get_str ini_get_int dd aini_get_int ini_set_str dd aini_set_str ini_set_int dd aini_set_int - dd 0 - dd 0 + dd 0,0 a_init db 'lib_init',0 aini_get_str db 'ini_get_str',0 aini_get_int db 'ini_get_int',0 diff --git a/programs/system/run/trunk/run.asm b/programs/system/run/trunk/run.asm index 69d464c52e..c7311659b3 100644 --- a/programs/system/run/trunk/run.asm +++ b/programs/system/run/trunk/run.asm @@ -1,16 +1,17 @@ window_h=85 window_w=430 ;--- другие макросы --- -include '../../../develop/libraries/box_lib/load_lib.mac' +include '../../../KOSfuncs.inc' +include '../../../load_lib.mac' include '../../../develop/libraries/box_lib/trunk/box_lib.mac' include 'txtbut.inc' include '../../../macros.inc' include 'run.mac' include 'lang.inc' use32 - org 0x0 + org 0 db 'MENUET01' - dd 0x1 + dd 1 dd start dd i_end dd mem @@ -27,23 +28,22 @@ use32 ;load system lib align 4 start: -sys_load_library library_name, cur_dir_path, library_path, system_path, \ -err_message_found_lib, head_f_l, myimport, err_message_import, head_f_i +sys_load_library library_name, library_path, system_path, myimport cmp eax,-1 jz close cmp [par],byte 0 jne read_par - mcall 40,EVM_MOUSE+EVM_BUTTON+EVM_KEY+EVM_REDRAW+EVM_MOUSE_FILTER + mcall SF_SET_EVENTS_MASK, EVM_MOUSE+EVM_BUTTON+EVM_KEY+EVM_REDRAW+EVM_MOUSE_FILTER red: - mcall 48,3,sc,40 + mcall SF_STYLE_SETTINGS,SSF_GET_COLORS,sc,40 edit_boxes_set_sys_color input_fn,input_fn_end,sc set_sys_colors_txt_button run_but,sc push dword [sc.work_graph] pop [input_fn.focus_border_color] call draw_window still: ;основной обработчик - mcall 10 ;Ожидать события + mcall SF_WAIT_EVENT dec eax jz red dec eax @@ -56,7 +56,7 @@ still: ; jmp still ;если ничего из перечисленного то снова в цикл key: - mcall 2 + mcall SF_GET_KEY cmp ah,13 je run ; key_edit_box input_fn @@ -65,7 +65,7 @@ key: jmp still button: - mcall 17 + mcall SF_GET_BUTTON dec ah jz close dec ah @@ -133,7 +133,7 @@ copy_par: inc edi jmp @b .stop: - mcall 70,file_info + mcall SF_FILE,file_info cmp eax,0 jl error @@ -141,7 +141,7 @@ copy_par: call draw_status jmp still close: - mcall -1 + mcall SF_TERMINATE_PROCESS error: neg eax @@ -158,13 +158,13 @@ error: jmp still draw_window: - mcall 48,5 + mcall SF_STYLE_SETTINGS,SSF_GET_SCREEN_AREA mov si,bx - mcall 12,1 - mcall 48,4 + mcall SF_REDRAW, SSF_BEGIN_DRAW + mcall SF_STYLE_SETTINGS,SSF_GET_SKIN_HEIGHT mov dx,ax - mcall 14 + mcall SF_GET_SCREEN_SIZE xor ecx,ecx sub cx,window_h+40 sub cx,dx @@ -181,9 +181,9 @@ draw_window: or edx,0x33000000 xor esi,esi mov edi,grab_text - mcall 0 + mcall SF_CREATE_WINDOW - mcall 9,procinfo,-1 + mcall SF_THREAD_INFO,procinfo,-1 mov eax,[procinfo.box.width] sub eax,20 @@ -200,7 +200,7 @@ draw_window: ; shl ecx,16 ; pop cx ; mov edx,[sc.work_graph] - ; mcall 38 + ; mcall SF_DRAW_LINE ; draw_edit_box input_fn push dword input_fn @@ -210,7 +210,7 @@ draw_window: call draw_status_text - mcall 12,2 + mcall SF_REDRAW, SSF_END_DRAW ret draw_status: @@ -218,7 +218,7 @@ draw_status: sub bx,10 mov ecx,(60)*65536+15 mov edx,[sc.work] - mcall 13 + mcall SF_DRAW_RECT draw_status_text: mov edx,[status] xor esi,esi @@ -230,7 +230,7 @@ draw_status_text: @@: mov ecx,[sc.work_text] or ecx,0x90000000 - mcall 4,5*65536+(60) + mcall SF_DRAW_TEXT,5*65536+(60) ret run_but txt_button 0,5,20,33,2,0,0x90000000,run_but_text, @@ -286,17 +286,6 @@ system_path db '/sys/lib/' library_name db 'box_lib.obj',0 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -if lang eq ru -err_message_found_lib db 'Ошибка при поиске box_lib.obj',0 -head_f_i: -head_f_l db 'Системная ошибка',0 -err_message_import db 'Ошибка при импорте box_lib.obj',0 -else -err_message_found_lib db 'Sorry I cannot load library box_lib.obj',0 -head_f_i: -head_f_l db 'System error',0 -err_message_import db 'Error on load import library box_lib.obj',0 -end if myimport: @@ -305,10 +294,9 @@ edit_box_key dd aEdit_box_key edit_box_mouse dd aEdit_box_mouse version_ed dd aVersion_ed - dd 0 - dd 0 + dd 0,0 -aEdit_box_draw db 'edit_box',0 +aEdit_box_draw db 'edit_box_draw',0 aEdit_box_key db 'edit_box_key',0 aEdit_box_mouse db 'edit_box_mouse',0 aVersion_ed db 'version_ed',0 @@ -317,7 +305,7 @@ aVersion_ed db 'version_ed',0 file_info: -.mode dd 7 +.mode dd SSF_START_APP .flags dd 0 .par dd run_par dd 0,0 diff --git a/programs/system/skincfg/trunk/idata.inc b/programs/system/skincfg/trunk/idata.inc index 18dd887dca..b19fd54c5c 100644 --- a/programs/system/skincfg/trunk/idata.inc +++ b/programs/system/skincfg/trunk/idata.inc @@ -121,26 +121,17 @@ aButtonStyle db 'buttons_gradient',0 ;--------------------------------------------------------------------- l_libs_start: -library01 l_libs system_dir_Boxlib+9, cur_dir_path, library_path, system_dir_Boxlib, \ -err_message_found_lib1, head_f_l, Box_lib_import, err_message_import1, head_f_i +library01 l_libs system_dir_Boxlib+9, library_path, system_dir_Boxlib, \ + Box_lib_import -library02 l_libs system_dir_ProcLib+9, cur_dir_path, library_path, system_dir_ProcLib, \ -err_message_found_lib2, head_f_l, ProcLib_import, err_message_import2, head_f_i +library02 l_libs system_dir_ProcLib+9, library_path, system_dir_ProcLib, \ + ProcLib_import end_l_libs: ;--------------------------------------------------------------------- system_dir_Boxlib db '/sys/lib/box_lib.obj',0 system_dir_ProcLib db '/sys/lib/proc_lib.obj',0 -head_f_i: -head_f_l db 'System error',0 - -err_message_found_lib1 db 'box_lib.obj - Not found!',0 -err_message_found_lib2 db 'proc_lib.obj - Not found!',0 - -err_message_import1 db 'box_lib.obj - Wrong import!',0 -err_message_import2 db 'proc_lib.obj - Wrong import!',0 - ;--------------------------------------------------------------------- align 4 @@ -207,13 +198,12 @@ PathShow_draw dd sz_PathShow_draw Frame_draw dd sz_Frame_draw ;Version_frame dd szVersion_frame - dd 0 - dd 0 + dd 0,0 ;a_init db 'lib_init',0 ;a_version db 'version',0 -;aEdit_box_draw db 'edit_box',0 +;aEdit_box_draw db 'edit_box_draw',0 ;aEdit_box_key db 'edit_box_key',0 ;aEdit_box_mouse db 'edit_box_mouse',0 ;aVersion_ed db 'version_ed',0 diff --git a/programs/system/skincfg/trunk/skincfg.asm b/programs/system/skincfg/trunk/skincfg.asm index e49006510d..cdec469ae3 100644 --- a/programs/system/skincfg/trunk/skincfg.asm +++ b/programs/system/skincfg/trunk/skincfg.asm @@ -34,7 +34,8 @@ include '../../../string.inc' include '../../../dll.inc' include 'kglobals.inc' include 'unpacker.inc' -include '../../../develop/libraries/box_lib/load_lib.mac' +include '../../../KOSfuncs.inc' +include '../../../load_lib.mac' @use_library ;****************************************************************************** ;-------------------------------------- diff --git a/programs/system/terminal/terminal.asm b/programs/system/terminal/terminal.asm index 74418f5bff..5cfb554ce9 100644 --- a/programs/system/terminal/terminal.asm +++ b/programs/system/terminal/terminal.asm @@ -410,7 +410,7 @@ library box_lib, 'box_lib.obj',\ console, 'console.obj' import box_lib,\ - edit_box_draw, 'edit_box',\ + edit_box_draw, 'edit_box_draw',\ edit_box_key, 'edit_box_key',\ edit_box_mouse, 'edit_box_mouse',\ init_checkbox, 'init_checkbox2',\ diff --git a/programs/testing/fspeed/fspeed.asm b/programs/testing/fspeed/fspeed.asm index b7b7ec4c42..29af6e26f7 100644 --- a/programs/testing/fspeed/fspeed.asm +++ b/programs/testing/fspeed/fspeed.asm @@ -27,14 +27,14 @@ ;***************************************************************************** ;----------------------------------------------------------------------------- use32 - org 0x0 + org 0 db 'MENUET01' - dd 0x01 + dd 1 dd START dd IM_END dd I_END dd STACK_TOP - dd 0x0 + dd 0 dd cur_dir_path ;----------------------------------------------------------------------------- include 'lang.inc' @@ -43,7 +43,8 @@ define __DEBUG__ 1 define __DEBUG_LEVEL__ 1 include '../../debug-fdo.inc' include '../../develop/libraries/box_lib/trunk/box_lib.mac' -include '../../develop/libraries/box_lib/load_lib.mac' +include '../../KOSfuncs.inc' +include '../../load_lib.mac' @use_library ;----------------------------------------------------------------------------- struct RESULT_SLOT diff --git a/programs/testing/fspeed/idata.inc b/programs/testing/fspeed/idata.inc index 5de39bfe9b..1d70173a88 100644 --- a/programs/testing/fspeed/idata.inc +++ b/programs/testing/fspeed/idata.inc @@ -26,26 +26,15 @@ include_debug_strings ;----------------------------------------------------------------------------- l_libs_start: -library01 l_libs system_dir_Boxlib+9, cur_dir_path, library_path, system_dir_Boxlib, \ -err_message_found_lib1, head_f_l, Box_lib_import, err_message_import1, head_f_i +library01 l_libs system_dir_Boxlib+9, library_path, system_dir_Boxlib, Box_lib_import -library02 l_libs system_dir_ProcLib+9, cur_dir_path, library_path, system_dir_ProcLib, \ -err_message_found_lib2, head_f_l, ProcLib_import, err_message_import2, head_f_i +library02 l_libs system_dir_ProcLib+9, library_path, system_dir_ProcLib, ProcLib_import end_l_libs: ;----------------------------------------------------------------------------- system_dir_Boxlib db '/sys/lib/box_lib.obj',0 system_dir_ProcLib db '/sys/lib/proc_lib.obj',0 -head_f_i: -head_f_l db 'System error',0 - -err_message_found_lib1 db 'box_lib.obj - Not found!',0 -err_message_found_lib2 db 'proc_lib.obj - Not found!',0 - -err_message_import1 db 'box_lib.obj - Wrong import!',0 -err_message_import2 db 'proc_lib.obj - Wrong import!',0 - ;----------------------------------------------------------------------------- align 4 ProcLib_import: @@ -115,13 +104,12 @@ PathShow_draw dd sz_PathShow_draw ;Frame_draw dd sz_Frame_draw ;Version_frame dd szVersion_frame - dd 0 - dd 0 + dd 0,0 ;a_init db 'lib_init',0 ;a_version db 'version',0 -;aEdit_box_draw db 'edit_box',0 +;aEdit_box_draw db 'edit_box_draw',0 ;aEdit_box_key db 'edit_box_key',0 ;aEdit_box_mouse db 'edit_box_mouse',0 ;aVersion_ed db 'version_ed',0 diff --git a/programs/testing/mgb/trunk/mgb.asm b/programs/testing/mgb/trunk/mgb.asm index dfb5a4b994..fe1208a3a7 100644 --- a/programs/testing/mgb/trunk/mgb.asm +++ b/programs/testing/mgb/trunk/mgb.asm @@ -1048,8 +1048,7 @@ ProcLib_import: OpenDialog_Init dd aOpenDialog_Init OpenDialog_Start dd aOpenDialog_Start ;OpenDialog__Version dd aOpenDialog_Version - dd 0 - dd 0 + dd 0,0 aOpenDialog_Init db 'OpenDialog_init',0 aOpenDialog_Start db 'OpenDialog_start',0 ;aOpenDialog_Version db 'Version_OpenDialog',0 @@ -1096,13 +1095,12 @@ edit_box_mouse dd aEdit_box_mouse ;PathShow_prepare dd sz_PathShow_prepare ;PathShow_draw dd sz_PathShow_draw ;Version_path_show dd szVersion_path_show - dd 0 - dd 0 + dd 0,0 ;a_init db 'lib_init',0 ;a_version db 'version',0 -aEdit_box_draw db 'edit_box',0 +aEdit_box_draw db 'edit_box_draw',0 aEdit_box_key db 'edit_box_key',0 aEdit_box_mouse db 'edit_box_mouse',0 ;aVersion_ed db 'version_ed',0