Subversion Repositories Kolibri OS

Rev

Rev 4601 | Rev 5879 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
1432 mario79 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]                    ;указатель на буфер
3204 hidnplayr 14
ed_mouse_variable       equ [edi+40]    ; указатель на переменную для бокса/группы
1432 mario79 15
ed_flags        equ [edi+44]            ;флаги
3204 hidnplayr 16
bp_flags        equ [ebp+44]            ;в некоторых процедурах edi используется, взамен указатель храниться в ebp
1432 mario79 17
ed_size equ [edi+48]                    ;кол-во символов
3204 hidnplayr 18
bp_size equ [ebp+48]                    ;кол-во симвполов, для адресации испльзуется ebpб edi занят
1432 mario79 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   ;фокус приложения
3089 IgorA 34
ed_pass=                       1b   ;поле с паролем
1432 mario79 35
ed_shift_on=                1000b   ;если не установлен -значит впервые нажат shift,если был установлен, значит мы уже что - то делали удерживая shift
5679 hidnplayr 36
ed_shift_on_off= not (ed_shift_on)
1432 mario79 37
ed_shift=                    100b   ;включается при нажатии на shift т.е. если нажимаю
5679 hidnplayr 38
ed_shift_off= not (ed_shift)
1432 mario79 39
ed_shift_bac=              10000b   ;бит для очистки выделеного shift т.е. при установке говорит что есть выделение
5679 hidnplayr 40
ed_shift_bac_cl= not (ed_shift_bac)
41
ed_shift_cl=  not (ed_shift or ed_shift_bac or ed_shift_on)
42
ed_shift_mcl= not (ed_shift)
1432 mario79 43
ed_left_fl=               100000b
5679 hidnplayr 44
ed_right_fl= not (ed_left_fl)
1432 mario79 45
ed_offset_fl=            1000000b
5679 hidnplayr 46
ed_offset_cl= not (ed_offset_fl)
1432 mario79 47
ed_insert=              10000000b
5679 hidnplayr 48
ed_insert_cl= not (ed_insert)
1432 mario79 49
ed_mouse_on =          100000000b
50
ed_mous_adn_b=         100011000b
5679 hidnplayr 51
ed_mouse_on_off= not (ed_mouse_on)
4601 mario79 52
ed_ctrl_on =          1000000000b
5679 hidnplayr 53
ed_ctrl_off = not (ed_ctrl_on)
4601 mario79 54
ed_alt_on =          10000000000b
5679 hidnplayr 55
ed_alt_off = not (ed_alt_on)
56
ed_disabled=        100000000000b
1432 mario79 57
ed_height=14 ; высота
58
 
59
struc  edit_box width,left,top,color,shift_color,focus_border_color,\
60
       blur_border_color,text_color,max,text,mouse_variable,flags,size,pos
61
{
62
.width dd width
63
.left  dd left
64
.top   dd top
65
.color dd color
66
.shift_color dd shift_color
67
.focus_border_color dd focus_border_color
68
.blur_border_color  dd blur_border_color
69
.text_color dd text_color
70
.max  dd max
71
.text dd text
72
.mouse_variable dd mouse_variable
73
.flags  dd flags+0
74
.size   dd size+0
75
.pos    dd pos+0
76
.offset dd 0
77
.cl_curs_x dd 0
78
.cl_curs_y dd 0
79
.shift     dd 0
80
.shift_old dd 0
81
}
82
 
83
macro edit_boxes_set_sys_color start,end,color_table
84
{
85
        mov     edi,start
86
        mov     ecx,((end-start)/ed_struc_size)
87
        mov     esi,color_table
88
@@:
2159 IgorA 89
        mov     eax,dword [esi+36] ;цвет графики в окне (разделительные линии и т.п.)
90
        mov     ebx,dword [esi+20] ;цвет рабочей области окна
3204 hidnplayr 91
        push    dword eax
92
        pop     dword ed_focus_border_color
1432 mario79 93
        shr     bh,1
94
        shr     bl,1
95
        shr     ah,1
96
        shr     al,1
97
        add     ah,bh
98
        add     al,bl
99
        ror     eax,16
100
        ror     ebx,16
101
        shr     bl,1
102
        shr     al,1
103
        add     al,bl
104
        ror     eax,16
3204 hidnplayr 105
        mov     dword ed_blur_border_color,eax
106
        mov     dword shift_color,eax
107
        push    dword [esi+32] ;цвет текста в рабочей области окна
108
        pop     dword ed_text_color
1432 mario79 109
        add     edi,ed_struc_size
110
        loop    @b
111
}
3178 IgorA 112
 
113
 
1432 mario79 114
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
115
;Basic macros for use CheckBox                            ;
3178 IgorA 116
;Last change 17.01.2013                                   ;
1432 mario79 117
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
3178 IgorA 118
ch_text_margin equ [edi+8] ;=4 расстояние от прямоугольника чек бокса до надписи
1640 Lrz 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] ;указатель на начало текстовой строки
3178 IgorA 123
ch_flags equ [edi+28]      ;флаги
1432 mario79 124
 
3204 hidnplayr 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-го бита
1682 lrz 130
 
3204 hidnplayr 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]    ;длинна строки, вычисляется при инициализации компонента
1682 lrz 140
 
141
struc check_box2 left_s,top_s,ch_text_margin,color,border_color,text_color,text,flags
3204 hidnplayr 142
{                               ;структура параметров для чек бокса
4463 hidnplayr 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          ;длинна строки, вычисляется при инициализации компонента
1682 lrz 152
}
153
 
154
;Макрос проверки щелчка мышки над группой checkboxes.
3178 IgorA 155
macro init_checkboxes2 start,end_cb
1682 lrz 156
{
3178 IgorA 157
if start+ch_struc_size eq end_cb
3204 hidnplayr 158
        ;когда один элемент
159
        push    start                   ;указатель на checkbox
160
        call    [init_checkbox] ;настройка checkbox'а
3178 IgorA 161
else
3204 hidnplayr 162
        ;когда несколько элементов
163
        mov     ebp,start
164
        mov     ecx,((end_cb-start)/ch_struc_size)
1682 lrz 165
@@:
3204 hidnplayr 166
        push    ebp                     ;указатель на первый checkbox
167
        call    [init_checkbox] ;настройка checkbox'ов
168
        add     ebp,ch_struc_size
169
        loop    @b
3178 IgorA 170
end if
1682 lrz 171
}
172
 
173
;Макрос проверки мышки группы checkboxes.
3178 IgorA 174
macro checkboxes_mouse2 start,end_cb
1682 lrz 175
{
3178 IgorA 176
if start+ch_struc_size eq end_cb
3204 hidnplayr 177
        ;когда один элемент
178
        push    start                   ;указатель на checkbox
179
        call    [check_box_mouse]       ;макрос проверки мышки над checkbox'ом
3178 IgorA 180
else
3204 hidnplayr 181
        ;когда несколько элементов
182
        mov     ebp,start
183
        mov     ecx,((end_cb-start)/ch_struc_size)
1682 lrz 184
@@:
3204 hidnplayr 185
        push    ebp                     ;указатель на первый checkbox
186
        call    [check_box_mouse]       ;макрос проверки мышки над checkbox'ами
187
        add     ebp,ch_struc_size
188
        loop    @b
3178 IgorA 189
end if
1682 lrz 190
}
191
 
192
;Макрос отрисовки группы checkboxes.
3178 IgorA 193
macro checkboxes_draw2 start,end_cb
1682 lrz 194
{
3178 IgorA 195
if start+ch_struc_size eq end_cb
3204 hidnplayr 196
        ;когда один элемент
197
        push    start                   ;указатель на checkbox
198
        call    [check_box_draw]        ;нарисовать checkbox
3178 IgorA 199
else
3204 hidnplayr 200
        ;когда несколько элементов
201
        mov     ebp,start
202
        mov     ecx,((end_cb-start)/ch_struc_size)
1682 lrz 203
@@:
3204 hidnplayr 204
        push    ebp                     ;указатель на первый checkbox
205
        call    [check_box_draw]        ;нарисовать checkbox'ы
206
        add     ebp,ch_struc_size
207
        loop    @b
3178 IgorA 208
end if
1682 lrz 209
}
210
 
211
macro check_boxes_set_sys_color2 start,end,color_table
212
{
3204 hidnplayr 213
        mov     ebp,start
214
        mov     ecx,((end-start)/ch_struc_size)
215
        mov     esi,color_table
1682 lrz 216
@@:
3204 hidnplayr 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
1682 lrz 224
}
225
 
226
 
227
 
228
 
229
 
230
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1432 mario79 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
4463 hidnplayr 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              ; флаги
1432 mario79 248
}
249
 
2159 IgorA 250
;op_struc_size equ
1476 IgorA 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]
2159 IgorA 257
op_border_color equ [edi+20] ; or [edi+4] ;цвет рамки optionbox ее можно задать самостоятельно
1476 IgorA 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
 
2159 IgorA 263
macro option_boxes_set_sys_color color_table,group
264
{
3204 hidnplayr 265
        mov     ecx,group
266
        mov     esi,color_table
267
        mov     edi,[ecx]
268
        mov     eax,[esi+24] ;цвет кнопки в рабочей области окна
269
        mov     ebx,[esi+28] ;цвет текста на кнопке
2159 IgorA 270
@@:
3204 hidnplayr 271
        mov     op_border_color,eax
272
        mov     op_color,ebx
273
        push    dword [esi+32] ;цвет текста в рабочей области окна
274
        pop     dword op_text_color
2159 IgorA 275
        add     ecx,4
276
        mov     edi,[ecx]
3204 hidnplayr 277
        cmp     edi,0
278
        jne     @b
2159 IgorA 279
}
1457 IgorA 280
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
281
;Basic macros for use TreeList                            ;
282
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
283
 
1432 mario79 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_scrol,on_press {
3204 hidnplayr 287
  .data_info    dd 0
288
  .info_size    dw info_size
1432 mario79 289
  .info_max_count dd info_max_count
3204 hidnplayr 290
  .style            dd style
291
  .data_nodes   dd 0
292
  .data_img      dd 0
293
  .img_cx          dw img_cx
294
  .img_cy          dw img_cy
295
  .data_img_sys  dd 0
296
  .ch_tim                 dd 0
297
  .ls_tim                 dd 0
298
  .tim_undo      dd 0
299
  .cur_pos        dd 0
300
  .col_bkg        dd col_bkg
301
  .col_zag        dd col_zag
302
  .col_txt        dd col_txt
1432 mario79 303
  .box_left   dd box_l
304
  .box_top    dd box_t
305
  .box_width  dd box_w
306
  .box_height dd box_h
3204 hidnplayr 307
  .capt_cy         dw capt_cy
1432 mario79 308
  .info_capt_offs dw info_capt_offs
309
  .info_capt_len dw info_capt_len
310
  .el_focus dd el_focus
311
  .p_scrol  dd p_scrol
312
  rb 4
313
  .on_activate dd 0
314
  .on_press dd on_press
315
}
316
 
1449 IgorA 317
tl_info_size  equ  word[edi +4] ;размер данных выделяемых для каждого узла (пользовательськие данные + текст для подписи)
318
tl_info_max_count equ dword[edi+6] ;максимальное количество узлов, которые можно добавить в элемент
319
tl_style      equ dword[edi+10] ;стили элемента
320
tl_data_nodes equ dword[edi+14] ;указатель на структуры узлов
321
tl_data_img   equ dword[edi+18] ;указатель на изображения с иконками узлов
322
tl_img_cx     equ  word[edi+22] ;ширина иконок
323
tl_img_cy     equ  word[edi+24] ;высота иконок
324
tl_data_img_sys equ dword[edi+26] ;указатель на системные изображения (стрелки, плюсики)
325
tl_ch_tim     equ dword[edi+30] ;количество изменений в файле
326
tl_tim_undo   equ dword[edi+38] ;количество отмененных действий
327
tl_cur_pos    equ dword[edi+42] ;позиция курсора
328
tl_col_bkg    equ dword[edi+46] ;цвет фона
329
tl_col_zag    equ dword[edi+50] ;цвет заголовка
330
tl_col_txt    equ dword[edi+54] ;цвет текста
331
tl_box_left   equ dword[edi+58]
332
tl_box_top    equ dword[edi+62]
333
tl_box_width  equ dword[edi+66]
334
tl_box_height equ dword[edi+70]
335
tl_capt_cy    equ  word[edi+74] ;высота подписи
336
tl_info_capt_offs equ word[edi+76] ;сдвиг для начала текста (подписи узла)
337
tl_info_capt_len equ word[edi+78] ;длинна текста подписи узла (если = 0 то до конца структуры)
338
tl_el_focus   equ dword[edi+80] ;указатель на структуру элемента в фокусе
339
tl_p_scrol    equ dword[edi+84] ;указатель на структуру скроллинга
340
tl_on_press   equ dword[edi+96] ;указатель на функцию, которая вызывается при нажатии Enter
341
 
3204 hidnplayr 342
;data_info       dd ? ;+ 0 указатель на основные даные
343
;ls_tim         dd ? ;+34 время последнего сохранения
1449 IgorA 344
;on_activate dd ? ;+92 указатель на функцию при активировании узла
345
 
1432 mario79 346
;константы стиля
347
tl_key_no_edit   equ   1b ;элемент нельзя редактировать на клавиатуре (изменять уровни, удалять)
348
tl_draw_par_line equ  10b ;рисовать линии к родительскому узлу
349
tl_list_box_mode equ 100b ;стиль не отображает уровни (как в ListBox все одного уровня)
350
 
351
;константы для функций
352
tl_err_save_memory_size equ  10b ;не хватает памяти для сохранения элемента
353
tl_err_load_caption     equ   1b ;в памяти нет заголовка 'tree'
354
tl_err_load_info_size   equ 100b ;не совпадает размер информационной структуры при открытии
355
tl_load_mode_add        equ 0x20000 ;опция считывания в режиме добавления информации
356
tl_save_load_heder_size equ 26 ;размер заголовка для записи/чтения элементов
1619 IgorA 357
tl_offs_box equ 58 ;начало BOX структуры для tree_list
1457 IgorA 358
 
359
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
360
;Basic macros for use TextEditor                          ;
361
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
362
 
363
ted_wnd_l equ dword[edi+ 0] ;окно редактора: отступ слева
364
ted_wnd_t equ dword[edi+ 4] ;окно редактора: отступ сверху
365
ted_wnd_w equ dword[edi+ 8] ;окно редактора: ширина
366
ted_wnd_h equ dword[edi+12] ;окно редактора: высота
367
ted_rec_l equ dword[edi+16] ;ширина панели в окне
368
ted_rec_t equ dword[edi+20] ;высота панели в окне
369
ted_rec_w equ dword[edi+24] ;ширина символа (знакоместа) в окне
370
ted_rec_h equ dword[edi+28] ;высота символа (знакоместа) в окне
371
ted_drag_m equ byte[edi+32] ;выделение от мыши
372
ted_drag_k equ byte[edi+33] ;выделение от клавиатуры
373
ted_sel_x0 equ dword[edi+34] ;координата выделения x0
374
ted_sel_y0 equ dword[edi+38] ;координата выделения y0
375
ted_sel_x1 equ dword[edi+42] ;координата выделения x1
376
ted_sel_y1 equ dword[edi+46] ;координата выделения y1
377
;запасные координаты выделения
378
ted_seln_x0 equ dword[edi+50]
379
ted_seln_y0 equ dword[edi+54]
380
ted_seln_x1 equ dword[edi+58]
381
ted_seln_y1 equ dword[edi+62]
382
 
383
ted_tex     equ dword[edi+66] ;указатель на память для хранения текста
384
ted_tex_1   equ dword[edi+70] ;указатель на 1-ю стркутру символа
385
ted_tex_end equ dword[edi+74] ;указатель на последнюю структуру символа
386
ted_cur_x   equ dword[edi+78] ;координата x курсора
387
ted_cur_y   equ dword[edi+82] ;координата y курсора
388
ted_max_chars equ dword[edi+86] ;максимальное число символов в одном документе
389
ted_colors_text_count equ dword[edi+90] ;колличество цветов текста
390
ted_key_words_count   equ dword[edi+94] ;колличество ключевых слов
391
ted_color_cursor   equ dword[edi+98] ;цвет курсора
392
ted_color_wnd_capt equ dword[edi+102] ;цвет полей вокруг окна
393
ted_color_wnd_work equ dword[edi+106] ;цвет фона окна
394
ted_color_wnd_bord equ dword[edi+110] ;цвет текста на полях
395
ted_color_select   equ dword[edi+114] ;цвет выделения
396
ted_color_cur_text equ dword[edi+118] ;цвет символа под курсором
397
ted_color_wnd_text equ dword[edi+122] ;цвет текста в окне
398
ted_syntax_file    equ dword[edi+126] ;указатель на начало файла синтаксиса
399
ted_syntax_file_size equ dword[edi+130] ;максимальный размер файла синтаксиса
400
ted_text_colors     equ dword[edi+134] ;указатель на массив цветов текста
401
ted_help_text_f1    equ dword[edi+138] ;указатель на текст справки (по нажатии F1)
402
ted_help_id         equ dword[edi+142] ;идентификатор для справки
403
ted_key_words_data  equ dword[edi+146] ;указатель на структуры ключевых слов TexColViv
404
ted_tim_ch          equ dword[edi+150] ;колличество изменений в файле
405
ted_tim_undo        equ dword[edi+154] ;колличество отмененных действий
406
ted_tim_ls          equ dword[edi+158] ;время последнего сохранения
407
ted_tim_co          equ dword[edi+162] ;время последней цветовой разметки
408
ted_el_focus        equ dword[edi+166] ;указатель на переменную элемента в фокусе
409
ted_err_save        equ  byte[edi+170] ;ошибка сохранения файла
410
ted_panel_id        equ  byte[edi+171] ;номер открытой панели
411
ted_key_new         equ  byte[edi+172] ;символ, который будет добавлятся с клавиатуры
412
ted_symbol_new_line equ  byte[edi+173] ;символ завершения строки
413
ted_scr_w           equ dword[edi+174] ;вертикальный скроллинг
414
ted_scr_h           equ dword[edi+178] ;горизонтальный скроллинг
415
ted_arr_key_pos     equ dword[edi+182] ;указатель на массив позиций ключевых слов
416
ted_buffer          equ dword[edi+186] ;указатель на буфер копирования/вставки
417
ted_buffer_find     equ dword[edi+190] ;указатель на буфер для поиска
418
ted_cur_ins         equ  byte[edi+194] ;режим работы курсора (обычный или замена)
419
ted_mode_color      equ  byte[edi+195] ;режим выделения слов цветом (0-выкл. 1-вкл.)
420
ted_mode_invis      equ  byte[edi+196] ;режим показа непечатаемых символов
421
ted_gp_opt          equ  byte[edi+197] ;опции возвращаемые функцией ted_get_pos_by_cursor
422
ted_fun_on_key_ctrl_o equ dword[edi+198] ;указатель на функцию вызываемую при нажатии Ctrl+O (открытие файла)
423
ted_fun_on_key_ctrl_f equ dword[edi+202] ;... Ctrl+F (вызова/скрытия панели поиска)
424
ted_fun_on_key_ctrl_n equ dword[edi+206] ;... Ctrl+N (создание нового документа)
425
ted_fun_on_key_ctrl_s equ dword[edi+210] ;... Ctrl+S
426
ted_buffer_size       equ dword[edi+214] ;размер буфера копирования/вставки
427
ted_fun_find_err      equ dword[edi+218] ;указатель на функцию вызываемую если поиск закончился неудачно
2707 IgorA 428
;ted_fun_init_synt_err equ dword[edi+222] ;указатель на функцию вызываемую при ошибочном открытии файла синтаксиса
1457 IgorA 429
ted_fun_draw_panel_buttons equ dword[edi+226] ;указатель на функцию рисования панели с кнопками
430
ted_fun_draw_panel_find    equ dword[edi+230] ;указатель на функцию рисования панели поиска
431
ted_fun_draw_panel_syntax  equ dword[edi+234] ;указатель на функцию рисования панели синтаксиса
432
ted_fun_save_err      equ dword[edi+238] ;указатель на функцию вызываемую если сохранение файла закончилось неудачно
1464 IgorA 433
ted_increase_size     equ dword[edi+242] ;число символов на которые будет увечиваться память при нехватке
434
ted_ptr_free_symb     equ dword[edi+246] ;указатель на свободную память, в которую можно добавлять символ (используется внутри элемента для ускорения вставки текста)
1457 IgorA 435
;------------------------------------------------------------------------------
436
ted_opt_ed_move_cursor equ 1 ;двигать курсор после добавления текста
437
ted_opt_ed_change_time equ 2 ;добавлять изменения при редактировании текста
438
ted_offs_sel  equ 34 ;смещение структуры sel
439
ted_offs_seln equ 50 ;смещение структуры seln
440
ted_offs_count_colors equ 90 ;смещение переменной колличества цветов
441
ted_offs_key_new equ 172
442
ted_offs_symbol_new_line equ 173 ;смещение символа новой строки
443
;------------------------------------------------------------------------------
444
 
445
 
446
 
447
; *** scroll bar constant ***
448
sb_offs_size_x   equ  0
449
sb_offs_start_x  equ  2
450
sb_offs_size_y   equ  4
451
sb_offs_start_y  equ  6
452
sb_offs_max_area equ 16
453
sb_offs_cur_area equ 20
454
sb_offs_position equ 24
1458 IgorA 455
sb_offs_bckg_col equ 28
456
sb_offs_frnt_col equ 32
457
sb_offs_line_col equ 36
1457 IgorA 458
sb_offs_redraw   equ 40
459
sb_offs_delta2   equ 46
460
sb_offs_all_redraw equ 80
3204 hidnplayr 461
;------------------------------------------------------------------------------
462
 
463
 
464
struc scrollbar xsize, xpos, ysize, ypos, btn_height, max, cur, pos, bgcol, frcol, linecol, ar_offset
465
{
466
.x_size         dw xsize
467
.x_pos          dw xpos
468
.y_size         dw ysize
469
.y_pos          dw ypos
470
.btn_height     dd btn_height
471
.type           dd ?
472
.max_area       dd max
473
.cur_area       dd cur
474
.position       dd pos
475
.bg_color       dd bgcol
476
.front_color    dd frcol
477
.line_color     dd linecol
478
.redraw         dd ?
479
.delta          dw ?
480
.delta2         dw ?
481
.r_size_x       dw ?
482
.r_start_x      dw ?
483
.r_size_y       dw ?
484
.r_start_y      dw ?
485
.m_pos          dd ?
486
.m_pos_2        dd ?
487
.m_keys         dd ?
488
.run_size       dd ?
489
.position2      dd ?
490
.work_size      dd ?
491
.all_redraw     dd ?
492
.ar_offset      dd ar_offset
3478 0CodErr 493
}
494
 
495
; *** ProgressBar  constants *** ;
496
PB_VALUE          equ +0
497
PB_LEFT           equ +4
498
PB_TOP            equ +8
499
PB_WIDTH          equ +12
500
PB_HEIGHT         equ +16
501
PB_STYLE          equ +20
502
PB_MIN            equ +24
503
PB_MAX            equ +28
504
PB_BACK_COLOR     equ +32
505
PB_PROGRESS_COLOR equ +36
506
PB_FRAME_COLOR    equ +40