Subversion Repositories Kolibri OS

Compare Revisions

Regard whitespace Rev 4988 → Rev 4987

/programs/develop/libraries/box_lib/trunk/t_edit.mac
1,6 → 1,6
; ¬ ªà®á ¤«ï á¨á⥬­®© ¡¨¡«¨®â¥ª¨ box_lib.obj
; í«¥¬¥­â TextEditor ¤«ï Kolibri OS
; ä ©« ¯®á«¥¤­¨© à § ¨§¬¥­ï«áï 28.06.2014 IgorA
; ä ©« ¯®á«¥¤­¨© à § ¨§¬¥­ï«áï 27.06.2014 IgorA
; ­  ª®¤ ¯à¨¬¥­¥­  GPL2 «¨æ¥­§¨ï
 
;input:
27,7 → 27,6
TED_PANEL_SYNTAX equ 2 ;¯ ­¥«ì ¢ë¡®à  ä ©«®¢ ¯®¤á¢¥âª¨
TED_PANEL_WIDTH equ 150 ;è¨à¨­  ¯ ­¥«¨
 
TED_LINES_IN_NEW_FILE equ 30 ;ç¨á«® áâப ¢ ­®¢®¬ ä ©«¥
MAX_COLOR_WORD_LEN equ 40
;------------------------------------------------------------------------------
struct TexSelect
160,9 → 159,9
bt dword[opt],2 ; ¨§¬¥­¨«¨áì à §¬¥àë ¤®ªã¬¥­â  ?
jae .doc_resize
call ted_get_num_lines
cmp eax,TED_LINES_IN_NEW_FILE
cmp eax,100
jge @f
mov eax,TED_LINES_IN_NEW_FILE
mov eax,100
@@:
mov dword[esi+sb_offs_max_area],eax
.doc_resize:
244,7 → 243,6
 
test esi,KM_CTRL ;Ctrl+...
jz .key_Ctrl
; *** ¢ë§®¢ ¢­¥è­¨å ä㭪権 ª®â®àë¥ âॡãîâ ®ª­  ®âªàëâ¨ï/á®åà ­¥­¨ï/¯®¨áª /...
cmp ah,24 ;Ctrl+O
jne @f
cmp ted_fun_on_key_ctrl_o,0
265,17 → 263,6
je @f
call ted_fun_on_key_ctrl_f
@@:
cmp ah,49 ;Ctrl+N
jne @f
cmp ted_fun_on_key_ctrl_n,0
je @f
call ted_fun_on_key_ctrl_n
@@:
; *** ¢ë§®¢ ¢­ãâ७­¨å ä㭪権
cmp ah,30 ;Ctrl+A
jne @f
call ted_sel_all
@@:
cmp ah,44 ;Ctrl+Z
jne @f
stdcall ted_but_undo,edi
288,14 → 275,16
jne @f
stdcall ted_but_paste,edi
@@:
cmp ah,49 ;Ctrl+N
jne @f
cmp ted_fun_on_key_ctrl_n,0
je @f
call ted_fun_on_key_ctrl_n
@@:
cmp ah,199 ;Ctrl+Home
jne @f
call ted_key_ctrl_home
@@:
cmp ah,207 ;Ctrl+End
jne @f
call ted_key_ctrl_end
@@:
jmp .end_key_fun
.key_Ctrl:
 
657,29 → 646,6
endp
 
;input:
; edi = pointer to tedit struct
;description:
; ”ã­ªæ¨ï ¢ë§ë¢ ¥¬ ï ¯à¨ ¢ë¤¥«¥­¨¨ ¢á¥£® ¤®ªã¬¥­â 
align 4
proc ted_sel_all
push eax
xor eax,eax
mov ted_sel_x0,eax
mov ted_sel_y0,eax
 
mov ted_sel_x1,eax ;???
call ted_get_num_lines
mov ted_sel_y1,eax
pop eax
stdcall ted_draw,edi
cmp ted_fun_draw_panel_buttons,0 ;redraw toolbar (need to button Copy)
je @f
call ted_fun_draw_panel_buttons
@@:
ret
endp
 
;input:
; cl_al_mem = 1 - clear all memory
align 4
proc ted_clear, edit:dword, cl_al_mem:dword
885,9 → 851,9
@@:
 
call ted_get_num_lines
cmp eax,TED_LINES_IN_NEW_FILE
cmp eax,100
jge @f
mov eax,TED_LINES_IN_NEW_FILE
mov eax,100
@@:
mov esi,ted_scr_w
mov dword[esi+sb_offs_max_area],eax
1045,6 → 1011,7
jle @f
jmp @b
@@:
;call ted_iterat_next
ret
 
;input:
2884,30 → 2851,6
;input:
; edi = pointer to tedit struct
align 4
ted_key_ctrl_end:
push eax ebx
call ted_get_num_lines
mov ebx,ted_scr_w
mov dword[ebx+sb_offs_position],eax ;áâ ¢¨¬ ¯®«§ã­®ª ­  ¯®á«¥¤­îî áâப㠤®ªã¬¥­â 
cmp eax,dword[ebx+sb_offs_cur_area]
jle @f
mov eax,dword[ebx+sb_offs_cur_area] ;¯®«ãç ¥¬ ç¨á«® áâப ¢« §ïé¨å ¢ ®ª­®
@@:
sub dword[ebx+sb_offs_position],eax ;®â­¨¬ ¥¬ ®â ¯®«§ã­ª  ç¨á«® áâப ¢« §ïé¨å ¢ ®ª­® (­® ­¥ ¡®«ìè¥ â¥å, çâ® ¥áâì ¢ ¤®ªã¬¥­â¥)
dec eax
mov ted_cur_y,eax ;áâ ¢¨¬ ªãàá®à ­  ¯®á«¥¤­îî áâப㠤®ªã¬¥­â 
pop ebx eax
call ted_cur_move_x_last_char
stdcall ted_draw,edi
cmp ted_fun_draw_panel_buttons,0
je @f
call ted_fun_draw_panel_buttons
@@:
ret
 
;input:
; edi = pointer to tedit struct
align 4
proc ted_sel_key_up
cmp ted_drag_k,1
je @f
3238,7 → 3181,6
jmp @b
.no_draw_text:
 
inc dword[line_num]
stdcall ted_clear_line_before_draw,edi,ebx,0,dword[line_num]
call ted_draw_line_numbers
call ted_draw_main_cursor
3734,6 → 3676,7
cmp dword[clear_o],0
jne @f
add ebx,ted_rec_h
inc esi
ror ebx,16
xor bx,bx
add ebx,ted_wnd_l
3763,21 → 3706,20
jge @f
.pusto:
mov cx,ax
jmp .no_select ;¥á«¨ ®ç¨á⪠ ®ª­  ¤® ­¨§ã, â® ¢á¥£¤  ä®­®¢ë¬ 梥⮬
@@:
 
call ted_is_select
cmp al,0
je .no_select
je @f
cmp ted_seln_y0,esi
jg .no_select
jg @f
cmp ted_seln_y1,esi
jl .no_select
jl @f
mov edx,ted_color_select ;draw selected line
.no_select:
@@:
 
mov eax,13 ;rect
int 0x40 ;§ ªà áª  ¯®«­®© áâப¨ 梥⮬ ä®­  ¨«¨ 梥⮬ ¢ë¤¥«¥­¨ï
int 0x40
 
call ted_is_select
cmp al,0
3806,8 → 3748,7
@@:
cmp ted_seln_y1,esi
jne @f
;push esi
;¥á«¨ ¢ë¤¥«¥­ ¢¥áì ä ©« âãâ ¬®¦­® ᤥ« âì ¢ë室, ­® ⮣¤  ­ã¦­® ¢ëè¥ ã¡à âì jmp .no_select
push esi
mov edx,ted_seln_x1 ; ­¨¦­ïï ¯®«®á  (§ â¨à ¥â á¯à ¢ )
mov esi,ted_scr_h
cmp edx,dword[esi+sb_offs_position]
3818,9 → 3759,10
shl edx,16
add ebx,edx
.in_wnd2:
 
mov edx,ted_color_wnd_work
int 0x40
;pop esi
pop esi
@@:
 
.no_clear: