forked from KolibriOS/kolibrios
element 't_edit' small speed optimize
git-svn-id: svn://kolibrios.org@2809 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
parent
195ca78286
commit
b409bc1b4a
@ -1,6 +1,6 @@
|
|||||||
; ¬ ªà®á ¤«ï á¨á⥬®© ¡¨¡«¨®â¥ª¨ box_lib.obj
|
; ¬ ªà®á ¤«ï á¨á⥬®© ¡¨¡«¨®â¥ª¨ box_lib.obj
|
||||||
; í«¥¬¥â TextEditor ¤«ï Kolibri OS
|
; í«¥¬¥â TextEditor ¤«ï Kolibri OS
|
||||||
; ä ©« ¯®á«¥¤¨© à § ¨§¬¥ï«áï 19.06.2012 IgorA
|
; ä ©« ¯®á«¥¤¨© à § ¨§¬¥ï«áï 20.06.2012 IgorA
|
||||||
; ª®¤ ¯à¨¬¥¥ GPL2 «¨æ¥§¨ï
|
; ª®¤ ¯à¨¬¥¥ GPL2 «¨æ¥§¨ï
|
||||||
|
|
||||||
;input:
|
;input:
|
||||||
@ -849,31 +849,40 @@ endp
|
|||||||
; edx = pointer to 'perv' visible symbol struct
|
; edx = pointer to 'perv' visible symbol struct
|
||||||
align 4
|
align 4
|
||||||
ted_iterat_perv:
|
ted_iterat_perv:
|
||||||
cmp ted_tim_undo,0
|
cmp ted_tim_undo,0
|
||||||
je .else
|
je .else
|
||||||
push ebx
|
push ebx
|
||||||
@@:
|
@@:
|
||||||
call ted_get_text_perv_pos
|
mov edx,dword[edx+2]
|
||||||
cmp edx,ted_tex
|
cmp edx,0
|
||||||
je @f
|
je @f
|
||||||
call ted_symbol_not_vis
|
imul edx,sizeof.symbol
|
||||||
cmp bl,1
|
add edx,ted_tex
|
||||||
je @b
|
call ted_symbol_not_vis
|
||||||
cmp byte[edx],10 ;¯à®¯ã᪠ᨬ¢®« á ª®¤®¬ 10
|
cmp bl,1
|
||||||
je @b
|
je @b
|
||||||
@@:
|
cmp byte[edx],10 ;¯à®¯ã᪠ᨬ¢®« á ª®¤®¬ 10
|
||||||
pop ebx
|
je @b
|
||||||
ret
|
pop ebx
|
||||||
.else:
|
ret
|
||||||
call ted_get_text_perv_pos
|
@@:
|
||||||
cmp edx,ted_tex
|
mov edx,ted_tex ; ç «® ä ©«
|
||||||
je .endif
|
pop ebx
|
||||||
cmp dword [edx+14],0
|
ret
|
||||||
jne .else
|
.else:
|
||||||
cmp byte[edx],10 ;¯à®¯ã᪠ᨬ¢®« á ª®¤®¬ 10
|
mov edx,dword[edx+2]
|
||||||
je .else
|
cmp edx,0
|
||||||
.endif:
|
je @f
|
||||||
ret
|
imul edx,sizeof.symbol
|
||||||
|
add edx,ted_tex
|
||||||
|
cmp dword [edx+14],0
|
||||||
|
jne .else
|
||||||
|
cmp byte[edx],10 ;¯à®¯ã᪠ᨬ¢®« á ª®¤®¬ 10
|
||||||
|
je .else
|
||||||
|
ret
|
||||||
|
@@:
|
||||||
|
mov edx,ted_tex ; ç «® ä ©«
|
||||||
|
ret
|
||||||
|
|
||||||
|
|
||||||
;input:
|
;input:
|
||||||
@ -883,31 +892,42 @@ ted_iterat_perv:
|
|||||||
; edx = pointer to 'next' visible symbol struct
|
; edx = pointer to 'next' visible symbol struct
|
||||||
align 4
|
align 4
|
||||||
ted_iterat_next:
|
ted_iterat_next:
|
||||||
cmp ted_tim_undo,0
|
cmp ted_tim_undo,0
|
||||||
je .else
|
je .else
|
||||||
push ebx
|
push ebx
|
||||||
@@:
|
@@:
|
||||||
call ted_get_text_next_pos
|
mov edx,dword[edx+6]
|
||||||
cmp edx,ted_tex_1
|
cmp edx,1
|
||||||
jle @f
|
jle @f
|
||||||
call ted_symbol_not_vis
|
imul edx,sizeof.symbol
|
||||||
cmp bl,1
|
add edx,ted_tex
|
||||||
je @b
|
|
||||||
cmp byte[edx],10 ;¯à®¯ã᪠ᨬ¢®« á ª®¤®¬ 10
|
call ted_symbol_not_vis
|
||||||
je @b
|
cmp bl,1
|
||||||
@@:
|
je @b
|
||||||
pop ebx
|
cmp byte[edx],10 ;¯à®¯ã᪠ᨬ¢®« á ª®¤®¬ 10
|
||||||
ret
|
je @b
|
||||||
.else:
|
pop ebx
|
||||||
call ted_get_text_next_pos
|
ret
|
||||||
cmp edx,ted_tex_1
|
@@:
|
||||||
jle .endif
|
mov edx,ted_tex_1 ;ª®¥æ ä ©«
|
||||||
cmp dword [edx+14],0
|
pop ebx
|
||||||
jne .else
|
ret
|
||||||
cmp byte[edx],10 ;¯à®¯ã᪠ᨬ¢®« á ª®¤®¬ 10
|
.else:
|
||||||
je .else
|
mov edx,dword[edx+6]
|
||||||
.endif:
|
cmp edx,1
|
||||||
ret
|
jle @f
|
||||||
|
imul edx,sizeof.symbol
|
||||||
|
add edx,ted_tex
|
||||||
|
|
||||||
|
cmp dword [edx+14],0
|
||||||
|
jne .else
|
||||||
|
cmp byte[edx],10 ;¯à®¯ã᪠ᨬ¢®« á ª®¤®¬ 10
|
||||||
|
je .else
|
||||||
|
ret
|
||||||
|
@@:
|
||||||
|
mov edx,ted_tex_1 ;ª®¥æ ä ©«
|
||||||
|
ret
|
||||||
|
|
||||||
;input:
|
;input:
|
||||||
; bl = symbol end of select
|
; bl = symbol end of select
|
||||||
|
Loading…
Reference in New Issue
Block a user