Subversion Repositories Kolibri OS

Rev

Rev 1661 | Go to most recent revision | Blame | Last modification | View Log | Download | RSS feed

  1. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  2. ;Basic macros for use EditBox                             ;
  3. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  4. ed_width        equ [edi]               ;øèðèíà êîìïîíåíòà
  5. ed_left         equ [edi+4]             ;ïîëîæåíèå ïî îñè õ
  6. ed_top          equ [edi+8]             ;ïîëîæåíèå ïî îñè ó
  7. ed_color        equ [edi+12]            ;öâåò ôîíà êîìïîíåíòà
  8. shift_color     equ [edi+16]            ;=0x6a9480 äëÿ ïðèìåðà âîçüåì æåëåíûé öâåò áîêñà
  9. ed_focus_border_color   equ [edi+20]    ;öâåò ðàìêè êîìïîíåíòà
  10. ed_blur_border_color    equ [edi+24]    ;öâåò íå àêòèâíîãî êîìïîíåíòà
  11. ed_text_color   equ [edi+28]            ;öâåò òåêñòà
  12. ed_max          equ [edi+32]                    ;êîë-âî ñèìâîëîâ êîòîðûå ìîæíî ìàêñèìàëüíî ââåñòè
  13. ed_text         equ [edi+36]                    ;óêàçàòåëü íà áóôåð
  14. ed_mouse_variable       equ [edi+40]    ; óêàçàòåëü íà ïåðåìåííóþ äëÿ áîêñà/ãðóïïû
  15. ed_flags        equ [edi+44]            ;ôëàãè
  16. bp_flags        equ [ebp+44]            ;â íåêîòîðûõ ïðîöåäóðàõ edi èñïîëüçóåòñÿ, âçàìåí óêàçàòåëü õðàíèòüñÿ â ebp
  17. ed_size equ [edi+48]                    ;êîë-âî ñèìâîëîâ
  18. bp_size equ [ebp+48]                    ;êîë-âî ñèìâïîëîâ, äëÿ àäðåñàöèè èñïëüçóåòñÿ ebpá edi çàíÿò
  19. ed_pos  equ [edi+52]                    ;ïîçèöèÿ êóðñîðà
  20. ed_offset       equ [edi+56]            ;ñìåùåíèå
  21. cl_curs_x       equ [edi+60]            ;ïðåäûäóùåå êîîðäèíàòà êóðñîðà ïî õ
  22. cl_curs_y       equ [edi+64]            ;ïðåäûäóùåå êîîðäèíàòà êóðñîðà ïî ó
  23. ed_shift_pos    equ [edi+68]            ;ïîëîæåíèå êóðñîðà
  24. ed_shift_pos_old equ [edi+72]           ;ñòàðîå ïîëîæåíèå êóðñîðà
  25.  
  26. ed_struc_size=76
  27.  
  28. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  29. ;Bit mask from editbox
  30. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  31. ed_figure_only= 1000000000000000b   ;îäíè ñèìâîëû
  32. ed_always_focus= 100000000000000b
  33. ed_focus=                     10b   ;ôîêóñ ïðèëîæåíèÿ
  34. ed_shift_on=                1000b   ;åñëè íå óñòàíîâëåí -çíà÷èò âïåðâûå íàæàò shift,åñëè áûë óñòàíîâëåí, çíà÷èò ìû óæå ÷òî - òî äåëàëè óäåðæèâàÿ shift
  35. ed_shift_on_off=1111111111110111b
  36. ed_shift=                    100b   ;âêëþ÷àåòñÿ ïðè íàæàòèè íà shift ò.å. åñëè íàæèìàþ
  37. ed_shift_off=   1111111111111011b
  38. ed_shift_bac=              10000b   ;áèò äëÿ î÷èñòêè âûäåëåíîãî shift ò.å. ïðè óñòàíîâêå ãîâîðèò ÷òî åñòü âûäåëåíèå
  39. ed_shift_bac_cl=1111111111101111b   ;î÷èñòêà ïðè óäàëåíèè âûäåëåíèÿ
  40. ed_shift_cl=    1111111111100011b
  41. ed_shift_mcl=   1111111111111011b
  42. ed_left_fl=               100000b
  43. ed_right_fl=    1111111111011111b
  44. ed_offset_fl=            1000000b
  45. ed_offset_cl=   1111111110111111b
  46. ed_insert=              10000000b
  47. ed_insert_cl=   1111111101111111b
  48. ed_mouse_on =          100000000b
  49. ed_mous_adn_b=         100011000b
  50. ed_mouse_on_off=1111111011111111b
  51. ed_height=14 ; âûñîòà
  52.  
  53. struc  edit_box width,left,top,color,shift_color,focus_border_color,\
  54.        blur_border_color,text_color,max,text,mouse_variable,flags,size,pos
  55. {
  56. .width dd width
  57. .left  dd left
  58. .top   dd top
  59. .color dd color
  60. .shift_color dd shift_color
  61. .focus_border_color dd focus_border_color
  62. .blur_border_color  dd blur_border_color
  63. .text_color dd text_color
  64. .max  dd max
  65. .text dd text
  66. .mouse_variable dd mouse_variable
  67. .flags  dd flags+0
  68. .size   dd size+0
  69. .pos    dd pos+0
  70. .offset dd 0
  71. .cl_curs_x dd 0
  72. .cl_curs_y dd 0
  73. .shift     dd 0
  74. .shift_old dd 0
  75. }
  76.  
  77. macro edit_boxes_set_sys_color start,end,color_table
  78. {
  79.         mov     edi,start
  80.         mov     ecx,((end-start)/ed_struc_size)
  81.         mov     esi,color_table
  82. @@:
  83.         mov     eax,dword [esi+36]
  84.         mov     ebx,dword [esi+20]
  85.         push    dword eax
  86.         pop     dword ed_focus_border_color
  87.         shr     bh,1
  88.         shr     bl,1
  89.         shr     ah,1
  90.         shr     al,1
  91.         add     ah,bh
  92.         add     al,bl
  93.         ror     eax,16
  94.         ror     ebx,16
  95.         shr     bl,1
  96.         shr     al,1
  97.         add     al,bl
  98.         ror     eax,16
  99.         mov     dword ed_blur_border_color,eax
  100.         mov     dword shift_color,eax
  101.         add     edi,ed_struc_size
  102.         loop    @b
  103. }
  104. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  105. ;Basic macros for use CheckBox                            ;
  106. ;Last change 12.10.2010                                   ;
  107. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  108. ch_struc_size=36                ;ðàçìåð ñòðóêòóðû
  109. ch_flag_en=10b                  ;ôëàã óñòàíîâëåííîãî ÷åê áîêñà.
  110. ch_flag_top=0x0                 ;ôëàã ðàñïîëîæåíèÿ òåêñòà ââåðõó ò.å. 3-é áèò
  111. ch_flag_middle=100b             ;ôëàã ðàñïîëîæåíèÿ òåêñòà â öåíòðå ò.å. 4-é áèò.
  112. ch_flag_bottom=1000b            ;ôëàã ðàñïîëîæåíèÿ òåêñòà â íèçó ò.å. ïî óìîë÷àíèþ ïðèíèìàåòñÿ çíà÷åíèå âíèçó ò.å. îòñóñòâèå 3-ãî è 4-ãî áèòà
  113.  
  114. 2ch_left_s      equ [ebp]       ;êîðäèíàòà íà÷àëà ðèñîâàíèÿ ïî õ
  115. 2ch_top_s       equ [ebp+4]     ;êîîðäèíàòà íà÷àëà ðèñîâàíèÿ ïî ó
  116. 2ch_text_margin equ [ebp+8]     ;=4 ðàññòîÿíèå îò ïðÿìîóãîëüíèêà ÷åê áîêñà äî íàäïèñè
  117. 2ch_color       equ [ebp+12]    ;öâåò âíóòðè checkbox
  118. 2ch_border_color        equ [ebp+16]    ; or [edi+4] ;öâåò ðàìêè checkbox åå ìîæíî çàäàòü ñàìîñòîÿòåëüíî
  119. 2ch_text_color  equ [ebp+20]    ;[edi+4]  ;öâåò òåêñòà
  120. 2ch_text_ptr    equ [ebp+24]    ;óêàçàòåëü íà íà÷àëî òåêñòîâîé ñòðîêè
  121. 2ch_flags       equ [ebp+28]    ;ôëàãè
  122. 2ch_sz_str      equ [ebp+32]    ;äëèííà ñòðîêè, âû÷èñëÿåòñÿ ïðè èíèöèàëèçàöèè êîìïîíåíòà
  123.  
  124. struc check_box2 left_s,top_s,ch_text_margin,color,border_color,text_color,text,flags
  125. {                               ;ñòðóêòóðà ïàðàìåòðîâ äëÿ ÷åê áîêñà
  126. .left_s:        dd left_s       ;+0 ïîëîæåíèå ïî õ dw + ðàçìåð dw
  127. .top_s:         dd top_s        ;+4 ïîëîæåíèå ïî ó dw + ðàçìåð dw
  128. .ch_text_margin: dd ch_text_margin ;ðàññòîÿíèå îò ïðÿìîóãîëüíèêà ÷åê áîêñà äî íàäïèñè
  129. .color:         dd color        ;öâåò âíóòðè ÷åêáîêñà
  130. .border_color:  dd border_color ;öâåò ðàìêè
  131. .text_color:    dd text_color   ;öâåò íàäïèñè
  132. .text:          dd text         ;àäðåñ â êîäå ïðîãðàììû ãäå ðàñïîëîæåí òåêñò
  133. .flags:         dd flags+0      ;ôëàãè
  134. .size_of_str:   dd 0x0          ;äëèííà ñòðîêè, âû÷èñëÿåòñÿ ïðè èíèöèàëèçàöèè êîìïîíåíòà
  135. }
  136.  
  137. ;Ìàêðîñ ïðîâåðêè ùåë÷êà ìûøêè íàä ãðóïïîé checkboxes.
  138. macro init_checkboxes2 start,end
  139. {
  140.         mov     ebp,start
  141.         mov     ecx,((end-start)/ch_struc_size)
  142. @@:
  143.         push    ebp                     ;óêàçàòåëü íà ïåðâûé checkbox
  144.         call    [init_checkbox2]        ;ìàêðîñ ïðîâåðêè ìûøêè íàä checkbox'îì
  145.         add     ebp,ch_struc_size
  146.         loop    @b
  147. }
  148.  
  149. ;Ìàêðîñ ïðîâåðêè ìûøêè ãðóïïû checkboxes.
  150. macro checkboxes_mouse2 start,end
  151. {
  152.         mov     ebp,start
  153.         mov     ecx,((end-start)/ch_struc_size)
  154. @@:
  155.         push    ebp                     ;óêàçàòåëü íà ïåðâûé checkbox
  156.         call    [check_box_mouse2]      ;íàðèñîâàòü checkbox
  157.         add     ebp,ch_struc_size
  158.         loop    @b
  159. }
  160.  
  161. ;Ìàêðîñ îòðèñîâêè ãðóïïû checkboxes.
  162. macro checkboxes_draw2 start,end
  163. {
  164.         mov     ebp,start
  165.         mov     ecx,((end-start)/ch_struc_size)
  166. @@:
  167.         push    ebp                     ;óêàçàòåëü íà ïåðâûé checkbox
  168.         call    [check_box_draw2]       ;íàðèñîâàòü checkbox
  169.         add     ebp,ch_struc_size
  170.         loop    @b
  171. }
  172.  
  173. macro check_boxes_set_sys_color start,end,color_table
  174. {
  175.         mov     ebp,start
  176.         mov     ecx,((end-start)/ch_struc_size)
  177.         mov     esi,color_table
  178. @@:
  179.         push    dword [esi+32]          ;öâåò òåêñòà â ðàáî÷åé îáëàñòè îêíà
  180.         pop     dword ch_text_color
  181.         push    dword [esi+36]          ;öâåò ãðàôèêè â îêíå (ðàçäåëèòåëüíûå ëèíèè è ò.ï.)
  182.         pop     dword ch_border_color
  183.         add     ebp,ch_struc_size
  184.         loop    @b
  185. }
  186.  
  187. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  188. ;Basic macros for use OptionBox                           ;
  189. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  190.  
  191. struc option_box point_gr,left,top,op_text_margin,op_size,color,border_color,text_color,text,op_text_length,flags
  192. {        ;ñòðóêòóðà ïàðàìåòðîâ äëÿ ÷åê áîêñà
  193. op_flag_en=10b
  194. .option_group: dd point_gr
  195. .left: dw left       ;+0 ;ïîëîæåíèå ïî õ
  196. .top:  dw top        ;ïîëîæåíèå ïî ó
  197. .ch_text_margin:  dd op_text_margin ;ðàññòîÿíèå îò ïðÿìîóãîëüíèêà ÷åê áîêñà äî íàäïèñè
  198. .ch_size: dd op_size ;ðàçìåð êâàäðàòà ÷åê áîêñà, äëÿ ïðèìåðà 12
  199. .color:   dd color   ;öâåò âíóòðè ÷åêáîêñà
  200. .border_color: dd border_color ;öâåò ðàìêè
  201. .text_color:   dd text_color   ;öâåò íàäïèñè
  202. .text: dd text                 ;àäðåñ â êîäå ïðîãðàììû ãäå ðàñïîëîæåí òåêñò
  203. .ch_text_length: dd op_text_length ;äëèííà ñòðîêè ñ ñèìâîëàìè
  204. .flags: dd flags+0   ; ôëàãè
  205. }
  206.  
  207. option_group equ [edi]
  208. op_left equ [edi+4]    ;êîîðäèíàòà íà÷àëà ðèñîâàíèÿ ïî õ
  209. op_top equ [edi+6]     ;êîîðäèíàòà íà÷àëà ðèñîâàíèÿ ïî ó
  210. op_text_margin equ [edi+8]      ;=4 ðàññòîÿíèå îò ïðÿìîóãîëüíèêà ÷åê áîêñà äî íàäïèñè
  211. op_size equ [edi+12]             ;12 ðàçìåð êâàäðàòà ÷åê áîêñà
  212. op_color equ [edi+16]
  213. op_border_color equ [edi+20] ; or [edi+4] ;öâåò ðàìêè checkbox åå ìîæíî çàäàòü ñàìîñòîÿòåëüíî
  214. op_text_color equ   [edi+24];[edi+4]  ;öâåò òåêñòà
  215. op_text_ptr equ [edi+28]    ;óêàçàòåëü íà íà÷àëî òåêñòîâîé ñòðîêè
  216. op_text_length equ [edi+32]
  217. op_flags equ [edi+36]       ;ôëàãè
  218.  
  219. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  220. ;Basic macros for use TreeList                            ;
  221. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  222.  
  223. struc tree_list info_size,info_max_count,style, img_cx,img_cy,\
  224.     col_bkg,col_zag,col_txt, box_l,box_t,box_w,box_h, capt_cy,info_capt_offs,\
  225.     info_capt_len,el_focus, p_scrol,on_press {
  226.   .data_info    dd 0
  227.   .info_size    dw info_size
  228.   .info_max_count dd info_max_count
  229.   .style            dd style
  230.   .data_nodes   dd 0
  231.   .data_img      dd 0
  232.   .img_cx          dw img_cx
  233.   .img_cy          dw img_cy
  234.   .data_img_sys  dd 0
  235.   .ch_tim                 dd 0
  236.   .ls_tim                 dd 0
  237.   .tim_undo      dd 0
  238.   .cur_pos        dd 0
  239.   .col_bkg        dd col_bkg
  240.   .col_zag        dd col_zag
  241.   .col_txt        dd col_txt
  242.   .box_left   dd box_l
  243.   .box_top    dd box_t
  244.   .box_width  dd box_w
  245.   .box_height dd box_h
  246.   .capt_cy         dw capt_cy
  247.   .info_capt_offs dw info_capt_offs
  248.   .info_capt_len dw info_capt_len
  249.   .el_focus dd el_focus
  250.   .p_scrol  dd p_scrol
  251.   rb 4
  252.   .on_activate dd 0
  253.   .on_press dd on_press
  254. }
  255.  
  256. tl_info_size  equ  word[edi +4] ;ðàçìåð äàííûõ âûäåëÿåìûõ äëÿ êàæäîãî óçëà (ïîëüçîâàòåëüñüêèå äàííûå + òåêñò äëÿ ïîäïèñè)
  257. tl_info_max_count equ dword[edi+6] ;ìàêñèìàëüíîå êîëè÷åñòâî óçëîâ, êîòîðûå ìîæíî äîáàâèòü â ýëåìåíò
  258. tl_style      equ dword[edi+10] ;ñòèëè ýëåìåíòà
  259. tl_data_nodes equ dword[edi+14] ;óêàçàòåëü íà ñòðóêòóðû óçëîâ
  260. tl_data_img   equ dword[edi+18] ;óêàçàòåëü íà èçîáðàæåíèÿ ñ èêîíêàìè óçëîâ
  261. tl_img_cx     equ  word[edi+22] ;øèðèíà èêîíîê
  262. tl_img_cy     equ  word[edi+24] ;âûñîòà èêîíîê
  263. tl_data_img_sys equ dword[edi+26] ;óêàçàòåëü íà ñèñòåìíûå èçîáðàæåíèÿ (ñòðåëêè, ïëþñèêè)
  264. tl_ch_tim     equ dword[edi+30] ;êîëè÷åñòâî èçìåíåíèé â ôàéëå
  265. tl_tim_undo   equ dword[edi+38] ;êîëè÷åñòâî îòìåíåííûõ äåéñòâèé
  266. tl_cur_pos    equ dword[edi+42] ;ïîçèöèÿ êóðñîðà
  267. tl_col_bkg    equ dword[edi+46] ;öâåò ôîíà
  268. tl_col_zag    equ dword[edi+50] ;öâåò çàãîëîâêà
  269. tl_col_txt    equ dword[edi+54] ;öâåò òåêñòà
  270. tl_box_left   equ dword[edi+58]
  271. tl_box_top    equ dword[edi+62]
  272. tl_box_width  equ dword[edi+66]
  273. tl_box_height equ dword[edi+70]
  274. tl_capt_cy    equ  word[edi+74] ;âûñîòà ïîäïèñè
  275. tl_info_capt_offs equ word[edi+76] ;ñäâèã äëÿ íà÷àëà òåêñòà (ïîäïèñè óçëà)
  276. tl_info_capt_len equ word[edi+78] ;äëèííà òåêñòà ïîäïèñè óçëà (åñëè = 0 òî äî êîíöà ñòðóêòóðû)
  277. tl_el_focus   equ dword[edi+80] ;óêàçàòåëü íà ñòðóêòóðó ýëåìåíòà â ôîêóñå
  278. tl_p_scrol    equ dword[edi+84] ;óêàçàòåëü íà ñòðóêòóðó ñêðîëëèíãà
  279. tl_on_press   equ dword[edi+96] ;óêàçàòåëü íà ôóíêöèþ, êîòîðàÿ âûçûâàåòñÿ ïðè íàæàòèè Enter
  280.  
  281. ;data_info       dd ? ;+ 0 óêàçàòåëü íà îñíîâíûå äàíûå
  282. ;ls_tim         dd ? ;+34 âðåìÿ ïîñëåäíåãî ñîõðàíåíèÿ
  283. ;on_activate dd ? ;+92 óêàçàòåëü íà ôóíêöèþ ïðè àêòèâèðîâàíèè óçëà
  284.  
  285. ;êîíñòàíòû ñòèëÿ
  286. tl_key_no_edit   equ   1b ;ýëåìåíò íåëüçÿ ðåäàêòèðîâàòü íà êëàâèàòóðå (èçìåíÿòü óðîâíè, óäàëÿòü)
  287. tl_draw_par_line equ  10b ;ðèñîâàòü ëèíèè ê ðîäèòåëüñêîìó óçëó
  288. tl_list_box_mode equ 100b ;ñòèëü íå îòîáðàæàåò óðîâíè (êàê â ListBox âñå îäíîãî óðîâíÿ)
  289.  
  290. ;êîíñòàíòû äëÿ ôóíêöèé
  291. tl_err_save_memory_size equ  10b ;íå õâàòàåò ïàìÿòè äëÿ ñîõðàíåíèÿ ýëåìåíòà
  292. tl_err_load_caption     equ   1b ;â ïàìÿòè íåò çàãîëîâêà 'tree'
  293. tl_err_load_info_size   equ 100b ;íå ñîâïàäàåò ðàçìåð èíôîðìàöèîííîé ñòðóêòóðû ïðè îòêðûòèè
  294. tl_load_mode_add        equ 0x20000 ;îïöèÿ ñ÷èòûâàíèÿ â ðåæèìå äîáàâëåíèÿ èíôîðìàöèè
  295. tl_save_load_heder_size equ 26 ;ðàçìåð çàãîëîâêà äëÿ çàïèñè/÷òåíèÿ ýëåìåíòîâ
  296. tl_offs_box equ 58 ;íà÷àëî BOX ñòðóêòóðû äëÿ tree_list
  297.  
  298. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  299. ;Basic macros for use TextEditor                          ;
  300. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  301.  
  302. ted_wnd_l equ dword[edi+ 0] ;îêíî ðåäàêòîðà: îòñòóï ñëåâà
  303. ted_wnd_t equ dword[edi+ 4] ;îêíî ðåäàêòîðà: îòñòóï ñâåðõó
  304. ted_wnd_w equ dword[edi+ 8] ;îêíî ðåäàêòîðà: øèðèíà
  305. ted_wnd_h equ dword[edi+12] ;îêíî ðåäàêòîðà: âûñîòà
  306. ted_rec_l equ dword[edi+16] ;øèðèíà ïàíåëè â îêíå
  307. ted_rec_t equ dword[edi+20] ;âûñîòà ïàíåëè â îêíå
  308. ted_rec_w equ dword[edi+24] ;øèðèíà ñèìâîëà (çíàêîìåñòà) â îêíå
  309. ted_rec_h equ dword[edi+28] ;âûñîòà ñèìâîëà (çíàêîìåñòà) â îêíå
  310. ted_drag_m equ byte[edi+32] ;âûäåëåíèå îò ìûøè
  311. ted_drag_k equ byte[edi+33] ;âûäåëåíèå îò êëàâèàòóðû
  312. ted_sel_x0 equ dword[edi+34] ;êîîðäèíàòà âûäåëåíèÿ x0
  313. ted_sel_y0 equ dword[edi+38] ;êîîðäèíàòà âûäåëåíèÿ y0
  314. ted_sel_x1 equ dword[edi+42] ;êîîðäèíàòà âûäåëåíèÿ x1
  315. ted_sel_y1 equ dword[edi+46] ;êîîðäèíàòà âûäåëåíèÿ y1
  316. ;çàïàñíûå êîîðäèíàòû âûäåëåíèÿ
  317. ted_seln_x0 equ dword[edi+50]
  318. ted_seln_y0 equ dword[edi+54]
  319. ted_seln_x1 equ dword[edi+58]
  320. ted_seln_y1 equ dword[edi+62]
  321.  
  322. ted_tex     equ dword[edi+66] ;óêàçàòåëü íà ïàìÿòü äëÿ õðàíåíèÿ òåêñòà
  323. ted_tex_1   equ dword[edi+70] ;óêàçàòåëü íà 1-þ ñòðêóòðó ñèìâîëà
  324. ted_tex_end equ dword[edi+74] ;óêàçàòåëü íà ïîñëåäíþþ ñòðóêòóðó ñèìâîëà
  325. ted_cur_x   equ dword[edi+78] ;êîîðäèíàòà x êóðñîðà
  326. ted_cur_y   equ dword[edi+82] ;êîîðäèíàòà y êóðñîðà
  327. ted_max_chars equ dword[edi+86] ;ìàêñèìàëüíîå ÷èñëî ñèìâîëîâ â îäíîì äîêóìåíòå
  328. ted_colors_text_count equ dword[edi+90] ;êîëëè÷åñòâî öâåòîâ òåêñòà
  329. ted_key_words_count   equ dword[edi+94] ;êîëëè÷åñòâî êëþ÷åâûõ ñëîâ
  330. ted_color_cursor   equ dword[edi+98] ;öâåò êóðñîðà
  331. ted_color_wnd_capt equ dword[edi+102] ;öâåò ïîëåé âîêðóã îêíà
  332. ted_color_wnd_work equ dword[edi+106] ;öâåò ôîíà îêíà
  333. ted_color_wnd_bord equ dword[edi+110] ;öâåò òåêñòà íà ïîëÿõ
  334. ted_color_select   equ dword[edi+114] ;öâåò âûäåëåíèÿ
  335. ted_color_cur_text equ dword[edi+118] ;öâåò ñèìâîëà ïîä êóðñîðîì
  336. ted_color_wnd_text equ dword[edi+122] ;öâåò òåêñòà â îêíå
  337. ted_syntax_file    equ dword[edi+126] ;óêàçàòåëü íà íà÷àëî ôàéëà ñèíòàêñèñà
  338. ted_syntax_file_size equ dword[edi+130] ;ìàêñèìàëüíûé ðàçìåð ôàéëà ñèíòàêñèñà
  339. ted_text_colors     equ dword[edi+134] ;óêàçàòåëü íà ìàññèâ öâåòîâ òåêñòà
  340. ted_help_text_f1    equ dword[edi+138] ;óêàçàòåëü íà òåêñò ñïðàâêè (ïî íàæàòèè F1)
  341. ted_help_id         equ dword[edi+142] ;èäåíòèôèêàòîð äëÿ ñïðàâêè
  342. ted_key_words_data  equ dword[edi+146] ;óêàçàòåëü íà ñòðóêòóðû êëþ÷åâûõ ñëîâ TexColViv
  343. ted_tim_ch          equ dword[edi+150] ;êîëëè÷åñòâî èçìåíåíèé â ôàéëå
  344. ted_tim_undo        equ dword[edi+154] ;êîëëè÷åñòâî îòìåíåííûõ äåéñòâèé
  345. ted_tim_ls          equ dword[edi+158] ;âðåìÿ ïîñëåäíåãî ñîõðàíåíèÿ
  346. ted_tim_co          equ dword[edi+162] ;âðåìÿ ïîñëåäíåé öâåòîâîé ðàçìåòêè
  347. ted_el_focus        equ dword[edi+166] ;óêàçàòåëü íà ïåðåìåííóþ ýëåìåíòà â ôîêóñå
  348. ted_err_save        equ  byte[edi+170] ;îøèáêà ñîõðàíåíèÿ ôàéëà
  349. ted_panel_id        equ  byte[edi+171] ;íîìåð îòêðûòîé ïàíåëè
  350. ted_key_new         equ  byte[edi+172] ;ñèìâîë, êîòîðûé áóäåò äîáàâëÿòñÿ ñ êëàâèàòóðû
  351. ted_symbol_new_line equ  byte[edi+173] ;ñèìâîë çàâåðøåíèÿ ñòðîêè
  352. ted_scr_w           equ dword[edi+174] ;âåðòèêàëüíûé ñêðîëëèíã
  353. ted_scr_h           equ dword[edi+178] ;ãîðèçîíòàëüíûé ñêðîëëèíã
  354. ted_arr_key_pos     equ dword[edi+182] ;óêàçàòåëü íà ìàññèâ ïîçèöèé êëþ÷åâûõ ñëîâ
  355. ted_buffer          equ dword[edi+186] ;óêàçàòåëü íà áóôåð êîïèðîâàíèÿ/âñòàâêè
  356. ted_buffer_find     equ dword[edi+190] ;óêàçàòåëü íà áóôåð äëÿ ïîèñêà
  357. ted_cur_ins         equ  byte[edi+194] ;ðåæèì ðàáîòû êóðñîðà (îáû÷íûé èëè çàìåíà)
  358. ted_mode_color      equ  byte[edi+195] ;ðåæèì âûäåëåíèÿ ñëîâ öâåòîì (0-âûêë. 1-âêë.)
  359. ted_mode_invis      equ  byte[edi+196] ;ðåæèì ïîêàçà íåïå÷àòàåìûõ ñèìâîëîâ
  360. ted_gp_opt          equ  byte[edi+197] ;îïöèè âîçâðàùàåìûå ôóíêöèåé ted_get_pos_by_cursor
  361. ted_fun_on_key_ctrl_o equ dword[edi+198] ;óêàçàòåëü íà ôóíêöèþ âûçûâàåìóþ ïðè íàæàòèè Ctrl+O (îòêðûòèå ôàéëà)
  362. ted_fun_on_key_ctrl_f equ dword[edi+202] ;... Ctrl+F (âûçîâà/ñêðûòèÿ ïàíåëè ïîèñêà)
  363. ted_fun_on_key_ctrl_n equ dword[edi+206] ;... Ctrl+N (ñîçäàíèå íîâîãî äîêóìåíòà)
  364. ted_fun_on_key_ctrl_s equ dword[edi+210] ;... Ctrl+S
  365. ted_buffer_size       equ dword[edi+214] ;ðàçìåð áóôåðà êîïèðîâàíèÿ/âñòàâêè
  366. ted_fun_find_err      equ dword[edi+218] ;óêàçàòåëü íà ôóíêöèþ âûçûâàåìóþ åñëè ïîèñê çàêîí÷èëñÿ íåóäà÷íî
  367. ted_fun_init_synt_err equ dword[edi+222] ;óêàçàòåëü íà ôóíêöèþ âûçûâàåìóþ ïðè îøèáî÷íîì îòêðûòèè ôàéëà ñèíòàêñèñà
  368. ted_fun_draw_panel_buttons equ dword[edi+226] ;óêàçàòåëü íà ôóíêöèþ ðèñîâàíèÿ ïàíåëè ñ êíîïêàìè
  369. ted_fun_draw_panel_find    equ dword[edi+230] ;óêàçàòåëü íà ôóíêöèþ ðèñîâàíèÿ ïàíåëè ïîèñêà
  370. ted_fun_draw_panel_syntax  equ dword[edi+234] ;óêàçàòåëü íà ôóíêöèþ ðèñîâàíèÿ ïàíåëè ñèíòàêñèñà
  371. ted_fun_save_err      equ dword[edi+238] ;óêàçàòåëü íà ôóíêöèþ âûçûâàåìóþ åñëè ñîõðàíåíèå ôàéëà çàêîí÷èëîñü íåóäà÷íî
  372. ted_increase_size     equ dword[edi+242] ;÷èñëî ñèìâîëîâ íà êîòîðûå áóäåò óâå÷èâàòüñÿ ïàìÿòü ïðè íåõâàòêå
  373. ted_ptr_free_symb     equ dword[edi+246] ;óêàçàòåëü íà ñâîáîäíóþ ïàìÿòü, â êîòîðóþ ìîæíî äîáàâëÿòü ñèìâîë (èñïîëüçóåòñÿ âíóòðè ýëåìåíòà äëÿ óñêîðåíèÿ âñòàâêè òåêñòà)
  374. ;------------------------------------------------------------------------------
  375. ted_opt_ed_move_cursor equ 1 ;äâèãàòü êóðñîð ïîñëå äîáàâëåíèÿ òåêñòà
  376. ted_opt_ed_change_time equ 2 ;äîáàâëÿòü èçìåíåíèÿ ïðè ðåäàêòèðîâàíèè òåêñòà
  377. ted_offs_sel  equ 34 ;ñìåùåíèå ñòðóêòóðû sel
  378. ted_offs_seln equ 50 ;ñìåùåíèå ñòðóêòóðû seln
  379. ted_offs_count_colors equ 90 ;ñìåùåíèå ïåðåìåííîé êîëëè÷åñòâà öâåòîâ
  380. ted_offs_key_new equ 172
  381. ted_offs_symbol_new_line equ 173 ;ñìåùåíèå ñèìâîëà íîâîé ñòðîêè
  382. ;------------------------------------------------------------------------------
  383.  
  384.  
  385.  
  386. ; *** scroll bar constant ***
  387. sb_offs_size_x   equ  0
  388. sb_offs_start_x  equ  2
  389. sb_offs_size_y   equ  4
  390. sb_offs_start_y  equ  6
  391. sb_offs_max_area equ 16
  392. sb_offs_cur_area equ 20
  393. sb_offs_position equ 24
  394. sb_offs_bckg_col equ 28
  395. sb_offs_frnt_col equ 32
  396. sb_offs_line_col equ 36
  397. sb_offs_redraw   equ 40
  398. sb_offs_delta2   equ 46
  399. sb_offs_all_redraw equ 80
  400. ;------------------------------------------------------------------------------