mirror of
https://github.com/KolibriOS/kolibrios.git
synced 2024-12-16 20:02:35 +03:00
7f7bf0ddcf
git-svn-id: svn://kolibrios.org@7034 a494cfbc-eb01-0410-851d-a64ba20cac60
553 lines
23 KiB
Plaintext
553 lines
23 KiB
Plaintext
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||
;; basic macros for EditBox ;;
|
||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||
ed_width equ [edi] ; field width
|
||
ed_left equ [edi + 4] ; left border X
|
||
ed_top equ [edi + 8] ; top border Y
|
||
ed_color equ [edi + 12] ; field color
|
||
shift_color equ [edi + 16] ; select color
|
||
ed_focus_border_color equ [edi + 20] ; border color active
|
||
ed_blur_border_color equ [edi + 24] ; border color inactive
|
||
ed_text_color equ [edi + 28] ; color and font (as in sysfunc 4)
|
||
ed_max equ [edi + 32] ; chars max
|
||
ed_text equ [edi + 36] ; buffer pointer
|
||
ed_mouse_variable equ [edi + 40] ; pointer
|
||
ed_flags equ [edi + 44]
|
||
bp_flags equ [ebp + 44]
|
||
ed_size equ [edi + 48] ; chars currently
|
||
bp_size equ [ebp + 48]
|
||
ed_pos equ [edi + 52] ; carret current position
|
||
ed_offset equ [edi + 56]
|
||
cl_curs_x equ [edi + 60] ; previous cursor X
|
||
cl_curs_y equ [edi + 62] ; previous cursor Y
|
||
ed_shift_pos equ [edi + 64] ; selection current position
|
||
ed_shift_pos_old equ [edi + 66] ; selection previous position
|
||
ed_height equ [edi + 68]
|
||
ed_char_width equ [edi + 72]
|
||
|
||
ed_struc_size = 76
|
||
|
||
;;;;;;;;;;;;;;;;;;;;;;;
|
||
;; flags for EditBox ;;
|
||
;;;;;;;;;;;;;;;;;;;;;;;
|
||
ed_pass = 1 ; password mode
|
||
ed_focus = 2 ; active
|
||
ed_shift = 4 ; shift holded
|
||
ed_shift_on = 8 ; selection active
|
||
ed_shift_bac = 16 ; clear selection
|
||
ed_left_fl = 32
|
||
ed_offset_fl = 64
|
||
ed_insert = 128
|
||
ed_mouse_on = 256
|
||
ed_ctrl_on = 512
|
||
ed_alt_on = 400h
|
||
ed_disabled = 800h
|
||
ed_always_focus = 4000h
|
||
ed_figure_only = 8000h
|
||
ed_mous_adn_b = ed_mouse_on or ed_shift_on or ed_shift_bac
|
||
ed_shift_off = not ed_shift
|
||
ed_shift_mcl = not ed_shift
|
||
ed_shift_on_off = not ed_shift_on
|
||
ed_shift_bac_cl = not ed_shift_bac
|
||
ed_shift_cl = not (ed_shift or ed_shift_on or ed_shift_bac)
|
||
ed_right_fl = not ed_left_fl
|
||
ed_offset_cl = not ed_offset_fl
|
||
ed_insert_cl = not ed_insert
|
||
ed_mouse_on_off = not ed_mouse_on
|
||
ed_ctrl_off = not ed_ctrl_on
|
||
ed_alt_off = not ed_alt_on
|
||
|
||
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 dw 0
|
||
.cl_curs_y dw 0
|
||
.shift dw 0
|
||
.shift_old dw 0
|
||
.height dd 0
|
||
.char_width 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 ebx,[esi+system_colors.work_graph]
|
||
mov eax,[esi+system_colors.work]
|
||
shr eax,1
|
||
shr ebx,1
|
||
and eax,7F7F7Fh
|
||
and ebx,7F7F7Fh
|
||
add eax,ebx
|
||
@@:
|
||
mov ed_focus_border_color,ebx
|
||
mov ed_blur_border_color,eax
|
||
mov shift_color,dword 0A4C4E4h
|
||
and ed_text_color,dword 0FF000000h
|
||
mov ed_color,dword 0FFFFFFh
|
||
add edi,ed_struc_size
|
||
loop @b
|
||
}
|
||
|
||
|
||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||
;Basic macros for use CheckBox ;
|
||
;Last change 17.01.2013 ;
|
||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||
ch_text_margin equ [edi+8] ;=4 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ﭨ<EFBFBD> <20><> <20><>אַ㣮<EFACAE>쭨<EFBFBD><ECADA8> 祪 <20><><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
ch_color equ [edi+12] ;梥<> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> checkbox
|
||
ch_border_color equ [edi+16] ; or [edi+4] ;梥<> ࠬ<><E0A0AC> checkbox <20><> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ᠬ<><E1A0AC><EFBFBD><EFBFBD><EFBFBD>⥫쭮
|
||
ch_text_color equ [edi+20] ;[edi+4] ;梥<> ⥪<><E2A5AA><EFBFBD>
|
||
ch_text_ptr equ [edi+24] ;㪠<><E3AAA0>⥫<EFBFBD> <20><> <20><>砫<EFBFBD> ⥪<>⮢<EFBFBD><E2AEA2> <20><>ப<EFBFBD>
|
||
ch_flags equ [edi+28] ;䫠<><E4ABA0>
|
||
|
||
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_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_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_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_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_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_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>
|
||
|
||
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>
|
||
.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
|
||
.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>
|
||
.border_color dd border_color ;梥<> ࠬ<><E0A0AC>
|
||
.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>
|
||
.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>
|
||
}
|
||
|
||
;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD>ન 饫窠 <20><>誨 <20><><EFBFBD> <20><>㯯<EFBFBD><E3AFAF> checkboxes.
|
||
macro init_checkboxes2 start,end_cb
|
||
{
|
||
if start+ch_struc_size eq end_cb
|
||
;<3B><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
push start ;㪠<><E3AAA0>⥫<EFBFBD> <20><> checkbox
|
||
call [init_checkbox] ;<3B><><EFBFBD><EFBFBD>ன<EFBFBD><E0AEA9> checkbox'<27>
|
||
else
|
||
;<3B><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>쪮 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⮢
|
||
mov ebp,start
|
||
mov ecx,((end_cb-start)/ch_struc_size)
|
||
@@:
|
||
push ebp ;㪠<><E3AAA0>⥫<EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> checkbox
|
||
call [init_checkbox] ;<3B><><EFBFBD><EFBFBD>ன<EFBFBD><E0AEA9> checkbox'<27><>
|
||
add ebp,ch_struc_size
|
||
loop @b
|
||
end if
|
||
}
|
||
|
||
;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD>ન <20><>誨 <20><>㯯<EFBFBD> checkboxes.
|
||
macro checkboxes_mouse2 start,end_cb
|
||
{
|
||
if start+ch_struc_size eq end_cb
|
||
;<3B><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
push start ;㪠<><E3AAA0>⥫<EFBFBD> <20><> checkbox
|
||
call [check_box_mouse] ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD>ન <20><>誨 <20><><EFBFBD> checkbox'<27><>
|
||
else
|
||
;<3B><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>쪮 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⮢
|
||
mov ebp,start
|
||
mov ecx,((end_cb-start)/ch_struc_size)
|
||
@@:
|
||
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>
|
||
add ebp,ch_struc_size
|
||
loop @b
|
||
end if
|
||
}
|
||
|
||
;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>ᮢ<EFBFBD><E1AEA2> <20><>㯯<EFBFBD> checkboxes.
|
||
macro checkboxes_draw2 start,end_cb
|
||
{
|
||
if start+ch_struc_size eq end_cb
|
||
;<3B><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
push start ;㪠<><E3AAA0>⥫<EFBFBD> <20><> checkbox
|
||
call [check_box_draw] ;<3B><><EFBFBD><EFBFBD>ᮢ<EFBFBD><E1AEA2><EFBFBD> checkbox
|
||
else
|
||
;<3B><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>쪮 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⮢
|
||
mov ebp,start
|
||
mov ecx,((end_cb-start)/ch_struc_size)
|
||
@@:
|
||
push ebp ;㪠<><E3AAA0>⥫<EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> checkbox
|
||
call [check_box_draw] ;<3B><><EFBFBD><EFBFBD>ᮢ<EFBFBD><E1AEA2><EFBFBD> checkbox'<27>
|
||
add ebp,ch_struc_size
|
||
loop @b
|
||
end if
|
||
}
|
||
|
||
macro check_boxes_set_sys_color2 start,end,color_table
|
||
{
|
||
mov ebp,start
|
||
mov ecx,((end-start)/ch_struc_size)
|
||
mov esi,color_table
|
||
@@:
|
||
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><>ப
|
||
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>.)
|
||
pop dword 2ch_border_color
|
||
add ebp,ch_struc_size
|
||
loop @b
|
||
}
|
||
|
||
|
||
|
||
|
||
|
||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||
;Basic macros for use OptionBox ;
|
||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||
|
||
struc option_box point_gr,left,top,op_text_margin,op_size,color,border_color,text_color,text,op_text_length,flags
|
||
{ ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ࠬ<EFBFBD><E0A0AC> <20><><EFBFBD> 祪 <20><><EFBFBD><EFBFBD><EFBFBD>
|
||
op_flag_en=10b
|
||
.option_group dd point_gr
|
||
.left dw left ;+0 ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20>
|
||
.top dw top ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20>
|
||
.ch_text_margin dd op_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_size dd op_size ;ࠧ<><E0A0A7><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 祪 <20><><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD> <20>ਬ<EFBFBD><E0A8AC><EFBFBD> 12
|
||
.color dd color ;梥<> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 祪<><E7A5AA><EFBFBD><EFBFBD><EFBFBD>
|
||
.border_color dd border_color ;梥<> ࠬ<><E0A0AC>
|
||
.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>
|
||
.ch_text_length dd op_text_length ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ப<EFBFBD> <20> ᨬ<><E1A8AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
.flags dd flags+0 ; 䫠<><E4ABA0>
|
||
}
|
||
|
||
;op_struc_size equ
|
||
option_group equ [edi]
|
||
op_left equ [edi+4] ;<3B><><EFBFBD>न<EFBFBD><E0A4A8><EFBFBD><EFBFBD> <20><>砫<EFBFBD> <20><>ᮢ<EFBFBD><E1AEA2><EFBFBD><EFBFBD> <20><> <20>
|
||
op_top equ [edi+6] ;<3B><><EFBFBD>न<EFBFBD><E0A4A8><EFBFBD><EFBFBD> <20><>砫<EFBFBD> <20><>ᮢ<EFBFBD><E1AEA2><EFBFBD><EFBFBD> <20><> <20>
|
||
op_text_margin equ [edi+8] ;=4 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ﭨ<EFBFBD> <20><> <20><>אַ㣮<EFACAE>쭨<EFBFBD><ECADA8> 祪 <20><><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
op_size equ [edi+12] ;12 ࠧ<><E0A0A7><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 祪 <20><><EFBFBD><EFBFBD><EFBFBD>
|
||
op_color equ [edi+16]
|
||
op_border_color equ [edi+20] ; or [edi+4] ;梥<> ࠬ<><E0A0AC> optionbox <20><> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ᠬ<><E1A0AC><EFBFBD><EFBFBD><EFBFBD>⥫쭮
|
||
op_text_color equ [edi+24];[edi+4] ;梥<> ⥪<><E2A5AA><EFBFBD>
|
||
op_text_ptr equ [edi+28] ;㪠<><E3AAA0>⥫<EFBFBD> <20><> <20><>砫<EFBFBD> ⥪<>⮢<EFBFBD><E2AEA2> <20><>ப<EFBFBD>
|
||
op_text_length equ [edi+32]
|
||
op_flags equ [edi+36] ;䫠<><E4ABA0>
|
||
|
||
macro option_boxes_set_sys_color color_table,group
|
||
{
|
||
mov ecx,group
|
||
mov esi,color_table
|
||
mov edi,[ecx]
|
||
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 op_border_color,eax
|
||
mov op_color,ebx
|
||
push dword [esi+32] ;梥<> ⥪<><E2A5AA><EFBFBD> <20> ࠡ<>祩 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||
pop dword op_text_color
|
||
add ecx,4
|
||
mov edi,[ecx]
|
||
cmp edi,0
|
||
jne @b
|
||
}
|
||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||
;Basic macros for use TreeList ;
|
||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||
|
||
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,\
|
||
info_capt_len,el_focus, p_scroll,on_press {
|
||
.box_left dd box_l
|
||
.box_top dd box_t
|
||
.box_width dd box_w
|
||
.box_height dd box_h
|
||
.data_info dd 0
|
||
.info_size dw info_size
|
||
.info_max_count dd info_max_count
|
||
.style dd style
|
||
.data_nodes dd 0
|
||
.data_img dd 0
|
||
.img_cx dw img_cx
|
||
.img_cy dw img_cy
|
||
.data_img_sys dd 0
|
||
.ch_tim dd 0
|
||
.tim_undo dd 0
|
||
.cur_pos dd 0
|
||
.col_bkg dd col_bkg
|
||
.col_zag dd col_zag
|
||
.col_txt dd col_txt
|
||
.capt_cy dw capt_cy
|
||
.info_capt_offs dw info_capt_offs
|
||
.info_capt_len dw info_capt_len
|
||
.el_focus dd el_focus
|
||
.p_scroll dd p_scroll
|
||
.on_press dd on_press
|
||
}
|
||
|
||
tl_box_left equ dword[edi]
|
||
tl_box_top equ dword[edi+ 4]
|
||
tl_box_width equ dword[edi+ 8]
|
||
tl_box_height equ dword[edi+12]
|
||
tl_data_info equ dword[edi+16] ;㪠<><E3AAA0>⥫<EFBFBD> <20><> <20>᭮<EFBFBD><E1ADAE><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>
|
||
tl_info_size equ word[edi+20] ;ࠧ<><E0A0A7><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>뤥<EFBFBD>塞<EFBFBD><EFA5AC> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 㧫<> (<28><><EFBFBD>짮<EFBFBD><ECA7AE>⥫<EFBFBD><E2A5AB>쪨<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> + ⥪<><E2A5AA> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
|
||
tl_info_max_count equ dword[edi+22] ;<3B><><EFBFBD>ᨬ<EFBFBD><E1A8AC>쭮<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⢮ 㧫<><E3A7AB>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
tl_style equ dword[edi+26] ;<3B>⨫<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
tl_data_nodes equ dword[edi+30] ;㪠<><E3AAA0>⥫<EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 㧫<><E3A7AB>
|
||
tl_data_img equ dword[edi+34] ;㪠<><E3AAA0>⥫<EFBFBD> <20><> <20><><EFBFBD><EFBFBD>ࠦ<EFBFBD><E0A0A6><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 㧫<><E3A7AB>
|
||
tl_img_cx equ word[edi+38] ;<3B><>ਭ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
tl_img_cy equ word[edi+40] ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
tl_data_img_sys equ dword[edi+42] ;㪠<><E3AAA0>⥫<EFBFBD> <20><> <20><><EFBFBD>⥬<EFBFBD><E2A5AC><EFBFBD> <20><><EFBFBD><EFBFBD>ࠦ<EFBFBD><E0A0A6><EFBFBD><EFBFBD> (<28><>५<EFBFBD><E0A5AB>, <20><><EFBFBD>ᨪ<EFBFBD>)
|
||
tl_ch_tim equ dword[edi+46] ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⢮ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> 䠩<><E4A0A9>
|
||
tl_tim_undo equ dword[edi+50] ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⢮ <20>⬥<EFBFBD><E2ACA5><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>⢨<EFBFBD>
|
||
tl_cur_pos equ dword[edi+54] ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
tl_col_bkg equ dword[edi+58] ;梥<> 䮭<>
|
||
tl_col_zag equ dword[edi+62] ;梥<> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
tl_col_txt equ dword[edi+66] ;梥<> ⥪<><E2A5AA><EFBFBD>
|
||
tl_capt_cy equ word[edi+70] ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
tl_info_capt_offs equ word[edi+72] ;ᤢ<><E1A4A2> <20><><EFBFBD> <20><>砫<EFBFBD> ⥪<><E2A5AA><EFBFBD> (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 㧫<>)
|
||
tl_info_capt_len equ word[edi+74] ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ⥪<><E2A5AA><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 㧫<> (<28> = 0 <20><> <20><> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
|
||
tl_el_focus equ dword[edi+76] ;㪠<><E3AAA0>⥫<EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> 䮪<><E4AEAA><EFBFBD>
|
||
tl_p_scroll equ dword[edi+80] ;㪠<><E3AAA0>⥫<EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><E0AEAB><EFBFBD><EFBFBD><EFBFBD>
|
||
tl_on_press equ dword[edi+84] ;㪠<><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
|
||
|
||
;<3B><><EFBFBD><EFBFBD>⠭<EFBFBD><E2A0AD> <20>⨫<EFBFBD>
|
||
tl_key_no_edit equ 1b ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ।<><E0A5A4><EFBFBD><EFBFBD><EFBFBD><E0AEA2><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><E0AEA2>, 㤠<><E3A4A0><EFBFBD><EFBFBD>)
|
||
tl_draw_par_line equ 10b ;<3B><>ᮢ<EFBFBD><E1AEA2><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20> த<>⥫<EFBFBD><EFBFBD><E1AAAE> 㧫<>
|
||
tl_list_box_mode equ 100b ;<3B>⨫<EFBFBD> <20><> <20>⮡ࠦ<E2AEA1><E0A0A6><EFBFBD> <20><EFBFBD><E0AEA2> (<28><><EFBFBD> <20> ListBox <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><E0AEA2>)
|
||
|
||
;<3B><><EFBFBD><EFBFBD>⠭<EFBFBD><E2A0AD> <20><><EFBFBD> <20>㭪権
|
||
tl_err_save_memory_size equ 10b ;<3B><> 墠⠥<E5A2A0> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD>࠭<EFBFBD><E0A0AD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
tl_err_load_caption equ 1b ;<3B> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 'tree'
|
||
tl_err_load_info_size equ 100b ;<3B><> ᮢ<><E1AEA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ࠧ<><E0A0A7><EFBFBD> <20><><EFBFBD><EFBFBD>ଠ樮<E0ACA0><E6A8AE><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>⨨
|
||
tl_load_mode_add equ 0x20000 ;<3B><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>뢠<EFBFBD><EBA2A0><EFBFBD> <20> ०<><E0A5A6><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>ଠ樨
|
||
tl_save_load_heder_size equ 26 ;ࠧ<><E0A0A7><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>/<2F>⥭<EFBFBD><E2A5AD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⮢
|
||
tl_offs_box equ 0 ;<3B><>砫<EFBFBD> BOX <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> tree_list
|
||
|
||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||
;Basic macros for use TextEditor ;
|
||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||
|
||
ted_wnd_l equ dword[edi+ 0] ;<3B><><EFBFBD><EFBFBD> ।<><E0A5A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <><E1ABA5>
|
||
ted_wnd_t equ dword[edi+ 4] ;<3B><><EFBFBD><EFBFBD> ।<><E0A5A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ᢥ<><E1A2A5><EFBFBD>
|
||
ted_wnd_w equ dword[edi+ 8] ;<3B><><EFBFBD><EFBFBD> ।<><E0A5A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: <20><>ਭ<EFBFBD>
|
||
ted_wnd_h equ dword[edi+12] ;<3B><><EFBFBD><EFBFBD> ।<><E0A5A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
ted_rec_l equ dword[edi+16] ;<3B><>ਭ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD>
|
||
ted_rec_t equ dword[edi+20] ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD>
|
||
ted_rec_w equ dword[edi+24] ;<3B><>ਭ<EFBFBD> ᨬ<><E1A8AC><EFBFBD><EFBFBD> (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>) <20> <20><><EFBFBD><EFBFBD>
|
||
ted_rec_h equ dword[edi+28] ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ᨬ<><E1A8AC><EFBFBD><EFBFBD> (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>) <20> <20><><EFBFBD><EFBFBD>
|
||
ted_drag_m equ byte[edi+32] ;<3B>뤥<EFBFBD><EBA4A5><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD>
|
||
ted_drag_k equ byte[edi+33] ;<3B>뤥<EFBFBD><EBA4A5><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
ted_sel_x0 equ dword[edi+34] ;<3B><><EFBFBD>न<EFBFBD><E0A4A8><EFBFBD><EFBFBD> <20>뤥<EFBFBD><EBA4A5><EFBFBD><EFBFBD><EFBFBD> x0
|
||
ted_sel_y0 equ dword[edi+38] ;<3B><><EFBFBD>न<EFBFBD><E0A4A8><EFBFBD><EFBFBD> <20>뤥<EFBFBD><EBA4A5><EFBFBD><EFBFBD><EFBFBD> y0
|
||
ted_sel_x1 equ dword[edi+42] ;<3B><><EFBFBD>न<EFBFBD><E0A4A8><EFBFBD><EFBFBD> <20>뤥<EFBFBD><EBA4A5><EFBFBD><EFBFBD><EFBFBD> x1
|
||
ted_sel_y1 equ dword[edi+46] ;<3B><><EFBFBD>न<EFBFBD><E0A4A8><EFBFBD><EFBFBD> <20>뤥<EFBFBD><EBA4A5><EFBFBD><EFBFBD><EFBFBD> y1
|
||
;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>न<EFBFBD><E0A4A8><EFBFBD><EFBFBD> <20>뤥<EFBFBD><EBA4A5><EFBFBD><EFBFBD><EFBFBD>
|
||
ted_seln_x0 equ dword[edi+50]
|
||
ted_seln_y0 equ dword[edi+54]
|
||
ted_seln_x1 equ dword[edi+58]
|
||
ted_seln_y1 equ dword[edi+62]
|
||
|
||
ted_tex equ dword[edi+66] ;㪠<><E3AAA0>⥫<EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20>࠭<EFBFBD><E0A0AD><EFBFBD><EFBFBD> ⥪<><E2A5AA><EFBFBD>
|
||
ted_tex_1 equ dword[edi+70] ;㪠<><E3AAA0>⥫<EFBFBD> <20><> 1-<2D> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ᨬ<><E1A8AC><EFBFBD><EFBFBD>
|
||
ted_tex_end equ dword[edi+74] ;㪠<><E3AAA0>⥫<EFBFBD> <20><> <20><><EFBFBD><E1ABA5><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ᨬ<><E1A8AC><EFBFBD><EFBFBD>
|
||
ted_cur_x equ dword[edi+78] ;<3B><><EFBFBD>न<EFBFBD><E0A4A8><EFBFBD><EFBFBD> x <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
ted_cur_y equ dword[edi+82] ;<3B><><EFBFBD>न<EFBFBD><E0A4A8><EFBFBD><EFBFBD> y <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
ted_max_chars equ dword[edi+86] ;<3B><><EFBFBD>ᨬ<EFBFBD><E1A8AC>쭮<EFBFBD> <20><> ᨬ<><E1A8AC><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>㬥<EFBFBD><E3ACA5><EFBFBD>
|
||
ted_colors_text_count equ dword[edi+90] ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⢮ 梥⮢ ⥪<><E2A5AA><EFBFBD>
|
||
ted_key_words_count equ dword[edi+94] ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⢮ <20><><EFBFBD>祢<EFBFBD><E7A5A2> <>
|
||
ted_color_cursor equ dword[edi+98] ;梥<> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
ted_color_wnd_capt equ dword[edi+102] ;梥<> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||
ted_color_wnd_work equ dword[edi+106] ;梥<> 䮭<> <20><><EFBFBD><EFBFBD>
|
||
ted_color_wnd_bord equ dword[edi+110] ;梥<> ⥪<><E2A5AA><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD>
|
||
ted_color_select equ dword[edi+114] ;梥<> <20>뤥<EFBFBD><EBA4A5><EFBFBD><EFBFBD><EFBFBD>
|
||
ted_color_cur_text equ dword[edi+118] ;梥<> ᨬ<><E1A8AC><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>
|
||
ted_color_wnd_text equ dword[edi+122] ;梥<> ⥪<><E2A5AA><EFBFBD> <20> <20><><EFBFBD><EFBFBD>
|
||
ted_syntax_file equ dword[edi+126] ;㪠<><E3AAA0>⥫<EFBFBD> <20><> <20><>砫<EFBFBD> 䠩<><E4A0A9> ᨭ⠪<E1A8AD><E2A0AA><EFBFBD><EFBFBD>
|
||
ted_syntax_file_size equ dword[edi+130] ;<3B><><EFBFBD>ᨬ<EFBFBD><E1A8AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ࠧ<><E0A0A7><EFBFBD> 䠩<><E4A0A9> ᨭ⠪<E1A8AD><E2A0AA><EFBFBD><EFBFBD>
|
||
ted_text_colors equ dword[edi+134] ;㪠<><E3AAA0>⥫<EFBFBD> <20><> <20><><EFBFBD>ᨢ 梥⮢ ⥪<><E2A5AA><EFBFBD>
|
||
ted_help_text_f1 equ dword[edi+138] ;㪠<><E3AAA0>⥫<EFBFBD> <20><> ⥪<><E2A5AA> <20><>ࠢ<EFBFBD><E0A0A2> (<28><> <20><><EFBFBD><EFBFBD>⨨ F1)
|
||
ted_help_id equ dword[edi+142] ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>䨪<EFBFBD><E4A8AA><EFBFBD><EFBFBD> <20><><EFBFBD> <20><>ࠢ<EFBFBD><E0A0A2>
|
||
ted_key_words_data equ dword[edi+146] ;㪠<><E3AAA0>⥫<EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>祢<EFBFBD><E7A5A2> <> TexColViv
|
||
ted_tim_ch equ dword[edi+150] ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⢮ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> 䠩<><E4A0A9>
|
||
ted_tim_undo equ dword[edi+154] ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⢮ <20>⬥<EFBFBD><E2ACA5><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>⢨<EFBFBD>
|
||
ted_tim_ls equ dword[edi+158] ;<3B>६<EFBFBD> <20><><EFBFBD><E1ABA5><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>࠭<EFBFBD><E0A0AD><EFBFBD><EFBFBD>
|
||
ted_tim_co equ dword[edi+162] ;<3B>६<EFBFBD> <20><><EFBFBD><E1ABA5><EFBFBD><EFBFBD> 梥⮢<E6A2A5><E2AEA2> ࠧ<><E0A0A7>⪨
|
||
ted_el_focus equ dword[edi+166] ;㪠<><E3AAA0>⥫<EFBFBD> <20><> <20><>६<EFBFBD><E0A5AC><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> 䮪<><E4AEAA><EFBFBD>
|
||
ted_err_save equ byte[edi+170] ;<3B>訡<EFBFBD><E8A8A1> <20><><EFBFBD>࠭<EFBFBD><E0A0AD><EFBFBD><EFBFBD> 䠩<><E4A0A9>
|
||
ted_panel_id equ byte[edi+171] ;<3B><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>⮩ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
ted_key_new equ byte[edi+172] ;ᨬ<><E1A8AC><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>㤥<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
ted_symbol_new_line equ byte[edi+173] ;ᨬ<><E1A8AC><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>襭<EFBFBD><E8A5AD> <20><>ப<EFBFBD>
|
||
ted_scr_w equ dword[edi+174] ;<3B><><EFBFBD>⨪<EFBFBD><E2A8AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><E0AEAB><EFBFBD><EFBFBD>
|
||
ted_scr_h equ dword[edi+178] ;<3B><>ਧ<EFBFBD><E0A8A7>⠫<EFBFBD><E2A0AB><EFBFBD><EFBFBD> <20><><EFBFBD><E0AEAB><EFBFBD><EFBFBD>
|
||
ted_arr_key_pos equ dword[edi+182] ;㪠<><E3AAA0>⥫<EFBFBD> <20><> <20><><EFBFBD>ᨢ <20><><EFBFBD><EFBFBD>権 <20><><EFBFBD>祢<EFBFBD><E7A5A2> <>
|
||
ted_buffer equ dword[edi+186] ;㪠<><E3AAA0>⥫<EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><E0AEA2><EFBFBD><EFBFBD>/<2F><>⠢<EFBFBD><E2A0A2>
|
||
ted_buffer_find equ dword[edi+190] ;㪠<><E3AAA0>⥫<EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD>᪠
|
||
ted_cur_ins equ byte[edi+194] ;०<><E0A5A6> ࠡ<><E0A0A1><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
|
||
ted_mode_color equ byte[edi+195] ;०<><E0A5A6> <20>뤥<EFBFBD><EBA4A5><EFBFBD><EFBFBD><EFBFBD> <> 梥⮬ (0-<2D>몫. 1-<2D><><EFBFBD>.)
|
||
ted_mode_invis equ byte[edi+196] ;०<><E0A5A6> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⠥<EFBFBD><E2A0A5><EFBFBD> ᨬ<><E1A8AC><EFBFBD><EFBFBD><EFBFBD>
|
||
ted_gp_opt equ byte[edi+197] ;<3B><>樨 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>頥<EFBFBD><E9A0A5><EFBFBD> <20>㭪樥<E3ADAA> ted_get_pos_by_cursor
|
||
ted_fun_on_key_ctrl_o equ dword[edi+198] ;㪠<><E3AAA0>⥫<EFBFBD> <20><> <20>㭪<EFBFBD><E3ADAA><EFBFBD> <20><><EFBFBD>뢠<EFBFBD><EBA2A0><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD>⨨ Ctrl+O (<28><><EFBFBD><EFBFBD><EFBFBD>⨥ 䠩<><E4A0A9>)
|
||
ted_fun_on_key_ctrl_f equ dword[edi+202] ;... Ctrl+F (<28>맮<EFBFBD><EBA7AE>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>᪠)
|
||
ted_fun_on_key_ctrl_n equ dword[edi+206] ;... Ctrl+N (ᮧ<><E1AEA7><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>㬥<EFBFBD><E3ACA5><EFBFBD>)
|
||
ted_fun_on_key_ctrl_s equ dword[edi+210] ;... Ctrl+S
|
||
ted_buffer_size equ dword[edi+214] ;ࠧ<><E0A0A7><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><E0AEA2><EFBFBD><EFBFBD>/<2F><>⠢<EFBFBD><E2A0A2>
|
||
ted_fun_find_err equ dword[edi+218] ;㪠<><E3AAA0>⥫<EFBFBD> <20><> <20>㭪<EFBFBD><E3ADAA><EFBFBD> <20><><EFBFBD>뢠<EFBFBD><EBA2A0><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>稫<EFBFBD><E7A8AB> <20><>㤠筮
|
||
;ted_fun_init_synt_err equ dword[edi+222] ;㪠<><E3AAA0>⥫<EFBFBD> <20><> <20>㭪<EFBFBD><E3ADAA><EFBFBD> <20><><EFBFBD>뢠<EFBFBD><EBA2A0><EFBFBD><EFBFBD> <20><><EFBFBD> <20>訡<EFBFBD>筮<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>⨨ 䠩<><E4A0A9> ᨭ⠪<E1A8AD><E2A0AA><EFBFBD><EFBFBD>
|
||
ted_fun_draw_panel_buttons equ dword[edi+226] ;㪠<><E3AAA0>⥫<EFBFBD> <20><> <20>㭪<EFBFBD><E3ADAA><EFBFBD> <20><>ᮢ<EFBFBD><E1AEA2><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
ted_fun_draw_panel_find equ dword[edi+230] ;㪠<><E3AAA0>⥫<EFBFBD> <20><> <20>㭪<EFBFBD><E3ADAA><EFBFBD> <20><>ᮢ<EFBFBD><E1AEA2><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>᪠
|
||
ted_fun_draw_panel_syntax equ dword[edi+234] ;㪠<><E3AAA0>⥫<EFBFBD> <20><> <20>㭪<EFBFBD><E3ADAA><EFBFBD> <20><>ᮢ<EFBFBD><E1AEA2><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ᨭ⠪<E1A8AD><E2A0AA><EFBFBD><EFBFBD>
|
||
ted_fun_save_err equ dword[edi+238] ;㪠<><E3AAA0>⥫<EFBFBD> <20><> <20>㭪<EFBFBD><E3ADAA><EFBFBD> <20><><EFBFBD>뢠<EFBFBD><EBA2A0><EFBFBD><EFBFBD> <20> <20><><EFBFBD>࠭<EFBFBD><E0A0AD><EFBFBD><EFBFBD> 䠩<><E4A0A9> <20><><EFBFBD><EFBFBD><EFBFBD>稫<EFBFBD><E7A8AB><EFBFBD> <20><>㤠筮
|
||
ted_increase_size equ dword[edi+242] ;<3B><> ᨬ<><E1A8AC><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>㤥<EFBFBD> 㢥稢<E3A2A5><E7A8A2><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><>墠⪥
|
||
ted_ptr_free_symb equ dword[edi+246] ;㪠<><E3AAA0>⥫<EFBFBD> <20><> <><E1A2AE><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ᨬ<><E1A8AC><EFBFBD> (<28>ᯮ<EFBFBD><E1AFAE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20>७<E1AAAE><E0A5AD> <20><>⠢<EFBFBD><E2A0A2> ⥪<><E2A5AA><EFBFBD>)
|
||
ted_font_size equ dword[edi+250] ;<3B><><EFBFBD><EFBFBD><EFBFBD>⥫<EFBFBD> <20><><EFBFBD> ࠧ<><E0A0A7><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<28><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>㦭<EFBFBD> ⠪<><E2A0AA> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ࠬ<EFBFBD><E0A0AC><EFBFBD><EFBFBD> ted_rec_w, ted_rec_h)
|
||
;------------------------------------------------------------------------------
|
||
ted_opt_ed_move_cursor equ 1 ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ⥪<><E2A5AA><EFBFBD>
|
||
ted_opt_ed_change_time equ 2 ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> ।<><E0A5A4><EFBFBD><EFBFBD><EFBFBD><E0AEA2><EFBFBD><EFBFBD> ⥪<><E2A5AA><EFBFBD>
|
||
ted_offs_sel equ 34 ;ᬥ饭<E1ACA5><E9A5AD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> sel
|
||
ted_offs_seln equ 50 ;ᬥ饭<E1ACA5><E9A5AD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> seln
|
||
ted_offs_count_colors equ 90 ;ᬥ饭<E1ACA5><E9A5AD> <20><>६<EFBFBD><E0A5AC><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⢠ 梥⮢
|
||
ted_offs_key_new equ 172
|
||
ted_offs_symbol_new_line equ 173 ;ᬥ饭<E1ACA5><E9A5AD> ᨬ<><E1A8AC><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><>ப<EFBFBD>
|
||
;------------------------------------------------------------------------------
|
||
|
||
|
||
|
||
; *** scroll bar constant ***
|
||
sb_offs_size_x equ 0
|
||
sb_offs_start_x equ 2
|
||
sb_offs_size_y equ 4
|
||
sb_offs_start_y equ 6
|
||
sb_offs_max_area equ 16
|
||
sb_offs_cur_area equ 20
|
||
sb_offs_position equ 24
|
||
sb_offs_bckg_col equ 28
|
||
sb_offs_frnt_col equ 32
|
||
sb_offs_line_col equ 36
|
||
sb_offs_redraw equ 40
|
||
sb_offs_delta2 equ 46
|
||
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
|
||
}
|
||
|
||
; *** ProgressBar constants *** ;
|
||
PB_VALUE equ +0
|
||
PB_LEFT equ +4
|
||
PB_TOP equ +8
|
||
PB_WIDTH equ +12
|
||
PB_HEIGHT equ +16
|
||
PB_STYLE equ +20
|
||
PB_MIN equ +24
|
||
PB_MAX equ +28
|
||
PB_BACK_COLOR equ +32
|
||
PB_PROGRESS_COLOR equ +36
|
||
PB_FRAME_COLOR equ +40
|
||
|
||
; *** Frame constants *** ;
|
||
FR_STYLE equ +0 ; Dword
|
||
FR_WIDTH equ +4 ; Word
|
||
FR_LEFT equ +6 ; Word
|
||
FR_HEIGHT equ +8 ; Word
|
||
FR_TOP equ +10 ; Word
|
||
FR_OUTER_COLOR equ +12 ; Dword
|
||
FR_INNER_COLOR equ +16 ; Dword
|
||
FR_FLAGS equ +20 ; Dword
|
||
FR_TEXT equ +24 ; Dword
|
||
FR_TEXT_POSITION equ +28 ; Dword
|
||
FR_FONT equ +32 ; Dword
|
||
FR_FONT_HEIGHT equ +36 ; Dword
|
||
FR_FORE_COLOR equ +40 ; Dword
|
||
FR_BACK_COLOR equ +44 ; Dword
|
||
|
||
; FR_FLAGS = [x][yyy][z]
|
||
; z - Caption
|
||
; yyy - BorderStyle
|
||
; x - BackStyle
|
||
FR_CAPTION equ 00001b ; [z]
|
||
FR_DOUBLE equ 00000b ; [yyy]
|
||
FR_RAISED equ 00010b ; [yyy]
|
||
FR_SUNKEN equ 00100b ; [yyy]
|
||
FR_ETCHED equ 00110b ; [yyy]
|
||
FR_RIDGED equ 01000b ; [yyy]
|
||
FR_FILLED equ 10000b ; [x]
|
||
|
||
; FR_TEXT_POSITION
|
||
FR_TEXT_POS_BOTTOM equ 1
|
||
FR_TEXT_POS_TOP equ 0
|
||
|
||
;-----------------------------------------------------------------------------
|
||
|
||
struc tooltip txt, next, zone_x, zone_w, zone_y, zone_h, col_txt, col_bkg, tm_wait
|
||
{
|
||
.txt dd txt ; 㪠<><E3AAA0>⥫<EFBFBD> <20><> ⥪<><E2A5AA> asciiz, ࠧ<><E0A0A7><EFBFBD><EFBFBD>⥫<EFBFBD> \r 13
|
||
.next dd next ; <><E1ABA5><EFBFBD>騨<EFBFBD> tooltip <20> 楯<>窥 <20><><EFBFBD> 0
|
||
.zone_y dw zone_y ; <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> (<28> 90% <20><><EFBFBD>砥<EFBFBD> ᮢ<><E1AEA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> ࠧ<><E0A0A7> <20><><EFBFBD><EFBFBD><EFBFBD>)
|
||
.zone_x dw zone_x ;
|
||
.zone_h dw zone_h ;
|
||
.zone_w dw zone_w ;
|
||
.col_txt dd col_txt ; 梥<> ⥪<><E2A5AA><EFBFBD> <20><><EFBFBD>⨯<EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ࠧ<><E0A0A7><EFBFBD> SysFn4
|
||
.col_bkg dd col_bkg ; 梥<> 䮭<> <20><><EFBFBD>⨯<EFBFBD>
|
||
.tm_wait dw tm_wait ; <20>६<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>10<31><30>
|
||
;<3B>६<EFBFBD><E0A5AC><EFBFBD><EFBFBD><EFBFBD> <20><>६<EFBFBD><E0A5AC><EFBFBD><EFBFBD><EFBFBD>
|
||
.font_sz dd ? ; font size
|
||
.mouse dd ? ; <20>।<EFBFBD><E0A5A4><EFBFBD>饥 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (x, y)
|
||
.tm_strt dd ? ; <20>६<EFBFBD> <20><><EFBFBD><EFBFBD>᪠ ⠩<><E2A0A9><EFBFBD><EFBFBD> (<28>室<EFBFBD> <20><><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD>) <20>10<31><30>
|
||
.video dd ? ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD>࠭<EFBFBD><E0A0AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD>⨯<EFBFBD><E2A8AF>
|
||
.video_y dw ? ; <20><><EFBFBD>न<EFBFBD><E0A4A8><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>࠭<EFBFBD>, <20><><EFBFBD> 0 <20> <20><><EFBFBD><EFBFBD><EFBFBD>
|
||
.video_x dw ?
|
||
.video_h dw ? ; ࠧ<><E0A0A7><EFBFBD> <20>।<EFBFBD><E0A5A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>뢠<EFBFBD><EBA2A0><EFBFBD><EFBFBD> <20><><EFBFBD> init
|
||
.video_w dw ?
|
||
}
|