retype fuction .check_offset
git-svn-id: svn://kolibrios.org@295 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
; <Lrz> 23.01.2007 <20><>䨪ᥫ <20><EFBFBD><EFBFBD><EFBFBD> <20>맢<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <20>ࠢ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> )).
|
||||
; <Lrz> 26.01.2007 <20><>ଠ<EFBFBD>쭠<EFBFBD> ࠡ<EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>ࠢ<EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> .check_offset
|
||||
; <Lrz> 24.01.2007 <20><>䨪ᥫ <20><><EFBFBD><EFBFBD> <20>맢<EFBFBD><EBA7A2><EFBFBD><EFBFBD> <20><> <20>ࠢ<EFBFBD><E0A0A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> )).
|
||||
; <Lrz> 22.01.2007 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD> <20><><EFBFBD> ࠡ<><E0A0A1><EFBFBD> <20> <20>뤥<EFBFBD><EBA4A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> 㤠<><E3A4A0><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD>४⭠<E0A5AA> ࠡ<><E0A0A1><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>襩 del & backspase
|
||||
; <Lrz> 20.01.2007 ॠ<><E0A5A0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>뤥<EFBFBD><EBA4A5><EFBFBD><EFBFBD><EFBFBD> ⥪<><E2A5AA><EFBFBD> <20><> shift
|
||||
; <Lrz> 12.12.2006 ॠ<><E0A5A0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>প<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> insert <20> ᥣ<><E1A5A3><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> ࠡ<>⠥<EFBFBD>!!!!
|
||||
@@ -100,14 +101,14 @@ ret
|
||||
; div ecx ;ࠧ<><E0A0A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD> - <20><><EFBFBD><EFBFBD>⮪ <20> edx
|
||||
; push edx ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20>⥪
|
||||
; ;dec edi ;ᬥ饭<E1ACA5><E9A5AD> <20><><EFBFBD><EFBFBD>室<EFBFBD><E5AEA4><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD> <20><>ப<EFBFBD>
|
||||
; call .str;<3B><>३<EFBFBD><E0A5A9> <20><> ᠬ<> ᥡ<> <20>.<2E>. <20>맢<EFBFBD><EBA7A2><EFBFBD> ᠬ<> ᥡ<> <20> ⠪ <20><> ⮣<> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20> eax <20><> <20>⠭<EFBFBD><E2A0AD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 祬 <20> ecx
|
||||
; call .str;<3B><>३<EFBFBD><E0A5A9> <20><> ᠬ<> ᥡ<> <20>.<2E>. <20>맢<EFBFBD><EBA7A2><EFBFBD> ᠬ<> ᥡ<> <20> ⠪ <20><> ⮣<> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20> eax <20><> <20>⠭<EFBFBD><E2A0AD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 祬 <20> ecx
|
||||
; pop eax
|
||||
; @@: ;cmp al,10 ;<3B><EFBFBD><E0AEA2><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD>祭<EFBFBD><E7A5AD> <20> al 祬 10 (<28><><EFBFBD> <20><><EFBFBD>⥬<EFBFBD> <20><><EFBFBD><EFBFBD><E1ABA5> 10 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> - <20><>譠<EFBFBD>))
|
||||
; ;sbb al,$69 ;- <20><><EFBFBD>⭮ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>⠢<EFBFBD><E2A0A2><EFBFBD><EFBFBD> <20><><EFBFBD>㬠<EFBFBD><E3ACA0><EFBFBD><EFBFBD> <20>.<2E>. <20> <20><> <20><><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD> ࠡ<>⠥<EFBFBD>
|
||||
; ;das ;<3B><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><> <20>ந<EFBFBD>室<EFBFBD><E5AEA4> 㬥<><E3ACA5>襭<EFBFBD><E8A5AD> al <20><> 66h (<28> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>ᠭ<EFBFBD> <20><>㣮<EFBFBD>)
|
||||
; or al,0x30 ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 祬 <20><><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
; stosb ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> ॣ<><E0A5A3><EFBFBD><EFBFBD><EFBFBD> al <20> <20>祪<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> es:edi
|
||||
;
|
||||
;
|
||||
; ret ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 祭<> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 室 <20>.<2E>. <20><><EFBFBD><EFBFBD> <20> <20>⥪<EFBFBD> <20>࠭<EFBFBD><E0A0AD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>-<2D><> <20>맮<EFBFBD><EBA7AE><EFBFBD> <20><> <20>⮫쪮 ࠧ <20><> <20> <20>㤥<EFBFBD> <20><><EFBFBD>뢠<EFBFBD><EBA2A0><EFBFBD><EFBFBD>
|
||||
|
||||
;----------------------------------------------------------
|
||||
@@ -281,40 +282,42 @@ ret
|
||||
;----------------------------------------------------------
|
||||
.check_offset:
|
||||
pushad
|
||||
push dword ed_offset ;<3B><><EFBFBD>࠭<EFBFBD><E0A0AD> ᬥ饭<E1ACA5><E9A5AD>
|
||||
mov ecx,ed_pos
|
||||
mov ebx,ed_offset
|
||||
cmp ebx,ecx
|
||||
ja .sub_8
|
||||
|
||||
push ebx
|
||||
call .get_n ;<3B><><EFBFBD><EFBFBD>稬 <20><><EFBFBD>-<2D><> ᨬ<><E1A8AC><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD> ॣ<><E0A5A3><EFBFBD> edx:eax
|
||||
mov ebx,eax
|
||||
mov eax,ed_pos
|
||||
xor edx,edx
|
||||
idiv ebx
|
||||
xor edx,edx
|
||||
imul eax,ebx
|
||||
mov ed_offset,eax
|
||||
pop ebx
|
||||
cmp ax,bx
|
||||
je @f
|
||||
;;;;;;;; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>訢<EFBFBD><E8A8A2><EFBFBD><EFBFBD> <20>ᥩ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>אַ㣮<EFACAE>쭨<EFBFBD><ECADA8>
|
||||
mov ebx,ed_left
|
||||
inc ebx
|
||||
shl ebx,16
|
||||
mov bx,ed_width
|
||||
dec ebx
|
||||
mov edx,ed_color
|
||||
call .draw_bg_eax
|
||||
mov dword [esp+28],0
|
||||
@@: popad
|
||||
ret
|
||||
;==========================================================
|
||||
;=== <20><>ࠡ<EFBFBD>⪠ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> =================================
|
||||
;==========================================================
|
||||
.key:
|
||||
pusha
|
||||
test word ed_flags,ed_focus ; <20> <20><> <20> 䮪<><E4AEAA><EFBFBD>, <20><>室<EFBFBD><E5AEA4>
|
||||
je .no_figure ;@f
|
||||
mov edx,ebx
|
||||
add edx,eax ;ed_offset+width editbox
|
||||
cmp edx,ecx
|
||||
ja @f
|
||||
|
||||
mov edx,ed_size
|
||||
sub edx,eax
|
||||
cmp edx,8
|
||||
jbe .add_8
|
||||
mov ebx,edx
|
||||
; add ebx,8
|
||||
jmp .chk_d
|
||||
|
||||
.sub_8: cmp ecx,0
|
||||
je .sub_min
|
||||
cmp ebx,8
|
||||
jbe .sub_min
|
||||
sub ebx,8 ;ebx=ed_offset
|
||||
jmp .chk_d
|
||||
.sub_min:
|
||||
xor ebx,ebx
|
||||
jmp .chk_d
|
||||
|
||||
.add_8: mov ebx,edx
|
||||
; ;----------- <20>⫠<EFBFBD><E2ABA0><EFBFBD>
|
||||
; pushad
|
||||
; mov [data_of_code],0
|
||||
; mov eax,edi;word ed_flags
|
||||
; mov eax,ebx;ed_offset
|
||||
; mov edi,data_of_code
|
||||
; call .str
|
||||
; ;<3B><>ᮢ<EFBFBD><E1AEA2><EFBFBD><EFBFBD> 䮭<>
|
||||
@@ -333,6 +336,49 @@ pusha
|
||||
; popad
|
||||
; ;----------- <20>⫠<EFBFBD><E2ABA0><EFBFBD>
|
||||
|
||||
.chk_d: mov ed_offset,ebx
|
||||
|
||||
call .draw_bg
|
||||
mov dword [esp+28],-1
|
||||
popad
|
||||
ret
|
||||
|
||||
@@:
|
||||
mov dword [esp+28],0
|
||||
popad
|
||||
ret
|
||||
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
; mov ebx,eax
|
||||
; mov eax,ed_pos
|
||||
; xor edx,edx
|
||||
; idiv ebx
|
||||
; xor edx,edx
|
||||
; imul eax,ebx
|
||||
; mov ed_offset,eax
|
||||
; pop ebx
|
||||
; cmp ax,bx
|
||||
; je @f
|
||||
;;;;;;;; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>訢<EFBFBD><E8A8A2><EFBFBD><EFBFBD> <20>ᥩ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>אַ㣮<EFACAE>쭨<EFBFBD><ECADA8>
|
||||
; mov ebx,ed_left
|
||||
; inc ebx
|
||||
; shl ebx,16
|
||||
; mov bx,ed_width
|
||||
; dec ebx
|
||||
; mov edx,ed_color
|
||||
; call .draw_bg_eax
|
||||
; mov dword [esp+28],0
|
||||
;@@: popad
|
||||
; ret
|
||||
;==========================================================
|
||||
;=== <20><>ࠡ<EFBFBD>⪠ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> =================================
|
||||
;==========================================================
|
||||
.key:
|
||||
pusha
|
||||
test word ed_flags,ed_focus ; <20> <20><> <20> 䮪<><E4AEAA><EFBFBD>, <20><>室<EFBFBD><E5AEA4>
|
||||
je .no_figure ;@f
|
||||
|
||||
xor ecx,ecx
|
||||
push eax
|
||||
inc ecx
|
||||
@@ -453,9 +499,9 @@ pusha
|
||||
; <20><>⠢<EFBFBD>塞 <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>㤠, <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
; 㢥<><E3A2A5>稢<EFBFBD><E7A8A2><EFBFBD> <20><><EFBFBD>祭<EFBFBD><E7A5AD> ࠧ<><E0A0A7><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD>樨
|
||||
inc dword ed_size
|
||||
call .draw_all2
|
||||
inc dword ed_pos
|
||||
jmp .shift;.draw_cursor_text
|
||||
call .draw_all2
|
||||
jmp .shift;.draw_cursor_text
|
||||
.delete:
|
||||
mov edx,ed_size
|
||||
mov ecx,ed_pos
|
||||
@@ -509,7 +555,13 @@ pusha
|
||||
and word ed_flags,ed_shift_cl
|
||||
call .clear_cursor
|
||||
call .check_offset
|
||||
call .get_n
|
||||
;;;;;;;;;;;;;;;
|
||||
cmp eax,0
|
||||
je @f
|
||||
call .draw_bg
|
||||
ret
|
||||
;;;;;;;;;;;;;;;
|
||||
@@: call .get_n
|
||||
push eax
|
||||
mov ebx,ed_offset
|
||||
add eax,ebx ;eax = w_off= ed_offset+width
|
||||
@@ -591,7 +643,7 @@ pusha
|
||||
|
||||
.shift: ;;;;;;;SHIFT
|
||||
|
||||
call .draw_bg
|
||||
call .draw_bg ;<3B><> <20><>⨬<EFBFBD><E2A8AC>쭮
|
||||
test word ed_flags,ed_shift
|
||||
je .f_exit
|
||||
;;;;;;SHIFT end
|
||||
|
@@ -92,7 +92,7 @@ edit2 edit_box 168,10,30,0xffffff,0,0,0,99,ed_buffer.2,ed_figure_only
|
||||
edit3 edit_box 35,10,70,0xffffff,0,0,0,9,ed_buffer.3,ed_figure_only
|
||||
edit4 edit_box 16,10,90,0xffffff,0,0,0,1,ed_buffer.4,ed_figure_only
|
||||
editboxes_end:
|
||||
data_of_code dd 0
|
||||
;data_of_code dd 0
|
||||
ed_buffer:
|
||||
.1: rb 513;256
|
||||
.2: rb 100
|
||||
@@ -101,7 +101,7 @@ ed_buffer:
|
||||
;text_b: db '<27><><EFBFBD>-<2D><> ᨬ<><E1A8AC><EFBFBD><EFBFBD><EFBFBD>'
|
||||
;buffer: dd 0
|
||||
buffer_end:
|
||||
hed db 'EDITBOX optimization and retype <Lrz> date 24.01.2007'
|
||||
hed db 'EDITBOX optimization and retype <Lrz> date 26.01.2007'
|
||||
i_end1:
|
||||
rb 2048
|
||||
i_end:
|
||||
|
Reference in New Issue
Block a user