diff --git a/programs/develop/libraries/box_lib/trunk/box_lib.asm b/programs/develop/libraries/box_lib/trunk/box_lib.asm index aba274aeb..be1a86898 100644 --- a/programs/develop/libraries/box_lib/trunk/box_lib.asm +++ b/programs/develop/libraries/box_lib/trunk/box_lib.asm @@ -20,6 +20,49 @@ include '../../../../proc32.inc' include 'bl_sys.mac' include 'box_lib.mac' ;macro which should make life easier :) +;----------------------------------------------------------------------------- +;функция для выделения памяти +;input: +; ecx = size data +;otput: +; eax = pointer to memory +align 4 +mem_Alloc: + push ebx + mov eax,68 + mov ebx,12 + int 0x40 + pop ebx + ret +;функция для освобождения памяти +;input: +; ecx = pointer to memory +align 4 +proc mem_Free, mptr:dword + push eax ebx ecx + mov ecx,[mptr] + cmp ecx,0 + jz @f + mov eax,68 + mov ebx,13 + int 0x40 + @@: + pop ecx ebx eax + ret +endp +;функция для перераспределения памяти +;otput: +; eax = pointer to memory +align 4 +proc mem_ReAlloc, mptr:dword, size:dword + push ebx ecx edx + mov edx, [mptr] + mov ecx, [size] + mcall 68, 20 + pop edx ecx ebx + ret +endp + ;---------------------------------------------------- ;EditBox ;---------------------------------------------------- @@ -196,7 +239,7 @@ dd sz_ted_but_redo, ted_but_redo dd sz_ted_but_reverse, ted_but_reverse dd sz_ted_but_find_next, ted_but_find_next dd sz_ted_text_colored, ted_text_colored -dd sz_ted_version, 0x00000001 +dd sz_ted_version, 0x00000002 dd 0,0 diff --git a/programs/develop/libraries/box_lib/trunk/box_lib.mac b/programs/develop/libraries/box_lib/trunk/box_lib.mac index 344321b7b..4f35751da 100644 --- a/programs/develop/libraries/box_lib/trunk/box_lib.mac +++ b/programs/develop/libraries/box_lib/trunk/box_lib.mac @@ -320,6 +320,8 @@ 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 ;¤®Ў ў«пвм Ё§¬ҐҐЁп ЇаЁ । ЄвЁа®ў ЁЁ ⥪бв diff --git a/programs/develop/libraries/box_lib/trunk/doc/scrollbar/scrollbar.htm b/programs/develop/libraries/box_lib/trunk/doc/scrollbar/scrollbar.htm index d9a6a072b..065e41b2f 100644 --- a/programs/develop/libraries/box_lib/trunk/doc/scrollbar/scrollbar.htm +++ b/programs/develop/libraries/box_lib/trunk/doc/scrollbar/scrollbar.htm @@ -39,7 +39,7 @@
Версия элемента
Макроса для создания структуры для скроллбара нет. Потому данные для нее задаются вручную. +
Макроса для создания структуры скроллбара нет. Потому данные для нее задаются вручную. Есть макрос use_scroll_bar он дает возможность понять какие данные нужны для скроллинга.
macro use_scroll_bar { diff --git a/programs/develop/libraries/box_lib/trunk/doc/t_edit/t_edit.htm b/programs/develop/libraries/box_lib/trunk/doc/t_edit/t_edit.htm index 927de5907..88668441b 100644 --- a/programs/develop/libraries/box_lib/trunk/doc/t_edit/t_edit.htm +++ b/programs/develop/libraries/box_lib/trunk/doc/t_edit/t_edit.htm @@ -38,6 +38,7 @@
Элемент text_editor позволяет работать с текстовыми файлами, содержит много функция для редактирования текста.
@@ -319,8 +320,70 @@ pop edi Возможно в будущих версиях формат файлов подсветки будет изменен. +Макроса для создания структуры текстового редактора нет. Потому данные для него задаются вручную. Пример структуры для текстового редактора:
+align 4 +tedit0: ;структура текстового редактора + .wnd BOX 195,5+20,325,260 ;+ 0 + .rec BOX 30,13,7,10 ;+16 + .drag_m db 0 ;+32 выделение от мыши + .drag_k db 0 ;+33 выделение от клавиатуры + .sel TexSelect 0,0,0,0 ;+34 структура выделения + .seln TexSelect ;+50 дополнительная структура выделения + .tex dd 0 ;+66 text memory pointer + .tex_1 dd 0 ;+70 text first symbol pointer + .tex_end dd 0 ;+74 text end memory pointer + .cur_x dd 0 ;+78 координата x курсора + .cur_y dd 0 ;+82 координата y курсора + .max_chars dd 5002 ;+86 максимальное число символов в одном документе + .count_colors_text dd 1 ;+90 колличество цветов текста + .count_key_words dd 0 ;+94 колличество ключевых слов + .color_cursor dd 0xff0000 ;+98 цвет курсора + .color_wnd_capt dd 0x0080c0 ;+102 цвет полей вокруг окна + .color_wnd_work dd 0x0 ;+106 цвет фона окна + .color_wnd_bord dd 0xffffff ;+110 цвет текста на полях + .color_select dd 0x0000ff ;+114 цвет выделения + .color_cur_text dd 0xffff00 ;+118 цвет символа под курсором + .color_wnd_text dd 0x80ffff ;+122 цвет текста в окне + .syntax_file dd 0 ;+126 указатель на начало файла синтаксиса + .syntax_file_size dd 500 ;+130 максимальный размер файла синтаксиса + .text_colors dd 0 ;+134 указатель на массив цветов текста + .help_text_f1 dd 0 ;+138 указатель на текст справки (по нажатии F1) + .help_id dd -1 ;+142 идентификатор для справки + .key_words_data dd 0 ;+146 указатель на структуры ключевых слов TexColViv + .tim_ch dd ? ;+150 количество изменений в файле + .tim_undo dd ? ;+154 количество отмененных действий + .tim_ls dd ? ;+158 время последнего сохранения + .tim_co dd ? ;+162 время последней цветовой разметки + .el_focus dd el_focus ;+166 указатель на переменную элемента в фокусе + .err_save db 0 ;+170 ошибка сохранения файла + .panel_id db 0 ;+171 номер открытой панели + .key_new db 0 ;+172 символ, который будет добавлятся с клавиатуры + .symbol_new_line db 20 ;+173 символ завершения строки + .scr_w dd scrol_w1 ;+174 вертикальный скроллинг + .scr_h dd scrol_h1 ;+178 горизонтальный скроллинг + .arr_key_pos dd 0 ;+182 указатель на массив позиций ключевых слов + .buffer dd buf ;+186 указатель на буфер копирования/вставки + .buffer_find dd 0 ;+190 указатель на буфер для поиска + .cur_ins db 1 ;+194 режим работы курсора (обычный или замена) + .mode_color db 1 ;+195 режим выделения слов цветом (0-выкл. 1-вкл.) + .mode_invis db 0 ;+196 режим показа непечатаемых символов + .gp_opt db 0 ;+197 опции возвращаемые функцией ted_get_pos_by_cursor + .fun_on_key_ctrl_o dd but_ctrl_o ;+198 указатель на функцию вызываемую при нажатии Ctrl+O (открытие файла) + .fun_on_key_ctrl_f dd 0 ;+202 ... Ctrl+F (вызова/скрытия панели поиска) + .fun_on_key_ctrl_n dd but_ctrl_n ;+206 ... Ctrl+N (создание нового документа) + .fun_on_key_ctrl_s dd 0 ;+210 ... Ctrl+S + .buffer_size dd BUF_SIZE ;+214 размер буфера копирования/вставки + .fun_find_err dd 0 ;+218 указатель на функцию вызываемую если поиск закончился неудачно + .fun_init_synt_err dd 0 ;+222 указатель на функцию вызываемую при ошибочном открытии файла синтаксиса + .fun_draw_panel_buttons dd 0 ;+226 указатель на функцию рисования панели с кнопками + .fun_draw_panel_find dd 0 ;+230 указатель на функцию рисования панели поиска + .fun_draw_panel_syntax dd 0 ;+234 указатель на функцию рисования панели синтаксиса + .fun_save_err dd 0 ;+238 указатель на функцию вызываемую если сохранение файла закончилось неудачно + .increase_size dd 225 ;+242 число символов на которые будет увечиваться память при нехватке + .ptr_free_symb dd ? ;+246 указатель на свободную память, в которую можно добавлять символ (используется внутри элемента для ускорения вставки текста)
Документация обновлялась последний раз 05.05.10.
+Документация обновлялась последний раз 17.05.10.