forked from KolibriOS/kolibrios
Reorganization of the library 'box_lib.obj':
1) new file 'box_lib.mac' to connect all elements 2) Eliminate duplication of code. Minor improvements 'fasm'. git-svn-id: svn://kolibrios.org@1372 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
parent
5f6df01ace
commit
64cdacca6e
@ -56,6 +56,10 @@ sys_load_library library_name, cur_dir_path, library_path, system_path, \
|
|||||||
@@:
|
@@:
|
||||||
mcall 40,0x27 ;¬ ᪠á¨á⥬ëå ᮡë⨩
|
mcall 40,0x27 ;¬ ᪠á¨á⥬ëå ᮡë⨩
|
||||||
|
|
||||||
|
get_sys_colors 1,0
|
||||||
|
edit_boxes_set_sys_color edit1,editboxes_end,sc
|
||||||
|
check_boxes_set_sys_color ch1_dbg,ch1_dbg+ch_struc_size,sc
|
||||||
|
|
||||||
mov edi, fileinfos
|
mov edi, fileinfos
|
||||||
mov ecx, (fileinfos_end-fileinfos)/4
|
mov ecx, (fileinfos_end-fileinfos)/4
|
||||||
or eax, -1
|
or eax, -1
|
||||||
@ -188,7 +192,7 @@ draw_window:
|
|||||||
|
|
||||||
mcall 12,1 ; Start of draw
|
mcall 12,1 ; Start of draw
|
||||||
|
|
||||||
get_sys_colors 1,0
|
;get_sys_colors 1,0
|
||||||
|
|
||||||
xor eax,eax
|
xor eax,eax
|
||||||
mov ebx,100*65536+280
|
mov ebx,100*65536+280
|
||||||
@ -392,18 +396,8 @@ myimport:
|
|||||||
edit1 edit_box 153, 56, 1, 0xffffff, 0xff, 0x80ff, 0, 0x8000, (outfile-infile-1), infile, mouse_dd, 0, 11,11
|
edit1 edit_box 153, 56, 1, 0xffffff, 0xff, 0x80ff, 0, 0x8000, (outfile-infile-1), infile, mouse_dd, 0, 11,11
|
||||||
edit2 edit_box 153, 56, 17, 0xffffff, 0xff, 0x80ff, 0, 0x8000,(path-outfile-1), outfile, mouse_dd, 0, 7,7
|
edit2 edit_box 153, 56, 17, 0xffffff, 0xff, 0x80ff, 0, 0x8000,(path-outfile-1), outfile, mouse_dd, 0, 7,7
|
||||||
edit3 edit_box 153, 56, 33, 0xffffff, 0xff, 0x80ff, 0, 0x8000,(path_end-path-1), path, mouse_dd, 0, 6,6
|
edit3 edit_box 153, 56, 33, 0xffffff, 0xff, 0x80ff, 0, 0x8000,(path_end-path-1), path, mouse_dd, 0, 6,6
|
||||||
;ch1_dbg check_box 5, 49, 6, 12, 0xffffff, 0x80ff, 0, s_dbgdescr,(s_dbgdescr_end-s_dbgdescr)
|
editboxes_end:
|
||||||
ch1_dbg:
|
ch1_dbg check_box 5, 49, 6, 12, 0xffffff, 0x80ff, 0, s_dbgdescr,(s_dbgdescr_end-s_dbgdescr)
|
||||||
.left: dw 5
|
|
||||||
.top: dw 49
|
|
||||||
.ch_text_margin: dd 6
|
|
||||||
.ch_size: dd 12
|
|
||||||
.color: dd 0xffffff
|
|
||||||
.border_color: dd 0x80ff
|
|
||||||
.text_color: dd 0
|
|
||||||
.text: dd s_dbgdescr
|
|
||||||
.ch_text_length: dd (s_dbgdescr_end-s_dbgdescr)
|
|
||||||
.flags: dd 0
|
|
||||||
|
|
||||||
mouse_dd dd 0 ;íóæíî äëÿ Shift-à â editbox
|
mouse_dd dd 0 ;íóæíî äëÿ Shift-à â editbox
|
||||||
|
|
||||||
|
@ -1,117 +1,7 @@
|
|||||||
|
include '../../trunk/editbox.mac'
|
||||||
|
include '../../trunk/checkbox.mac'
|
||||||
|
include '../../trunk/optionbox.mac'
|
||||||
|
|
||||||
ch_struc_size=36
|
|
||||||
ed_struc_size=76
|
|
||||||
ch_flag_en=10b
|
|
||||||
|
|
||||||
ch_left equ [edi] ;ª®®à¤¨ â ç « à¨á®¢ ¨ï ¯® å
|
|
||||||
ch_top equ [edi+2] ;ª®®à¤¨ â ç « à¨á®¢ ¨ï ¯® ã
|
|
||||||
ch_text_margin equ [edi+4] ;=4 à ááâ®ï¨¥ ®â ¯àאַ㣮«ì¨ª 祪 ¡®ªá ¤® ¤¯¨á¨
|
|
||||||
ch_size equ [edi+8] ;12 à §¬¥à ª¢ ¤à â 祪 ¡®ªá
|
|
||||||
ch_color equ [edi+12] ;梥⠢ãâਠcheckbox
|
|
||||||
ch_border_color equ [edi+16] ; or [edi+4] ;梥â à ¬ª¨ checkbox ¥¥ ¬®¦® § ¤ âì á ¬®áâ®ï⥫ì®
|
|
||||||
ch_text_color equ [edi+20];[edi+4] ;梥â ⥪áâ
|
|
||||||
ch_text_ptr equ [edi+24] ;㪠§ ⥫ì ç «® ⥪á⮢®© áâப¨
|
|
||||||
ch_text_length equ [edi+28]
|
|
||||||
ch_flags equ [edi+32] ;ä« £¨
|
|
||||||
|
|
||||||
ed_width equ [edi] ;è¨à¨ ª®¬¯®¥â
|
|
||||||
ed_left equ [edi+4] ;¯®«®¦¥¨¥ ¯® ®á¨ å
|
|
||||||
ed_top equ [edi+8] ;¯®«®¦¥¨¥ ¯® ®á¨ ã
|
|
||||||
ed_color equ [edi+12] ;梥â ä® ª®¬¯®¥â
|
|
||||||
shift_color equ [edi+16] ;=0x6a9480 ¤«ï ¯à¨¬¥à ¢®§ì¥¬ ¦¥«¥ë© 梥⠡®ªá
|
|
||||||
ed_focus_border_color equ [edi+20] ;梥â à ¬ª¨ ª®¬¯®¥â
|
|
||||||
ed_blur_border_color equ [edi+24] ;梥⠥ ªâ¨¢®£® ª®¬¯®¥â
|
|
||||||
ed_text_color equ [edi+28] ;梥â ⥪áâ
|
|
||||||
ed_max equ [edi+32] ;ª®«-¢® ᨬ¢®«®¢ ª®â®àë¥ ¬®¦® ¬ ªá¨¬ «ì® ¢¢¥áâ¨
|
|
||||||
ed_text equ [edi+36] ;㪠§ â¥«ì ¡ãä¥à
|
|
||||||
ed_mouse_variable equ [edi+40] ; 㪠§ â¥«ì ¯¥à¥¬¥ãî ¤«ï ¡®ªá /£à㯯ë
|
|
||||||
ed_flags equ [edi+44] ;ä« £¨
|
|
||||||
bp_flags equ [ebp+44] ;¢ ¥ª®â®àëå ¯à®æ¥¤ãà å edi ¨á¯®«ì§ã¥âáï, ¢§ ¬¥ 㪠§ ⥫ì åà ¨âìáï ¢ ebp
|
|
||||||
ed_size equ [edi+48] ;ª®«-¢® ᨬ¢®«®¢
|
|
||||||
bp_size equ [ebp+48] ;ª®«-¢® ᨬ¢¯®«®¢, ¤«ï ¤à¥á 樨 ¨á¯«ì§ã¥âáï ebp¡ edi § ïâ
|
|
||||||
ed_pos equ [edi+52] ;¯®§¨æ¨ï ªãàá®à
|
|
||||||
ed_offset equ [edi+56] ;ᬥ饨¥
|
|
||||||
cl_curs_x equ [edi+60] ;¯à¥¤ë¤ã饥 ª®®à¤¨ â ªãàá®à ¯® å
|
|
||||||
cl_curs_y equ [edi+64] ;¯à¥¤ë¤ã饥 ª®®à¤¨ â ªãàá®à ¯® ã
|
|
||||||
ed_shift_pos equ [edi+68] ;¯®«®¦¥¨¥ ªãàá®à
|
|
||||||
ed_shift_pos_old equ [edi+72] ;áâ ஥ ¯®«®¦¥¨¥ ªãàá®à
|
|
||||||
|
|
||||||
ed_struc_size=76
|
|
||||||
struc edit_box width,left,top,color,shift_color,focus_border_color,\
|
|
||||||
blur_border_color,text_color,max,text,mouse_variable,flags,size,pos
|
|
||||||
{
|
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
||||||
;Bit mask from editbox
|
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
||||||
ed_figure_only= 1000000000000000b ;®¤¨ ᨬ¢®«ë
|
|
||||||
ed_always_focus= 100000000000000b
|
|
||||||
ed_focus= 10b ;䮪ãá ¯à¨«®¦¥¨ï
|
|
||||||
ed_shift_on= 1000b ;¥á«¨ ¥ ãáâ ®¢«¥ -§ ç¨â ¢¯¥à¢ë¥ ¦ â shift,¥á«¨ ¡ë« ãáâ ®¢«¥, § ç¨â ¬ë 㦥 çâ® - â® ¤¥« «¨ 㤥ন¢ ï shift
|
|
||||||
ed_shift_on_off=1111111111110111b
|
|
||||||
ed_shift= 100b ;¢ª«îç ¥âáï ¯à¨ ¦ ⨨ shift â.¥. ¥á«¨ ¦¨¬ î
|
|
||||||
ed_shift_off= 1111111111111011b
|
|
||||||
ed_shift_bac= 10000b ;¡¨â ¤«ï ®ç¨á⪨ ¢ë¤¥«¥®£® shift â.¥. ¯à¨ ãáâ ®¢ª¥ £®¢®à¨â çâ® ¥áâì ¢ë¤¥«¥¨¥
|
|
||||||
ed_shift_bac_cl=1111111111101111b ;®ç¨á⪠¯à¨ 㤠«¥¨¨ ¢ë¤¥«¥¨ï
|
|
||||||
ed_shift_cl= 1111111111100011b
|
|
||||||
ed_shift_mcl= 1111111111111011b
|
|
||||||
ed_left_fl= 100000b
|
|
||||||
ed_right_fl= 1111111111011111b
|
|
||||||
ed_offset_fl= 1000000b
|
|
||||||
ed_offset_cl= 1111111110111111b
|
|
||||||
ed_insert= 10000000b
|
|
||||||
ed_insert_cl= 1111111101111111b
|
|
||||||
ed_mouse_on = 100000000b
|
|
||||||
ed_mous_adn_b= 100011000b
|
|
||||||
ed_mouse_on_off=1111111011111111b
|
|
||||||
ed_height=14 ; ¢ëá®â
|
|
||||||
|
|
||||||
.width dd width
|
|
||||||
.left dd left
|
|
||||||
.top dd top
|
|
||||||
.color dd color
|
|
||||||
.shift_color dd shift_color
|
|
||||||
.focus_border_color dd focus_border_color
|
|
||||||
.blur_border_color dd blur_border_color
|
|
||||||
.text_color dd text_color
|
|
||||||
.max dd max
|
|
||||||
.text dd text
|
|
||||||
.mouse_variable dd mouse_variable
|
|
||||||
.flags dd flags+0
|
|
||||||
.size dd size+0
|
|
||||||
.pos dd pos+0
|
|
||||||
.offset dd 0
|
|
||||||
.cl_curs_x dd 0
|
|
||||||
.cl_curs_y dd 0
|
|
||||||
.shift dd 0
|
|
||||||
.shift_old dd 0
|
|
||||||
}
|
|
||||||
macro edit_boxes_set_sys_color start,end,color_table
|
|
||||||
{
|
|
||||||
mov edi,start
|
|
||||||
mov ecx,((end-start)/ed_struc_size)
|
|
||||||
mov esi,color_table
|
|
||||||
@@:
|
|
||||||
mov eax,dword [esi+36]
|
|
||||||
mov ebx,dword [esi+20]
|
|
||||||
push dword eax
|
|
||||||
pop dword ed_focus_border_color
|
|
||||||
shr bh,1
|
|
||||||
shr bl,1
|
|
||||||
shr ah,1
|
|
||||||
shr al,1
|
|
||||||
add ah,bh
|
|
||||||
add al,bl
|
|
||||||
ror eax,16
|
|
||||||
ror ebx,16
|
|
||||||
shr bl,1
|
|
||||||
shr al,1
|
|
||||||
add al,bl
|
|
||||||
ror eax,16
|
|
||||||
mov dword ed_blur_border_color,eax
|
|
||||||
mov dword shift_color,eax
|
|
||||||
add edi,ed_struc_size
|
|
||||||
loop @b
|
|
||||||
}
|
|
||||||
macro get_sys_colors col_buf
|
macro get_sys_colors col_buf
|
||||||
{
|
{
|
||||||
;mov eax,48
|
;mov eax,48
|
||||||
@ -128,67 +18,4 @@ macro get_sys_colors col_buf
|
|||||||
pop edx
|
pop edx
|
||||||
mcall
|
mcall
|
||||||
}
|
}
|
||||||
macro check_boxes_set_sys_color start,end,color_table
|
|
||||||
{
|
|
||||||
ch_left equ [edi] ;ª®®à¤¨ â ç « à¨á®¢ ¨ï ¯® å
|
|
||||||
ch_top equ [edi+2] ;ª®®à¤¨ â ç « à¨á®¢ ¨ï ¯® ã
|
|
||||||
ch_text_margin equ [edi+4] ;=4 à ááâ®ï¨¥ ®â ¯àאַ㣮«ì¨ª 祪 ¡®ªá ¤® ¤¯¨á¨
|
|
||||||
ch_size equ [edi+8] ;12 à §¬¥à ª¢ ¤à â 祪 ¡®ªá
|
|
||||||
ch_color equ [edi+12] ;梥⠢ãâਠcheckbox
|
|
||||||
ch_border_color equ [edi+16] ; or [edi+4] ;梥â à ¬ª¨ checkbox ¥¥ ¬®¦® § ¤ âì á ¬®áâ®ï⥫ì®
|
|
||||||
ch_text_color equ [edi+20];[edi+4] ;梥â ⥪áâ
|
|
||||||
ch_text_ptr equ [edi+24] ;㪠§ ⥫ì ç «® ⥪á⮢®© áâப¨
|
|
||||||
ch_text_length equ [edi+28]
|
|
||||||
ch_flags equ [edi+32] ;ä« £¨
|
|
||||||
|
|
||||||
|
|
||||||
;ch_left equ [edi] ;ª®®à¤¨ â ç « à¨á®¢ ¨ï ¯® å
|
|
||||||
;ch_top equ [edi+2] ;ª®®à¤¨ â ç « à¨á®¢ ¨ï ¯® ã
|
|
||||||
;ch_color equ [edi+4] ;梥⠢ãâਠcheckbox
|
|
||||||
;ch_border_color equ [edi+8] ;梥â à ¬ª¨ checkbox
|
|
||||||
;ch_text_color equ [edi+12] ;梥â ⥪áâ
|
|
||||||
;ch_text_ptr equ [edi+16] ;㪠§ ⥫ì ç «® ⥪á⮢®© áâப¨
|
|
||||||
;ch_text_length equ [edi+20] ;¤«¨ ¤¯¨á¨ (2^64 â ª®© ¤«¨ë ¬®¦¥â ¡ëâì ⥪áâ)
|
|
||||||
;ch_flags equ [edi+24] ;ä« £¨
|
|
||||||
|
|
||||||
mov edi,start
|
|
||||||
mov ecx,((end-start)/ch_struc_size)
|
|
||||||
mov esi,color_table
|
|
||||||
@@:
|
|
||||||
push dword [esi+32]
|
|
||||||
pop dword ch_text_color
|
|
||||||
push dword [esi+36]
|
|
||||||
pop dword ch_border_color
|
|
||||||
add edi,ch_struc_size
|
|
||||||
loop @b
|
|
||||||
}
|
|
||||||
struc check_box left,top,ch_text_margin,ch_size,color,border_color,text_color,text,ch_text_length,flags
|
|
||||||
{ ;áâàãªâãà ¯ à ¬¥â஢ ¤«ï 祪 ¡®ªá
|
|
||||||
ch_flag_en=10b
|
|
||||||
.left: dw left ;+0 ;¯®«®¦¥¨¥ ¯® å
|
|
||||||
.top: dw top ;¯®«®¦¥¨¥ ¯® ã
|
|
||||||
.ch_text_margin: dd ch_text_margin ;à ááâ®ï¨¥ ®â ¯àאַ㣮«ì¨ª 祪 ¡®ªá ¤® ¤¯¨á¨
|
|
||||||
.ch_size: dd ch_size ;à §¬¥à ª¢ ¤à â 祪 ¡®ªá , ¤«ï ¯à¨¬¥à 12
|
|
||||||
.color: dd color ;梥⠢ãâਠ祪¡®ªá
|
|
||||||
.border_color: dd border_color ;梥â à ¬ª¨
|
|
||||||
.text_color: dd text_color ;梥⠤¯¨á¨
|
|
||||||
.text: dd text ; ¤à¥á ¢ ª®¤¥ ¯à®£à ¬¬ë £¤¥ à ᯮ«®¦¥ ⥪áâ
|
|
||||||
.ch_text_length: dd ch_text_length ;¤«¨ áâப¨ á ᨬ¢®« ¬¨
|
|
||||||
.flags: dd flags+0 ; ä« £¨
|
|
||||||
}
|
|
||||||
struc option_box point_gr,left,top,op_text_margin,op_size,color,border_color,text_color,text,op_text_length,flags
|
|
||||||
{ ;áâàãªâãà ¯ à ¬¥â஢ ¤«ï 祪 ¡®ªá
|
|
||||||
op_flag_en=10b
|
|
||||||
.option_group: dd point_gr
|
|
||||||
.left: dw left ;+0 ;¯®«®¦¥¨¥ ¯® å
|
|
||||||
.top: dw top ;¯®«®¦¥¨¥ ¯® ã
|
|
||||||
.ch_text_margin: dd op_text_margin ;à ááâ®ï¨¥ ®â ¯àאַ㣮«ì¨ª 祪 ¡®ªá ¤® ¤¯¨á¨
|
|
||||||
.ch_size: dd op_size ;à §¬¥à ª¢ ¤à â 祪 ¡®ªá , ¤«ï ¯à¨¬¥à 12
|
|
||||||
.color: dd color ;梥⠢ãâਠ祪¡®ªá
|
|
||||||
.border_color: dd border_color ;梥â à ¬ª¨
|
|
||||||
.text_color: dd text_color ;梥⠤¯¨á¨
|
|
||||||
.text: dd text ; ¤à¥á ¢ ª®¤¥ ¯à®£à ¬¬ë £¤¥ à ᯮ«®¦¥ ⥪áâ
|
|
||||||
.ch_text_length: dd op_text_length ;¤«¨ áâப¨ á ᨬ¢®« ¬¨
|
|
||||||
.flags: dd flags+0 ; ä« £¨
|
|
||||||
}
|
|
||||||
|
|
||||||
|
@ -16,14 +16,8 @@ public EXPORTS
|
|||||||
|
|
||||||
section '.flat' code readable align 16
|
section '.flat' code readable align 16
|
||||||
include '../../../../macros.inc'
|
include '../../../../macros.inc'
|
||||||
include 'editbox.mac' ;macro which should make life easier :) specially for editbox
|
include 'box_lib.mac' ;macro which should make life easier :)
|
||||||
include 'checkbox.mac' ;macro implements checkbox
|
|
||||||
include 'optionbox.mac' ;macro implements optionbox
|
|
||||||
include 'scrollbar.mac' ;macro implements scrollbar
|
|
||||||
include 'd_button.mac' ;macro implements dinamic_button
|
|
||||||
include 'menubar.mac' ;macro implements menubar
|
|
||||||
include 'filebrowser.mac' ;macro implements filebrowser
|
|
||||||
include 'tree_list.mac' ;macro implements tree_list, image_list, list_box
|
|
||||||
;----------------------------------------------------
|
;----------------------------------------------------
|
||||||
;EditBox
|
;EditBox
|
||||||
;----------------------------------------------------
|
;----------------------------------------------------
|
||||||
|
8
programs/develop/libraries/box_lib/trunk/box_lib.mac
Normal file
8
programs/develop/libraries/box_lib/trunk/box_lib.mac
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
include 'editbox.mac' ;macro which should make life easier :) specially for editbox
|
||||||
|
include 'checkbox.mac' ;macro implements checkbox
|
||||||
|
include 'optionbox.mac' ;macro implements optionbox
|
||||||
|
include 'scrollbar.mac' ;macro implements scrollbar
|
||||||
|
include 'd_button.mac' ;macro implements dinamic_button
|
||||||
|
include 'menubar.mac' ;macro implements menubar
|
||||||
|
include 'filebrowser.mac' ;macro implements filebrowser
|
||||||
|
include 'tree_list.mac' ;macro implements tree_list, image_list, list_box
|
@ -2,21 +2,62 @@
|
|||||||
;Ìàêðîñ äëÿ ñèñòåìíîé áèáëèîòåêè box_lib.obj
|
;Ìàêðîñ äëÿ ñèñòåìíîé áèáëèîòåêè box_lib.obj
|
||||||
;Checkbox
|
;Checkbox
|
||||||
|
|
||||||
|
ch_struc_size=36
|
||||||
|
ch_flag_en=10b
|
||||||
|
|
||||||
|
ch_left equ [edi] ;ª®®à¤¨ â ç « à¨á®¢ ¨ï ¯® å
|
||||||
|
ch_top equ [edi+2] ;ª®®à¤¨ â ç « à¨á®¢ ¨ï ¯® ã
|
||||||
|
ch_text_margin equ [edi+4] ;=4 à ááâ®ï¨¥ ®â ¯àאַ㣮«ì¨ª 祪 ¡®ªá ¤® ¤¯¨á¨
|
||||||
|
ch_size equ [edi+8] ;12 à §¬¥à ª¢ ¤à â 祪 ¡®ªá
|
||||||
|
ch_color equ [edi+12] ;梥⠢ãâਠcheckbox
|
||||||
|
ch_border_color equ [edi+16] ; or [edi+4] ;梥â à ¬ª¨ checkbox ¥¥ ¬®¦® § ¤ âì á ¬®áâ®ï⥫ì®
|
||||||
|
ch_text_color equ [edi+20] ;[edi+4] ;梥â ⥪áâ
|
||||||
|
ch_text_ptr equ [edi+24] ;㪠§ ⥫ì ç «® ⥪á⮢®© áâப¨
|
||||||
|
ch_text_length equ [edi+28]
|
||||||
|
ch_flags equ [edi+32] ;ä« £¨
|
||||||
|
|
||||||
|
macro check_boxes_set_sys_color start,end,color_table
|
||||||
|
{
|
||||||
|
ch_left equ [edi] ;ª®®à¤¨ â ç « à¨á®¢ ¨ï ¯® å
|
||||||
|
ch_top equ [edi+2] ;ª®®à¤¨ â ç « à¨á®¢ ¨ï ¯® ã
|
||||||
|
ch_text_margin equ [edi+4] ;=4 à ááâ®ï¨¥ ®â ¯àאַ㣮«ì¨ª 祪 ¡®ªá ¤® ¤¯¨á¨
|
||||||
|
ch_size equ [edi+8] ;12 à §¬¥à ª¢ ¤à â 祪 ¡®ªá
|
||||||
|
ch_color equ [edi+12] ;梥⠢ãâਠcheckbox
|
||||||
|
ch_border_color equ [edi+16] ; or [edi+4] ;梥â à ¬ª¨ checkbox ¥¥ ¬®¦® § ¤ âì á ¬®áâ®ï⥫ì®
|
||||||
|
ch_text_color equ [edi+20];[edi+4] ;梥â ⥪áâ
|
||||||
|
ch_text_ptr equ [edi+24] ;㪠§ ⥫ì ç «® ⥪á⮢®© áâப¨
|
||||||
|
ch_text_length equ [edi+28]
|
||||||
|
ch_flags equ [edi+32] ;ä« £¨
|
||||||
|
|
||||||
|
mov edi,start
|
||||||
|
mov ecx,((end-start)/ch_struc_size)
|
||||||
|
mov esi,color_table
|
||||||
|
@@:
|
||||||
|
push dword [esi+32]
|
||||||
|
pop dword ch_text_color
|
||||||
|
push dword [esi+36]
|
||||||
|
pop dword ch_border_color
|
||||||
|
add edi,ch_struc_size
|
||||||
|
loop @b
|
||||||
|
}
|
||||||
|
struc check_box left,top,ch_text_margin,ch_size,color,border_color,text_color,text,ch_text_length,flags
|
||||||
|
{ ;áâàãªâãà ¯ à ¬¥â஢ ¤«ï 祪 ¡®ªá
|
||||||
|
ch_flag_en=10b
|
||||||
|
.left: dw left ;+0 ;¯®«®¦¥¨¥ ¯® å
|
||||||
|
.top: dw top ;¯®«®¦¥¨¥ ¯® ã
|
||||||
|
.ch_text_margin: dd ch_text_margin ;à ááâ®ï¨¥ ®â ¯àאַ㣮«ì¨ª 祪 ¡®ªá ¤® ¤¯¨á¨
|
||||||
|
.ch_size: dd ch_size ;à §¬¥à ª¢ ¤à â 祪 ¡®ªá , ¤«ï ¯à¨¬¥à 12
|
||||||
|
.color: dd color ;梥⠢ãâਠ祪¡®ªá
|
||||||
|
.border_color: dd border_color ;梥â à ¬ª¨
|
||||||
|
.text_color: dd text_color ;梥⠤¯¨á¨
|
||||||
|
.text: dd text ; ¤à¥á ¢ ª®¤¥ ¯à®£à ¬¬ë £¤¥ à ᯮ«®¦¥ ⥪áâ
|
||||||
|
.ch_text_length: dd ch_text_length ;¤«¨ áâப¨ á ᨬ¢®« ¬¨
|
||||||
|
.flags: dd flags+0 ; ä« £¨
|
||||||
|
}
|
||||||
|
|
||||||
macro use_checkbox_draw
|
macro use_checkbox_draw
|
||||||
{
|
{
|
||||||
check_box_draw:
|
check_box_draw:
|
||||||
;ch_struc_size=24
|
|
||||||
ch_left equ [edi] ;координата начала рисования по х
|
|
||||||
ch_top equ [edi+2] ;координата начала рисования по у
|
|
||||||
ch_text_margin equ [edi+4] ;=4 расстояние от прямоугольника чек бокса до надписи
|
|
||||||
ch_size equ [edi+8] ;12 размер квадрата чек бокса
|
|
||||||
ch_color equ [edi+12]
|
|
||||||
ch_border_color equ [edi+16] ; or [edi+4] ;цвет рамки checkbox ее можно задать самостоятельно
|
|
||||||
ch_text_color equ [edi+20];[edi+4] ;цвет текста
|
|
||||||
ch_text_ptr equ [edi+24] ;указатель на начало текстовой строки
|
|
||||||
ch_text_length equ [edi+28]
|
|
||||||
ch_flags equ [edi+32] ;флаги
|
|
||||||
|
|
||||||
pusha ;ñîõðàíèì âñå ðåãèñòðû
|
pusha ;ñîõðàíèì âñå ðåãèñòðû
|
||||||
mov edi,dword [esp+36]
|
mov edi,dword [esp+36]
|
||||||
mov eax,13
|
mov eax,13
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
ed_struc_size=76
|
||||||
|
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;Basic macros for use editbox ;
|
;Basic macros for use editbox ;
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
@ -23,6 +25,9 @@ cl_curs_y equ [edi+64] ;
|
|||||||
ed_shift_pos equ [edi+68] ;¯®«®¦¥¨¥ ªãàá®à
|
ed_shift_pos equ [edi+68] ;¯®«®¦¥¨¥ ªãàá®à
|
||||||
ed_shift_pos_old equ [edi+72] ;áâ ஥ ¯®«®¦¥¨¥ ªãàá®à
|
ed_shift_pos_old equ [edi+72] ;áâ ஥ ¯®«®¦¥¨¥ ªãàá®à
|
||||||
|
|
||||||
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
;Bit mask from editbox
|
||||||
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
ed_figure_only= 1000000000000000b ;®¤¨ ᨬ¢®«ë
|
ed_figure_only= 1000000000000000b ;®¤¨ ᨬ¢®«ë
|
||||||
ed_always_focus= 100000000000000b
|
ed_always_focus= 100000000000000b
|
||||||
ed_focus= 10b ;䮪ãá ¯à¨«®¦¥¨ï
|
ed_focus= 10b ;䮪ãá ¯à¨«®¦¥¨ï
|
||||||
@ -45,7 +50,56 @@ ed_mous_adn_b= 100011000b
|
|||||||
ed_mouse_on_off=1111111011111111b
|
ed_mouse_on_off=1111111011111111b
|
||||||
ed_height=14 ; ¢ëá®â
|
ed_height=14 ; ¢ëá®â
|
||||||
|
|
||||||
|
struc edit_box width,left,top,color,shift_color,focus_border_color,\
|
||||||
|
blur_border_color,text_color,max,text,mouse_variable,flags,size,pos
|
||||||
|
{
|
||||||
|
.width dd width
|
||||||
|
.left dd left
|
||||||
|
.top dd top
|
||||||
|
.color dd color
|
||||||
|
.shift_color dd shift_color
|
||||||
|
.focus_border_color dd focus_border_color
|
||||||
|
.blur_border_color dd blur_border_color
|
||||||
|
.text_color dd text_color
|
||||||
|
.max dd max
|
||||||
|
.text dd text
|
||||||
|
.mouse_variable dd mouse_variable
|
||||||
|
.flags dd flags+0
|
||||||
|
.size dd size+0
|
||||||
|
.pos dd pos+0
|
||||||
|
.offset dd 0
|
||||||
|
.cl_curs_x dd 0
|
||||||
|
.cl_curs_y dd 0
|
||||||
|
.shift dd 0
|
||||||
|
.shift_old dd 0
|
||||||
|
}
|
||||||
|
macro edit_boxes_set_sys_color start,end,color_table
|
||||||
|
{
|
||||||
|
mov edi,start
|
||||||
|
mov ecx,((end-start)/ed_struc_size)
|
||||||
|
mov esi,color_table
|
||||||
|
@@:
|
||||||
|
mov eax,dword [esi+36]
|
||||||
|
mov ebx,dword [esi+20]
|
||||||
|
push dword eax
|
||||||
|
pop dword ed_focus_border_color
|
||||||
|
shr bh,1
|
||||||
|
shr bl,1
|
||||||
|
shr ah,1
|
||||||
|
shr al,1
|
||||||
|
add ah,bh
|
||||||
|
add al,bl
|
||||||
|
ror eax,16
|
||||||
|
ror ebx,16
|
||||||
|
shr bl,1
|
||||||
|
shr al,1
|
||||||
|
add al,bl
|
||||||
|
ror eax,16
|
||||||
|
mov dword ed_blur_border_color,eax
|
||||||
|
mov dword shift_color,eax
|
||||||
|
add edi,ed_struc_size
|
||||||
|
loop @b
|
||||||
|
}
|
||||||
|
|
||||||
macro init_editbox
|
macro init_editbox
|
||||||
{
|
{
|
||||||
|
@ -2,6 +2,22 @@
|
|||||||
;Ìàêðîñ äëÿ ñèñòåìíîé áèáëèîòåêè box_lib.obj
|
;Ìàêðîñ äëÿ ñèñòåìíîé áèáëèîòåêè box_lib.obj
|
||||||
;Optionbox
|
;Optionbox
|
||||||
|
|
||||||
|
struc option_box point_gr,left,top,op_text_margin,op_size,color,border_color,text_color,text,op_text_length,flags
|
||||||
|
{ ;áâàãªâãà ¯ à ¬¥â஢ ¤«ï 祪 ¡®ªá
|
||||||
|
op_flag_en=10b
|
||||||
|
.option_group: dd point_gr
|
||||||
|
.left: dw left ;+0 ;¯®«®¦¥¨¥ ¯® å
|
||||||
|
.top: dw top ;¯®«®¦¥¨¥ ¯® ã
|
||||||
|
.ch_text_margin: dd op_text_margin ;à ááâ®ï¨¥ ®â ¯àאַ㣮«ì¨ª 祪 ¡®ªá ¤® ¤¯¨á¨
|
||||||
|
.ch_size: dd op_size ;à §¬¥à ª¢ ¤à â 祪 ¡®ªá , ¤«ï ¯à¨¬¥à 12
|
||||||
|
.color: dd color ;梥⠢ãâਠ祪¡®ªá
|
||||||
|
.border_color: dd border_color ;梥â à ¬ª¨
|
||||||
|
.text_color: dd text_color ;梥⠤¯¨á¨
|
||||||
|
.text: dd text ; ¤à¥á ¢ ª®¤¥ ¯à®£à ¬¬ë £¤¥ à ᯮ«®¦¥ ⥪áâ
|
||||||
|
.ch_text_length: dd op_text_length ;¤«¨ áâப¨ á ᨬ¢®« ¬¨
|
||||||
|
.flags: dd flags+0 ; ä« £¨
|
||||||
|
}
|
||||||
|
|
||||||
macro use_optionbox_driver ;ìàêðîñû êîòîðûå óïðàâëÿþò ðàáîòîé áîêñà )
|
macro use_optionbox_driver ;ìàêðîñû êîòîðûå óïðàâëÿþò ðàáîòîé áîêñà )
|
||||||
{
|
{
|
||||||
option_box_draw:
|
option_box_draw:
|
||||||
|
Loading…
Reference in New Issue
Block a user