Subversion Repositories Kolibri OS

Rev

Rev 6689 | Rev 7020 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed

  1. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  2. ;; basic macros for EditBox ;;
  3. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  4. ed_width              equ [edi]      ; field width
  5. ed_left               equ [edi + 4]  ; left border X
  6. ed_top                equ [edi + 8]  ; top border Y
  7. ed_color              equ [edi + 12] ; field color
  8. shift_color           equ [edi + 16] ; select color
  9. ed_focus_border_color equ [edi + 20] ; border color active
  10. ed_blur_border_color  equ [edi + 24] ; border color inactive
  11. ed_text_color         equ [edi + 28] ; color and font (as in sysfunc 4)
  12. ed_max                equ [edi + 32] ; chars max
  13. ed_text               equ [edi + 36] ; buffer pointer
  14. ed_mouse_variable     equ [edi + 40] ; pointer
  15. ed_flags              equ [edi + 44]
  16. bp_flags              equ [ebp + 44]
  17. ed_size               equ [edi + 48] ; chars currently
  18. bp_size               equ [ebp + 48]
  19. ed_pos                equ [edi + 52] ; carret current position
  20. ed_offset             equ [edi + 56]
  21. cl_curs_x             equ [edi + 60] ; previous cursor X
  22. cl_curs_y             equ [edi + 62] ; previous cursor Y
  23. ed_shift_pos          equ [edi + 64] ; selection current position
  24. ed_shift_pos_old      equ [edi + 66] ; selection previous position
  25. ed_height             equ [edi + 68]
  26. ed_char_width         equ [edi + 72]
  27.  
  28. ed_struc_size = 76
  29.  
  30. ;;;;;;;;;;;;;;;;;;;;;;;
  31. ;; flags for EditBox ;;
  32. ;;;;;;;;;;;;;;;;;;;;;;;
  33. ed_pass         = 1     ; password mode
  34. ed_focus        = 2     ; active
  35. ed_shift        = 4     ; shift holded
  36. ed_shift_on     = 8     ; selection active
  37. ed_shift_bac    = 16    ; clear selection
  38. ed_left_fl      = 32
  39. ed_offset_fl    = 64
  40. ed_insert       = 128
  41. ed_mouse_on     = 256
  42. ed_ctrl_on      = 512
  43. ed_alt_on       = 400h
  44. ed_disabled     = 800h
  45. ed_always_focus = 4000h
  46. ed_figure_only  = 8000h
  47. ed_mous_adn_b   = ed_mouse_on or ed_shift_on or ed_shift_bac
  48. ed_shift_off    = not ed_shift
  49. ed_shift_mcl    = not ed_shift
  50. ed_shift_on_off = not ed_shift_on
  51. ed_shift_bac_cl = not ed_shift_bac
  52. ed_shift_cl     = not (ed_shift or ed_shift_on or ed_shift_bac)
  53. ed_right_fl     = not ed_left_fl
  54. ed_offset_cl    = not ed_offset_fl
  55. ed_insert_cl    = not ed_insert
  56. ed_mouse_on_off = not ed_mouse_on
  57. ed_ctrl_off     = not ed_ctrl_on
  58. ed_alt_off      = not ed_alt_on
  59.  
  60. struc  edit_box width,left,top,color,shift_color,focus_border_color,\
  61.        blur_border_color,text_color,max,text,mouse_variable,flags,size,pos
  62. {
  63.   .width              dd width
  64.   .left               dd left
  65.   .top                dd top
  66.   .color              dd color
  67.   .shift_color        dd shift_color
  68.   .focus_border_color dd focus_border_color
  69.   .blur_border_color  dd blur_border_color
  70.   .text_color         dd text_color
  71.   .max                dd max
  72.   .text               dd text
  73.   .mouse_variable     dd mouse_variable
  74.   .flags              dd flags+0
  75.   .size               dd size+0
  76.   .pos                dd pos+0
  77.   .offset             dd 0
  78.   .cl_curs_x          dw 0
  79.   .cl_curs_y          dw 0
  80.   .shift              dw 0
  81.   .shift_old          dw 0
  82.   .height             dd 0
  83.   .char_width         dd 0
  84. }
  85.  
  86. macro edit_boxes_set_sys_color start,end,color_table
  87. {
  88.         mov     edi,start
  89.         mov     ecx,((end-start)/ed_struc_size)
  90.         mov     esi,color_table
  91. @@:
  92.         mov     eax,[esi+36]
  93.         mov     ebx,[esi+20]
  94.         mov     ed_focus_border_color,eax
  95.         shr     eax,1
  96.         shr     ebx,1
  97.         and     eax,7F7F7Fh
  98.         and     ebx,7F7F7Fh
  99.         add     eax,ebx
  100.         mov     ed_blur_border_color,eax
  101.         mov     shift_color,eax
  102.         mov     eax,ed_text_color
  103.         mov     ebx,[esi+32]
  104.         shr     eax,24
  105.         shl     ebx,8
  106.         add     eax,ebx
  107.         ror     eax,8
  108.         mov     ed_text_color,eax
  109.         add     edi,ed_struc_size
  110.         loop    @b
  111. }
  112.  
  113.  
  114. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  115. ;Basic macros for use CheckBox                            ;
  116. ;Last change 17.01.2013                                   ;
  117. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  118. ch_text_margin equ [edi+8] ;=4 à ááâ®ï­¨¥ ®â ¯àאַ㣮«ì­¨ª  祪 ¡®ªá  ¤® ­ ¤¯¨á¨
  119. ch_color equ [edi+12]      ;梥⠢­ãâਠcheckbox
  120. ch_border_color equ [edi+16] ; or [edi+4] ;梥â à ¬ª¨ checkbox ¥¥ ¬®¦­® § ¤ âì á ¬®áâ®ï⥫쭮
  121. ch_text_color   equ [edi+20] ;[edi+4]  ;梥â ⥪áâ 
  122. ch_text_ptr     equ [edi+24] ;㪠§ â¥«ì ­  ­ ç «® ⥪á⮢®© áâப¨
  123. ch_flags equ [edi+28]      ;ä« £¨
  124.  
  125. ch_struc_size=36                ;à §¬¥à áâàãªâãàë
  126. ch_flag_en=10b                  ;ä« £ ãáâ ­®¢«¥­­®£® 祪 ¡®ªá .
  127. ch_flag_top=0x0                 ;ä« £ à á¯®«®¦¥­¨ï ⥪áâ  ¢¢¥àåã â.¥. 3-© ¡¨â
  128. ch_flag_middle=100b             ;ä« £ à á¯®«®¦¥­¨ï ⥪áâ  ¢ 業âॠâ.¥. 4-© ¡¨â.
  129. ch_flag_bottom=1000b            ;ä« £ à á¯®«®¦¥­¨ï ⥪áâ  ¢ ­¨§ã â.¥. ¯® 㬮«ç ­¨î ¯à¨­¨¬ ¥âáï §­ ç¥­¨¥ ¢­¨§ã â.¥. ®âáãá⢨¥ 3-£® ¨ 4-£® ¡¨â 
  130.  
  131. 2ch_left_s      equ [ebp]       ;ª®à¤¨­ â  ­ ç «  à¨á®¢ ­¨ï ¯® å
  132. 2ch_top_s       equ [ebp+4]     ;ª®®à¤¨­ â  ­ ç «  à¨á®¢ ­¨ï ¯® ã
  133. 2ch_text_margin equ [ebp+8]     ;=4 à ááâ®ï­¨¥ ®â ¯àאַ㣮«ì­¨ª  祪 ¡®ªá  ¤® ­ ¤¯¨á¨
  134. 2ch_color       equ [ebp+12]    ;梥⠢­ãâਠcheckbox
  135. 2ch_border_color        equ [ebp+16]    ; or [edi+4] ;梥â à ¬ª¨ checkbox ¥¥ ¬®¦­® § ¤ âì á ¬®áâ®ï⥫쭮
  136. 2ch_text_color  equ [ebp+20]    ;[edi+4]  ;梥â ⥪áâ 
  137. 2ch_text_ptr    equ [ebp+24]    ;㪠§ â¥«ì ­  ­ ç «® ⥪á⮢®© áâப¨
  138. 2ch_flags       equ [ebp+28]    ;ä« £¨
  139. 2ch_sz_str      equ [ebp+32]    ;¤«¨­­  áâப¨, ¢ëç¨á«ï¥âáï ¯à¨ ¨­¨æ¨ «¨§ æ¨¨ ª®¬¯®­¥­â 
  140.  
  141. struc check_box2 left_s,top_s,ch_text_margin,color,border_color,text_color,text,flags
  142. {                               ;áâàãªâãà  ¯ à ¬¥â஢ ¤«ï 祪 ¡®ªá 
  143. .left_s         dd left_s       ;+0 ¯®«®¦¥­¨¥ ¯® å dw + à §¬¥à dw
  144. .top_s          dd top_s        ;+4 ¯®«®¦¥­¨¥ ¯® ã dw + à §¬¥à dw
  145. .ch_text_margin dd ch_text_margin ;à ááâ®ï­¨¥ ®â ¯àאַ㣮«ì­¨ª  祪 ¡®ªá  ¤® ­ ¤¯¨á¨
  146. .color          dd color        ;梥⠢­ãâਠ祪¡®ªá 
  147. .border_color   dd border_color ;梥â à ¬ª¨
  148. .text_color     dd text_color   ;梥⠭ ¤¯¨á¨
  149. .text           dd text         ; ¤à¥á ¢ ª®¤¥ ¯à®£à ¬¬ë £¤¥ à á¯®«®¦¥­ ⥪áâ
  150. .flags          dd flags+0      ;ä« £¨
  151. .size_of_str    dd 0x0          ;¤«¨­­  áâப¨, ¢ëç¨á«ï¥âáï ¯à¨ ¨­¨æ¨ «¨§ æ¨¨ ª®¬¯®­¥­â 
  152. }
  153.  
  154. ;Œ ªà®á ¯à®¢¥àª¨ 饫窠 ¬ë誨 ­ ¤ £à㯯®© checkboxes.
  155. macro init_checkboxes2 start,end_cb
  156. {
  157. if start+ch_struc_size eq end_cb
  158.         ;ª®£¤  ®¤¨­ í«¥¬¥­â
  159.         push    start                   ;㪠§ â¥«ì ­  checkbox
  160.         call    [init_checkbox] ;­ áâனª  checkbox' 
  161. else
  162.         ;ª®£¤  ­¥áª®«ìª® í«¥¬¥­â®¢
  163.         mov     ebp,start
  164.         mov     ecx,((end_cb-start)/ch_struc_size)
  165. @@:
  166.         push    ebp                     ;㪠§ â¥«ì ­  ¯¥à¢ë© checkbox
  167.         call    [init_checkbox] ;­ áâனª  checkbox'®¢
  168.         add     ebp,ch_struc_size
  169.         loop    @b
  170. end if
  171. }
  172.  
  173. ;Œ ªà®á ¯à®¢¥àª¨ ¬ë誨 £à㯯ë checkboxes.
  174. macro checkboxes_mouse2 start,end_cb
  175. {
  176. if start+ch_struc_size eq end_cb
  177.         ;ª®£¤  ®¤¨­ í«¥¬¥­â
  178.         push    start                   ;㪠§ â¥«ì ­  checkbox
  179.         call    [check_box_mouse]       ;¬ ªà®á ¯à®¢¥àª¨ ¬ë誨 ­ ¤ checkbox'®¬
  180. else
  181.         ;ª®£¤  ­¥áª®«ìª® í«¥¬¥­â®¢
  182.         mov     ebp,start
  183.         mov     ecx,((end_cb-start)/ch_struc_size)
  184. @@:
  185.         push    ebp                     ;㪠§ â¥«ì ­  ¯¥à¢ë© checkbox
  186.         call    [check_box_mouse]       ;¬ ªà®á ¯à®¢¥àª¨ ¬ë誨 ­ ¤ checkbox' ¬¨
  187.         add     ebp,ch_struc_size
  188.         loop    @b
  189. end if
  190. }
  191.  
  192. ;Œ ªà®á ®âà¨á®¢ª¨ £à㯯ë checkboxes.
  193. macro checkboxes_draw2 start,end_cb
  194. {
  195. if start+ch_struc_size eq end_cb
  196.         ;ª®£¤  ®¤¨­ í«¥¬¥­â
  197.         push    start                   ;㪠§ â¥«ì ­  checkbox
  198.         call    [check_box_draw]        ;­ à¨á®¢ âì checkbox
  199. else
  200.         ;ª®£¤  ­¥áª®«ìª® í«¥¬¥­â®¢
  201.         mov     ebp,start
  202.         mov     ecx,((end_cb-start)/ch_struc_size)
  203. @@:
  204.         push    ebp                     ;㪠§ â¥«ì ­  ¯¥à¢ë© checkbox
  205.         call    [check_box_draw]        ;­ à¨á®¢ âì checkbox'ë
  206.         add     ebp,ch_struc_size
  207.         loop    @b
  208. end if
  209. }
  210.  
  211. macro check_boxes_set_sys_color2 start,end,color_table
  212. {
  213.         mov     ebp,start
  214.         mov     ecx,((end-start)/ch_struc_size)
  215.         mov     esi,color_table
  216. @@:
  217.         push    dword [esi+32]          ;梥â ⥪áâ  ¢ à ¡®ç¥© ®¡« á⨠®ª­ 
  218.         or      dword [esp],0x80000000  ;­¥®¡å®¤¨¬® ¤«ï ¢ë¢®¤  ASCIIZ áâப
  219.         pop     dword 2ch_text_color
  220.         push    dword [esi+36]          ;梥⠣à ä¨ª¨ ¢ ®ª­¥ (à §¤¥«¨â¥«ì­ë¥ «¨­¨¨ ¨ â.¯.)
  221.         pop     dword 2ch_border_color
  222.         add     ebp,ch_struc_size
  223.         loop    @b
  224. }
  225.  
  226.  
  227.  
  228.  
  229.  
  230. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  231. ;Basic macros for use OptionBox                           ;
  232. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  233.  
  234. struc option_box point_gr,left,top,op_text_margin,op_size,color,border_color,text_color,text,op_text_length,flags
  235. {        ;áâàãªâãà  ¯ à ¬¥â஢ ¤«ï 祪 ¡®ªá 
  236. op_flag_en=10b
  237. .option_group   dd point_gr
  238. .left           dw left                 ;+0 ;¯®«®¦¥­¨¥ ¯® å
  239. .top            dw top                  ;¯®«®¦¥­¨¥ ¯® ã
  240. .ch_text_margin dd op_text_margin       ;à ááâ®ï­¨¥ ®â ¯àאַ㣮«ì­¨ª  祪 ¡®ªá  ¤® ­ ¤¯¨á¨
  241. .ch_size        dd op_size              ;à §¬¥à ª¢ ¤à â  祪 ¡®ªá , ¤«ï ¯à¨¬¥à  12
  242. .color          dd color                ;梥⠢­ãâਠ祪¡®ªá 
  243. .border_color   dd border_color         ;梥â à ¬ª¨
  244. .text_color     dd text_color           ;梥⠭ ¤¯¨á¨
  245. .text           dd text                 ; ¤à¥á ¢ ª®¤¥ ¯à®£à ¬¬ë £¤¥ à á¯®«®¦¥­ ⥪áâ
  246. .ch_text_length dd op_text_length       ;¤«¨­­  áâப¨ á ᨬ¢®« ¬¨
  247. .flags          dd flags+0              ; ä« £¨
  248. }
  249.  
  250. ;op_struc_size equ
  251. option_group equ [edi]
  252. op_left equ [edi+4]    ;ª®®à¤¨­ â  ­ ç «  à¨á®¢ ­¨ï ¯® å
  253. op_top equ [edi+6]     ;ª®®à¤¨­ â  ­ ç «  à¨á®¢ ­¨ï ¯® ã
  254. op_text_margin equ [edi+8]      ;=4 à ááâ®ï­¨¥ ®â ¯àאַ㣮«ì­¨ª  祪 ¡®ªá  ¤® ­ ¤¯¨á¨
  255. op_size equ [edi+12]             ;12 à §¬¥à ª¢ ¤à â  祪 ¡®ªá 
  256. op_color equ [edi+16]
  257. op_border_color equ [edi+20] ; or [edi+4] ;梥â à ¬ª¨ optionbox ¥¥ ¬®¦­® § ¤ âì á ¬®áâ®ï⥫쭮
  258. op_text_color equ   [edi+24];[edi+4]  ;梥â ⥪áâ 
  259. op_text_ptr equ [edi+28]    ;㪠§ â¥«ì ­  ­ ç «® ⥪á⮢®© áâப¨
  260. op_text_length equ [edi+32]
  261. op_flags equ [edi+36]       ;ä« £¨
  262.  
  263. macro option_boxes_set_sys_color color_table,group
  264. {
  265.         mov     ecx,group
  266.         mov     esi,color_table
  267.         mov     edi,[ecx]
  268.         mov     eax,[esi+24] ;梥⠪­®¯ª¨ ¢ à ¡®ç¥© ®¡« á⨠®ª­ 
  269.         mov     ebx,[esi+28] ;梥â ⥪áâ  ­  ª­®¯ª¥
  270. @@:
  271.         mov     op_border_color,eax
  272.         mov     op_color,ebx
  273.         push    dword [esi+32] ;梥â ⥪áâ  ¢ à ¡®ç¥© ®¡« á⨠®ª­ 
  274.         pop     dword op_text_color
  275.         add     ecx,4
  276.         mov     edi,[ecx]
  277.         cmp     edi,0
  278.         jne     @b
  279. }
  280. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  281. ;Basic macros for use TreeList                            ;
  282. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  283.  
  284. struc tree_list info_size,info_max_count,style, img_cx,img_cy,\
  285.     col_bkg,col_zag,col_txt, box_l,box_t,box_w,box_h, capt_cy,info_capt_offs,\
  286.     info_capt_len,el_focus, p_scroll,on_press {
  287. .box_left    dd box_l
  288. .box_top     dd box_t
  289. .box_width   dd box_w
  290. .box_height  dd box_h
  291. .data_info   dd 0
  292. .info_size   dw info_size
  293. .info_max_count dd info_max_count
  294. .style       dd style
  295. .data_nodes  dd 0
  296. .data_img    dd 0
  297. .img_cx      dw img_cx
  298. .img_cy      dw img_cy
  299. .data_img_sys dd 0
  300. .ch_tim      dd 0
  301. .tim_undo    dd 0
  302. .cur_pos     dd 0
  303. .col_bkg     dd col_bkg
  304. .col_zag     dd col_zag
  305. .col_txt     dd col_txt
  306. .capt_cy     dw capt_cy
  307. .info_capt_offs dw info_capt_offs
  308. .info_capt_len dw info_capt_len
  309. .el_focus    dd el_focus
  310. .p_scroll    dd p_scroll
  311. .on_press    dd on_press
  312. }
  313.  
  314. tl_box_left   equ dword[edi]
  315. tl_box_top    equ dword[edi+ 4]
  316. tl_box_width  equ dword[edi+ 8]
  317. tl_box_height equ dword[edi+12]
  318. tl_data_info  equ dword[edi+16] ;㪠§ â¥«ì ­  ®á­®¢­ë¥ ¤ ­ë¥
  319. tl_info_size  equ  word[edi+20] ;à §¬¥à ¤ ­­ëå ¢ë¤¥«ï¥¬ëå ¤«ï ª ¦¤®£® 㧫  (¯®«ì§®¢ â¥«ìá쪨¥ ¤ ­­ë¥ + ⥪áâ ¤«ï ¯®¤¯¨á¨)
  320. tl_info_max_count equ dword[edi+22] ;¬ ªá¨¬ «ì­®¥ ª®«¨ç¥á⢮ 㧫®¢, ª®â®àë¥ ¬®¦­® ¤®¡ ¢¨âì ¢ í«¥¬¥­â
  321. tl_style      equ dword[edi+26] ;á⨫¨ í«¥¬¥­â 
  322. tl_data_nodes equ dword[edi+30] ;㪠§ â¥«ì ­  áâàãªâãàë 㧫®¢
  323. tl_data_img   equ dword[edi+34] ;㪠§ â¥«ì ­  ¨§®¡à ¦¥­¨ï á ¨ª®­ª ¬¨ 㧫®¢
  324. tl_img_cx     equ  word[edi+38] ;è¨à¨­  ¨ª®­®ª
  325. tl_img_cy     equ  word[edi+40] ;¢ëá®â  ¨ª®­®ª
  326. tl_data_img_sys equ dword[edi+42] ;㪠§ â¥«ì ­  á¨á⥬­ë¥ ¨§®¡à ¦¥­¨ï (áâ५ª¨, ¯«îᨪ¨)
  327. tl_ch_tim     equ dword[edi+46] ;ª®«¨ç¥á⢮ ¨§¬¥­¥­¨© ¢ ä ©«¥
  328. tl_tim_undo   equ dword[edi+50] ;ª®«¨ç¥á⢮ ®â¬¥­¥­­ëå ¤¥©á⢨©
  329. tl_cur_pos    equ dword[edi+54] ;¯®§¨æ¨ï ªãàá®à 
  330. tl_col_bkg    equ dword[edi+58] ;梥â ä®­ 
  331. tl_col_zag    equ dword[edi+62] ;梥⠧ £®«®¢ª 
  332. tl_col_txt    equ dword[edi+66] ;梥â ⥪áâ 
  333. tl_capt_cy    equ  word[edi+70] ;¢ëá®â  ¯®¤¯¨á¨
  334. tl_info_capt_offs equ word[edi+72] ;ᤢ¨£ ¤«ï ­ ç «  ⥪áâ  (¯®¤¯¨á¨ 㧫 )
  335. tl_info_capt_len equ word[edi+74] ;¤«¨­­  ⥪áâ  ¯®¤¯¨á¨ 㧫  (¥á«¨ = 0 â® ¤® ª®­æ  áâàãªâãàë)
  336. tl_el_focus   equ dword[edi+76] ;㪠§ â¥«ì ­  áâàãªâãàã í«¥¬¥­â  ¢ 䮪ãá¥
  337. tl_p_scroll   equ dword[edi+80] ;㪠§ â¥«ì ­  áâàãªâãàã áªà®««¨­£ 
  338. tl_on_press   equ dword[edi+84] ;㪠§ â¥«ì ­  äã­ªæ¨î, ª®â®à ï ¢ë§ë¢ ¥âáï ¯à¨ ­ ¦ â¨¨ Enter
  339.  
  340. ;ª®­áâ ­âë á⨫ï
  341. tl_key_no_edit   equ   1b ;í«¥¬¥­â ­¥«ì§ï । ªâ¨à®¢ âì ­  ª« ¢¨ âãॠ(¨§¬¥­ïâì ã஢­¨, 㤠«ïâì)
  342. tl_draw_par_line equ  10b ;à¨á®¢ âì «¨­¨¨ ª த¨â¥«ì᪮¬ã 㧫ã
  343. tl_list_box_mode equ 100b ;áâ¨«ì ­¥ ®â®¡à ¦ ¥â ã஢­¨ (ª ª ¢ ListBox ¢á¥ ®¤­®£® ã஢­ï)
  344.  
  345. ;ª®­áâ ­âë ¤«ï ä㭪権
  346. tl_err_save_memory_size equ  10b ;­¥ 墠⠥⠯ ¬ï⨠¤«ï á®åà ­¥­¨ï í«¥¬¥­â 
  347. tl_err_load_caption     equ   1b ;¢ ¯ ¬ï⨠­¥â § £®«®¢ª  'tree'
  348. tl_err_load_info_size   equ 100b ;­¥ ᮢ¯ ¤ ¥â à §¬¥à ¨­ä®à¬ æ¨®­­®© áâàãªâãàë ¯à¨ ®âªàë⨨
  349. tl_load_mode_add        equ 0x20000 ;®¯æ¨ï áç¨â뢠­¨ï ¢ ०¨¬¥ ¤®¡ ¢«¥­¨ï ¨­ä®à¬ æ¨¨
  350. tl_save_load_heder_size equ 26 ;à §¬¥à § £®«®¢ª  ¤«ï § ¯¨á¨/ç⥭¨ï í«¥¬¥­â®¢
  351. tl_offs_box equ 0 ;­ ç «® BOX áâàãªâãàë ¤«ï tree_list
  352.  
  353. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  354. ;Basic macros for use TextEditor                          ;
  355. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  356.  
  357. ted_wnd_l equ dword[edi+ 0] ;®ª­® । ªâ®à : ®âáâ㯠᫥¢ 
  358. ted_wnd_t equ dword[edi+ 4] ;®ª­® । ªâ®à : ®âáâ㯠ᢥàåã
  359. ted_wnd_w equ dword[edi+ 8] ;®ª­® । ªâ®à : è¨à¨­ 
  360. ted_wnd_h equ dword[edi+12] ;®ª­® । ªâ®à : ¢ëá®â 
  361. ted_rec_l equ dword[edi+16] ;è¨à¨­  ¯ ­¥«¨ ¢ ®ª­¥
  362. ted_rec_t equ dword[edi+20] ;¢ëá®â  ¯ ­¥«¨ ¢ ®ª­¥
  363. ted_rec_w equ dword[edi+24] ;è¨à¨­  ᨬ¢®«  (§­ ª®¬¥áâ ) ¢ ®ª­¥
  364. ted_rec_h equ dword[edi+28] ;¢ëá®â  ᨬ¢®«  (§­ ª®¬¥áâ ) ¢ ®ª­¥
  365. ted_drag_m equ byte[edi+32] ;¢ë¤¥«¥­¨¥ ®â ¬ëè¨
  366. ted_drag_k equ byte[edi+33] ;¢ë¤¥«¥­¨¥ ®â ª« ¢¨ âãàë
  367. ted_sel_x0 equ dword[edi+34] ;ª®®à¤¨­ â  ¢ë¤¥«¥­¨ï x0
  368. ted_sel_y0 equ dword[edi+38] ;ª®®à¤¨­ â  ¢ë¤¥«¥­¨ï y0
  369. ted_sel_x1 equ dword[edi+42] ;ª®®à¤¨­ â  ¢ë¤¥«¥­¨ï x1
  370. ted_sel_y1 equ dword[edi+46] ;ª®®à¤¨­ â  ¢ë¤¥«¥­¨ï y1
  371. ;§ ¯ á­ë¥ ª®®à¤¨­ âë ¢ë¤¥«¥­¨ï
  372. ted_seln_x0 equ dword[edi+50]
  373. ted_seln_y0 equ dword[edi+54]
  374. ted_seln_x1 equ dword[edi+58]
  375. ted_seln_y1 equ dword[edi+62]
  376.  
  377. ted_tex     equ dword[edi+66] ;㪠§ â¥«ì ­  ¯ ¬ïâì ¤«ï åà ­¥­¨ï ⥪áâ 
  378. ted_tex_1   equ dword[edi+70] ;㪠§ â¥«ì ­  1-î áâàªãâàã ᨬ¢®« 
  379. ted_tex_end equ dword[edi+74] ;㪠§ â¥«ì ­  ¯®á«¥¤­îî áâàãªâãàã ᨬ¢®« 
  380. ted_cur_x   equ dword[edi+78] ;ª®®à¤¨­ â  x ªãàá®à 
  381. ted_cur_y   equ dword[edi+82] ;ª®®à¤¨­ â  y ªãàá®à 
  382. ted_max_chars equ dword[edi+86] ;¬ ªá¨¬ «ì­®¥ ç¨á«® ᨬ¢®«®¢ ¢ ®¤­®¬ ¤®ªã¬¥­â¥
  383. ted_colors_text_count equ dword[edi+90] ;ª®««¨ç¥á⢮ 梥⮢ ⥪áâ 
  384. ted_key_words_count   equ dword[edi+94] ;ª®««¨ç¥á⢮ ª«î祢ëå á«®¢
  385. ted_color_cursor   equ dword[edi+98] ;梥⠪ãàá®à 
  386. ted_color_wnd_capt equ dword[edi+102] ;梥⠯®«¥© ¢®ªà㣠®ª­ 
  387. ted_color_wnd_work equ dword[edi+106] ;梥â ä®­  ®ª­ 
  388. ted_color_wnd_bord equ dword[edi+110] ;梥â ⥪áâ  ­  ¯®«ïå
  389. ted_color_select   equ dword[edi+114] ;梥⠢뤥«¥­¨ï
  390. ted_color_cur_text equ dword[edi+118] ;梥â ᨬ¢®«  ¯®¤ ªãàá®à®¬
  391. ted_color_wnd_text equ dword[edi+122] ;梥â ⥪áâ  ¢ ®ª­¥
  392. ted_syntax_file    equ dword[edi+126] ;㪠§ â¥«ì ­  ­ ç «® ä ©«  ᨭ⠪á¨á 
  393. ted_syntax_file_size equ dword[edi+130] ;¬ ªá¨¬ «ì­ë© à §¬¥à ä ©«  ᨭ⠪á¨á 
  394. ted_text_colors     equ dword[edi+134] ;㪠§ â¥«ì ­  ¬ áᨢ 梥⮢ ⥪áâ 
  395. ted_help_text_f1    equ dword[edi+138] ;㪠§ â¥«ì ­  ⥪áâ á¯à ¢ª¨ (¯® ­ ¦ â¨¨ F1)
  396. ted_help_id         equ dword[edi+142] ;¨¤¥­â¨ä¨ª â®à ¤«ï á¯à ¢ª¨
  397. ted_key_words_data  equ dword[edi+146] ;㪠§ â¥«ì ­  áâàãªâãàë ª«î祢ëå á«®¢ TexColViv
  398. ted_tim_ch          equ dword[edi+150] ;ª®««¨ç¥á⢮ ¨§¬¥­¥­¨© ¢ ä ©«¥
  399. ted_tim_undo        equ dword[edi+154] ;ª®««¨ç¥á⢮ ®â¬¥­¥­­ëå ¤¥©á⢨©
  400. ted_tim_ls          equ dword[edi+158] ;¢à¥¬ï ¯®á«¥¤­¥£® á®åà ­¥­¨ï
  401. ted_tim_co          equ dword[edi+162] ;¢à¥¬ï ¯®á«¥¤­¥© 梥⮢®© à §¬¥âª¨
  402. ted_el_focus        equ dword[edi+166] ;㪠§ â¥«ì ­  ¯¥à¥¬¥­­ãî í«¥¬¥­â  ¢ 䮪ãá¥
  403. ted_err_save        equ  byte[edi+170] ;®è¨¡ª  á®åà ­¥­¨ï ä ©« 
  404. ted_panel_id        equ  byte[edi+171] ;­®¬¥à ®âªàë⮩ ¯ ­¥«¨
  405. ted_key_new         equ  byte[edi+172] ;ᨬ¢®«, ª®â®àë© ¡ã¤¥â ¤®¡ ¢«ïâáï á ª« ¢¨ âãàë
  406. ted_symbol_new_line equ  byte[edi+173] ;ᨬ¢®« § ¢¥à襭¨ï áâப¨
  407. ted_scr_w           equ dword[edi+174] ;¢¥à⨪ «ì­ë© áªà®««¨­£
  408. ted_scr_h           equ dword[edi+178] ;£®à¨§®­â «ì­ë© áªà®««¨­£
  409. ted_arr_key_pos     equ dword[edi+182] ;㪠§ â¥«ì ­  ¬ áᨢ ¯®§¨æ¨© ª«î祢ëå á«®¢
  410. ted_buffer          equ dword[edi+186] ;㪠§ â¥«ì ­  ¡ãä¥à ª®¯¨à®¢ ­¨ï/¢áâ ¢ª¨
  411. ted_buffer_find     equ dword[edi+190] ;㪠§ â¥«ì ­  ¡ãä¥à ¤«ï ¯®¨áª 
  412. ted_cur_ins         equ  byte[edi+194] ;०¨¬ à ¡®âë ªãàá®à  (®¡ëç­ë© ¨«¨ § ¬¥­ )
  413. ted_mode_color      equ  byte[edi+195] ;०¨¬ ¢ë¤¥«¥­¨ï á«®¢ 梥⮬ (0-¢ëª«. 1-¢ª«.)
  414. ted_mode_invis      equ  byte[edi+196] ;०¨¬ ¯®ª §  ­¥¯¥ç â ¥¬ëå ᨬ¢®«®¢
  415. ted_gp_opt          equ  byte[edi+197] ;®¯æ¨¨ ¢®§¢à é ¥¬ë¥ ä㭪樥© ted_get_pos_by_cursor
  416. ted_fun_on_key_ctrl_o equ dword[edi+198] ;㪠§ â¥«ì ­  äã­ªæ¨î ¢ë§ë¢ ¥¬ãî ¯à¨ ­ ¦ â¨¨ Ctrl+O (®âªàë⨥ ä ©« )
  417. ted_fun_on_key_ctrl_f equ dword[edi+202] ;... Ctrl+F (¢ë§®¢ /áªàëâ¨ï ¯ ­¥«¨ ¯®¨áª )
  418. ted_fun_on_key_ctrl_n equ dword[edi+206] ;... Ctrl+N (ᮧ¤ ­¨¥ ­®¢®£® ¤®ªã¬¥­â )
  419. ted_fun_on_key_ctrl_s equ dword[edi+210] ;... Ctrl+S
  420. ted_buffer_size       equ dword[edi+214] ;à §¬¥à ¡ãä¥à  ª®¯¨à®¢ ­¨ï/¢áâ ¢ª¨
  421. ted_fun_find_err      equ dword[edi+218] ;㪠§ â¥«ì ­  äã­ªæ¨î ¢ë§ë¢ ¥¬ãî ¥á«¨ ¯®¨áª § ª®­ç¨«áï ­¥ã¤ ç­®
  422. ;ted_fun_init_synt_err equ dword[edi+222] ;㪠§ â¥«ì ­  äã­ªæ¨î ¢ë§ë¢ ¥¬ãî ¯à¨ ®è¨¡®ç­®¬ ®âªàë⨨ ä ©«  ᨭ⠪á¨á 
  423. ted_fun_draw_panel_buttons equ dword[edi+226] ;㪠§ â¥«ì ­  äã­ªæ¨î à¨á®¢ ­¨ï ¯ ­¥«¨ á ª­®¯ª ¬¨
  424. ted_fun_draw_panel_find    equ dword[edi+230] ;㪠§ â¥«ì ­  äã­ªæ¨î à¨á®¢ ­¨ï ¯ ­¥«¨ ¯®¨áª 
  425. ted_fun_draw_panel_syntax  equ dword[edi+234] ;㪠§ â¥«ì ­  äã­ªæ¨î à¨á®¢ ­¨ï ¯ ­¥«¨ ᨭ⠪á¨á 
  426. ted_fun_save_err      equ dword[edi+238] ;㪠§ â¥«ì ­  äã­ªæ¨î ¢ë§ë¢ ¥¬ãî ¥á«¨ á®åà ­¥­¨¥ ä ©«  § ª®­ç¨«®áì ­¥ã¤ ç­®
  427. ted_increase_size     equ dword[edi+242] ;ç¨á«® ᨬ¢®«®¢ ­  ª®â®àë¥ ¡ã¤¥â 㢥稢 âìáï ¯ ¬ïâì ¯à¨ ­¥å¢ âª¥
  428. ted_ptr_free_symb     equ dword[edi+246] ;㪠§ â¥«ì ­  ᢮¡®¤­ãî ¯ ¬ïâì, ¢ ª®â®àãî ¬®¦­® ¤®¡ ¢«ïâì ᨬ¢®« (¨á¯®«ì§ã¥âáï ¢­ãâà¨ í«¥¬¥­â  ¤«ï ã᪮७¨ï ¢áâ ¢ª¨ ⥪áâ )
  429. ted_font_size         equ dword[edi+250] ;¬­®¦¨â¥«ì ¤«ï à §¬¥à  èà¨äâ  (¯à¨ ¨§¬¥­¥­¨¨ ­ã¦­® â ª¦¥ ¨§¬¥­ïâì ¯ à ¬¥âàë ted_rec_w, ted_rec_h)
  430. ;------------------------------------------------------------------------------
  431. ted_opt_ed_move_cursor equ 1 ;¤¢¨£ âì ªãàá®à ¯®á«¥ ¤®¡ ¢«¥­¨ï ⥪áâ 
  432. ted_opt_ed_change_time equ 2 ;¤®¡ ¢«ïâì ¨§¬¥­¥­¨ï ¯à¨ । ªâ¨à®¢ ­¨¨ ⥪áâ 
  433. ted_offs_sel  equ 34 ;ᬥ饭¨¥ áâàãªâãàë sel
  434. ted_offs_seln equ 50 ;ᬥ饭¨¥ áâàãªâãàë seln
  435. ted_offs_count_colors equ 90 ;ᬥ饭¨¥ ¯¥à¥¬¥­­®© ª®««¨ç¥á⢠ 梥⮢
  436. ted_offs_key_new equ 172
  437. ted_offs_symbol_new_line equ 173 ;ᬥ饭¨¥ ᨬ¢®«  ­®¢®© áâப¨
  438. ;------------------------------------------------------------------------------
  439.  
  440.  
  441.  
  442. ; *** scroll bar constant ***
  443. sb_offs_size_x   equ  0
  444. sb_offs_start_x  equ  2
  445. sb_offs_size_y   equ  4
  446. sb_offs_start_y  equ  6
  447. sb_offs_max_area equ 16
  448. sb_offs_cur_area equ 20
  449. sb_offs_position equ 24
  450. sb_offs_bckg_col equ 28
  451. sb_offs_frnt_col equ 32
  452. sb_offs_line_col equ 36
  453. sb_offs_redraw   equ 40
  454. sb_offs_delta2   equ 46
  455. sb_offs_all_redraw equ 80
  456. ;------------------------------------------------------------------------------
  457.  
  458.  
  459. struc scrollbar xsize, xpos, ysize, ypos, btn_height, max, cur, pos, bgcol, frcol, linecol, ar_offset
  460. {
  461. .x_size         dw xsize
  462. .x_pos          dw xpos
  463. .y_size         dw ysize
  464. .y_pos          dw ypos
  465. .btn_height     dd btn_height
  466. .type           dd ?
  467. .max_area       dd max
  468. .cur_area       dd cur
  469. .position       dd pos
  470. .bg_color       dd bgcol
  471. .front_color    dd frcol
  472. .line_color     dd linecol
  473. .redraw         dd ?
  474. .delta          dw ?
  475. .delta2         dw ?
  476. .r_size_x       dw ?
  477. .r_start_x      dw ?
  478. .r_size_y       dw ?
  479. .r_start_y      dw ?
  480. .m_pos          dd ?
  481. .m_pos_2        dd ?
  482. .m_keys         dd ?
  483. .run_size       dd ?
  484. .position2      dd ?
  485. .work_size      dd ?
  486. .all_redraw     dd ?
  487. .ar_offset      dd ar_offset
  488. }
  489.  
  490. ; *** ProgressBar  constants *** ;
  491. PB_VALUE          equ +0
  492. PB_LEFT           equ +4
  493. PB_TOP            equ +8
  494. PB_WIDTH          equ +12
  495. PB_HEIGHT         equ +16
  496. PB_STYLE          equ +20
  497. PB_MIN            equ +24
  498. PB_MAX            equ +28
  499. PB_BACK_COLOR     equ +32
  500. PB_PROGRESS_COLOR equ +36
  501. PB_FRAME_COLOR    equ +40
  502.  
  503. ; *** Frame constants *** ;
  504. FR_STYLE         equ +0  ; Dword
  505. FR_WIDTH         equ +4  ; Word
  506. FR_LEFT          equ +6  ; Word
  507. FR_HEIGHT        equ +8  ; Word
  508. FR_TOP           equ +10 ; Word
  509. FR_OUTER_COLOR   equ +12 ; Dword
  510. FR_INNER_COLOR   equ +16 ; Dword
  511. FR_FLAGS         equ +20 ; Dword
  512. FR_TEXT          equ +24 ; Dword
  513. FR_TEXT_POSITION equ +28 ; Dword
  514. FR_FONT          equ +32 ; Dword
  515. FR_FONT_HEIGHT   equ +36 ; Dword
  516. FR_FORE_COLOR    equ +40 ; Dword
  517. FR_BACK_COLOR    equ +44 ; Dword
  518.  
  519. ; FR_FLAGS = [x][yyy][z]
  520. ; z        -  Caption
  521. ; yyy      -  BorderStyle
  522. ; x        -  BackStyle
  523. FR_CAPTION equ 00001b ; [z]
  524. FR_DOUBLE  equ 00000b ; [yyy]
  525. FR_RAISED  equ 00010b ; [yyy]
  526. FR_SUNKEN  equ 00100b ; [yyy]
  527. FR_ETCHED  equ 00110b ; [yyy]
  528. FR_RIDGED  equ 01000b ; [yyy]
  529. FR_FILLED  equ 10000b ; [x]
  530.  
  531. ; FR_TEXT_POSITION
  532. FR_TEXT_POS_BOTTOM equ 1
  533. FR_TEXT_POS_TOP    equ 0
  534.  
  535. ;-----------------------------------------------------------------------------
  536.  
  537. struc tooltip txt, next, zone_x, zone_w, zone_y, zone_h, col_txt, col_bkg, tm_wait
  538. {
  539.     .txt     dd  txt   ; 㪠§ â¥«ì ­  ⥪áâ asciiz, à §¤¥«¨â¥«ì \r 13
  540.     .next    dd  next   ; á«¥¤ãî騨© tooltip ¢ 楯®çª¥ ¨«¨ 0
  541.     .zone_y  dw  zone_y   ; §®­  ª®­â஫ï (¢ 90% á«ãç ¥¢ ᮢ¯ ¤ ¥â á à §¬¥à®¬ ª®­â஫ )
  542.     .zone_x  dw  zone_x   ;
  543.     .zone_h  dw  zone_h   ;
  544.     .zone_w  dw  zone_w   ;
  545.     .col_txt dd  col_txt   ; 梥â ⥪áâ  âã«â¨¯ , ¢ª«îç ï à §¬¥à SysFn4
  546.     .col_bkg dd  col_bkg   ; 梥â ä®­  âã«â¨¯ 
  547.     .tm_wait dw  tm_wait   ; ¢à¥¬ï ®¦¨¤ ­¨ï å10¬á
  548. ;¢à¥¬¥­­ë¥ ¯¥à¥¬¥­­ë¥
  549.     .font_sz dd  ?   ; font size
  550.     .mouse   dd  ?   ; ¯à¥¤ë¤ã饥 ¯®«®¦¥­¨¥ (x, y)
  551.     .tm_strt dd  ?   ; ¢à¥¬ï § ¯ã᪠ â ©¬¥à  (¢å®¤  ¬ëè¨ ¢ §®­ã) å10¬á
  552.     .video   dd  ?   ; ¯ ¬ïâì ¤«ï á®åà ­¥­­®£® ¯®¤ âã«â¨¯®¬
  553.     .video_y dw  ?    ; ª®®à¤¨­ âë § ¯®¬­¥­­®© ®¡« á⨠íªà ­ , ¨«¨ 0 ¥á«¨ ¯ãáâ®
  554.     .video_x dw  ?
  555.     .video_h dw  ?    ; à §¬¥à ¯à¥¤à áç¨â뢠¥âáï ¯à¨ init
  556.     .video_w dw  ?
  557. }
  558.