;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;Basic macros for use EditBox ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
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
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;Bit mask from editbox
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
ed_figure_only= 1000000000000000b ;®¤¨ ᨬ¢®«ë
ed_always_focus= 100000000000000b
ed_focus= 10b ;䮪ãá ¯à¨«®¦¥¨ï
ed_pass= 1b ;¯®«¥ á ¯ ஫¥¬
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_ctrl_on = 1000000000b
ed_ctrl_off = 1111110111111111b
ed_alt_on = 10000000000b
ed_alt_off = 1111101111111111b
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
push dword [esi+32] ;梥â ⥪áâ ¢ à ¡®ç¥© ®¡« á⨠®ª
pop dword ed_text_color
add edi,ed_struc_size
loop @b
}
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;Basic macros for use CheckBox ;
;Last change 17.01.2013 ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
ch_text_margin equ [edi+8] ;=4 à ááâ®ï¨¥ ®â ¯àאַ㣮«ì¨ª 祪 ¡®ªá ¤® ¤¯¨á¨
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_flags equ [edi+28] ;ä« £¨
ch_struc_size=36 ;à §¬¥à áâàãªâãàë
ch_flag_en=10b ;ä« £ ãáâ ®¢«¥®£® 祪 ¡®ªá .
ch_flag_top=0x0 ;ä« £ à ᯮ«®¦¥¨ï ⥪áâ ¢¢¥àåã â.¥. 3-© ¡¨â
ch_flag_middle=100b ;ä« £ à ᯮ«®¦¥¨ï ⥪áâ ¢ æ¥âॠâ.¥. 4-© ¡¨â.
ch_flag_bottom=1000b ;ä« £ à ᯮ«®¦¥¨ï ⥪áâ ¢ ¨§ã â.¥. ¯® 㬮«ç ¨î ¯à¨¨¬ ¥âáï § 票¥ ¢¨§ã â.¥. ®âáãá⢨¥ 3-£® ¨ 4-£® ¡¨â
2ch_left_s equ [ebp] ;ª®à¤¨ â ç « à¨á®¢ ¨ï ¯® å
2ch_top_s equ [ebp+4] ;ª®®à¤¨ â ç « à¨á®¢ ¨ï ¯® ã
2ch_text_margin equ [ebp+8] ;=4 à ááâ®ï¨¥ ®â ¯àאַ㣮«ì¨ª 祪 ¡®ªá ¤® ¤¯¨á¨
2ch_color equ [ebp+12] ;梥⠢ãâਠcheckbox
2ch_border_color equ [ebp+16] ; or [edi+4] ;梥â à ¬ª¨ checkbox ¥¥ ¬®¦® § ¤ âì á ¬®áâ®ï⥫ì®
2ch_text_color equ [ebp+20] ;[edi+4] ;梥â ⥪áâ
2ch_text_ptr equ [ebp+24] ;㪠§ ⥫ì ç «® ⥪á⮢®© áâப¨
2ch_flags equ [ebp+28] ;ä« £¨
2ch_sz_str equ [ebp+32] ;¤«¨ áâப¨, ¢ëç¨á«ï¥âáï ¯à¨ ¨¨æ¨ «¨§ 樨 ª®¬¯®¥â
struc check_box2 left_s,top_s,ch_text_margin,color,border_color,text_color,text,flags
{ ;áâàãªâãà ¯ à ¬¥â஢ ¤«ï 祪 ¡®ªá
.left_s dd left_s ;+0 ¯®«®¦¥¨¥ ¯® å dw + à §¬¥à dw
.top_s dd top_s ;+4 ¯®«®¦¥¨¥ ¯® ã dw + à §¬¥à dw
.ch_text_margin dd ch_text_margin ;à ááâ®ï¨¥ ®â ¯àאַ㣮«ì¨ª 祪 ¡®ªá ¤® ¤¯¨á¨
.color dd color ;梥⠢ãâਠ祪¡®ªá
.border_color dd border_color ;梥â à ¬ª¨
.text_color dd text_color ;梥⠤¯¨á¨
.text dd text ; ¤à¥á ¢ ª®¤¥ ¯à®£à ¬¬ë £¤¥ à ᯮ«®¦¥ ⥪áâ
.flags dd flags+0 ;ä« £¨
.size_of_str dd 0x0 ;¤«¨ áâப¨, ¢ëç¨á«ï¥âáï ¯à¨ ¨¨æ¨ «¨§ 樨 ª®¬¯®¥â
}
; ªà®á ¯à®¢¥àª¨ é¥«çª ¬ë誨 ¤ £à㯯®© checkboxes.
macro init_checkboxes2 start,end_cb
{
if start+ch_struc_size eq end_cb
;ª®£¤ ®¤¨ í«¥¬¥â
push start ;㪠§ ⥫ì checkbox
call [init_checkbox] ; áâனª checkbox'
else
;ª®£¤ ¥áª®«ìª® í«¥¬¥â®¢
mov ebp,start
mov ecx,((end_cb-start)/ch_struc_size)
@@:
push ebp ;㪠§ â¥«ì ¯¥à¢ë© checkbox
call [init_checkbox] ; áâனª checkbox'®¢
add ebp,ch_struc_size
loop @b
end if
}
; ªà®á ¯à®¢¥àª¨ ¬ë誨 £à㯯ë checkboxes.
macro checkboxes_mouse2 start,end_cb
{
if start+ch_struc_size eq end_cb
;ª®£¤ ®¤¨ í«¥¬¥â
push start ;㪠§ ⥫ì checkbox
call [check_box_mouse] ;¬ ªà®á ¯à®¢¥àª¨ ¬ë誨 ¤ checkbox'®¬
else
;ª®£¤ ¥áª®«ìª® í«¥¬¥â®¢
mov ebp,start
mov ecx,((end_cb-start)/ch_struc_size)
@@:
push ebp ;㪠§ â¥«ì ¯¥à¢ë© checkbox
call [check_box_mouse] ;¬ ªà®á ¯à®¢¥àª¨ ¬ë誨 ¤ checkbox' ¬¨
add ebp,ch_struc_size
loop @b
end if
}
; ªà®á ®âà¨á®¢ª¨ £à㯯ë checkboxes.
macro checkboxes_draw2 start,end_cb
{
if start+ch_struc_size eq end_cb
;ª®£¤ ®¤¨ í«¥¬¥â
push start ;㪠§ ⥫ì checkbox
call [check_box_draw] ; à¨á®¢ âì checkbox
else
;ª®£¤ ¥áª®«ìª® í«¥¬¥â®¢
mov ebp,start
mov ecx,((end_cb-start)/ch_struc_size)
@@:
push ebp ;㪠§ â¥«ì ¯¥à¢ë© checkbox
call [check_box_draw] ; à¨á®¢ âì checkbox'ë
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] ;梥â ⥪áâ ¢ à ¡®ç¥© ®¡« á⨠®ª
or dword [esp],0x80000000 ;¥®¡å®¤¨¬® ¤«ï ¢ë¢®¤ ASCIIZ áâப
pop dword 2ch_text_color
push dword [esi+36] ;梥⠣à 䨪¨ ¢ ®ª¥ (à §¤¥«¨â¥«ìë¥ «¨¨¨ ¨ â.¯.)
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
{ ;áâàãªâãà ¯ à ¬¥â஢ ¤«ï 祪 ¡®ªá
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 ; ä« £¨
}
;op_struc_size equ
option_group equ [edi]
op_left equ [edi+4] ;ª®®à¤¨ â ç « à¨á®¢ ¨ï ¯® å
op_top equ [edi+6] ;ª®®à¤¨ â ç « à¨á®¢ ¨ï ¯® ã
op_text_margin equ [edi+8] ;=4 à ááâ®ï¨¥ ®â ¯àאַ㣮«ì¨ª 祪 ¡®ªá ¤® ¤¯¨á¨
op_size equ [edi+12] ;12 à §¬¥à ª¢ ¤à â 祪 ¡®ªá
op_color equ [edi+16]
op_border_color equ [edi+20] ; or [edi+4] ;梥â à ¬ª¨ optionbox ¥¥ ¬®¦® § ¤ âì á ¬®áâ®ï⥫ì®
op_text_color equ [edi+24];[edi+4] ;梥â ⥪áâ
op_text_ptr equ [edi+28] ;㪠§ ⥫ì ç «® ⥪á⮢®© áâப¨
op_text_length equ [edi+32]
op_flags equ [edi+36] ;ä« £¨
macro option_boxes_set_sys_color color_table,group
{
mov ecx,group
mov esi,color_table
mov edi,[ecx]
mov eax,[esi+24] ;梥⠪®¯ª¨ ¢ à ¡®ç¥© ®¡« á⨠®ª
mov ebx,[esi+28] ;梥â ⥪áâ ª®¯ª¥
@@:
mov op_border_color,eax
mov op_color,ebx
push dword [esi+32] ;梥â ⥪áâ ¢ à ¡®ç¥© ®¡« á⨠®ª
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_scrol,on_press {
.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
.ls_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
.box_left dd box_l
.box_top dd box_t
.box_width dd box_w
.box_height dd box_h
.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_scrol dd p_scrol
rb 4
.on_activate dd 0
.on_press dd on_press
}
tl_info_size equ word[edi +4] ;à §¬¥à ¤ ëå ¢ë¤¥«ï¥¬ëå ¤«ï ª ¦¤®£® 㧫 (¯®«ì§®¢ ⥫ìá쪨¥ ¤ ë¥ + ⥪áâ ¤«ï ¯®¤¯¨á¨)
tl_info_max_count equ dword[edi+6] ;¬ ªá¨¬ «ì®¥ ª®«¨ç¥á⢮ 㧫®¢, ª®â®àë¥ ¬®¦® ¤®¡ ¢¨âì ¢ í«¥¬¥â
tl_style equ dword[edi+10] ;á⨫¨ í«¥¬¥â
tl_data_nodes equ dword[edi+14] ;㪠§ ⥫ì áâàãªâãàë 㧫®¢
tl_data_img equ dword[edi+18] ;㪠§ â¥«ì ¨§®¡à ¦¥¨ï á ¨ª®ª ¬¨ 㧫®¢
tl_img_cx equ word[edi+22] ;è¨à¨ ¨ª®®ª
tl_img_cy equ word[edi+24] ;¢ëá®â ¨ª®®ª
tl_data_img_sys equ dword[edi+26] ;㪠§ ⥫ì á¨áâ¥¬ë¥ ¨§®¡à ¦¥¨ï (áâ५ª¨, ¯«îᨪ¨)
tl_ch_tim equ dword[edi+30] ;ª®«¨ç¥á⢮ ¨§¬¥¥¨© ¢ ä ©«¥
tl_tim_undo equ dword[edi+38] ;ª®«¨ç¥á⢮ ®â¬¥¥ëå ¤¥©á⢨©
tl_cur_pos equ dword[edi+42] ;¯®§¨æ¨ï ªãàá®à
tl_col_bkg equ dword[edi+46] ;梥â ä®
tl_col_zag equ dword[edi+50] ;梥⠧ £®«®¢ª
tl_col_txt equ dword[edi+54] ;梥â ⥪áâ
tl_box_left equ dword[edi+58]
tl_box_top equ dword[edi+62]
tl_box_width equ dword[edi+66]
tl_box_height equ dword[edi+70]
tl_capt_cy equ word[edi+74] ;¢ëá®â ¯®¤¯¨á¨
tl_info_capt_offs equ word[edi+76] ;ᤢ¨£ ¤«ï ç « ⥪áâ (¯®¤¯¨á¨ 㧫 )
tl_info_capt_len equ word[edi+78] ;¤«¨ ⥪áâ ¯®¤¯¨á¨ 㧫 (¥á«¨ = 0 â® ¤® ª®æ áâàãªâãàë)
tl_el_focus equ dword[edi+80] ;㪠§ ⥫ì áâàãªâãàã í«¥¬¥â ¢ 䮪ãá¥
tl_p_scrol equ dword[edi+84] ;㪠§ ⥫ì áâàãªâãàã áªà®««¨£
tl_on_press equ dword[edi+96] ;㪠§ ⥫ì äãªæ¨î, ª®â®à ï ¢ë§ë¢ ¥âáï ¯à¨ ¦ ⨨ Enter
;data_info dd ? ;+ 0 㪠§ â¥«ì ®á®¢ë¥ ¤ ë¥
;ls_tim dd ? ;+34 ¢à¥¬ï ¯®á«¥¤¥£® á®åà ¥¨ï
;on_activate dd ? ;+92 㪠§ ⥫ì äãªæ¨î ¯à¨ ªâ¨¢¨à®¢ ¨¨ 㧫
;ª®áâ âë á⨫ï
tl_key_no_edit equ 1b ;í«¥¬¥â ¥«ì§ï । ªâ¨à®¢ âì ª« ¢¨ âãॠ(¨§¬¥ïâì ã஢¨, 㤠«ïâì)
tl_draw_par_line equ 10b ;à¨á®¢ âì «¨¨¨ ª த¨â¥«ì᪮¬ã 㧫ã
tl_list_box_mode equ 100b ;áâ¨«ì ¥ ®â®¡à ¦ ¥â ã஢¨ (ª ª ¢ ListBox ¢á¥ ®¤®£® ã஢ï)
;ª®áâ âë ¤«ï äãªæ¨©
tl_err_save_memory_size equ 10b ;¥ å¢ â ¥â ¯ ¬ï⨠¤«ï á®åà ¥¨ï í«¥¬¥â
tl_err_load_caption equ 1b ;¢ ¯ ¬ï⨠¥â § £®«®¢ª 'tree'
tl_err_load_info_size equ 100b ;¥ ᮢ¯ ¤ ¥â à §¬¥à ¨ä®à¬ 樮®© áâàãªâãàë ¯à¨ ®âªàë⨨
tl_load_mode_add equ 0x20000 ;®¯æ¨ï áç¨âë¢ ¨ï ¢ ०¨¬¥ ¤®¡ ¢«¥¨ï ¨ä®à¬ 樨
tl_save_load_heder_size equ 26 ;à §¬¥à § £®«®¢ª ¤«ï § ¯¨á¨/ç⥨ï í«¥¬¥â®¢
tl_offs_box equ 58 ; ç «® BOX áâàãªâãàë ¤«ï tree_list
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;Basic macros for use TextEditor ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
ted_wnd_l equ dword[edi+ 0] ;®ª® । ªâ®à : ®âáâ㯠᫥¢
ted_wnd_t equ dword[edi+ 4] ;®ª® । ªâ®à : ®âáâ㯠ᢥàåã
ted_wnd_w equ dword[edi+ 8] ;®ª® । ªâ®à : è¨à¨
ted_wnd_h equ dword[edi+12] ;®ª® । ªâ®à : ¢ëá®â
ted_rec_l equ dword[edi+16] ;è¨à¨ ¯ ¥«¨ ¢ ®ª¥
ted_rec_t equ dword[edi+20] ;¢ëá®â ¯ ¥«¨ ¢ ®ª¥
ted_rec_w equ dword[edi+24] ;è¨à¨ ᨬ¢®« (§ ª®¬¥áâ ) ¢ ®ª¥
ted_rec_h equ dword[edi+28] ;¢ëá®â ᨬ¢®« (§ ª®¬¥áâ ) ¢ ®ª¥
ted_drag_m equ byte[edi+32] ;¢ë¤¥«¥¨¥ ®â ¬ëè¨
ted_drag_k equ byte[edi+33] ;¢ë¤¥«¥¨¥ ®â ª« ¢¨ âãàë
ted_sel_x0 equ dword[edi+34] ;ª®®à¤¨ ⠢뤥«¥¨ï x0
ted_sel_y0 equ dword[edi+38] ;ª®®à¤¨ ⠢뤥«¥¨ï y0
ted_sel_x1 equ dword[edi+42] ;ª®®à¤¨ ⠢뤥«¥¨ï x1
ted_sel_y1 equ dword[edi+46] ;ª®®à¤¨ ⠢뤥«¥¨ï y1
;§ ¯ áë¥ ª®®à¤¨ âë ¢ë¤¥«¥¨ï
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] ;㪠§ â¥«ì ¯ ¬ïâì ¤«ï åà ¥¨ï ⥪áâ
ted_tex_1 equ dword[edi+70] ;㪠§ ⥫ì 1-î áâàªãâàã ᨬ¢®«
ted_tex_end equ dword[edi+74] ;㪠§ â¥«ì ¯®á«¥¤îî áâàãªâãàã ᨬ¢®«
ted_cur_x equ dword[edi+78] ;ª®®à¤¨ â x ªãàá®à
ted_cur_y equ dword[edi+82] ;ª®®à¤¨ â y ªãàá®à
ted_max_chars equ dword[edi+86] ;¬ ªá¨¬ «ì®¥ ç¨á«® ᨬ¢®«®¢ ¢ ®¤®¬ ¤®ªã¬¥â¥
ted_colors_text_count equ dword[edi+90] ;ª®««¨ç¥á⢮ 梥⮢ ⥪áâ
ted_key_words_count equ dword[edi+94] ;ª®««¨ç¥á⢮ ª«î祢ëå á«®¢
ted_color_cursor equ dword[edi+98] ;梥⠪ãàá®à
ted_color_wnd_capt equ dword[edi+102] ;梥⠯®«¥© ¢®ªà㣠®ª
ted_color_wnd_work equ dword[edi+106] ;梥â ä® ®ª
ted_color_wnd_bord equ dword[edi+110] ;梥â ⥪áâ ¯®«ïå
ted_color_select equ dword[edi+114] ;梥⠢뤥«¥¨ï
ted_color_cur_text equ dword[edi+118] ;梥â ᨬ¢®« ¯®¤ ªãàá®à®¬
ted_color_wnd_text equ dword[edi+122] ;梥â ⥪áâ ¢ ®ª¥
ted_syntax_file equ dword[edi+126] ;㪠§ ⥫ì ç «® ä ©« á¨â ªá¨á
ted_syntax_file_size equ dword[edi+130] ;¬ ªá¨¬ «ìë© à §¬¥à ä ©« á¨â ªá¨á
ted_text_colors equ dword[edi+134] ;㪠§ â¥«ì ¬ áᨢ 梥⮢ ⥪áâ
ted_help_text_f1 equ dword[edi+138] ;㪠§ ⥫ì ⥪áâ á¯à ¢ª¨ (¯® ¦ ⨨ F1)
ted_help_id equ dword[edi+142] ;¨¤¥â¨ä¨ª â®à ¤«ï á¯à ¢ª¨
ted_key_words_data equ dword[edi+146] ;㪠§ ⥫ì áâàãªâãàë ª«î祢ëå á«®¢ TexColViv
ted_tim_ch equ dword[edi+150] ;ª®««¨ç¥á⢮ ¨§¬¥¥¨© ¢ ä ©«¥
ted_tim_undo equ dword[edi+154] ;ª®««¨ç¥á⢮ ®â¬¥¥ëå ¤¥©á⢨©
ted_tim_ls equ dword[edi+158] ;¢à¥¬ï ¯®á«¥¤¥£® á®åà ¥¨ï
ted_tim_co equ dword[edi+162] ;¢à¥¬ï ¯®á«¥¤¥© 梥⮢®© à §¬¥âª¨
ted_el_focus equ dword[edi+166] ;㪠§ â¥«ì ¯¥à¥¬¥ãî í«¥¬¥â ¢ 䮪ãá¥
ted_err_save equ byte[edi+170] ;®è¨¡ª á®åà ¥¨ï ä ©«
ted_panel_id equ byte[edi+171] ;®¬¥à ®âªàë⮩ ¯ ¥«¨
ted_key_new equ byte[edi+172] ;ᨬ¢®«, ª®â®àë© ¡ã¤¥â ¤®¡ ¢«ïâáï á ª« ¢¨ âãàë
ted_symbol_new_line equ byte[edi+173] ;ᨬ¢®« § ¢¥à襨ï áâப¨
ted_scr_w equ dword[edi+174] ;¢¥à⨪ «ìë© áªà®««¨£
ted_scr_h equ dword[edi+178] ;£®à¨§®â «ìë© áªà®««¨£
ted_arr_key_pos equ dword[edi+182] ;㪠§ â¥«ì ¬ áᨢ ¯®§¨æ¨© ª«î祢ëå á«®¢
ted_buffer equ dword[edi+186] ;㪠§ â¥«ì ¡ãä¥à ª®¯¨à®¢ ¨ï/¢áâ ¢ª¨
ted_buffer_find equ dword[edi+190] ;㪠§ â¥«ì ¡ãä¥à ¤«ï ¯®¨áª
ted_cur_ins equ byte[edi+194] ;०¨¬ à ¡®âë ªãàá®à (®¡ëçë© ¨«¨ § ¬¥ )
ted_mode_color equ byte[edi+195] ;०¨¬ ¢ë¤¥«¥¨ï á«®¢ 梥⮬ (0-¢ëª«. 1-¢ª«.)
ted_mode_invis equ byte[edi+196] ;०¨¬ ¯®ª § ¥¯¥ç â ¥¬ëå ᨬ¢®«®¢
ted_gp_opt equ byte[edi+197] ;®¯æ¨¨ ¢®§¢à é ¥¬ë¥ äãªæ¨¥© ted_get_pos_by_cursor
ted_fun_on_key_ctrl_o equ dword[edi+198] ;㪠§ ⥫ì äãªæ¨î ¢ë§ë¢ ¥¬ãî ¯à¨ ¦ ⨨ Ctrl+O (®âªàë⨥ ä ©« )
ted_fun_on_key_ctrl_f equ dword[edi+202] ;... Ctrl+F (¢ë§®¢ /áªàëâ¨ï ¯ ¥«¨ ¯®¨áª )
ted_fun_on_key_ctrl_n equ dword[edi+206] ;... Ctrl+N (ᮧ¤ ¨¥ ®¢®£® ¤®ªã¬¥â )
ted_fun_on_key_ctrl_s equ dword[edi+210] ;... Ctrl+S
ted_buffer_size equ dword[edi+214] ;à §¬¥à ¡ãä¥à ª®¯¨à®¢ ¨ï/¢áâ ¢ª¨
ted_fun_find_err equ dword[edi+218] ;㪠§ ⥫ì äãªæ¨î ¢ë§ë¢ ¥¬ãî ¥á«¨ ¯®¨áª § ª®ç¨«áï ¥ã¤ ç®
;ted_fun_init_synt_err equ dword[edi+222] ;㪠§ ⥫ì äãªæ¨î ¢ë§ë¢ ¥¬ãî ¯à¨ ®è¨¡®ç®¬ ®âªàë⨨ ä ©« á¨â ªá¨á
ted_fun_draw_panel_buttons equ dword[edi+226] ;㪠§ ⥫ì äãªæ¨î à¨á®¢ ¨ï ¯ ¥«¨ á ª®¯ª ¬¨
ted_fun_draw_panel_find equ dword[edi+230] ;㪠§ ⥫ì äãªæ¨î à¨á®¢ ¨ï ¯ ¥«¨ ¯®¨áª
ted_fun_draw_panel_syntax equ dword[edi+234] ;㪠§ ⥫ì äãªæ¨î à¨á®¢ ¨ï ¯ ¥«¨ á¨â ªá¨á
ted_fun_save_err equ dword[edi+238] ;㪠§ ⥫ì äãªæ¨î ¢ë§ë¢ ¥¬ãî ¥á«¨ á®åà ¥¨¥ ä ©« § ª®ç¨«®áì ¥ã¤ ç®
ted_increase_size equ dword[edi+242] ;ç¨á«® ᨬ¢®«®¢ ª®â®àë¥ ¡ã¤¥â 㢥稢 âìáï ¯ ¬ïâì ¯à¨ ¥å¢ ⪥
ted_ptr_free_symb equ dword[edi+246] ;㪠§ ⥫ì ᢮¡®¤ãî ¯ ¬ïâì, ¢ ª®â®àãî ¬®¦® ¤®¡ ¢«ïâì ᨬ¢®« (¨á¯®«ì§ã¥âáï ¢ãâà¨ í«¥¬¥â ¤«ï ãáª®à¥¨ï ¢áâ ¢ª¨ ⥪áâ )
;------------------------------------------------------------------------------
ted_opt_ed_move_cursor equ 1 ;¤¢¨£ âì ªãàá®à ¯®á«¥ ¤®¡ ¢«¥¨ï ⥪áâ
ted_opt_ed_change_time equ 2 ;¤®¡ ¢«ïâì ¨§¬¥¥¨ï ¯à¨ । ªâ¨à®¢ ¨¨ ⥪áâ
ted_offs_sel equ 34 ;ᬥ饨¥ áâàãªâãàë sel
ted_offs_seln equ 50 ;ᬥ饨¥ áâàãªâãàë seln
ted_offs_count_colors equ 90 ;ᬥ饨¥ ¯¥à¥¬¥®© ª®««¨ç¥á⢠梥⮢
ted_offs_key_new equ 172
ted_offs_symbol_new_line equ 173 ;ᬥ饨¥ ᨬ¢®« ®¢®© áâப¨
;------------------------------------------------------------------------------
; *** 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