Subversion Repositories Kolibri OS

Compare Revisions

Regard whitespace Rev 258 → Rev 259

/programs/develop/tinypad/trunk/tp-button.asm
22,64 → 22,44
 
jmp still.skip_write
 
; cmp eax,BUTTON_SCRLUP
; jne not_up
btn.scroll_up:
dec [top_line]
dec [cur_tab.Editor.TopLeft.Y] ;! [top_line]
jns @f
inc [top_line]
ret;jmp still.skip_write
inc [cur_tab.Editor.TopLeft.Y] ;! [top_line]
ret
@@: call check_inv_all.skip_check
ret
; not_up:
 
; cmp eax,BUTTON_SCRLDN
; jne not_down
btn.scroll_down:
inc [top_line]
mov eax,[lines]
inc [cur_tab.Editor.TopLeft.Y] ;! [top_line]
mov eax,[cur_tab.Editor.Lines] ;! eax,[lines]
sub eax,[lines.scr]
cmp eax,[top_line]
cmp eax,[cur_tab.Editor.TopLeft.Y] ;! eax,[top_line]
jge @f
dec [top_line]
;dec eax
;mov [top_line],eax
ret;jmp still.skip_write
dec [cur_tab.Editor.TopLeft.Y] ;! [top_line]
ret
@@: call check_inv_all.skip_check
ret
; not_down:
 
; cmp eax,BUTTON_SCRLLT
; jne not_left
btn.scroll_left:
dec [left_col]
dec [cur_tab.Editor.TopLeft.X] ;! [left_col]
jns @f
inc [left_col]
inc [cur_tab.Editor.TopLeft.X] ;! [left_col]
ret;jmp still.skip_write
@@: call check_inv_all.skip_check
ret
; not_left:
 
; cmp eax,BUTTON_SCRLRT
; jne not_right
btn.scroll_right:
inc [left_col]
mov eax,[columns]
inc [cur_tab.Editor.TopLeft.X] ;! [left_col]
mov eax,[cur_tab.Editor.Columns] ;! eax,[columns]
sub eax,[columns.scr]
cmp eax,[left_col]
cmp eax,[cur_tab.Editor.TopLeft.X] ;! eax,[left_col]
jge @f
dec [left_col]
;dec eax
;mov [left_col],eax
ret;jmp still.skip_write
dec [cur_tab.Editor.TopLeft.X] ;! [left_col]
ret
@@: call check_inv_all.skip_check
ret
; not_right:
 
; SEARCH {
; search:
; cmp al,BUTTON_SEARCH
; jne no_search
btn.search:
key.f3:
call search
90,7 → 70,7
 
func search
cld
mov ecx,[pos.y]
mov ecx,[cur_tab.Editor.Caret.Y] ;! ecx,[pos.y]
mov edx,ecx
call get_line_offset
cmp word[esi],0
100,11 → 80,9
or eax,eax
jz .end_line.2
mov ecx,eax
sub ecx,[pos.x]
sub ecx,[cur_tab.Editor.Caret.X] ;! ecx,[pos.x]
push esi
add esi,[pos.x]
;dec ecx
;inc esi
add esi,[cur_tab.Editor.Caret.X] ;! esi,[pos.x]
jmp @f
 
.next_line:
140,15 → 118,15
 
.found:
add esp,4
mov [pos.y],edx
mov [sel.y],edx
mov [cur_tab.Editor.Caret.Y],edx ;! [pos.y],edx
mov [cur_tab.Editor.SelStart.Y],edx ;! [sel.y],edx
mov ecx,edx
lea eax,[esi-4]
call get_line_offset
sub eax,esi
mov [sel.x],eax
mov [cur_tab.Editor.SelStart.X],eax ;! [sel.x],eax
add eax,[s_search.size]
mov [pos.x],eax
mov [cur_tab.Editor.Caret.X],eax ;! [pos.x],eax
mov [s_status],0
clc
ret
170,136 → 148,87
ret
endf
 
; SEARCH }
 
; no_search:
 
; TOOLBAR {
; cmp eax,10000
; jb no_toolbar
 
; add eax,-10000
; jnz @f
btn.compile:
key.ctrl_f9:
mov bl,0;[run_outfile],0
mov bl,0
call start_fasm
ret;jmp still
; @@: dec eax
; jnz @f
ret
btn.compile_run:
key.f9:
mov bl,1;[run_outfile],1
mov bl,1
call start_fasm
ret;jmp still
; @@: dec eax
; jnz @f
ret
btn.debug_board:
call open_debug_board
ret;jmp still
; @@: dec eax
; jnz still
ret
btn.sysfuncs_txt:
call open_sysfuncs_txt
ret;jmp still
; TOOLBAR }
ret
 
; no_toolbar:
 
; cmp al,4
; jne noid4
 
; LOAD_FILE {
; do_load_file:
btn.load_file:
key.ctrl_l:
; cmp [s_fname],'/'
; jne @f
; call load_hd_file
; jmp .restorecursor
; @@: call load_file
call load_file
jnc @f
ret
; .restorecursor:
@@:
 
xor eax,eax
mov [top_line],eax
mov [left_col],eax
mov [pos.x],eax
mov [pos.y],eax
mov [sel.x],eax
mov [sel.y],eax
mov [cur_tab.Editor.TopLeft.Y],eax ;! [top_line],eax
mov [cur_tab.Editor.TopLeft.X],eax ;! [left_col],eax
mov [cur_tab.Editor.Caret.X],eax ;! [pos.x],eax
mov [cur_tab.Editor.Caret.Y],eax ;! [pos.y],eax
mov [cur_tab.Editor.SelStart.X],eax ;! [sel.x],eax
mov [cur_tab.Editor.SelStart.Y],eax ;! [sel.y],eax
 
mov [modified],al
mov [cur_tab.Editor.Modified],al ;! [modified],al
 
; enable color syntax for ASM and INC files:
mov [asm_mode],al
mov [cur_tab.Editor.AsmMode],al ;! [asm_mode],al
 
mov eax,[f_info.length] ; [s_fname.size]
add eax,f_info.path ; s_fname
mov eax,[f_info.length]
add eax,f_info.path
mov byte[eax],0
mov ecx, dword [eax-3]
or ecx, 0x202020
cmp ecx, 'asm'
jne @f
inc [asm_mode]
inc [cur_tab.Editor.AsmMode] ;! [asm_mode]
jmp .nocol
@@: cmp ecx, 'inc'
jne .nocol
inc [asm_mode]
inc [cur_tab.Editor.AsmMode] ;! [asm_mode]
.nocol:
 
update_caption:
macro unused {
movzx ecx,[f_info.length] ; [s_fname.size]
add ecx,10 ; strlen(" - TINYPAD");
cmp ecx,[s_title.size]
jne @f
add ecx,-10
mov esi,f_info.path ; s_fname ; strcmp(s_fname,header);
lea esi,[cur_tab.Editor.FilePath] ;! mov esi,f_info.path
mov edi,s_title
repe cmpsb
jne @f
; call draw_file
clc
ret;jmp still
 
@@: lodsb
cmp al,0
je @f
stosb
jmp @b
@@:
}
; set window title:
mov esi,f_info.path ; s_fname
mov edi,s_title
 
cld
mov ecx,[f_info.length] ; [s_fname.size]
jecxz @f
;lea eax,[ecx+10]
;mov [s_title.size],eax
;cld
rep movsb
;mov ecx,[f_info.length]
;jecxz @f
;rep movsb
 
mov dword[edi],' - '
add edi,3
@@: mov esi,htext
mov ecx,htext.size
cld
rep movsb
 
mov al,0
stosb
 
; call drawwindow
mcall 71,1,s_title
 
clc
ret;jmp still
; LOAD_FILE }
ret
 
; noid4:
 
; cmp al, 2
; jz yessave
 
; dec al ; close if butid == 1
; jnz nosave
; EXIT:
btn.close_main_window:
key.alt_x:
mov esi,self_path
310,11 → 239,6
stosb
or al,al
jnz @b
; mov ebx,f_info
; mov dword[ebx+0],1
; mov dword[ebx+8],self_path
; mov dword[ebx+12],0
; mcall 58
 
mov [f_info70+0],2
mov [f_info70+4],0
325,31 → 249,6
mov [f_info70+21],f_info.path
mcall 70,f_info70
 
; test eax,eax
; je .close
; cmp eax,6
; je .close
; ret
 
.close:
mov [main_closed],1
mcall -1
 
; SAVE_FILE {
; yessave:
; btn.save_file:
; key.ctrl_s:
; mov [bot_mode],1
; mov [bot_save_mode],1
; mov [bot_dlg_height],16*2+4*2-1
; mov [bot_dlg_handler],osdlg_handler
; call drawwindow
; call save_file
; ret;jmp still
; SAVE_FILE }
 
; nosave:
; btn.save_enter_name:
; inc al
; call read_string
; ret;jmp still