forked from KolibriOS/kolibrios
1) 'box_lib.obj' update 'text_edititor'
2) modify code 't_edit' and 'planet_v' git-svn-id: svn://kolibrios.org@1464 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
parent
298c1a755b
commit
b062f4354f
@ -20,6 +20,49 @@ include '../../../../proc32.inc'
|
|||||||
include 'bl_sys.mac'
|
include 'bl_sys.mac'
|
||||||
include 'box_lib.mac' ;macro which should make life easier :)
|
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
|
;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_reverse, ted_but_reverse
|
||||||
dd sz_ted_but_find_next, ted_but_find_next
|
dd sz_ted_but_find_next, ted_but_find_next
|
||||||
dd sz_ted_text_colored, ted_text_colored
|
dd sz_ted_text_colored, ted_text_colored
|
||||||
dd sz_ted_version, 0x00000001
|
dd sz_ted_version, 0x00000002
|
||||||
|
|
||||||
dd 0,0
|
dd 0,0
|
||||||
|
|
||||||
|
@ -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_find equ dword[edi+230] ;㪠§ ⥫ì äãªæ¨î à¨á®¢ ¨ï ¯ ¥«¨ ¯®¨áª
|
||||||
ted_fun_draw_panel_syntax equ dword[edi+234] ;㪠§ ⥫ì äãªæ¨î à¨á®¢ ¨ï ¯ ¥«¨ á¨â ªá¨á
|
ted_fun_draw_panel_syntax equ dword[edi+234] ;㪠§ ⥫ì äãªæ¨î à¨á®¢ ¨ï ¯ ¥«¨ á¨â ªá¨á
|
||||||
ted_fun_save_err equ dword[edi+238] ;㪠§ ⥫ì äãªæ¨î ¢ë§ë¢ ¥¬ãî ¥á«¨ á®åà ¥¨¥ ä ©« § ª®ç¨«®áì ¥ã¤ ç®
|
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_move_cursor equ 1 ;¤¢¨£ âì ªãàá®à ¯®á«¥ ¤®¡ ¢«¥¨ï ⥪áâ
|
||||||
ted_opt_ed_change_time equ 2 ;¤®¡ ¢«ïâì ¨§¬¥¥¨ï ¯à¨ । ªâ¨à®¢ ¨¨ ⥪áâ
|
ted_opt_ed_change_time equ 2 ;¤®¡ ¢«ïâì ¨§¬¥¥¨ï ¯à¨ । ªâ¨à®¢ ¨¨ ⥪áâ
|
||||||
|
@ -39,7 +39,7 @@
|
|||||||
<p>Версия элемента</p>
|
<p>Версия элемента</p>
|
||||||
|
|
||||||
<h1><a name="struc_scrollbar">Структура scrollbar</a></h1>
|
<h1><a name="struc_scrollbar">Структура scrollbar</a></h1>
|
||||||
<p>Макроса для создания структуры для скроллбара нет. Потому данные для нее задаются вручную.
|
<p>Макроса для создания структуры скроллбара нет. Потому данные для нее задаются вручную.
|
||||||
Есть макрос use_scroll_bar он дает возможность понять какие данные нужны для скроллинга.</p>
|
Есть макрос use_scroll_bar он дает возможность понять какие данные нужны для скроллинга.</p>
|
||||||
<pre>macro use_scroll_bar
|
<pre>macro use_scroll_bar
|
||||||
{
|
{
|
||||||
|
@ -38,6 +38,7 @@
|
|||||||
<li><a href="#fun_text_colored">ted_text_colored</a></li>
|
<li><a href="#fun_text_colored">ted_text_colored</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
<p><a href="#syn_file">Формат файла подсветки *.syn</a></p>
|
<p><a href="#syn_file">Формат файла подсветки *.syn</a></p>
|
||||||
|
<p><a href="#struc_tedit">Структура tedit</a></p>
|
||||||
|
|
||||||
<h1><a name="vveden">Введение</a></h1>
|
<h1><a name="vveden">Введение</a></h1>
|
||||||
<p>Элемент text_editor позволяет работать с текстовыми файлами, содержит много функция для редактирования текста.</p>
|
<p>Элемент text_editor позволяет работать с текстовыми файлами, содержит много функция для редактирования текста.</p>
|
||||||
@ -319,8 +320,70 @@ pop edi</pre>
|
|||||||
Возможно в будущих версиях формат файлов подсветки будет изменен.</li>
|
Возможно в будущих версиях формат файлов подсветки будет изменен.</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
|
<h1><a name="struc_tedit">Структура tedit</a></h1>
|
||||||
|
<p>Макроса для создания структуры текстового редактора нет. Потому данные для него задаются вручную. Пример структуры для текстового редактора:</p>
|
||||||
|
<pre>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 указатель на свободную память, в которую можно добавлять символ (используется внутри элемента для ускорения вставки текста)</pre>
|
||||||
<hr>
|
<hr>
|
||||||
<p>Документация обновлялась последний раз 05.05.10.</p>
|
<p>Документация обновлялась последний раз 17.05.10.</p>
|
||||||
|
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
@ -1,6 +1,6 @@
|
|||||||
; ¬ ªà®á ¤«ï á¨á⥬®© ¡¨¡«¨®â¥ª¨ box_lib.obj
|
; ¬ ªà®á ¤«ï á¨á⥬®© ¡¨¡«¨®â¥ª¨ box_lib.obj
|
||||||
; í«¥¬¥â TextEditor ¤«ï Kolibri OS
|
; í«¥¬¥â TextEditor ¤«ï Kolibri OS
|
||||||
; ä ©« ¯®á«¥¤¨© à § ¨§¬¥ï«áï 05.05.2010 IgorA
|
; ä ©« ¯®á«¥¤¨© à § ¨§¬¥ï«áï 17.05.2010 IgorA
|
||||||
; ª®¤ ¯à¨¬¥¥ GPL2 «¨æ¥§¨ï
|
; ª®¤ ¯à¨¬¥¥ GPL2 «¨æ¥§¨ï
|
||||||
|
|
||||||
;input:
|
;input:
|
||||||
@ -54,7 +54,7 @@ struct symbol
|
|||||||
ends
|
ends
|
||||||
;------------------------------------------------------------------------------
|
;------------------------------------------------------------------------------
|
||||||
|
|
||||||
ted_symbol_tab db 26
|
ted_symbol_tab db 26 ;ascii ª®¤ áâ५ª¨ ¢¯à ¢®, ¨á¯®«ì§ã¥âáï ¤«ï à¨á®¢ ¨ï â ¡ã«ï樨 ¢ ०¨¬¥ ¯®ª § ¥¢¨¤¨¬ëå ᨬ¢®«®¢
|
||||||
|
|
||||||
if lang eq ru
|
if lang eq ru
|
||||||
|
|
||||||
@ -80,7 +80,7 @@ txtBuf db 'Buffer:',0
|
|||||||
|
|
||||||
end if
|
end if
|
||||||
|
|
||||||
;------
|
;EvChar - â ¡«¨æ ¤«ï 䨫ìâ஢ ¨ï ¤®¡ ¢«ï¥¬ëå ᨬ¢®«®¢, çâ®-¡ë ¥ ¯®¯ «¨ «¨è¨¥ § ª¨
|
||||||
align 4
|
align 4
|
||||||
EvChar db 0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0
|
EvChar db 0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0
|
||||||
db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||||
@ -98,7 +98,7 @@ EvChar db 0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0
|
|||||||
db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||||
db 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
|
db 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
|
||||||
db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||||
|
;EvUpper - â ¡«¨æ ¤«ï ¯à¥®¡à §®¢ ¨ï ᨬ¢®«®¢ ª ¢¥à奬ã ॣ¨áâàã
|
||||||
EvUpper db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
EvUpper db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||||
db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||||
db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||||
@ -113,8 +113,9 @@ EvUpper db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
|||||||
db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||||
db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||||
db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||||
db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
db 144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159
|
||||||
db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
db 0,240,0,242,0,244,0,246,0,0,0,0,0,0,0,0
|
||||||
|
;EvLover - â ¡«¨æ ¤«ï ¯à¥®¡à §®¢ ¨ï ᨬ¢®«®¢ ª ¨¦¥¬ã ॣ¨áâàã
|
||||||
EvLover db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
EvLover db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||||
db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||||
db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||||
@ -124,13 +125,13 @@ EvLover db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
|||||||
db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||||
db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||||
db 160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175
|
db 160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175
|
||||||
|
db 224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239
|
||||||
db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||||
db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||||
db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||||
db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||||
db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||||
db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
db 241,0,243,0,245,0,247,0,0,0,0,0,0,0,0,0
|
||||||
db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
|
||||||
conv_table dd 0
|
conv_table dd 0
|
||||||
|
|
||||||
|
|
||||||
@ -252,16 +253,12 @@ endp
|
|||||||
|
|
||||||
align 4
|
align 4
|
||||||
proc ted_delete, edit:dword
|
proc ted_delete, edit:dword
|
||||||
push ecx edi
|
push edi
|
||||||
mov edi,dword[edit]
|
mov edi,dword[edit]
|
||||||
|
stdcall mem_Free,ted_tex
|
||||||
mov ecx,ted_tex
|
stdcall mem_Free,ted_arr_key_pos ;ted_syntax_file
|
||||||
call mem_Free
|
pop edi
|
||||||
mov ecx,ted_arr_key_pos ;ted_syntax_file
|
ret
|
||||||
call mem_Free
|
|
||||||
|
|
||||||
pop edi ecx
|
|
||||||
ret
|
|
||||||
endp
|
endp
|
||||||
|
|
||||||
|
|
||||||
@ -369,19 +366,19 @@ proc ted_key, edit:dword, table:dword, control:dword
|
|||||||
call ted_draw_main_cursor
|
call ted_draw_main_cursor
|
||||||
mov ted_drag_k,0 ;§ ª 稢 ¥¬ ¢ë¤¥«¥¨¥ ®â ª« ¢¨ âãàë
|
mov ted_drag_k,0 ;§ ª 稢 ¥¬ ¢ë¤¥«¥¨¥ ®â ª« ¢¨ âãàë
|
||||||
@@:
|
@@:
|
||||||
cmp ah,80 ;177 ;Down
|
cmp ah,80 ;177 ;Down
|
||||||
jne @f
|
jne @f
|
||||||
call ted_draw_cursor_sumb
|
call ted_draw_cursor_sumb
|
||||||
call ted_cur_move_down
|
call ted_cur_move_down
|
||||||
cmp dl,8
|
cmp dl,8
|
||||||
jne .no_red_1
|
jne .no_red_1
|
||||||
call ted_scroll_set_redraw
|
call ted_scroll_set_redraw
|
||||||
stdcall ted_draw,edi
|
stdcall ted_draw,edi
|
||||||
jmp @f
|
jmp @f
|
||||||
.no_red_1:
|
.no_red_1:
|
||||||
call ted_draw_main_cursor
|
call ted_draw_main_cursor
|
||||||
mov ted_drag_k,0 ;§ ª 稢 ¥¬ ¢ë¤¥«¥¨¥ ®â ª« ¢¨ âãàë
|
mov ted_drag_k,0 ;§ ª 稢 ¥¬ ¢ë¤¥«¥¨¥ ®â ª« ¢¨ âãàë
|
||||||
@@:
|
@@:
|
||||||
cmp ah,75 ;176 ;Left
|
cmp ah,75 ;176 ;Left
|
||||||
jne @f
|
jne @f
|
||||||
call ted_draw_cursor_sumb
|
call ted_draw_cursor_sumb
|
||||||
@ -681,48 +678,52 @@ endp
|
|||||||
; cl_al_mem = 1 - clear all memory
|
; cl_al_mem = 1 - clear all memory
|
||||||
align 4
|
align 4
|
||||||
proc ted_clear, edit:dword, cl_al_mem:dword
|
proc ted_clear, edit:dword, cl_al_mem:dword
|
||||||
push ecx edi
|
push ecx edi
|
||||||
mov edi,dword[edit]
|
mov edi,dword[edit]
|
||||||
|
|
||||||
mov ted_cur_x,0
|
mov ted_cur_x,0
|
||||||
mov ted_cur_y,0
|
mov ted_cur_y,0
|
||||||
mov ted_tim_ch,0
|
mov ted_tim_ch,0
|
||||||
mov ted_tim_ls,0
|
mov ted_tim_ls,0
|
||||||
mov ted_tim_co,0
|
mov ted_tim_co,0
|
||||||
mov ted_tim_undo,0
|
mov ted_tim_undo,0
|
||||||
mov ted_help_id,-1
|
mov ted_help_id,-1
|
||||||
|
mov ecx,sizeof.symbol
|
||||||
|
shl ecx,1
|
||||||
|
add ecx,ted_tex
|
||||||
|
mov ted_ptr_free_symb,ecx
|
||||||
|
|
||||||
mov ecx,ted_scr_w
|
mov ecx,ted_scr_w
|
||||||
mov dword[ecx+sb_offs_position],0
|
mov dword[ecx+sb_offs_position],0
|
||||||
mov dword[ecx+sb_offs_max_area],100 ;ç¨á«® áâப ¢¨¤¨¬ëå ¢ ®¢®¬ ¤®ªã¬¥â¥
|
mov dword[ecx+sb_offs_max_area],100 ;ç¨á«® áâப ¢¨¤¨¬ëå ¢ ®¢®¬ ¤®ªã¬¥â¥
|
||||||
mov dword[ecx+sb_offs_redraw],1
|
mov dword[ecx+sb_offs_redraw],1
|
||||||
mov ecx,ted_scr_h
|
mov ecx,ted_scr_h
|
||||||
mov dword[ecx+sb_offs_position],0
|
mov dword[ecx+sb_offs_position],0
|
||||||
mov dword[ecx+sb_offs_max_area],100 ;ç¨á«® ᨬ¢®«®¢ ¢¨¤¨¬ëå ¢ ®¢®¬ ¤®ªã¬¥â¥
|
mov dword[ecx+sb_offs_max_area],100 ;ç¨á«® ᨬ¢®«®¢ ¢¨¤¨¬ëå ¢ ®¢®¬ ¤®ªã¬¥â¥
|
||||||
|
|
||||||
mov ted_sel_x0,0
|
mov ted_sel_x0,0
|
||||||
mov ted_sel_y0,0
|
mov ted_sel_y0,0
|
||||||
mov ted_sel_x1,0
|
mov ted_sel_x1,0
|
||||||
mov ted_sel_y1,0
|
mov ted_sel_y1,0
|
||||||
|
|
||||||
cmp dword[cl_al_mem],0
|
cmp dword[cl_al_mem],0
|
||||||
je .exit
|
je .exit
|
||||||
|
|
||||||
push edx
|
push edx
|
||||||
mov ecx,sizeof.symbol
|
mov ecx,sizeof.symbol
|
||||||
imul ecx,ted_max_chars
|
imul ecx,ted_max_chars
|
||||||
mov edx,ted_tex
|
mov edx,ted_tex
|
||||||
@@:
|
@@:
|
||||||
mov byte [edx],0
|
mov byte [edx],0
|
||||||
inc edx
|
inc edx
|
||||||
loop @b
|
loop @b
|
||||||
mov edx,ted_tex
|
mov edx,ted_tex
|
||||||
mov dword [edx+6],1
|
mov dword [edx+6],1
|
||||||
pop edx
|
pop edx
|
||||||
|
|
||||||
.exit:
|
.exit:
|
||||||
pop edi ecx
|
pop edi ecx
|
||||||
ret
|
ret
|
||||||
endp
|
endp
|
||||||
|
|
||||||
|
|
||||||
@ -1108,81 +1109,114 @@ proc ted_text_add, edit:dword, text:dword, t_len:dword, add_opt:dword
|
|||||||
pop eax
|
pop eax
|
||||||
@@:
|
@@:
|
||||||
|
|
||||||
mov edx,sizeof.symbol
|
mov edx,ted_ptr_free_symb
|
||||||
shl edx,1
|
.beg_cycle: ;for(i=...;i<ted_max_chars;i++)
|
||||||
add edx,ted_tex
|
cmp dword [edx+10],0 ;if(!tex[i].tc && !tex[i].td)
|
||||||
@@: ;for(i=2;i<texMax;i++)
|
jne .u1f
|
||||||
cmp dword [edx+10],0 ;if(!tex[i].tc && !tex[i].td)
|
cmp dword [edx+14],0
|
||||||
jne .u1f
|
jne .u1f
|
||||||
cmp dword [edx+14],0
|
test dword[add_opt],ted_opt_ed_change_time ;if(n_tim) ted_tim_ch++;
|
||||||
jne .u1f
|
jz .no_tim
|
||||||
test dword[add_opt],ted_opt_ed_change_time ;if(n_tim) ted_tim_ch++;
|
inc ted_tim_ch
|
||||||
jz .no_tim
|
.no_tim:
|
||||||
inc ted_tim_ch
|
test dword[add_opt],ted_opt_ed_move_cursor
|
||||||
.no_tim:
|
jz .no_cur_mov
|
||||||
test dword[add_opt],ted_opt_ed_move_cursor
|
cmp dword[new_lin],0 ;¥á«¨ ¥áâì ¤®¡ ¢®çë¥ áâப¨, â® ªãàá®à ¥é¥ ¥ ¤¢¨£ ¥¬
|
||||||
jz .no_cur_mov
|
jg .no_cur_mov
|
||||||
cmp dword[new_lin],0 ;¥á«¨ ¥áâì ¤®¡ ¢®çë¥ áâப¨, â® ªãàá®à ¥é¥ ¥ ¤¢¨£ ¥¬
|
cmp dword[new_spc],0 ;¥á«¨ ¥â ¤®¡ ¢®çëå ¯à®¡¥«®¢, â® ªãàá®à ⮦¥ ¥ ¤¢¨£ ¥¬
|
||||||
jg .no_cur_mov
|
jg .no_cur_mov
|
||||||
cmp dword[new_spc],0 ;¥á«¨ ¥â ¤®¡ ¢®çëå ¯à®¡¥«®¢, â® ªãàá®à ⮦¥ ¥ ¤¢¨£ ¥¬
|
inc ted_cur_x ;move cursor
|
||||||
jg .no_cur_mov
|
;call ted_go_to_pos
|
||||||
inc ted_cur_x ;move cursor
|
cmp byte [esi],13
|
||||||
;call ted_go_to_pos
|
jne .no_cur_mov
|
||||||
cmp byte [esi],13
|
mov ted_cur_x,0
|
||||||
jne .no_cur_mov
|
inc ted_cur_y
|
||||||
mov ted_cur_x,0
|
.no_cur_mov:
|
||||||
inc ted_cur_y
|
|
||||||
.no_cur_mov:
|
|
||||||
|
|
||||||
mov ecx,ted_opt_ed_change_time
|
mov ecx,ted_opt_ed_change_time
|
||||||
not ecx
|
not ecx
|
||||||
and dword[add_opt],ecx ;n_tim=false;
|
and dword[add_opt],ecx ;n_tim=false;
|
||||||
|
|
||||||
mov cl,byte [esi] ;tex[i].c=ta[ns];
|
mov cl,byte [esi] ;tex[i].c=ta[ns];
|
||||||
mov byte [edx],cl
|
mov byte [edx],cl
|
||||||
m2m dword [edx+10],ted_tim_ch ;tex[i].tc=ted_tim_ch;
|
m2m dword [edx+10],ted_tim_ch ;tex[i].tc=ted_tim_ch;
|
||||||
mov [edx+2],eax ;tex[i].perv=po_t;
|
mov [edx+2],eax ;tex[i].perv=po_t;
|
||||||
|
|
||||||
mov ecx,eax
|
mov ecx,eax
|
||||||
imul ecx,sizeof.symbol
|
imul ecx,sizeof.symbol
|
||||||
add ecx,ted_tex ; *** ecx = tex[po_t] ***
|
add ecx,ted_tex ; *** ecx = tex[po_t] ***
|
||||||
add ecx,6 ; *** ecx = tex[po_t].next ***
|
add ecx,6 ; *** ecx = tex[po_t].next ***
|
||||||
m2m dword [edx+6],dword [ecx] ;tex[i].next=tex[po_t].next;
|
m2m dword [edx+6],dword [ecx] ;tex[i].next=tex[po_t].next;
|
||||||
|
|
||||||
call ted_get_text_arr_index ;*** eax = i ***
|
call ted_get_text_arr_index ;*** eax = i ***
|
||||||
cmp eax,ted_max_chars
|
mov [ecx],eax ;tex[po_t].next=i; // áá뫪¨ ¯¥à¥ ¯à ¢«ï¥¬
|
||||||
jge @f
|
mov ecx,[edx+6] ; *** ecx = tex[i].next ***
|
||||||
mov [ecx],eax ;tex[po_t].next=i; // áá뫪¨ ¯¥à¥ ¯à ¢«ï¥¬
|
imul ecx,sizeof.symbol
|
||||||
mov ecx,[edx+6] ; *** ecx = tex[i].next ***
|
add ecx,ted_tex ; *** ecx = tex[tex[i].next] ***
|
||||||
imul ecx,sizeof.symbol
|
mov [ecx+2],eax ;tex[tex[i].next].perv=i;
|
||||||
add ecx,ted_tex ; *** ecx = tex[tex[i].next] ***
|
|
||||||
mov [ecx+2],eax ;tex[tex[i].next].perv=i;
|
|
||||||
|
|
||||||
cmp dword[new_lin],0 ;add lines or text
|
cmp dword[new_lin],0 ;add lines or text
|
||||||
jle .spc_add
|
jle .spc_add
|
||||||
dec dword[new_lin]
|
dec dword[new_lin]
|
||||||
mov byte [edx],13
|
mov byte [edx],13
|
||||||
jmp .u1f
|
jmp .u1f
|
||||||
.spc_add:
|
.spc_add:
|
||||||
cmp dword[new_spc],0 ;add spaces or text
|
cmp dword[new_spc],0 ;add spaces or text
|
||||||
jle .tex_add
|
jle .tex_add
|
||||||
dec dword[new_spc]
|
dec dword[new_spc]
|
||||||
mov byte [edx],' '
|
mov byte [edx],' '
|
||||||
jmp .u1f
|
jmp .u1f
|
||||||
.tex_add:
|
.tex_add:
|
||||||
inc esi
|
inc esi
|
||||||
dec ebx
|
dec ebx
|
||||||
.u1f:
|
.u1f:
|
||||||
add edx,sizeof.symbol
|
add edx,sizeof.symbol
|
||||||
cmp edx,ted_tex_end
|
cmp edx,ted_tex_end
|
||||||
jge @f ;out of memory
|
jge @f ;out of memory
|
||||||
cmp ebx,0
|
cmp ebx,0
|
||||||
jne @b
|
jne .beg_cycle
|
||||||
@@:
|
mov ted_ptr_free_symb,edx ;¬¥ï¥¬ 㪠§ ⥫ì ᢮¡®¤ë© ᨬ¢®«, ¤«ï ¡®«¥¥ ¡ëáâண® ¯®¨áª ¯ ¬ïâ¨
|
||||||
|
jmp .add_all
|
||||||
|
@@:
|
||||||
|
cmp ted_increase_size,0
|
||||||
|
je .add_all
|
||||||
|
call ted_memory_increase
|
||||||
|
cmp ebx,0
|
||||||
|
jne .beg_cycle
|
||||||
|
.add_all: ;¢á¥ ᨬ¢®«ë ¤®¡ ¢«¥ë
|
||||||
|
|
||||||
call ted_text_colored
|
call ted_text_colored
|
||||||
popad
|
popad
|
||||||
ret
|
ret
|
||||||
|
endp
|
||||||
|
|
||||||
|
;input:
|
||||||
|
; edx = pointer to sumbol, when insert
|
||||||
|
; edi = pointer to tedit struct
|
||||||
|
;output:
|
||||||
|
; edx = new pointer to sumbol, when insert
|
||||||
|
align 4
|
||||||
|
proc ted_memory_increase
|
||||||
|
cmp ted_increase_size,0
|
||||||
|
je @f
|
||||||
|
push eax ebx ecx
|
||||||
|
mov ecx,ted_increase_size
|
||||||
|
add ecx,ted_max_chars
|
||||||
|
mov ted_max_chars,ecx
|
||||||
|
imul ecx,sizeof.symbol
|
||||||
|
stdcall mem_ReAlloc, ted_tex,ecx
|
||||||
|
mov ebx,ted_tex
|
||||||
|
mov ted_tex,eax
|
||||||
|
mov ted_tex_1,eax
|
||||||
|
add ted_tex_1,sizeof.symbol
|
||||||
|
sub edx,ebx
|
||||||
|
add edx,eax
|
||||||
|
mov ted_ptr_free_symb,edx
|
||||||
|
add eax,ecx
|
||||||
|
mov ted_tex_end,eax
|
||||||
|
pop ecx ebx eax
|
||||||
|
@@:
|
||||||
|
ret
|
||||||
endp
|
endp
|
||||||
|
|
||||||
;input:
|
;input:
|
||||||
@ -1269,8 +1303,7 @@ proc ted_convert_sel_text
|
|||||||
|
|
||||||
inc ted_tim_ch
|
inc ted_tim_ch
|
||||||
mov edx,eax ;i=p0;
|
mov edx,eax ;i=p0;
|
||||||
mov ecx,2
|
mov ecx,ted_ptr_free_symb
|
||||||
ConvertIndexToPointer ecx
|
|
||||||
@@:
|
@@:
|
||||||
mov esi,[edx]
|
mov esi,[edx]
|
||||||
and esi,0xff
|
and esi,0xff
|
||||||
@ -1926,6 +1959,9 @@ proc ted_set_undo
|
|||||||
add ebx,ted_tex;.perv
|
add ebx,ted_tex;.perv
|
||||||
m2m dword [ebx+2],dword [edx+2] ;tex[tex[i].next].perv=tex[i].perv;
|
m2m dword [ebx+2],dword [edx+2] ;tex[tex[i].next].perv=tex[i].perv;
|
||||||
|
|
||||||
|
cmp ted_ptr_free_symb,edx
|
||||||
|
jle .no_u1
|
||||||
|
mov ted_ptr_free_symb,edx ;¬¥ï¥¬ 㪠§ ⥫ì ᢮¡®¤ë© ᨬ¢®«, ¤«ï ¡®«¥¥ ¡ëáâண® ¯®¨áª ¯ ¬ïâ¨
|
||||||
.no_u1:
|
.no_u1:
|
||||||
|
|
||||||
;else if(tex[i].td>ted_tim_ch) tex[i].td=0; // ¥á«¨ 㤠«¥¨¥ ᨬ¢®« ¡ë«® ®â¬¥¥®
|
;else if(tex[i].td>ted_tim_ch) tex[i].td=0; // ¥á«¨ 㤠«¥¨¥ ᨬ¢®« ¡ë«® ®â¬¥¥®
|
||||||
@ -3362,14 +3398,14 @@ endp
|
|||||||
; ah = symbol
|
; ah = symbol
|
||||||
align 4
|
align 4
|
||||||
proc KeyConvertToASCII, table:dword
|
proc KeyConvertToASCII, table:dword
|
||||||
push ebx
|
push ebx
|
||||||
mov ebx,dword[table] ;convert scan to ascii
|
mov ebx,dword[table] ;convert scan to ascii
|
||||||
ror ax,8
|
ror ax,8
|
||||||
xor ah,ah
|
xor ah,ah
|
||||||
add bx,ax
|
add bx,ax ;? ebx,eax
|
||||||
mov ah,byte[ebx]
|
mov ah,byte[ebx]
|
||||||
pop ebx
|
pop ebx
|
||||||
ret
|
ret
|
||||||
endp
|
endp
|
||||||
|
|
||||||
align 4
|
align 4
|
||||||
@ -3963,7 +3999,7 @@ call ted_fun_save_err
|
|||||||
@@:
|
@@:
|
||||||
|
|
||||||
pop ecx ;§ ¯¨áë¢ ¥¬ 㪠§ â¥«ì ¢ë¤¥«¥ãî ¯ ¬ïâì
|
pop ecx ;§ ¯¨áë¢ ¥¬ 㪠§ â¥«ì ¢ë¤¥«¥ãî ¯ ¬ïâì
|
||||||
call mem_Free
|
stdcall mem_Free,ecx
|
||||||
.no_save:
|
.no_save:
|
||||||
popad
|
popad
|
||||||
ret
|
ret
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
; макрос для системной библиотеки box_lib.obj
|
; макрос для системной библиотеки box_lib.obj
|
||||||
; элемент TreeList для Kolibri OS
|
; элемент TreeList для Kolibri OS
|
||||||
; ôàéë ïîñëåäíèé ðàç èçìåíÿëñÿ 29.04.2010 IgorA
|
; ôàéë ïîñëåäíèé ðàç èçìåíÿëñÿ 15.05.2010 IgorA
|
||||||
; на код применена GPL2 лицензия
|
; на код применена GPL2 лицензия
|
||||||
|
|
||||||
|
|
||||||
@ -17,36 +17,6 @@ sizeof.TreeList equ 20
|
|||||||
|
|
||||||
macro use_tree_list
|
macro use_tree_list
|
||||||
{
|
{
|
||||||
;-----------------------------------------------------------------------------
|
|
||||||
;ôóíêöèÿ äëÿ âûäåëåíèÿ ïàìÿòè
|
|
||||||
;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
|
|
||||||
mem_Free:
|
|
||||||
push eax ebx
|
|
||||||
cmp ecx,0
|
|
||||||
jz @f
|
|
||||||
mov eax,68
|
|
||||||
mov ebx,13
|
|
||||||
int 0x40
|
|
||||||
@@:
|
|
||||||
pop ebx eax
|
|
||||||
ret
|
|
||||||
|
|
||||||
align 4
|
align 4
|
||||||
tl_data_init: ;выделние памяти для структур списка и основной информации (конструктор)
|
tl_data_init: ;выделние памяти для структур списка и основной информации (конструктор)
|
||||||
push ebp
|
push ebp
|
||||||
@ -95,29 +65,23 @@ tl_data_init: ;
|
|||||||
ret 4
|
ret 4
|
||||||
|
|
||||||
align 4
|
align 4
|
||||||
tl_data_clear: ;î÷èñòêà ïàìÿòè ýëåìåíòà (äåñòðóêòîð)
|
proc tl_data_clear, tlist:dword ;î÷èñòêà ïàìÿòè ýëåìåíòà (äåñòðóêòîð)
|
||||||
push ebp
|
push edi
|
||||||
mov ebp,esp
|
mov edi,dword[tlist]
|
||||||
push ecx edi
|
cmp tl_data_img,0
|
||||||
mov edi,dword[ebp+8]
|
je @f
|
||||||
cmp tl_data_img,0
|
stdcall mem_Free,tl_data_img ;÷èñòêà ñèñòåìíûõ èêîíîê
|
||||||
je @f
|
@@:
|
||||||
mov ecx,tl_data_img
|
cmp tl_data_img_sys,0
|
||||||
call mem_Free ;÷èñòêà ñèñòåìíûõ èêîíîê
|
je @f
|
||||||
@@:
|
stdcall mem_Free,tl_data_img_sys ;÷èñòêà ñèñòåìíûõ èêîíîê
|
||||||
cmp tl_data_img_sys,0
|
@@:
|
||||||
je @f
|
stdcall mem_Free,dword[edi]
|
||||||
mov ecx,tl_data_img_sys
|
|
||||||
call mem_Free ;÷èñòêà ñèñòåìíûõ èêîíîê
|
|
||||||
@@:
|
|
||||||
mov ecx,dword[edi]
|
|
||||||
call mem_Free
|
|
||||||
|
|
||||||
mov ecx,tl_data_nodes
|
stdcall mem_Free,tl_data_nodes
|
||||||
call mem_Free
|
pop edi
|
||||||
pop edi ecx
|
ret
|
||||||
pop ebp
|
endp
|
||||||
ret 4
|
|
||||||
|
|
||||||
align 4
|
align 4
|
||||||
tl_info_clear: ;очистка списка (информации)
|
tl_info_clear: ;очистка списка (информации)
|
||||||
|
@ -29,14 +29,14 @@ include 'pl_import.inc'
|
|||||||
|
|
||||||
@use_library
|
@use_library
|
||||||
|
|
||||||
struct f70
|
struct FileInfoBlock
|
||||||
func_n dd ?
|
Function dd ?
|
||||||
param1 dd ?
|
Position dd ?
|
||||||
param2 dd ?
|
Flags dd ?
|
||||||
param3 dd ?
|
Count dd ?
|
||||||
param4 dd ?
|
Buffer dd ?
|
||||||
rezerv db ?
|
db ?
|
||||||
name dd ?
|
FileName dd ?
|
||||||
ends
|
ends
|
||||||
|
|
||||||
fn_metki db 'pl_metki.lst',0
|
fn_metki db 'pl_metki.lst',0
|
||||||
@ -126,13 +126,13 @@ start:
|
|||||||
|
|
||||||
copy_path fn_icon1,sys_path,file_name,0x0
|
copy_path fn_icon1,sys_path,file_name,0x0
|
||||||
mov eax,70 ;load icon file
|
mov eax,70 ;load icon file
|
||||||
mov [run_file_70.func_n], 0
|
mov [run_file_70.Function], 0
|
||||||
mov [run_file_70.param1], 0
|
mov [run_file_70.Position], 0
|
||||||
mov [run_file_70.param2], 0
|
mov [run_file_70.Flags], 0
|
||||||
mov [run_file_70.param3], TREE_ICON_SYS16_BMP_SIZE
|
mov [run_file_70.Count], TREE_ICON_SYS16_BMP_SIZE
|
||||||
m2m [run_file_70.param4], [tree_sys_icon]
|
m2m [run_file_70.Buffer], [tree_sys_icon]
|
||||||
mov [run_file_70.rezerv], 0
|
mov byte[run_file_70+20], 0
|
||||||
mov [run_file_70.name], file_name
|
mov [run_file_70.FileName], file_name
|
||||||
mov ebx,run_file_70
|
mov ebx,run_file_70
|
||||||
int 0x40
|
int 0x40
|
||||||
cmp ebx,0xffffffff
|
cmp ebx,0xffffffff
|
||||||
@ -149,8 +149,8 @@ start:
|
|||||||
|
|
||||||
copy_path fn_icon2,sys_path,file_name,0x0
|
copy_path fn_icon2,sys_path,file_name,0x0
|
||||||
mov eax,70 ;load icon file
|
mov eax,70 ;load icon file
|
||||||
mov [run_file_70.param3], TREE_ICON_NOD16_BMP_SIZE
|
mov [run_file_70.Count], TREE_ICON_NOD16_BMP_SIZE
|
||||||
m2m [run_file_70.param4], [tree_nod_icon]
|
m2m [run_file_70.Buffer], [tree_nod_icon]
|
||||||
mov ebx,run_file_70
|
mov ebx,run_file_70
|
||||||
int 0x40
|
int 0x40
|
||||||
cmp ebx,0xffffffff
|
cmp ebx,0xffffffff
|
||||||
@ -912,7 +912,7 @@ tree_nod_icon dd 0
|
|||||||
bmp_icon dd 0 ;¯ ¬ïâì ¤«ï § £à㧪¨ ¨§®¡à ¦¥¨ï
|
bmp_icon dd 0 ;¯ ¬ïâì ¤«ï § £à㧪¨ ¨§®¡à ¦¥¨ï
|
||||||
data_icon dd 0 ;¯ ¬ïâì ¤«ï ¯à¥®¡à §®¢ ¨ï ª à⨪¨ äãªæ¨ï¬¨ libimg
|
data_icon dd 0 ;¯ ¬ïâì ¤«ï ¯à¥®¡à §®¢ ¨ï ª à⨪¨ äãªæ¨ï¬¨ libimg
|
||||||
|
|
||||||
run_file_70 f70
|
run_file_70 FileInfoBlock
|
||||||
|
|
||||||
|
|
||||||
txt_tile_path db 'tile path',0
|
txt_tile_path db 'tile path',0
|
||||||
|
@ -48,19 +48,19 @@ tile_delta_y equ byte[edi+31] ;ᤢ
|
|||||||
|
|
||||||
; *** ¯®à冷ª ¢ë§®¢ äãªæ¨© ¯à¨ § £à㧪¥ â ©«®¢ ***
|
; *** ¯®à冷ª ¢ë§®¢ äãªæ¨© ¯à¨ § £à㧪¥ â ©«®¢ ***
|
||||||
;load_tile
|
;load_tile
|
||||||
; get_tile_path
|
; get_tile_path
|
||||||
; load_new_tile (漭芥<EFBFBD><EFBFBD> <EFBFBD>飶身<EFBFBD>)
|
; load_new_tile (漭芥<EFBFBD><EFBFBD> <EFBFBD>飶身<EFBFBD>)
|
||||||
; get_tile_path
|
; get_tile_path
|
||||||
; load_new_tile (郃早瀅 <EFBFBD>飶身<EFBFBD>)
|
; load_new_tile (郃早瀅 <EFBFBD>飶身<EFBFBD>)
|
||||||
; get_tile_path
|
; get_tile_path
|
||||||
; load_new_tile (郃早瀅 <EFBFBD>飶身<EFBFBD>)
|
; load_new_tile (郃早瀅 <EFBFBD>飶身<EFBFBD>)
|
||||||
; get_tile_path
|
; get_tile_path
|
||||||
; load_new_tile (郃早瀅 <EFBFBD>飶身<EFBFBD>)
|
; load_new_tile (郃早瀅 <EFBFBD>飶身<EFBFBD>)
|
||||||
; get_tile_path
|
; get_tile_path
|
||||||
; load_new_tile (郃早瀅 <EFBFBD>飶身<EFBFBD>)
|
; load_new_tile (郃早瀅 <EFBFBD>飶身<EFBFBD>)
|
||||||
; get_parent_tiles (璅物函丟爸<EFBFBD> 能桑洫瘔 鉈尹漭恢嶊典 <EFBFBD>帖恥)
|
; get_parent_tiles (璅物函丟爸<EFBFBD> 能桑洫瘔 鉈尹漭恢嶊典 <EFBFBD>帖恥)
|
||||||
; get_tile_path
|
; get_tile_path
|
||||||
; load_new_tile (╞馲哨<EFBFBD> <EFBFBD>飶身<EFBFBD>)
|
; load_new_tile (╞馲哨<EFBFBD> <EFBFBD>飶身<EFBFBD>)
|
||||||
|
|
||||||
|
|
||||||
;???
|
;???
|
||||||
@ -479,13 +479,13 @@ but_MetSave: ;
|
|||||||
inc ecx ;¤«ï § ¯¨á¨ ¢ ä ©« § ¢¥àè î饣® ã«ï
|
inc ecx ;¤«ï § ¯¨á¨ ¢ ä ©« § ¢¥àè î饣® ã«ï
|
||||||
|
|
||||||
mov eax,70
|
mov eax,70
|
||||||
m2m [run_file_70.param4], [bmp_icon]
|
m2m [run_file_70.Buffer], [bmp_icon]
|
||||||
mov [run_file_70.func_n], 2
|
mov [run_file_70.Function], 2
|
||||||
mov [run_file_70.param1], 0
|
mov [run_file_70.Position], 0
|
||||||
mov [run_file_70.param2], 0
|
mov [run_file_70.Flags], 0
|
||||||
mov [run_file_70.param3], ecx
|
mov [run_file_70.Count], ecx
|
||||||
mov [run_file_70.rezerv], 0
|
mov byte[run_file_70+20], 0
|
||||||
mov [run_file_70.name], file_name
|
mov [run_file_70.FileName], file_name
|
||||||
mov ebx,run_file_70
|
mov ebx,run_file_70
|
||||||
int 0x40
|
int 0x40
|
||||||
pop edi ecx ebx eax
|
pop edi ecx ebx eax
|
||||||
@ -500,13 +500,13 @@ but_MetLoad: ;
|
|||||||
mov byte[met_fr_opn],1
|
mov byte[met_fr_opn],1
|
||||||
copy_path fn_metki,sys_path,file_name,0x0
|
copy_path fn_metki,sys_path,file_name,0x0
|
||||||
mov eax,70 ;load icon file
|
mov eax,70 ;load icon file
|
||||||
mov [run_file_70.func_n], 0
|
mov [run_file_70.Function], 0
|
||||||
mov [run_file_70.param1], 0
|
mov [run_file_70.Position], 0
|
||||||
mov [run_file_70.param2], 0
|
mov [run_file_70.Flags], 0
|
||||||
mov [run_file_70.param3], TREE_ICON_SYS16_BMP_SIZE
|
mov [run_file_70.Count], TREE_ICON_SYS16_BMP_SIZE
|
||||||
mov [run_file_70.rezerv], 0
|
mov byte[run_file_70+20], 0
|
||||||
mov [run_file_70.name], file_name
|
mov [run_file_70.FileName], file_name
|
||||||
m2m [run_file_70.param4], [bmp_icon]
|
m2m [run_file_70.Buffer], [bmp_icon]
|
||||||
mov eax,70
|
mov eax,70
|
||||||
mov ebx,run_file_70
|
mov ebx,run_file_70
|
||||||
int 0x40
|
int 0x40
|
||||||
@ -801,13 +801,13 @@ proc load_new_tile, tile:dword
|
|||||||
pushad
|
pushad
|
||||||
|
|
||||||
mov eax,70 ;load icon file
|
mov eax,70 ;load icon file
|
||||||
mov [run_file_70.func_n], 0
|
mov [run_file_70.Function], 0
|
||||||
mov [run_file_70.param1], 0
|
mov [run_file_70.Position], 0
|
||||||
mov [run_file_70.param2], 0
|
mov [run_file_70.Flags], 0
|
||||||
mov [run_file_70.param3], RGB_TILE_SIZE+300 ;+54
|
mov [run_file_70.Count], RGB_TILE_SIZE+300 ;+54
|
||||||
m2m [run_file_70.param4], [bmp_icon]
|
m2m [run_file_70.Buffer], [bmp_icon]
|
||||||
mov [run_file_70.rezerv], 0
|
mov byte[run_file_70+20], 0
|
||||||
mov [run_file_70.name], file_name
|
mov [run_file_70.FileName], file_name
|
||||||
mov ebx,run_file_70
|
mov ebx,run_file_70
|
||||||
int 0x40
|
int 0x40
|
||||||
mov edi,[tile]
|
mov edi,[tile]
|
||||||
|
@ -1,11 +1,11 @@
|
|||||||
struct f70
|
struct FileInfoBlock
|
||||||
func_n dd ?
|
Function dd ?
|
||||||
param1 dd ?
|
Position dd ?
|
||||||
param2 dd ?
|
Flags dd ?
|
||||||
param3 dd ?
|
Count dd ?
|
||||||
param4 dd ?
|
Buffer dd ?
|
||||||
rezerv db ?
|
db ?
|
||||||
name dd ?
|
FileName dd ?
|
||||||
ends
|
ends
|
||||||
|
|
||||||
struct TexColViv
|
struct TexColViv
|
||||||
@ -26,12 +26,12 @@ struct symbol
|
|||||||
ends
|
ends
|
||||||
|
|
||||||
|
|
||||||
hed db 'TextEditor 03.05.10',0 ;¯®¤¯¨áì ®ª
|
hed db 'TextEditor 17.05.10',0 ;¯®¤¯¨áì ®ª
|
||||||
sc system_colors
|
sc system_colors
|
||||||
|
|
||||||
fn_icon db 'te_icon.bmp',0
|
fn_icon db 'te_icon.bmp',0
|
||||||
bmp_icon dd 0
|
bmp_icon dd 0
|
||||||
run_file_70 f70
|
run_file_70 FileInfoBlock
|
||||||
|
|
||||||
|
|
||||||
;input:
|
;input:
|
||||||
|
@ -357,7 +357,6 @@ tedit0: ;
|
|||||||
.cur_x dd 0 ;+78 ª®®à¤¨ â x ªãàá®à
|
.cur_x dd 0 ;+78 ª®®à¤¨ â x ªãàá®à
|
||||||
.cur_y dd 0 ;+82 ª®®à¤¨ â y ªãàá®à
|
.cur_y dd 0 ;+82 ª®®à¤¨ â y ªãàá®à
|
||||||
.max_chars dd maxChars ;+86 ¬ ªá¨¬ «ì®¥ ç¨á«® ᨬ¢®«®¢ ¢ ®¤®¬ ¤®ªã¬¥â¥
|
.max_chars dd maxChars ;+86 ¬ ªá¨¬ «ì®¥ ç¨á«® ᨬ¢®«®¢ ¢ ®¤®¬ ¤®ªã¬¥â¥
|
||||||
; \/ ¥ à §àë¢ âì á«¥¤ãî騥 ¯¥à¥¬¥ë¥:
|
|
||||||
.count_colors_text dd 1 ;+90 ª®««¨ç¥á⢮ 梥⮢ ⥪áâ
|
.count_colors_text dd 1 ;+90 ª®««¨ç¥á⢮ 梥⮢ ⥪áâ
|
||||||
.count_key_words dd 0 ;+94 ª®««¨ç¥á⢮ ª«î祢ëå á«®¢
|
.count_key_words dd 0 ;+94 ª®««¨ç¥á⢮ ª«î祢ëå á«®¢
|
||||||
.color_cursor dd 0x808080 ;+98 梥⠪ãàá®à
|
.color_cursor dd 0x808080 ;+98 梥⠪ãàá®à
|
||||||
@ -367,7 +366,6 @@ tedit0: ;
|
|||||||
.color_select dd 0x208080 ;+114 梥⠢뤥«¥¨ï
|
.color_select dd 0x208080 ;+114 梥⠢뤥«¥¨ï
|
||||||
.color_cur_text dd 0xff0000 ;+118 梥â ᨬ¢®« ¯®¤ ªãàá®à®¬
|
.color_cur_text dd 0xff0000 ;+118 梥â ᨬ¢®« ¯®¤ ªãàá®à®¬
|
||||||
.color_wnd_text dd 0xffff00 ;+122 梥â ⥪áâ ¢ ®ª¥
|
.color_wnd_text dd 0xffff00 ;+122 梥â ⥪áâ ¢ ®ª¥
|
||||||
; /\ ¤à㣨¥, ¨¤ã騥 ¨¦¥ ¬®¦® à §àë¢ âì.
|
|
||||||
.syntax_file dd 0 ;+126 㪠§ ⥫ì ç «® ä ©« á¨â ªá¨á
|
.syntax_file dd 0 ;+126 㪠§ ⥫ì ç «® ä ©« á¨â ªá¨á
|
||||||
.syntax_file_size dd maxSyntaxFileSize ;+130 ¬ ªá¨¬ «ìë© à §¬¥à ä ©« á¨â ªá¨á
|
.syntax_file_size dd maxSyntaxFileSize ;+130 ¬ ªá¨¬ «ìë© à §¬¥à ä ©« á¨â ªá¨á
|
||||||
.text_colors dd 0 ;+134 㪠§ â¥«ì ¬ áᨢ 梥⮢ ⥪áâ
|
.text_colors dd 0 ;+134 㪠§ â¥«ì ¬ áᨢ 梥⮢ ⥪áâ
|
||||||
@ -403,6 +401,8 @@ tedit0: ;
|
|||||||
.fun_draw_panel_find dd draw_panel_find ;+230 㪠§ ⥫ì äãªæ¨î à¨á®¢ ¨ï ¯ ¥«¨ ¯®¨áª
|
.fun_draw_panel_find dd draw_panel_find ;+230 㪠§ ⥫ì äãªæ¨î à¨á®¢ ¨ï ¯ ¥«¨ ¯®¨áª
|
||||||
.fun_draw_panel_syntax dd draw_panel_syntax ;+234 㪠§ ⥫ì äãªæ¨î à¨á®¢ ¨ï ¯ ¥«¨ á¨â ªá¨á
|
.fun_draw_panel_syntax dd draw_panel_syntax ;+234 㪠§ ⥫ì äãªæ¨î à¨á®¢ ¨ï ¯ ¥«¨ á¨â ªá¨á
|
||||||
.fun_save_err dd ted_save_err_msg ;+238 㪠§ ⥫ì äãªæ¨î ¢ë§ë¢ ¥¬ãî ¥á«¨ á®åà ¥¨¥ ä ©« § ª®ç¨«®áì ¥ã¤ ç®
|
.fun_save_err dd ted_save_err_msg ;+238 㪠§ ⥫ì äãªæ¨î ¢ë§ë¢ ¥¬ãî ¥á«¨ á®åà ¥¨¥ ä ©« § ª®ç¨«®áì ¥ã¤ ç®
|
||||||
|
.increase_size dd 200 ;+242 ç¨á«® ᨬ¢®«®¢ ª®â®àë¥ ¡ã¤¥â 㢥稢 âìáï ¯ ¬ïâì ¯à¨ ¥å¢ ⪥
|
||||||
|
.ptr_free_symb dd ? ;+246 ¨á¯®«ì§ã¥âáï ¢ãâà¨ í«¥¬¥â ¤«ï ãáª®à¥¨ï ¢áâ ¢ª¨ ⥪áâ
|
||||||
;------------------------------------------------------------------------------
|
;------------------------------------------------------------------------------
|
||||||
|
|
||||||
conv_tabl rb 128 ; â ¡«¨æ ¤«ï ª®¢¥àâ¨à®¢ ¨ï scan-ª®¤ ¢ ascii-ª®¤
|
conv_tabl rb 128 ; â ¡«¨æ ¤«ï ª®¢¥àâ¨à®¢ ¨ï scan-ª®¤ ¢ ascii-ª®¤
|
||||||
|
@ -77,13 +77,13 @@ load_libraries l_libs_start,load_lib_end
|
|||||||
copy_path fn_icon,sys_path,file_name,0x0
|
copy_path fn_icon,sys_path,file_name,0x0
|
||||||
|
|
||||||
mov eax,70 ;load icon file
|
mov eax,70 ;load icon file
|
||||||
mov [run_file_70.func_n], 0
|
mov [run_file_70.Function], 0
|
||||||
mov [run_file_70.param1], 54
|
mov [run_file_70.Position], 54
|
||||||
mov [run_file_70.param2], 0
|
mov [run_file_70.Flags], 0
|
||||||
mov [run_file_70.param3], 1200*18
|
mov [run_file_70.Count], 1200*18
|
||||||
m2m [run_file_70.param4], [bmp_icon]
|
m2m [run_file_70.Buffer], [bmp_icon]
|
||||||
mov [run_file_70.rezerv], 0
|
mov byte[run_file_70+20], 0
|
||||||
mov [run_file_70.name], file_name
|
mov [run_file_70.FileName], file_name
|
||||||
mov ebx,run_file_70
|
mov ebx,run_file_70
|
||||||
int 0x40
|
int 0x40
|
||||||
|
|
||||||
@ -101,13 +101,13 @@ load_libraries l_libs_start,load_lib_end
|
|||||||
call mem_Alloc
|
call mem_Alloc
|
||||||
mov dword[tree1.data_img_sys],eax
|
mov dword[tree1.data_img_sys],eax
|
||||||
|
|
||||||
;mov [run_file_70.func_n], 0
|
;mov [run_file_70.Function], 0
|
||||||
;mov [run_file_70.param1], 54
|
;mov [run_file_70.Position], 54
|
||||||
;mov [run_file_70.param2], 0
|
;mov [run_file_70.Flags], 0
|
||||||
mov [run_file_70.param3], 3*256*13
|
mov [run_file_70.Count], 3*256*13
|
||||||
mov [run_file_70.param4], eax
|
mov [run_file_70.Buffer], eax
|
||||||
;mov [run_file_70.rezerv], 0
|
;mov byte[run_file_70+20], 0
|
||||||
;mov [run_file_70.name], file_name
|
;mov [run_file_70.FileName], file_name
|
||||||
|
|
||||||
mov eax,70 ;load icon file
|
mov eax,70 ;load icon file
|
||||||
mov ebx,run_file_70
|
mov ebx,run_file_70
|
||||||
@ -124,13 +124,13 @@ load_libraries l_libs_start,load_lib_end
|
|||||||
call mem_Alloc
|
call mem_Alloc
|
||||||
mov dword[tree1.data_img],eax
|
mov dword[tree1.data_img],eax
|
||||||
|
|
||||||
; mov [run_file_70.func_n], 0
|
; mov [run_file_70.Function], 0
|
||||||
; mov [run_file_70.param1], 54
|
; mov [run_file_70.Position], 54
|
||||||
; mov [run_file_70.param2], 0
|
; mov [run_file_70.Flags], 0
|
||||||
mov [run_file_70.param3], 3*256*2
|
mov [run_file_70.Count], 3*256*2
|
||||||
mov [run_file_70.param4], eax
|
mov [run_file_70.Buffer], eax
|
||||||
; mov [run_file_70.rezerv], 0
|
; mov byte[run_file_70+20], 0
|
||||||
; mov [run_file_70.name], file_name
|
; mov [run_file_70.FileName], file_name
|
||||||
|
|
||||||
mov eax,70 ;load icon file
|
mov eax,70 ;load icon file
|
||||||
mov ebx,run_file_70
|
mov ebx,run_file_70
|
||||||
|
Loading…
Reference in New Issue
Block a user