fix function name 'edit_box' to 'edit_box_draw'
git-svn-id: svn://kolibrios.org@9568 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
1 parent
c4f3315ffd
commit
0311a61f7f
49 files changed
+297
-457
No files matched your search
@@ -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',\
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
;---------------------------------------------------------------------
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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', \
|
||||
|
||||
@@ -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', \
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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'
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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_downLine truncated
|
||||
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_moveLine truncated
|
||||
@@ -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
|
||||
|
||||
@@ -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 <Lrz>',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 Line truncated
|
||||
;---------------------------------------------------------------------
; 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 <Lrz>',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 Line truncated
|
||||
@@ -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', \
|
||||
|
||||
@@ -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', \
|
||||
|
||||
@@ -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',\
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 ;ъырф▐ь чртхЁ°р■∙шщ эюы№
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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,\
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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_draLine truncated
|
||||
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_veLine truncated
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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'
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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',\
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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',\
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
;******************************************************************************
|
||||
;--------------------------------------
|
||||
|
||||
@@ -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',\
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in new issue
Block a user