Added struc to use scrollbar, similar to existing strucs for editbox, checkbox,..

git-svn-id: svn://kolibrios.org@3204 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
hidnplayr
2013-01-28 13:55:17 +00:00
parent 2d54529003
commit 44f2d6661d

View File

@@ -11,11 +11,11 @@ ed_blur_border_color equ [edi+24] ;梥
ed_text_color equ [edi+28] ;梥<><><E2A5AA><EFBFBD> ed_text_color equ [edi+28] ;梥<><><E2A5AA><EFBFBD>
ed_max equ [edi+32] ;<3B><><EFBFBD>-<2D><><><E1A8AC><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><E1A8AC><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ed_max equ [edi+32] ;<3B><><EFBFBD>-<2D><><><E1A8AC><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><E1A8AC><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
ed_text equ [edi+36] ;㪠<><E3AAA0><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD> ed_text equ [edi+36] ;㪠<><E3AAA0><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD>
ed_mouse_variable equ [edi+40] ; 㪠<><E3AAA0><EFBFBD> <20><> <20><><EFBFBD><E0A5AC><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>/<2F><><EFBFBD> ed_mouse_variable equ [edi+40] ; 㪠<><E3AAA0><EFBFBD> <20><> <20><><EFBFBD><E0A5AC><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>/<2F><><EFBFBD>
ed_flags equ [edi+44] ;䫠<><E4ABA0> ed_flags equ [edi+44] ;䫠<><E4ABA0>
bp_flags equ [ebp+44] ;<3B> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><E6A5A4><EFBFBD><EFBFBD> edi <20><EFBFBD><E1AFAE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><E3AAA0><EFBFBD> <20><EFBFBD><E0A0AD><EFBFBD><EFBFBD><EFBFBD> <20> ebp bp_flags equ [ebp+44] ;<3B> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><E6A5A4><EFBFBD><EFBFBD> edi <20><EFBFBD><E1AFAE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><E3AAA0><EFBFBD> <20><EFBFBD><E0A0AD><EFBFBD><EFBFBD><EFBFBD> <20> ebp
ed_size equ [edi+48] ;<3B><><EFBFBD>-<2D><><><E1A8AC><EFBFBD><EFBFBD><EFBFBD> ed_size equ [edi+48] ;<3B><><EFBFBD>-<2D><><><E1A8AC><EFBFBD><EFBFBD><EFBFBD>
bp_size equ [ebp+48] ;<3B><><EFBFBD>-<2D><><><E1A8AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><20><EFBFBD><E1AFAB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ebp<62> edi <20><><EFBFBD><EFBFBD><EFBFBD> bp_size equ [ebp+48] ;<3B><><EFBFBD>-<2D><><><E1A8AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><20><EFBFBD><E1AFAB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ebp<62> edi <20><><EFBFBD><EFBFBD><EFBFBD>
ed_pos equ [edi+52] ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ed_pos equ [edi+52] ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
ed_offset equ [edi+56] ;ᬥ饭<E1ACA5><E9A5AD> ed_offset equ [edi+56] ;ᬥ饭<E1ACA5><E9A5AD>
cl_curs_x equ [edi+60] ;<3B><EFBFBD><E0A5A4><EFBFBD><20><><EFBFBD><EFBFBD><E0A4A8><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20> cl_curs_x equ [edi+60] ;<3B><EFBFBD><E0A5A4><EFBFBD><20><><EFBFBD><EFBFBD><E0A4A8><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20>
@@ -83,8 +83,8 @@ macro edit_boxes_set_sys_color start,end,color_table
@@: @@:
mov eax,dword [esi+36] ;梥<> <20><><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD> (ࠧ<><E0A0A7><EFBFBD><EFBFBD><EFBFBD><E2A5AB><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20>.<2E>.) mov eax,dword [esi+36] ;梥<> <20><><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD> (ࠧ<><E0A0A7><EFBFBD><EFBFBD><EFBFBD><E2A5AB><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20>.<2E>.)
mov ebx,dword [esi+20] ;梥<><><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> mov ebx,dword [esi+20] ;梥<><><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
push dword eax push dword eax
pop dword ed_focus_border_color pop dword ed_focus_border_color
shr bh,1 shr bh,1
shr bl,1 shr bl,1
shr ah,1 shr ah,1
@@ -97,10 +97,10 @@ macro edit_boxes_set_sys_color start,end,color_table
shr al,1 shr al,1
add al,bl add al,bl
ror eax,16 ror eax,16
mov dword ed_blur_border_color,eax mov dword ed_blur_border_color,eax
mov dword shift_color,eax mov dword shift_color,eax
push dword [esi+32] ;梥<><><E2A5AA><EFBFBD> <20><><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> push dword [esi+32] ;梥<><><E2A5AA><EFBFBD> <20><><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
pop dword ed_text_color pop dword ed_text_color
add edi,ed_struc_size add edi,ed_struc_size
loop @b loop @b
} }
@@ -117,51 +117,51 @@ ch_text_color equ [edi+20] ;[edi+4] ;梥
ch_text_ptr equ [edi+24] ;㪠<><E3AAA0><EFBFBD> <20><> <20><><EFBFBD><><EFBFBD><E2AEA2> <20><><EFBFBD> ch_text_ptr equ [edi+24] ;㪠<><E3AAA0><EFBFBD> <20><> <20><><EFBFBD><><EFBFBD><E2AEA2> <20><><EFBFBD>
ch_flags equ [edi+28] ;䫠<><E4ABA0> ch_flags equ [edi+28] ;䫠<><E4ABA0>
ch_struc_size=36 ;ࠧ<><E0A0A7><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ch_struc_size=36 ;ࠧ<><E0A0A7><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
ch_flag_en=10b ;䫠<> <20><><EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><20><><EFBFBD><EFBFBD><EFBFBD>. ch_flag_en=10b ;䫠<> <20><><EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><20><><EFBFBD><EFBFBD><EFBFBD>.
ch_flag_top=0x0 ;䫠<> <20><><EFBFBD><E1AFAE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><E2A5AA><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>.<2E>. 3-<2D> <20><><EFBFBD> ch_flag_top=0x0 ;䫠<> <20><><EFBFBD><E1AFAE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><E2A5AA><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>.<2E>. 3-<2D> <20><><EFBFBD>
ch_flag_middle=100b ;䫠<> <20><><EFBFBD><E1AFAE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><E2A5AA><EFBFBD> <20><><E6A5AD><EFBFBD> <20>.<2E>. 4-<2D> <20><><EFBFBD>. ch_flag_middle=100b ;䫠<> <20><><EFBFBD><E1AFAE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><E2A5AA><EFBFBD> <20><><E6A5AD><EFBFBD> <20>.<2E>. 4-<2D> <20><><EFBFBD>.
ch_flag_bottom=1000b ;䫠<> <20><><EFBFBD><E1AFAE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><E2A5AA><EFBFBD> <20> <20><><EFBFBD><EFBFBD> <20>.<2E>. <20><><><EFBFBD><E7A0AD> <20><EFBFBD><E0A8AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><E7A5AD> <20><><EFBFBD><EFBFBD><EFBFBD> <20>.<2E>. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 3-<2D><> <20> 4-<2D><> <20><><EFBFBD><EFBFBD> ch_flag_bottom=1000b ;䫠<> <20><><EFBFBD><E1AFAE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><E2A5AA><EFBFBD> <20> <20><><EFBFBD><EFBFBD> <20>.<2E>. <20><><><EFBFBD><E7A0AD> <20><EFBFBD><E0A8AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><E7A5AD> <20><><EFBFBD><EFBFBD><EFBFBD> <20>.<2E>. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 3-<2D><> <20> 4-<2D><> <20><><EFBFBD><EFBFBD>
2ch_left_s equ [ebp] ;<3B><><EFBFBD><E0A4A8><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><E1AEA2><EFBFBD><EFBFBD> <20><> <20> 2ch_left_s equ [ebp] ;<3B><><EFBFBD><E0A4A8><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><E1AEA2><EFBFBD><EFBFBD> <20><> <20>
2ch_top_s equ [ebp+4] ;<3B><><EFBFBD><EFBFBD><E0A4A8><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><E1AEA2><EFBFBD><EFBFBD> <20><> <20> 2ch_top_s equ [ebp+4] ;<3B><><EFBFBD><EFBFBD><E0A4A8><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><E1AEA2><EFBFBD><EFBFBD> <20><> <20>
2ch_text_margin equ [ebp+8] ;=4 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><>אַ㣮<EFACAE><EFBFBD><ECADA8><20><><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 2ch_text_margin equ [ebp+8] ;=4 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><>אַ㣮<EFACAE><EFBFBD><ECADA8><20><><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
2ch_color equ [ebp+12] ;梥<> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> checkbox 2ch_color equ [ebp+12] ;梥<> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> checkbox
2ch_border_color equ [ebp+16] ; or [edi+4] ;梥<><><E0A0AC> checkbox <20><> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><E1A0AC><EFBFBD><EFBFBD><EFBFBD>⥫쭮 2ch_border_color equ [ebp+16] ; or [edi+4] ;梥<><><E0A0AC> checkbox <20><> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><E1A0AC><EFBFBD><EFBFBD><EFBFBD>⥫쭮
2ch_text_color equ [ebp+20] ;[edi+4] ;梥<><><E2A5AA><EFBFBD> 2ch_text_color equ [ebp+20] ;[edi+4] ;梥<><><E2A5AA><EFBFBD>
2ch_text_ptr equ [ebp+24] ;㪠<><E3AAA0><EFBFBD> <20><> <20><><EFBFBD><><EFBFBD><E2AEA2> <20><><EFBFBD> 2ch_text_ptr equ [ebp+24] ;㪠<><E3AAA0><EFBFBD> <20><> <20><><EFBFBD><><EFBFBD><E2AEA2> <20><><EFBFBD>
2ch_flags equ [ebp+28] ;䫠<><E4ABA0> 2ch_flags equ [ebp+28] ;䫠<><E4ABA0>
2ch_sz_str equ [ebp+32] ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><E6A8A0><EFBFBD><EFBFBD><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 2ch_sz_str equ [ebp+32] ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><E6A8A0><EFBFBD><EFBFBD><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
struc check_box2 left_s,top_s,ch_text_margin,color,border_color,text_color,text,flags struc check_box2 left_s,top_s,ch_text_margin,color,border_color,text_color,text,flags
{ ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><E0A0AC><20><><EFBFBD><20><><EFBFBD><EFBFBD><EFBFBD> { ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><E0A0AC><20><><EFBFBD><20><><EFBFBD><EFBFBD><EFBFBD>
.left_s: dd left_s ;+0 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20> dw + ࠧ<><E0A0A7><EFBFBD> dw .left_s: dd left_s ;+0 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20> dw + ࠧ<><E0A0A7><EFBFBD> dw
.top_s: dd top_s ;+4 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20> dw + ࠧ<><E0A0A7><EFBFBD> dw .top_s: dd top_s ;+4 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20> dw + ࠧ<><E0A0A7><EFBFBD> dw
.ch_text_margin: dd ch_text_margin ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><>אַ㣮<EFACAE><EFBFBD><ECADA8><20><><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> .ch_text_margin: dd ch_text_margin ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><>אַ㣮<EFACAE><EFBFBD><ECADA8><20><><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
.color: dd color ;梥<> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><E7A5AA><EFBFBD><EFBFBD><EFBFBD> .color: dd color ;梥<> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><E7A5AA><EFBFBD><EFBFBD><EFBFBD>
.border_color: dd border_color ;梥<><><E0A0AC> .border_color: dd border_color ;梥<><><E0A0AC>
.text_color: dd text_color ;梥<> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> .text_color: dd text_color ;梥<> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
.text: dd text ;<3B><><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD> <20>ணࠬ<E0AEA3><E0A0AC> <20><><EFBFBD> <20><><EFBFBD><E1AFAE><EFBFBD><EFBFBD><EFBFBD><><E2A5AA> .text: dd text ;<3B><><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD> <20>ணࠬ<E0AEA3><E0A0AC> <20><><EFBFBD> <20><><EFBFBD><E1AFAE><EFBFBD><EFBFBD><EFBFBD><><E2A5AA>
.flags: dd flags+0 ;䫠<><E4ABA0> .flags: dd flags+0 ;䫠<><E4ABA0>
.size_of_str: dd 0x0 ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><E6A8A0><EFBFBD><EFBFBD><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> .size_of_str: dd 0x0 ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><E6A8A0><EFBFBD><EFBFBD><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
} }
;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD>ન 饫窠 <20><><20><><EFBFBD> <20><><EFBFBD><E3AFAF> checkboxes. ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD>ન 饫窠 <20><><20><><EFBFBD> <20><><EFBFBD><E3AFAF> checkboxes.
macro init_checkboxes2 start,end_cb macro init_checkboxes2 start,end_cb
{ {
if start+ch_struc_size eq end_cb if start+ch_struc_size eq end_cb
;<3B><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ;<3B><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
push start ;㪠<><E3AAA0><EFBFBD> <20><> checkbox push start ;㪠<><E3AAA0><EFBFBD> <20><> checkbox
call [init_checkbox] ;<3B><><EFBFBD><EFBFBD><EFBFBD><E0AEA9> checkbox'<27> call [init_checkbox] ;<3B><><EFBFBD><EFBFBD><EFBFBD><E0AEA9> checkbox'<27>
else else
;<3B><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ;<3B><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
mov ebp,start mov ebp,start
mov ecx,((end_cb-start)/ch_struc_size) mov ecx,((end_cb-start)/ch_struc_size)
@@: @@:
push ebp ;㪠<><E3AAA0><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> checkbox push ebp ;㪠<><E3AAA0><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> checkbox
call [init_checkbox] ;<3B><><EFBFBD><EFBFBD><EFBFBD><E0AEA9> checkbox'<27><> call [init_checkbox] ;<3B><><EFBFBD><EFBFBD><EFBFBD><E0AEA9> checkbox'<27><>
add ebp,ch_struc_size add ebp,ch_struc_size
loop @b loop @b
end if end if
} }
@@ -169,18 +169,18 @@ end if
macro checkboxes_mouse2 start,end_cb macro checkboxes_mouse2 start,end_cb
{ {
if start+ch_struc_size eq end_cb if start+ch_struc_size eq end_cb
;<3B><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ;<3B><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
push start ;㪠<><E3AAA0><EFBFBD> <20><> checkbox push start ;㪠<><E3AAA0><EFBFBD> <20><> checkbox
call [check_box_mouse] ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><20><><20><><EFBFBD> checkbox'<27><> call [check_box_mouse] ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><20><><20><><EFBFBD> checkbox'<27><>
else else
;<3B><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ;<3B><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
mov ebp,start mov ebp,start
mov ecx,((end_cb-start)/ch_struc_size) mov ecx,((end_cb-start)/ch_struc_size)
@@: @@:
push ebp ;㪠<><E3AAA0><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> checkbox push ebp ;㪠<><E3AAA0><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> checkbox
call [check_box_mouse] ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><20><><20><><EFBFBD> checkbox'<27><><EFBFBD> call [check_box_mouse] ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><20><><20><><EFBFBD> checkbox'<27><><EFBFBD>
add ebp,ch_struc_size add ebp,ch_struc_size
loop @b loop @b
end if end if
} }
@@ -188,34 +188,34 @@ end if
macro checkboxes_draw2 start,end_cb macro checkboxes_draw2 start,end_cb
{ {
if start+ch_struc_size eq end_cb if start+ch_struc_size eq end_cb
;<3B><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ;<3B><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
push start ;㪠<><E3AAA0><EFBFBD> <20><> checkbox push start ;㪠<><E3AAA0><EFBFBD> <20><> checkbox
call [check_box_draw] ;<3B><><EFBFBD><EFBFBD><EFBFBD><E1AEA2><EFBFBD> checkbox call [check_box_draw] ;<3B><><EFBFBD><EFBFBD><EFBFBD><E1AEA2><EFBFBD> checkbox
else else
;<3B><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ;<3B><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
mov ebp,start mov ebp,start
mov ecx,((end_cb-start)/ch_struc_size) mov ecx,((end_cb-start)/ch_struc_size)
@@: @@:
push ebp ;㪠<><E3AAA0><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> checkbox push ebp ;㪠<><E3AAA0><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> checkbox
call [check_box_draw] ;<3B><><EFBFBD><EFBFBD><EFBFBD><E1AEA2><EFBFBD> checkbox'<27> call [check_box_draw] ;<3B><><EFBFBD><EFBFBD><EFBFBD><E1AEA2><EFBFBD> checkbox'<27>
add ebp,ch_struc_size add ebp,ch_struc_size
loop @b loop @b
end if end if
} }
macro check_boxes_set_sys_color2 start,end,color_table macro check_boxes_set_sys_color2 start,end,color_table
{ {
mov ebp,start mov ebp,start
mov ecx,((end-start)/ch_struc_size) mov ecx,((end-start)/ch_struc_size)
mov esi,color_table mov esi,color_table
@@: @@:
push dword [esi+32] ;梥<><><E2A5AA><EFBFBD> <20><><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> push dword [esi+32] ;梥<><><E2A5AA><EFBFBD> <20><><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
or dword [esp],0x80000000 ;<3B><><EFBFBD><EFBFBD><EFBFBD><E5AEA4><EFBFBD> <20><><EFBFBD> <20><EFBFBD><EBA2AE> ASCIIZ <20><> or dword [esp],0x80000000 ;<3B><><EFBFBD><EFBFBD><EFBFBD><E5AEA4><EFBFBD> <20><><EFBFBD> <20><EFBFBD><EBA2AE> ASCIIZ <20><>
pop dword 2ch_text_color pop dword 2ch_text_color
push dword [esi+36] ;梥<> <20><><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD> (ࠧ<><E0A0A7><EFBFBD><EFBFBD><EFBFBD><E2A5AB><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20>.<2E>.) push dword [esi+36] ;梥<> <20><><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD> (ࠧ<><E0A0A7><EFBFBD><EFBFBD><EFBFBD><E2A5AB><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20>.<2E>.)
pop dword 2ch_border_color pop dword 2ch_border_color
add ebp,ch_struc_size add ebp,ch_struc_size
loop @b loop @b
} }
@@ -257,20 +257,20 @@ op_flags equ [edi+36] ;䫠
macro option_boxes_set_sys_color color_table,group macro option_boxes_set_sys_color color_table,group
{ {
mov ecx,group mov ecx,group
mov esi,color_table mov esi,color_table
mov edi,[ecx] mov edi,[ecx]
mov eax,[esi+24] ;梥<> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> mov eax,[esi+24] ;梥<> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
mov ebx,[esi+28] ;梥<><><E2A5AA><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> mov ebx,[esi+28] ;梥<><><E2A5AA><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
@@: @@:
mov op_border_color,eax mov op_border_color,eax
mov op_color,ebx mov op_color,ebx
push dword [esi+32] ;梥<><><E2A5AA><EFBFBD> <20><><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> push dword [esi+32] ;梥<><><E2A5AA><EFBFBD> <20><><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
pop dword op_text_color pop dword op_text_color
add ecx,4 add ecx,4
mov edi,[ecx] mov edi,[ecx]
cmp edi,0 cmp edi,0
jne @b jne @b
} }
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;Basic macros for use TreeList ; ;Basic macros for use TreeList ;
@@ -279,27 +279,27 @@ macro option_boxes_set_sys_color color_table,group
struc tree_list info_size,info_max_count,style, img_cx,img_cy,\ struc tree_list info_size,info_max_count,style, img_cx,img_cy,\
col_bkg,col_zag,col_txt, box_l,box_t,box_w,box_h, capt_cy,info_capt_offs,\ col_bkg,col_zag,col_txt, box_l,box_t,box_w,box_h, capt_cy,info_capt_offs,\
info_capt_len,el_focus, p_scrol,on_press { info_capt_len,el_focus, p_scrol,on_press {
.data_info dd 0 .data_info dd 0
.info_size dw info_size .info_size dw info_size
.info_max_count dd info_max_count .info_max_count dd info_max_count
.style dd style .style dd style
.data_nodes dd 0 .data_nodes dd 0
.data_img dd 0 .data_img dd 0
.img_cx dw img_cx .img_cx dw img_cx
.img_cy dw img_cy .img_cy dw img_cy
.data_img_sys dd 0 .data_img_sys dd 0
.ch_tim dd 0 .ch_tim dd 0
.ls_tim dd 0 .ls_tim dd 0
.tim_undo dd 0 .tim_undo dd 0
.cur_pos dd 0 .cur_pos dd 0
.col_bkg dd col_bkg .col_bkg dd col_bkg
.col_zag dd col_zag .col_zag dd col_zag
.col_txt dd col_txt .col_txt dd col_txt
.box_left dd box_l .box_left dd box_l
.box_top dd box_t .box_top dd box_t
.box_width dd box_w .box_width dd box_w
.box_height dd box_h .box_height dd box_h
.capt_cy dw capt_cy .capt_cy dw capt_cy
.info_capt_offs dw info_capt_offs .info_capt_offs dw info_capt_offs
.info_capt_len dw info_capt_len .info_capt_len dw info_capt_len
.el_focus dd el_focus .el_focus dd el_focus
@@ -334,8 +334,8 @@ tl_el_focus equ dword[edi+80] ;㪠
tl_p_scrol equ dword[edi+84] ;㪠<><E3AAA0><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><E0AEAB><EFBFBD><EFBFBD><EFBFBD> tl_p_scrol equ dword[edi+84] ;㪠<><E3AAA0><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><E0AEAB><EFBFBD><EFBFBD><EFBFBD>
tl_on_press equ dword[edi+96] ;㪠<><E3AAA0><EFBFBD> <20><> <20><EFBFBD><E3ADAA><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EBA2A0><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD>⨨ Enter tl_on_press equ dword[edi+96] ;㪠<><E3AAA0><EFBFBD> <20><> <20><EFBFBD><E3ADAA><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EBA2A0><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD>⨨ Enter
;data_info dd ? ;+ 0 㪠<><E3AAA0><EFBFBD> <20><> <20><EFBFBD><E1ADAE><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> ;data_info dd ? ;+ 0 㪠<><E3AAA0><EFBFBD> <20><> <20><EFBFBD><E1ADAE><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>
;ls_tim dd ? ;+34 <20><EFBFBD> <20><><EFBFBD><E1ABA5><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><E0A0AD><EFBFBD><EFBFBD> ;ls_tim dd ? ;+34 <20><EFBFBD> <20><><EFBFBD><E1ABA5><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><E0A0AD><EFBFBD><EFBFBD>
;on_activate dd ? ;+92 㪠<><E3AAA0><EFBFBD> <20><> <20><EFBFBD><E3ADAA><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><E0AEA2><EFBFBD><EFBFBD><> ;on_activate dd ? ;+92 㪠<><E3AAA0><EFBFBD> <20><> <20><EFBFBD><E3ADAA><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><E0AEA2><EFBFBD><EFBFBD><>
;<3B><><EFBFBD><EFBFBD><EFBFBD><E2A0AD> <20><EFBFBD> ;<3B><><EFBFBD><EFBFBD><EFBFBD><E2A0AD> <20><EFBFBD>
@@ -454,3 +454,35 @@ sb_offs_redraw equ 40
sb_offs_delta2 equ 46 sb_offs_delta2 equ 46
sb_offs_all_redraw equ 80 sb_offs_all_redraw equ 80
;------------------------------------------------------------------------------ ;------------------------------------------------------------------------------
struc scrollbar xsize, xpos, ysize, ypos, btn_height, max, cur, pos, bgcol, frcol, linecol, ar_offset
{
.x_size dw xsize
.x_pos dw xpos
.y_size dw ysize
.y_pos dw ypos
.btn_height dd btn_height
.type dd ?
.max_area dd max
.cur_area dd cur
.position dd pos
.bg_color dd bgcol
.front_color dd frcol
.line_color dd linecol
.redraw dd ?
.delta dw ?
.delta2 dw ?
.r_size_x dw ?
.r_start_x dw ?
.r_size_y dw ?
.r_start_y dw ?
.m_pos dd ?
.m_pos_2 dd ?
.m_keys dd ?
.run_size dd ?
.position2 dd ?
.work_size dd ?
.all_redraw dd ?
.ar_offset dd ar_offset
}