Subversion Repositories Kolibri OS

Compare Revisions

Regard whitespace Rev 305 → Rev 306

/programs/develop/examples/editbox/trunk/EDITBOX.INC
1,3 → 1,4
; <Lrz> 01.02.2007 ¤®à ¡®âª  edit_box, ¨á¯à ¢¨« ¡ £¨.
; <Lrz> 26.01.2007 ­®à¬ «ì­ ï à ¡®â  ª®¬¯ ­¥­â  ¨á¯à ¢¨« äãªæ¨î .check_offset
; <Lrz> 24.01.2007 ¯®ä¨ªá¥« ¡ £¨ ¢ë§¢ ­ë¥ ­¥ ¯à ¢¨«ì­ë¬ ª®¤®¬ )).
; <Lrz> 22.01.2007 ¨§¡ ¢¨«áï ®â £«îª®¢ ¯à¨ à ¡®â¥ á ¢ë¤¥«¥­¨¥¬ ¨ 㤠«¥­¨¥, ª®à४⭠ï à ¡®â  ª« ¢¨è¥© del & backspase
127,12 → 128,12
;--- à¨á㥬 ⥪áâ ---
@@: mov eax,4
mov ebx,ed_left
mov edx,ed_offset
add ebx,2
shl ebx,16
mov bx,ed_top
add ebx,4
mov ecx,ed_text_color
mov edx,ed_offset
add edx,ed_text
int 0x40
ret
143,7 → 144,6
;edx - color
;----------------------------------------------------------
.draw_bg_eax:
;pusha
mov ecx,ed_top
add ecx,1
shl ecx,16
150,12 → 150,10
mov cx,13
mov eax,13
int 0x40
;popa
ret
 
jmp @f
.draw_bg:
;pusha
mov ebx,ed_left
add ebx,1
shl ebx,16
164,15 → 162,13
 
@@:
mov ecx,ed_top
mov eax,13
add ecx,1
shl ecx,16
mov edx,ed_color
mov cx,ed_height
sub ecx,1
 
mov edx,ed_color
mov eax,13
int 0x40
;popa
ret
 
;----------------------------------------------------------
179,8 → 175,8
;--- ¯à®æ¥¤ãà  ¯®«ã祭¨ï ª®«¨ç¥á⢠ ᨬ¢®«®¢ ¢ ⥪ã饩 é¨à¨­¥ ª®¬¯®­¥­â  --------------
;----------------------------------------------------------
.get_n:
mov eax,ed_width ;¯®«ã祬 è¨à¨­ã ª®¬¯®­¥­â 
xor edx,edx ;१ã«ìâ â à á¯®«®£ ¥âáï ¢ ¯ à¥ edx:eax ¢ eax - ®áâ â®ª
mov eax,ed_width ;¯®«ã祬 è¨à¨­ã ª®¬¯®­¥­â 
sub eax,4 ;¢ëç⨬ 4
mov ebx,6 ;§ £à㧬¨ ¤¥«¨â¥«ì
div ebx ;à §¬¤¥«¨¬ ­  6
210,14 → 206,12
shl ebx,1
;imul ebx,6
add bx,ed_left
mov ecx,ed_top
inc ebx
add ecx,2
mov ebp,ebx
;push bx
shl ebx,16
mov bx,bp
;pop bx
mov ecx,ed_top
add ecx,2
mov ebp,ecx
shl ecx,16
432,7 → 426,7
 
 
;¯à®¢¥àª  ­  shift
test word ed_flags,ed_shift_on
@@: test word ed_flags,ed_shift_on
je @f
;‚室­ë¥ ¤ ­­ë¥ edx=ed_size;ecx=ed_pos
push eax
465,9 → 459,7
or word ed_flags,ed_insert
jmp .no_figure
.ins_v:
pop eax edi
dec dword ed_size ;processing is insert
push edi eax
dec dword [ebp+38];ed_size ;processing is insert
sub esi,ecx
add esi,ebx
mov edi,esi
530,9 → 522,6
jnz .del_bac
test word ed_flags,ed_shift_on
jne .bac_del
;jmp @b
 
popa
ret
.del_bac:
562,8 → 551,8
call .clear_cursor
call .check_offset
;;;;;;;;;;;;;;;
cmp eax,0
je @f
test eax,eax
jne @f
call .draw_bg
ret
;;;;;;;;;;;;;;;
737,8 → 726,6
;‚室­ë¥ ¤ ­­ë¥ edx=ed_size;ecx=ed_pos
.del_char:
mov esi,ed_text
 
 
test word ed_flags,ed_shift_on
je @f
mov eax,dword ed_shift_pos
865,6 → 852,8
;.blur:
;pusha
._blur:
test word ed_flags,ed_always_focus
jne @f
btr word ed_flags,1 ; ¥á«¨ ­¥ ¢ 䮪ãá¥, ¢ë室¨¬
jnc @f
call .clear_cursor
888,6 → 877,7
;ret
}
ed_figure_only=1000000000000000b
ed_always_focus=100000000000000b
ed_focus=10b
ed_shift_on=1000b
ed_shift=100b
967,4 → 957,22
mov ed_blur_border_color,eax
add edi,ed_struc_size
loop @b
}
 
macro draw_edit_box ed_ptr
{
mov edi,ed_ptr
call edit_box.draw
}
 
macro mouse_edit_box ed_ptr
{
mov edi,ed_ptr
call edit_box.mouse
}
 
macro key_edit_box ed_ptr
{
mov edi,ed_ptr
call edit_box.key
}
/programs/develop/examples/editbox/trunk/editbox.asm
101,7 → 101,7
;text_b: db 'Š®«-¢® ᨬ¢®«®¢'
;buffer: dd 0
buffer_end:
hed db 'EDITBOX optimization and retype <Lrz> date 26.01.2007'
hed db 'EDITBOX optimization and retype <Lrz> date 01.02.2007'
i_end1:
rb 2048
i_end: