Fixed deletion of selected text in the Editbox with "Backspace"

"Shift+Delete", "Shift+Backspace" with selected text still work wrong.

git-svn-id: svn://kolibrios.org@1858 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
lev
2011-02-09 01:01:22 +00:00
parent ba8ddae0aa
commit 4a76b34dcc

View File

@@ -62,18 +62,18 @@ pushad
;---------------------------------------------------------- ;----------------------------------------------------------
;--- <20><EFBFBD><E0AEA2>塞, <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> -------------------------------- ;--- <20><EFBFBD><E0AEA2>塞, <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> --------------------------------
;---------------------------------------------------------- ;----------------------------------------------------------
use_key_process backspase,delete,left,right,home,end,insert use_key_process backspace,delete,left,right,home,end,insert
;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;<3B><><EFBFBD><EFBFBD><EFBFBD><20><> <20><><EFBFBD><E0A0A1><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD> <20>.<2E>. <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E3A6A5><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><EFBFBD><E5AEA4> <20><><20><> <20><><EFBFBD><E0A0A1><EFBFBD> ;<3B><><EFBFBD><EFBFBD><EFBFBD><20><> <20><><EFBFBD><E0A0A1><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD> <20>.<2E>. <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E3A6A5><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><EFBFBD><E5AEA4> <20><><20><> <20><><EFBFBD><E0A0A1><EFBFBD>
;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;
use_key_no_process up,down,esc,enter,tab,numl,capsl,scrolll use_key_no_process up,down,esc,enter,tab,numl,capsl,scrolll
;--- <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> --- ;--- <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ---
;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;<3B><EFBFBD><20><><EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD> <20><><> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><20><EFBFBD> <20><EFBFBD><EBA2AE><EFBFBD><EFBFBD> ⮫쪮 <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20><EFBFBD><E3A6AD> <20><><EFBFBD><EFBFBD><EFBFBD> <20>᫨ ⠪<><E2A0AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E5AEA4><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E0AEA2><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ;<3B><EFBFBD><20><><EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD> <20><><> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><20><EFBFBD> <20><EFBFBD><EBA2AE><EFBFBD><EFBFBD> ⮫쪮 <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20><EFBFBD><E3A6AD> <20><><EFBFBD><EFBFBD><EFBFBD>, <20>᫨ ⠪<><E2A0AA> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>, <20><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E0AEA2><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;
use_key_figures_only use_key_figures_only
;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;<3B><EFBFBD><20><> shift <20><><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD> ;<3B><EFBFBD><20><> shift, <20><><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD>
;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;
are_key_shift_press are_key_shift_press
;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;
@@ -81,7 +81,7 @@ are_key_shift_press
;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;
are_key_cur_end are_key_cur_end
;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;<3B><><EFBFBD><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> insert,delete.backspase,home,end,left,right ;<3B><><EFBFBD><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> insert,delete.backspace,home,end,left,right
;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;
use_work_key use_work_key
} }
@@ -142,43 +142,22 @@ use_key_func
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;<3B>㭪樨 <20><><EFBFBD><><E0A0A1><EFBFBD> <20> mouse ;<3B>㭪樨 <20><><EFBFBD><><E0A0A1><EFBFBD> <20> mouse
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
use_mouse_func use_mouse_func
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;Bit mask from editbox ;Bit mask from editbox
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
} }
;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
;<3B><><EFBFBD><EFBFBD> <20><><EFBFBD><E1AFAE><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>㭪樨 <20><><EFBFBD><EFBFBD><EFBFBD>묨 ॠ<><E0A5A0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ;<3B><><EFBFBD><EFBFBD> <20><><EFBFBD><E1AFAE><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>㭪樨 <20><><EFBFBD><EFBFBD><EFBFBD>묨 ॠ<><E0A5A0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><EFBFBD><EBA2AE> <20><EFBFBD><E1ADAE><EFBFBD><EFBFBD> <20>㭪権 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><EFBFBD><EBA2AE> <20><EFBFBD><E1ADAE><EFBFBD><EFBFBD> <20>㭪権 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>
macro use_general_func macro use_general_func
{ {
;debug_func ;debug_func
;---------------------------------------------------------- ;----------------------------------------------------------
;--- <20><><EFBFBD><EFBFBD><E6A5A4><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E1AEA2> <20><EFBFBD><EBA4A5><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> ----------------- ;--- <20><><EFBFBD><EFBFBD><E6A5A4><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E1AEA2> <20><EFBFBD><EBA4A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> -----------------
;---------------------------------------------------------- ;----------------------------------------------------------
edit_box.draw_shift: edit_box.draw_shift:
test word ed_flags,ed_shift_bac ;<3B><><EFBFBD><E2A0AD><EFBFBD><EFBFBD><><E4ABA0>, <20><EFBFBD><EBA4A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> test word ed_flags,ed_shift_bac ;<3B><><EFBFBD><E2A0AD><EFBFBD><EFBFBD><><E4ABA0>, <20><EFBFBD><EBA4A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
@@ -200,7 +179,7 @@ edit_box.draw_text:
cmp eax,esi cmp eax,esi
jae @F jae @F
mov esi,eax ;<3B><EFBFBD> <20><> <20><><EFBFBD><E5AEA4><EFBFBD> <20><> <20><EFBFBD><E0A5A4><EFBFBD> <20><><EFBFBD> mov esi,eax ;<3B><EFBFBD> <20><> <20><><EFBFBD><E5AEA4><EFBFBD> <20><> <20><EFBFBD><E0A5A4><EFBFBD> <20><><EFBFBD>
;--- <20><><EFBFBD>㥬 ⥪<><E2A5AA> --- ;--- <20><><EFBFBD>㥬 ⥪<><E2A5AA> ---
@@: mov eax,4 @@: mov eax,4
mov ebx,ed_left mov ebx,ed_left
mov edx,ed_offset mov edx,ed_offset
@@ -234,17 +213,17 @@ edit_box.draw_bg_eax:
shl ecx,16 shl ecx,16
add ecx,ed_height add ecx,ed_height
dec ecx dec ecx
mcall mcall
ret ret
;---------------------------------------------------------- ;----------------------------------------------------------
;--- <20><><EFBFBD><EFBFBD><E6A5A4><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><E7A5AD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⢠ ᨬ<><E1A8AC><EFBFBD><EFBFBD><EFBFBD> <20><><20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ;--- <20><><EFBFBD><EFBFBD><E6A5A4><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><E7A5AD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⢠ ᨬ<><E1A8AC><EFBFBD><EFBFBD><EFBFBD> <20><><20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
;---------------------------------------------------------- ;----------------------------------------------------------
edit_box.get_n: edit_box.get_n:
mov eax,ed_width ;<3B><><EFBFBD><EFBFBD><20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> mov eax,ed_width ;<3B><><EFBFBD><EFBFBD><20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
xor edx,edx ;१<><E0A5A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><E1AFAE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD> edx:eax <20> eax - <20><><EFBFBD><EFBFBD> xor edx,edx ;१<><E0A5A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><E1AFAE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD> edx:eax <20> eax - <20><><EFBFBD><EFBFBD>
sub eax,4 ;<3B><><EFBFBD> 4 sub eax,4 ;<3B><><EFBFBD> 4
mov ebx,6 ;<3B><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> mov ebx,6 ;<3B><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>
div ebx ;ࠧ<><E0A0A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> 6 div ebx ;ࠧ<><E0A0A7><EFBFBD><EFBFBD><EFBFBD> <20><> 6
ret ret
;---------------------------------------------------------- ;----------------------------------------------------------
;--- <20><><EFBFBD><EFBFBD><E6A5A4><EFBFBD> <20><><EFBFBD><E1AEA2><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> -------------------------- ;--- <20><><EFBFBD><EFBFBD><E6A5A4><EFBFBD> <20><><EFBFBD><E1AEA2><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> --------------------------
@@ -272,14 +251,14 @@ edit_box.draw_cursor:
shl ebx,16 shl ebx,16
mov bx,bp mov bx,bp
mov ebp,ecx mov ebp,ecx
shl ecx,16 shl ecx,16
mov cx,bp mov cx,bp
add ecx,ed_height-4 add ecx,ed_height-4
mov cl_curs_x,ebx mov cl_curs_x,ebx
mov cl_curs_y,ecx mov cl_curs_y,ecx
edit_box.draw_curs: edit_box.draw_curs:
mcall 38 mcall 38
ret ret
;---------------------------------------------------------- ;----------------------------------------------------------
@@ -325,8 +304,8 @@ ret
;---------------------------------------------------------- ;----------------------------------------------------------
;--- <20><EFBFBD>ઠ, <20><><20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><EFBFBD><E0A0AD><EFBFBD> <20>, <20><20><><EFBFBD><EFBFBD>, --- ;--- <20><EFBFBD>ઠ, <20><><20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><EFBFBD><E0A0AD><EFBFBD> <20>, <20><20><><EFBFBD><EFBFBD>, ---
;--- <20><><EFBFBD><EFBFBD><EFBFBD>塞 ᬥ饭<E1ACA5><E9A5AD> ------------------------------------ ;--- <20><><EFBFBD><EFBFBD><EFBFBD>塞 ᬥ饭<E1ACA5><E9A5AD> ------------------------------------
;--- <20>᫨ ᬥ饭<E1ACA5><E9A5AD> <20><20><><EFBFBD><E2A0AD><EFBFBD><EFBFBD><><E4ABA0> ed_offset_cl <20><><EFBFBD><EFBFBD><EFBFBD> ;--- <20>᫨ ᬥ饭<E1ACA5><E9A5AD> <20>, <20><><EFBFBD><E2A0AD><EFBFBD><EFBFBD><><E4ABA0> ed_offset_cl, <20><><EFBFBD><EFBFBD><EFBFBD>,
; <20><20><><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><E2A0A2><EFBFBD><EFBFBD><EFBFBD> ed_offset_fl ; <20><20><><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><> <20><><EFBFBD><EFBFBD><E2A0A2><EFBFBD><EFBFBD><EFBFBD> ed_offset_fl
; <20> <20><><20><><EFBFBD><E2AEA2> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⮢ word ed_flags ; <20> <20><><20><><EFBFBD><E2AEA2> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⮢ word ed_flags
;---------------------------------------------------------- ;----------------------------------------------------------
edit_box.check_offset: edit_box.check_offset:
@@ -337,7 +316,7 @@ pushad
ja edit_box.sub_8 ja edit_box.sub_8
push ebx push ebx
call edit_box.get_n ;<3B><><EFBFBD><EFBFBD><20><><EFBFBD>-<2D><><><E1A8AC><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><E3ACA5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20> <20><><EFBFBD><EFBFBD><><E0A5A3><EFBFBD>஢ edx:eax call edit_box.get_n ;<3B><><EFBFBD><EFBFBD><20><><EFBFBD>-<2D><><><E1A8AC><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><E3ACA5><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20> <20><><EFBFBD><EFBFBD><><E0A5A3><EFBFBD>஢ edx:eax
pop ebx pop ebx
mov edx,ebx mov edx,ebx
add edx,eax ;ed_offset+width editbox add edx,eax ;ed_offset+width editbox
@@ -374,7 +353,7 @@ edit_box.chk_d: mov ed_offset,ebx
call edit_box.draw_bg call edit_box.draw_bg
and word ed_flags,ed_offset_cl and word ed_flags,ed_offset_cl
edit_ex edit_ex
@@: @@:
or word ed_flags,ed_offset_fl or word ed_flags,ed_offset_fl
edit_ex edit_ex
@@ -389,11 +368,11 @@ pushad
xor al,al xor al,al
cld cld
repne scasb ;<3B><><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD> edi ᨬ<><E1A8AC><EFBFBD><EFBFBD> al repne scasb ;<3B><><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD> edi ᨬ<><E1A8AC><EFBFBD><EFBFBD> al
mov ecx,edi ;ecx = text + <20><><EFBFBD>. <20><><EFBFBD><EFBFBD><E7A5AD> <20><>: 1) ed_max <20><><EFBFBD> 2) <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> text mov ecx,edi ;ecx = text + <20><><EFBFBD>. <20><><EFBFBD><EFBFBD><E7A5AD> <20><>: 1) ed_max <20><><EFBFBD> 2) <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> text
mov edi,dword[edit] mov edi,dword[edit]
mov esi,dword[text] mov esi,dword[text]
sub ecx,esi ;ecx = <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> text (<28><> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 祬 ed_max) sub ecx,esi ;ecx = <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> text (<28><> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 祬 ed_max)
dec ecx dec ecx
mov ed_size,ecx ;<3B><EFBFBD><E2A0A2> <20><><EFBFBD><EFBFBD><EFBFBD><><E0A0A7><EFBFBD> <20><><EFBFBD> mov ed_size,ecx ;<3B><EFBFBD><E2A0A2> <20><><EFBFBD><EFBFBD><EFBFBD><><E0A0A7><EFBFBD> <20><><EFBFBD>
mov ed_pos,ecx ;<3B><EFBFBD><E2A0A2> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> mov ed_pos,ecx ;<3B><EFBFBD><E2A0A2> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>
@@ -418,7 +397,7 @@ edit_box_key.shift: ;;;;;;;SHIFT
call edit_box_key.sh_cl_ call edit_box_key.sh_cl_
jmp edit_box.draw_cursor_text jmp edit_box.draw_cursor_text
;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;
edit_box_key.f_exit: edit_box_key.f_exit:
call edit_box.check_offset call edit_box.check_offset
and word ed_flags,ed_shift_cl and word ed_flags,ed_shift_cl
call edit_box_key.enable_null call edit_box_key.enable_null
@@ -437,9 +416,9 @@ edit_box_key.sh_cl_:
jmp edit_box_key.sh_n1 jmp edit_box_key.sh_n1
;<3B><20><><EFBFBD><EFBFBD><EFBFBD> ;<3B><20><><EFBFBD><EFBFBD><EFBFBD>
edit_box_key.sh_n: edit_box_key.sh_n:
push ebx push ebx
push eax push eax
edit_box_key.sh_n1: edit_box_key.sh_n1:
call edit_box.check_offset call edit_box.check_offset
call edit_box.get_n call edit_box.get_n
mov edx,eax ;size of ed_box mov edx,eax ;size of ed_box
@@ -449,7 +428,7 @@ edit_box_key.sh_n1:
pop ebx ;<3B><><EFBFBD><EFBFBD> pop ebx ;<3B><><EFBFBD><EFBFBD>
pop eax ;<3B><><EFBFBD><EFBFBD> pop eax ;<3B><><EFBFBD><EFBFBD>
cmp eax,ecx ;<3B><EFBFBD><E0A0A2><EFBFBD><EFBFBD><EFBFBD> <20> <20><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> offset. cmp eax,ecx ;<3B><EFBFBD><E0A0A2><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20> offset.
jae edit_box_key.f_f ;<3B><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> jae edit_box_key.f_f ;<3B><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
xor eax,eax xor eax,eax
cmp edx,ebx ;cࠢ<63><E0A0A2><EFBFBD><><E0A0A7><EFBFBD> w_off <20> <20><><EFBFBD><EFBFBD> cmp edx,ebx ;cࠢ<63><E0A0A2><EFBFBD><><E0A0A7><EFBFBD> w_off <20> <20><><EFBFBD><EFBFBD>
@@ -457,9 +436,9 @@ edit_box_key.sh_n1:
sub ebx,ecx sub ebx,ecx
jmp edit_box_key.nxt_f jmp edit_box_key.nxt_f
@@: mov ebx,edx @@: mov ebx,edx
sub ebx,ecx sub ebx,ecx
jmp edit_box_key.nxt_f jmp edit_box_key.nxt_f
edit_box_key.f_f: edit_box_key.f_f:
sub eax,ecx sub eax,ecx
cmp edx,ebx ;cࠢ<63><E0A0A2><EFBFBD><><E0A0A7><EFBFBD> w_off <20> <20><><EFBFBD><EFBFBD> cmp edx,ebx ;cࠢ<63><E0A0A2><EFBFBD><><E0A0A7><EFBFBD> w_off <20> <20><><EFBFBD><EFBFBD>
jle @f jle @f
@@ -467,7 +446,7 @@ edit_box_key.f_f:
sub ebx,eax sub ebx,eax
jmp edit_box_key.nxt_f jmp edit_box_key.nxt_f
@@: @@:
mov ebx,edx mov ebx,edx
sub ebx,ecx sub ebx,ecx
sub ebx,eax sub ebx,eax
edit_box_key.nxt_f: edit_box_key.nxt_f:
@@ -478,7 +457,7 @@ edit_box_key.nxt_f:
inc ebx inc ebx
shl ebx,16 shl ebx,16
lea ecx,[edx*2+edx] lea ecx,[edx*2+edx]
shl ecx,1 shl ecx,1
mov bx,cx mov bx,cx
inc ebx inc ebx
mov edx,ebp;shift_color mov edx,ebp;shift_color
@@ -494,23 +473,23 @@ edit_box_key.drw_sim:
call edit_box_key.draw_rectangle ;<3B><><EFBFBD><EFBFBD><EFBFBD><E1AEA2><EFBFBD> <20><>אַ㣮<EFACAE><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 梥⮬ call edit_box_key.draw_rectangle ;<3B><><EFBFBD><EFBFBD><EFBFBD><E1AEA2><EFBFBD> <20><>אַ㣮<EFACAE><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 梥⮬
jmp @b jmp @b
;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;
;<3B><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><E2A0AD><EFBFBD><EFBFBD> <20><EFBFBD><EBA4A5><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD> <20> <20><><EFBFBD><EFBFBD>⨨ shift ;<3B><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><E2A0AD><EFBFBD><EFBFBD> <20><EFBFBD><EBA4A5><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD> <20> <20><><EFBFBD><EFBFBD>⨨ shift
;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:
;;;;;;;;;; ;;;;;;;;;;
edit_box_key.draw_wigwag: edit_box_key.draw_wigwag:
;<3B><EFBFBD><E3ADAA><EFBFBD> <20><><EFBFBD><E2A0AD><EFBFBD><EFBFBD> <20><><EFBFBD><E0A5AC><EFBFBD><EFBFBD><EFBFBD> ;<3B><EFBFBD><E3ADAA><EFBFBD> <20><><EFBFBD><E2A0AD><EFBFBD><EFBFBD> <20><><EFBFBD><E0A5AC><EFBFBD><EFBFBD><EFBFBD>
mov ebp,shift_color mov ebp,shift_color
call edit_box.clear_cursor call edit_box.clear_cursor
or word ed_flags,ed_shift_bac ;<3B><><EFBFBD><E2A0AD><EFBFBD><EFBFBD><><E4ABA0>, <20><EFBFBD><EBA4A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> or word ed_flags,ed_shift_bac ;<3B><><EFBFBD><E2A0AD><EFBFBD><EFBFBD><><E4ABA0> <20><EFBFBD><EBA4A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
mov ebp,shift_color mov ebp,shift_color
mov eax,dword ed_pos mov eax,dword ed_pos
test word ed_flags,ed_left_fl test word ed_flags,ed_left_fl
jz edit_box_key.low jz edit_box_key.low
jmp @f jmp @f
;;;;;;;;;; ;;;;;;;;;;
;<3B><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><E3A4A0><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><EBA4A5><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD> <20> <20><><EFBFBD><EFBFBD>⨨ shift ;<3B><EFBFBD><EFBFBD><EFBFBD><><E3A4A0><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><EBA4A5><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD> <20> <20><><EFBFBD><EFBFBD>⨨ shift
;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:
;;;;;;;;;; ;;;;;;;;;;
edit_box_key.draw_wigwag_cl: edit_box_key.draw_wigwag_cl:
;<3B><EFBFBD><E3ADAA><EFBFBD> <20><><EFBFBD><E2A0AD><EFBFBD><EFBFBD> <20><><EFBFBD><E0A5AC><EFBFBD><EFBFBD><EFBFBD> ;<3B><EFBFBD><E3ADAA><EFBFBD> <20><><EFBFBD><E2A0AD><EFBFBD><EFBFBD> <20><><EFBFBD><E0A5AC><EFBFBD><EFBFBD><EFBFBD>
@@ -536,7 +515,7 @@ edit_box_key.sh_first_sh:
or word ed_flags,ed_shift_on or word ed_flags,ed_shift_on
@@: ret @@: ret
;<3B><><EFBFBD><20><EFBFBD><E0A0A9><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> editbox <20><><EFBFBD> <20><><EFBFBD><EFBFBD>⮬ shift ;<3B><><EFBFBD><20><EFBFBD><E0A0A9><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> editbox <20><><EFBFBD> <20><><EFBFBD><EFBFBD>⮬ shift
;<3B><EFBFBD><E0AEA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><20><EFBFBD><EBA4A5><EFBFBD><EFBFBD><EFBFBD>, <20><20><><EFBFBD> shift ;<3B><EFBFBD><E0AEA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><20><EFBFBD><EBA4A5><EFBFBD><EFBFBD><EFBFBD>, <20><20><><EFBFBD> shift
;<3B><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><E5AEA4> ;<3B><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><E5AEA4>
edit_box_key.sh_st_of: edit_box_key.sh_st_of:
test word ed_flags,ed_shift test word ed_flags,ed_shift
@@ -546,16 +525,16 @@ edit_box_key.sh_st_of:
mov ebp,ed_color mov ebp,ed_color
mov ebx,dword ed_shift_pos mov ebx,dword ed_shift_pos
call edit_box_key.sh_cl_ ;<3B><><EFBFBD><EFBFBD><20><EFBFBD><EBA4A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><E0A0A3><EFBFBD><EFBFBD><EFBFBD> call edit_box_key.sh_cl_ ;<3B><><EFBFBD><EFBFBD><20><EFBFBD><EBA4A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><E0A0A3><EFBFBD><EFBFBD><EFBFBD>
and word ed_flags,ed_shift_cl ; <20><><EFBFBD><EFBFBD><20><><> <20><><EFBFBD> <20><><EFBFBD> <20><EFBFBD><EBA4A5><EFBFBD><EFBFBD><EFBFBD> and word ed_flags,ed_shift_cl ; <20><><EFBFBD><EFBFBD><20><><>, <20><><EFBFBD> <20><><EFBFBD> <20><EFBFBD><EBA4A5><EFBFBD><EFBFBD><EFBFBD>
jmp edit_box.draw_cursor_text jmp edit_box.draw_cursor_text
@@: @@:
and word ed_flags,ed_shift_off and word ed_flags,ed_shift_off
popad popad
ret 4 ret 4
;<3B><EFBFBD><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> shift <20><><EFBFBD> <20><> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><><E0A0AD><EFBFBD>? ;<3B><EFBFBD><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> shift, <20><><EFBFBD> <20><> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><><E0A0AD><EFBFBD>?
edit_box_key.sh_enable: edit_box_key.sh_enable:
test word ed_flags,ed_shift test word ed_flags,ed_shift
jne edit_box_key.sh_ext_en ;<3B><><EFBFBD><EFBFBD><EFBFBD><E1AEA2><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E8A5AD> <20><>אַ㣮<EFACAE><EFBFBD> jne edit_box_key.sh_ext_en ;<3B><><EFBFBD><EFBFBD><EFBFBD><E1AEA2><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E8A5AD><EFBFBD> <20><>אַ㣮<EFACAE><EFBFBD>
test word ed_flags,ed_shift_bac test word ed_flags,ed_shift_bac
je @f je @f
@@ -563,24 +542,24 @@ edit_box_key.sh_enable:
mov ebp,ed_color mov ebp,ed_color
mov ebx,dword ed_shift_pos mov ebx,dword ed_shift_pos
call edit_box_key.sh_cl_ ;<3B><><EFBFBD><EFBFBD><20><EFBFBD><EBA4A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><E0A0A3><EFBFBD><EFBFBD><EFBFBD> call edit_box_key.sh_cl_ ;<3B><><EFBFBD><EFBFBD><20><EFBFBD><EBA4A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><E0A0A3><EFBFBD><EFBFBD><EFBFBD>
call edit_box_key.draw_wigwag_cl call edit_box_key.draw_wigwag_cl
and word ed_flags,ed_shift_cl ; 1<><31><EFBFBD> <20><> <20><EFBFBD> and word ed_flags,ed_shift_cl ; 1<><31><EFBFBD> <20><> <20><EFBFBD>
ret ret
@@: mov ebp,ed_color @@: mov ebp,ed_color
call edit_box.clear_cursor call edit_box.clear_cursor
call edit_box.check_offset call edit_box.check_offset
ret ret
edit_box_key.sh_ext_en: edit_box_key.sh_ext_en:
call edit_box.check_offset call edit_box.check_offset
test word ed_flags,ed_offset_fl test word ed_flags,ed_offset_fl
je @f je @f
;<3B><><EFBFBD><E1AEA2><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E8A5AD> <20><>אַ㣮<EFACAE><EFBFBD><ECADA8><EFBFBD> <20> <20><><EFBFBD><EFBFBD> <20><> ;<3B><><EFBFBD><E1AEA2><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E8A5AD><EFBFBD> <20><>אַ㣮<EFACAE><EFBFBD><ECADA8><EFBFBD> <20> <20><> <20><><EFBFBD><EFBFBD>
mov eax,dword ed_shift_pos mov eax,dword ed_shift_pos
mov ebx,dword ed_pos mov ebx,dword ed_pos
mov ecx,dword ed_shift_pos_old mov ecx,dword ed_shift_pos_old
;<3B><EFBFBD><20> <20><><EFBFBD><E1AEA2><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E8A5AD> <20><><EFBFBD><EFBFBD><EFBFBD> ;<3B><EFBFBD><20> <20><><EFBFBD><E1AEA2><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E8A5AD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>
cmp eax,ecx cmp eax,ecx
je edit_box_key.1_shem je edit_box_key.1_shem
jb edit_box_key.smaller jb edit_box_key.smaller
@@ -618,7 +597,7 @@ edit_box_key.sh_home_end:
call edit_box_key.sh_cl_ call edit_box_key.sh_cl_
or word ed_flags,ed_shift_bac ;<3B><><EFBFBD><E2A0AD><EFBFBD><EFBFBD><><E4ABA0>, <20><EFBFBD><EBA4A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> or word ed_flags,ed_shift_bac ;<3B><><EFBFBD><E2A0AD><EFBFBD><EFBFBD><><E4ABA0>, <20><EFBFBD><EBA4A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
jmp edit_box_key.sh_e_end jmp edit_box_key.sh_e_end
edit_box_key.sh_exit_: edit_box_key.sh_exit_:
call edit_box.draw_bg call edit_box.draw_bg
call edit_box.check_offset call edit_box.check_offset
ret ret
@@ -645,17 +624,17 @@ edit_box_key.del_char:
cmp eax,ecx cmp eax,ecx
jae edit_box_key.dh_n jae edit_box_key.dh_n
mov ed_pos,eax ;<3B><EFBFBD><EFBFBD> <20><EFBFBD> <20><> <20>뫮 㡥<><E3A1A5><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> mov ed_pos,eax ;<3B><EFBFBD> <20><> <20>뫮 㡥<><E3A1A5><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
mov ebp,ecx mov ebp,ecx
sub ebp,eax sub ebp,eax
add ebx,eax ;eax <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> add ebx,eax ;eax <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
sub edx,ecx sub edx,ecx
add esi,ecx add esi,ecx
mov dword ed_shift_pos,ebp mov dword ed_shift_pos,ebp
jmp edit_box_key.del_ch_sh jmp edit_box_key.del_ch_sh
;<3B><20><><EFBFBD><EFBFBD><EFBFBD> ;<3B><20><><EFBFBD><EFBFBD><EFBFBD>
edit_box_key.dh_n: edit_box_key.dh_n:
mov ebp,eax mov ebp,eax
sub ebp,ecx sub ebp,ecx
add ebx,ecx add ebx,ecx
@@ -664,7 +643,7 @@ edit_box_key.dh_n:
mov dword ed_shift_pos,ebp mov dword ed_shift_pos,ebp
jmp edit_box_key.del_ch_sh jmp edit_box_key.del_ch_sh
@@: add esi,ecx ;㪠<><E3AAA0><EFBFBD> + ᬥ饭<E1ACA5><E9A5AD> <20><><EFBFBD><ECADAE> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> @@: add esi,ecx ;㪠<><E3AAA0><EFBFBD> + ᬥ饭<E1ACA5><E9A5AD> <20><><EFBFBD><ECADAE> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
mov ebx,esi mov ebx,esi
inc esi inc esi
cld cld
@@ -679,7 +658,7 @@ edit_box_key.del_ch_sh:
stosb stosb
dec edx dec edx
jns @b jns @b
pop edi pop edi
ret ret
;<3B><><EFBFBD><EFBFBD><EFBFBD><E1ABA8> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E8A8A2><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ;<3B><><EFBFBD><EFBFBD><EFBFBD><E1ABA8> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E8A8A2><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
@@ -690,7 +669,7 @@ edit_box_key.clear_bg:
mov ebx,ed_offset mov ebx,ed_offset
add eax,ebx ;eax = w_off= ed_offset+width add eax,ebx ;eax = w_off= ed_offset+width
mov ebx,ebp ;ed_size mov ebx,ebp ;ed_size
cmp eax,ebx cmp eax,ebx
jb @f jb @f
mov eax,ed_pos mov eax,ed_pos
@@ -701,8 +680,8 @@ edit_box_key.clear_bg:
@@: mov ebx,ed_pos @@: mov ebx,ed_pos
push ebx push ebx
sub eax,ebx sub eax,ebx
mov ebx,eax ;It is don't optimal mov ebx,eax ;It is not optimal
pop eax ;ed_pos pop eax ;ed_pos
mov ecx,ed_offset mov ecx,ed_offset
sub eax,ecx sub eax,ecx
@@ -721,7 +700,7 @@ edit_box_key.nxt:
inc ebx inc ebx
shl ebx,16 shl ebx,16
lea ecx,[edx*2+edx] lea ecx,[edx*2+edx]
shl ecx,1 shl ecx,1
mov bx,cx mov bx,cx
mov edx,ed_color mov edx,ed_color
call edit_box.draw_bg_eax call edit_box.draw_bg_eax
@@ -732,7 +711,7 @@ edit_box_key.nxt:
;<3B><><EFBFBD><EFBFBD><EFBFBD><E1AEA2><EFBFBD> <20><>אַ㣮<EFACAE><EFBFBD>, 梥<> <20><><EFBFBD><E0A5A4><EFBFBD><EFBFBD><EFBFBD> <20> ebp ;<3B><><EFBFBD><EFBFBD><EFBFBD><E1AEA2><EFBFBD> <20><>אַ㣮<EFACAE><EFBFBD>, 梥<> <20><><EFBFBD><E0A5A4><EFBFBD><EFBFBD><EFBFBD> <20> ebp
;<3B><EFBFBD><E5AEA4><EFBFBD> <20><><EFBFBD><E0A0AC><EFBFBD><EFBFBD>: ;<3B><EFBFBD><E5AEA4><EFBFBD> <20><><EFBFBD><E0A0AC><EFBFBD><EFBFBD>:
;eax=dword ed_pos ;eax=dword ed_pos
;ebp=-梥<> ed_color or shift_color ;ebp=-梥<> ed_color or shift_color
edit_box_key.draw_rectangle: edit_box_key.draw_rectangle:
mov ecx,dword ed_offset mov ecx,dword ed_offset
sub eax,ecx sub eax,ecx
@@ -756,40 +735,40 @@ pusha ;
or word ed_flags,ed_shift ;<3B><><EFBFBD><E2A0AD><EFBFBD><EFBFBD><> or word ed_flags,ed_shift ;<3B><><EFBFBD><E2A0AD><EFBFBD><EFBFBD><>
@@:edit_ex @@:edit_ex
} }
;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><EFBFBD><E5AEA4><><E0A5A0><EFBFBD><EFBFBD> ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><EFBFBD><E5AEA4><><E0A5A0><EFBFBD><EFBFBD>
macro use_key_process backspase,delete,left,right,home,end,insert macro use_key_process backspace,delete,left,right,home,end,insert
{ {
if backspase eq if backspace eq
else else
cmp ah,8 cmp ah,8
jz edit_box_key.backspace jz edit_box_key.backspace
end if end if
if delete eq if delete eq
else else
cmp ah,0xb6 cmp ah,0xb6
jz edit_box_key.delete jz edit_box_key.delete
end if end if
if left eq if left eq
else else
cmp ah,176 cmp ah,176
jz edit_box_key.left jz edit_box_key.left
end if end if
if right eq if right eq
else else
cmp ah,179 cmp ah,179
jz edit_box_key.right jz edit_box_key.right
end if end if
if home eq if home eq
else else
cmp ah,180 cmp ah,180
jz edit_box_key.home jz edit_box_key.home
end if end if
if home eq if home eq
else else
cmp ah,181 cmp ah,181
jz edit_box_key.end jz edit_box_key.end
end if end if
if insert eq if insert eq
else else
cmp ah,185 ;insert cmp ah,185 ;insert
jz edit_box_key.insert jz edit_box_key.insert
@@ -798,45 +777,45 @@ end if
macro use_key_no_process up,down,esc,enter,tab,numl,capsl,scrolll macro use_key_no_process up,down,esc,enter,tab,numl,capsl,scrolll
{ {
if up eq if up eq
else else
cmp ah,177 cmp ah,177
jz edit_box.editbox_exit jz edit_box.editbox_exit
end if end if
if down eq if down eq
else else
cmp ah,178 cmp ah,178
jz edit_box.editbox_exit jz edit_box.editbox_exit
end if end if
if esc eq if esc eq
else else
cmp ah,27 ;ESC - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> )) cmp ah,27 ;ESC - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ))
jz edit_box.editbox_exit jz edit_box.editbox_exit
end if end if
if enter eq if enter eq
else else
cmp ah,13 ;ENTER - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> )) cmp ah,13 ;ENTER - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ))
jz edit_box.editbox_exit jz edit_box.editbox_exit
end if end if
if tab eq if tab eq
else else
cmp ah,9 ;TAB - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> )) cmp ah,9 ;TAB - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ))
jz edit_box.editbox_exit jz edit_box.editbox_exit
end if end if
if numl eq if numl eq
else else
cmp ah,4 ;Num Lock - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> )) cmp ah,4 ;Num Lock - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ))
jz edit_box.editbox_exit jz edit_box.editbox_exit
end if end if
if capsl eq if capsl eq
else else
cmp ah,2 ;Caps Lock - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> )) cmp ah,2 ;Caps Lock - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ))
jz edit_box.editbox_exit jz edit_box.editbox_exit
end if end if
if scrolll eq if scrolll eq
else else
cmp ah,1 ;Scroll Lock - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> )) cmp ah,1 ;Scroll Lock - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ))
jz edit_box.editbox_exit jz edit_box.editbox_exit
@@ -846,7 +825,7 @@ end if
macro use_key_figures_only macro use_key_figures_only
{ {
test word ed_flags,ed_figure_only ; ⮫쪮 <20><><EFBFBD><EFBFBD><EFBFBD> ? test word ed_flags,ed_figure_only ; ⮫쪮 <20><><EFBFBD><EFBFBD><EFBFBD>?
jz @f jz @f
cmp ah,'0' cmp ah,'0'
jb edit_box.editbox_exit jb edit_box.editbox_exit
@@ -871,7 +850,7 @@ macro are_key_shift_press
mov ebp,ed_size mov ebp,ed_size
call edit_box_key.clear_bg call edit_box_key.clear_bg
;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;
popa popa
call edit_box_key.del_char call edit_box_key.del_char
;;;; ;;;;
mov eax,dword ed_shift_pos mov eax,dword ed_shift_pos
@@ -906,7 +885,7 @@ macro are_key_cur_end
cmp ecx,ebx ;<3B><20> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> = ⥪<><EFBFBD><><E0A0A7><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E2A0AD><EFBFBD><><E1A8AC><EFBFBD><EFBFBD><EFBFBD> <20>.<2E>. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD> cmp ecx,ebx ;<3B><20> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> = ⥪<><EFBFBD><><E0A0A7><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E2A0AD><EFBFBD><><E1A8AC><EFBFBD><EFBFBD><EFBFBD> <20>.<2E>. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD>
je edit_box_key.In_k je edit_box_key.In_k
test dword bp_flags,ed_insert ;IF insert is enable <20>.<2E>. edi <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><20><>१ ebp test dword bp_flags,ed_insert ;IF insert is enabled <20>.<2E>. edi <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><20><>१ ebp
jne edit_box_key.ins_v jne edit_box_key.ins_v
;clear ;clear
pusha pusha
@@ -915,16 +894,16 @@ pusha
call edit_box_key.clear_bg call edit_box_key.clear_bg
popa popa
sub ecx,ebx ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>-<2D><><><E1A8AC><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><E0A5A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. sub ecx,ebx ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>-<2D><><><E1A8AC><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><E0A5A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
inc edi ;<3B><><EFBFBD><EFBFBD><20><><EFBFBD><EFBFBD><><E1A8AC><EFBFBD><EFBFBD> <20> <EFBFBD><EFBFBD> inc edi ;<3B><><EFBFBD><EFBFBD><20><><EFBFBD><EFBFBD><><E1A8AC><EFBFBD><EFBFBD> <20><><EFBFBD>
std std
inc ecx inc ecx
@@: @@:
;-------- ;--------
lodsb lodsb
stosb stosb
;-------- ;--------
loop @b loop @b
edit_box_key.In_k: edit_box_key.In_k:
cld cld
pop eax pop eax
mov al,ah mov al,ah
@@ -961,7 +940,7 @@ pusha
popa popa
jmp edit_box_key.In_k jmp edit_box_key.In_k
;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;
edit_box_key.delete: edit_box_key.delete:
mov edx,ed_size mov edx,ed_size
mov ecx,ed_pos mov ecx,ed_pos
cmp edx,ecx cmp edx,ecx
@@ -970,18 +949,18 @@ edit_box_key.delete:
jne edit_box_key.del_bac jne edit_box_key.del_bac
popad popad
ret 4 ret 4
edit_box_key.bac_del: edit_box_key.bac_del:
call edit_box_key.del_char call edit_box_key.del_char
jmp edit_box_key.draw_all jmp edit_box_key.draw_all
;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;--- <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> backspace --- ;--- <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> backspace ---
edit_box_key.backspace: edit_box_key.backspace:
; <20><EFBFBD><E0AEA2>塞, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> ? test word ed_flags,ed_shift_on
jne edit_box_key.delete
; <20><EFBFBD><E0AEA2>塞, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>?
mov ecx,ed_pos mov ecx,ed_pos
test ecx,ecx test ecx,ecx
jnz edit_box_key.del_bac jnz edit_box_key.del_bac
test word ed_flags,ed_shift_on
jne edit_box_key.bac_del
popad popad
ret 4 ret 4
@@ -1021,7 +1000,7 @@ edit_box_key.draw_all2:
ret ret
;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;--- <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> left --- ;--- <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> left ---
edit_box_key.left: edit_box_key.left:
mov ebx,ed_pos mov ebx,ed_pos
test ebx,ebx test ebx,ebx
jz edit_box_key.sh_st_of jz edit_box_key.sh_st_of
@@ -1032,7 +1011,7 @@ edit_box_key.left:
jmp edit_box.draw_cursor_text jmp edit_box.draw_cursor_text
;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;--- <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> right --- ;--- <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> right ---
edit_box_key.right: edit_box_key.right:
mov ebx,ed_pos mov ebx,ed_pos
cmp ebx,ed_size cmp ebx,ed_size
je edit_box_key.sh_st_of je edit_box_key.sh_st_of
@@ -1042,7 +1021,7 @@ edit_box_key.right:
call edit_box_key.sh_enable call edit_box_key.sh_enable
jmp edit_box.draw_cursor_text jmp edit_box.draw_cursor_text
;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
edit_box_key.home: edit_box_key.home:
mov ebx,ed_pos mov ebx,ed_pos
test ebx,ebx test ebx,ebx
jz edit_box_key.sh_st_of jz edit_box_key.sh_st_of
@@ -1052,7 +1031,7 @@ edit_box_key.home:
call edit_box_key.sh_home_end call edit_box_key.sh_home_end
jmp edit_box.draw_cursor_text jmp edit_box.draw_cursor_text
;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
edit_box_key.end: edit_box_key.end:
mov ebx,ed_pos mov ebx,ed_pos
cmp ebx,dword ed_size cmp ebx,dword ed_size
je edit_box_key.sh_st_of je edit_box_key.sh_st_of
@@ -1083,31 +1062,31 @@ edit_box_mouse.mouse_wigwag:
add ebx,ed_width add ebx,ed_width
cmp eax,ebx cmp eax,ebx
ja edit_box_mouse.mright ja edit_box_mouse.mright
sub ebx,ed_width sub ebx,ed_width
xor edx,edx xor edx,edx
sub eax,ebx ; <20><><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><E0A4A8><EFBFBD> <20><><20><> <20><><EFBFBD> <20> <20><><EFBFBD><EFBFBD><E0A4A8><EFBFBD><EFBFBD> <20><> editbox <20><> <20><><EFBFBD> <20> sub eax,ebx ; <20><><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><E0A4A8><EFBFBD> <20><><20><> <20><><EFBFBD> <20> <20><><EFBFBD><EFBFBD><E0A4A8><EFBFBD><EFBFBD> <20><> editbox <20><> <20><><EFBFBD> <20>
mov ebx,6 mov ebx,6
div ebx div ebx
;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;
;;<3B><><EFBFBD><EFBFBD><E6A5A4><EFBFBD> <20><><EFBFBD><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><EBA4A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><E2A5AA><EFBFBD>, <20> <20><EFBFBD><E0A5A4><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> editbox ;;<3B><><EFBFBD><EFBFBD><E6A5A4><EFBFBD> <20><><EFBFBD><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><EBA4A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><E2A5AA><EFBFBD>, <20> <20><EFBFBD><E0A5A4><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> editbox
;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;
;<3B><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><E0A4A8><EFBFBD><EFBFBD> <20> eax <20><>誨, <20>.<2E>. <20><20><><EFBFBD> <20><><EFBFBD><E0A5AC><EFBFBD><E2A8AB><EFBFBD> ;<3B><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><E0A4A8><EFBFBD><EFBFBD> <20> eax <20><>誨, <20>.<2E>. <20><20><><EFBFBD> <20><><EFBFBD><E0A5AC><EFBFBD><E2A8AB><EFBFBD>
;<3B><><EFBFBD><E1AEA2><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E8A5AD> <20><>אַ㣮<EFACAE><EFBFBD><ECADA8><EFBFBD> <20> <20><><EFBFBD><EFBFBD> <20><> ;<3B><><EFBFBD><E1AEA2><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E8A5AD><EFBFBD> <20><>אַ㣮<EFACAE><EFBFBD><ECADA8><EFBFBD> <20> <20><> <20><><EFBFBD><EFBFBD>
add eax,ed_offset ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ᬥ饭<E1ACA5><E9A5AD> add eax,ed_offset ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ᬥ饭<E1ACA5><E9A5AD>
cmp eax,dword ed_size ;<3B><20><><20><> <20><EFBFBD><E0A5A4><EFBFBD>, <20><> <20><><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> cmp eax,dword ed_size ;<3B><20><><20><> <20><EFBFBD><E0A5A4><EFBFBD>, <20><> <20><><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
ja edit_box_mouse.mwigvag ja edit_box_mouse.mwigvag
edit_box_mouse.mdraw: edit_box_mouse.mdraw:
mov dword ed_pos,eax ;<3B><><EFBFBD><EFBFBD><E0A0AD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><E7A5AD> mov dword ed_pos,eax ;<3B><><EFBFBD><EFBFBD><E0A0AD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><E7A5AD>
;<3B><><EFBFBD><E1AEA2><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E8A5AD> <20><>אַ㣮<EFACAE><EFBFBD><ECADA8><EFBFBD> <20> <20><><EFBFBD><EFBFBD> <20><> ;<3B><><EFBFBD><E1AEA2><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E8A5AD><EFBFBD> <20><>אַ㣮<EFACAE><EFBFBD><ECADA8><EFBFBD> <20> <20><> <20><><EFBFBD><EFBFBD>
mov ecx,dword ed_shift_pos mov ecx,dword ed_shift_pos
mov ebx,dword ed_shift_pos_old mov ebx,dword ed_shift_pos_old
mov dword ed_shift_pos_old,eax ;<3B><><EFBFBD><20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><E7A5AD> <20><><EFBFBD><20><><EFBFBD><EFBFBD><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> mov dword ed_shift_pos_old,eax ;<3B><><EFBFBD><20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><E7A5AD> <20><><EFBFBD><20><><EFBFBD><EFBFBD><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
;<3B><EFBFBD><20> <20><><EFBFBD><E1AEA2><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E8A5AD> <20><><EFBFBD><EFBFBD><EFBFBD> ;<3B><EFBFBD><20> <20><><EFBFBD><E1AEA2><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E8A5AD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>
cmp ecx,ebx ;<3B><><EFBFBD><EFBFBD><EFBFBD><20><20><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><20><><EFBFBD><EFBFBD><EFBFBD> cmp ecx,ebx ;<3B><><EFBFBD><EFBFBD><EFBFBD><20><20><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><20><><EFBFBD><EFBFBD><EFBFBD>
je edit_box_mouse.m1_shem ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20>뫮 ࠭<><E0A0AD> je edit_box_mouse.m1_shem ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20>뫮 ࠭<><E0A0AD>
jb edit_box_mouse.msmaller ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>뫮 -> jb edit_box_mouse.msmaller ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>뫮 ->
cmp ebx,eax ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><20><> <20><EFBFBD> <- <20> <20><><EFBFBD> <20><> <20><EFBFBD><E0AEA2>塞 ᥩ<><E1A5A9><EFBFBD> <20><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><EFBFBD><E5AEA4> cmp ebx,eax ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><20><> <20><EFBFBD> <- <20> <20><><EFBFBD> <20><> <20><EFBFBD><E0AEA2>塞 ᥩ<><E1A5A9><EFBFBD> <20><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><EFBFBD><E5AEA4>
ja edit_box_mouse.m1_shem ;<3B><20><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <- <20><> <20><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ja edit_box_mouse.m1_shem ;<3B><20><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <- <20><> <20><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
@@ -1124,7 +1103,7 @@ edit_box_mouse.msmaller:
call edit_box_key.sh_cl_ call edit_box_key.sh_cl_
jmp edit_box_mouse.mwigvag jmp edit_box_mouse.mwigvag
;alike = ;alike =
edit_box_mouse.m1_shem: edit_box_mouse.m1_shem:
mov ebp,shift_color mov ebp,shift_color
;<3B><EFBFBD><E5AEA4><EFBFBD> <20><><EFBFBD><E0A0AC><EFBFBD><EFBFBD> ebp=color ebx=ed_shift_pos ;<3B><EFBFBD><E5AEA4><EFBFBD> <20><><EFBFBD><E0A0AC><EFBFBD><EFBFBD> ebp=color ebx=ed_shift_pos
mov ebx,ecx mov ebx,ecx
@@ -1137,7 +1116,7 @@ edit_box_mouse.mwigvag:
; ret ; ret
edit_box_mouse.mleft: edit_box_mouse.mleft:
mov eax,ed_pos mov eax,ed_pos
cmp eax,0 cmp eax,0
jbe edit_box_mouse.mwigvag jbe edit_box_mouse.mwigvag
dec eax dec eax
call edit_box.check_offset call edit_box.check_offset
@@ -1159,7 +1138,7 @@ edit_box_mouse.mright:
push eax push eax
call edit_box_key.sh_cl_ call edit_box_key.sh_cl_
pop eax pop eax
jmp edit_box_mouse.mdraw jmp edit_box_mouse.mdraw
} }
macro use_work_mouse macro use_work_mouse
@@ -1175,7 +1154,7 @@ macro use_work_mouse
mov ebx,ed_top mov ebx,ed_top
cmp ax,bx cmp ax,bx
jl edit_box_mouse._blur;.mouse_end_no_focus jl edit_box_mouse._blur;.mouse_end_no_focus
add ebx,ed_height add ebx,ed_height
cmp ax,bx cmp ax,bx
jg edit_box_mouse._blur;.mouse_end_no_focus jg edit_box_mouse._blur;.mouse_end_no_focus
@@ -1189,7 +1168,7 @@ macro use_work_mouse
add ebx,ed_width add ebx,ed_width
cmp ax,bx cmp ax,bx
jg edit_box_mouse._blur;.mouse_end_no_focus jg edit_box_mouse._blur;.mouse_end_no_focus
;--- <20><><EFBFBD><EFBFBD><EFBFBD><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> --- ;--- <20><><EFBFBD><EFBFBD><EFBFBD><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ---
push eax push eax
@@ -1219,10 +1198,10 @@ edit_box_mouse._mshift:
call edit_box_key.sh_cl_ call edit_box_key.sh_cl_
and word ed_flags,ed_shift_bac_cl and word ed_flags,ed_shift_bac_cl
pop eax pop eax
@@: @@:
test word ed_flags,ed_mouse_on test word ed_flags,ed_mouse_on
jne @f jne @f
mov dword ed_shift_pos,eax mov dword ed_shift_pos,eax
or word ed_flags,ed_mouse_on or word ed_flags,ed_mouse_on
mov dword ed_pos,eax mov dword ed_pos,eax
@@ -1238,15 +1217,15 @@ edit_box_mouse._mshift:
bts word ed_flags,1 ;<3B><><EFBFBD><E2A0AD><EFBFBD><EFBFBD><><E4AEAA><EFBFBD> bts word ed_flags,1 ;<3B><><EFBFBD><E2A0AD><EFBFBD><EFBFBD><><E4AEAA><EFBFBD>
jmp edit_box_mouse.m_sh jmp edit_box_mouse.m_sh
@@: @@:
cmp eax,dword ed_shift_pos ;<3B><20><><EFBFBD><EFBFBD><20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> cmp eax,dword ed_shift_pos ;<3B><20><><EFBFBD><EFBFBD><20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
je edit_box.editbox_exit je edit_box.editbox_exit
mov ed_pos,eax mov ed_pos,eax
mov ebp,dword shift_color mov ebp,dword shift_color
mov ebx,dword ed_shift_pos mov ebx,dword ed_shift_pos
call edit_box_key.sh_cl_ call edit_box_key.sh_cl_
or word ed_flags,ed_mous_adn_b ;<3B><><EFBFBD><E2A0AD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD> <20><> <20><EFBFBD><EBA4A5><EFBFBD><EFBFBD> +shift_on + or word ed_flags,ed_mous_adn_b ;<3B><><EFBFBD><E2A0AD><EFBFBD><EFBFBD> <20><><EFBFBD>, <20><><EFBFBD> <20><> <20><EFBFBD><EBA4A5><EFBFBD><EFBFBD> +shift_on +
edit_box_mouse.m_sh: edit_box_mouse.m_sh:
call edit_box.draw_text call edit_box.draw_text
call edit_box.draw_cursor call edit_box.draw_cursor
;---------------------------------------------------------- ;----------------------------------------------------------
@@ -1269,7 +1248,7 @@ edit_box_mouse.drc: call edit_box.draw_border
; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>
macro edit_ex macro edit_ex
{ {
popad popad
ret ret
} }
macro debug macro debug
@@ -1300,23 +1279,23 @@ macro debug
macro debug_func macro debug_func
{ {
.str: .str:
mov ecx,0x0a ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><E1ABA5><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><E0A5A3><EFBFBD><EFBFBD><EFBFBD> ebx,eax,ecx,edx <20><EFBFBD><E5AEA4><EFBFBD> <20><><EFBFBD><E0A0AC><EFBFBD><EFBFBD> eax - <20><> mov ecx,0x0a ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><E1ABA5><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><E0A5A3><EFBFBD><EFBFBD><EFBFBD> ebx,eax,ecx,edx, <20><EFBFBD><E5AEA4><EFBFBD> <20><><EFBFBD><E0A0AC><EFBFBD><EFBFBD> eax - <20><>
;<3B><><EFBFBD><EFBFBD><EFBFBD> <20><><20> ASCII <20><><EFBFBD> <20><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ecx=<3D><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><E1ABA5> edi <20><><EFBFBD><EFBFBD><EFBFBD> <20><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EBA2A0>, <20><EFBFBD> <20><><EFBFBD>, <20><><EFBFBD><20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><E0A5AC><EFBFBD><EFBFBD><EFBFBD> ;<3B><><EFBFBD><E0A5A2> <20><><20> ASCII <20><><EFBFBD>, <20><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ecx=<3D><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><E1ABA5><EFBFBD>, edi <20><><EFBFBD><EFBFBD><EFBFBD> <20><20><EFBFBD> <20><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>, <20><><EFBFBD><20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><E0A5AC><EFBFBD><EFBFBD><EFBFBD>
cmp eax,ecx ;<3B><EFBFBD><E0A0A2><EFBFBD><EFBFBD> <20><20> eax <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><20> ecx <20><> <20><><EFBFBD><E0A5A9> <20><> @@-1 <20>.<2E>. <20><> pop eax cmp eax,ecx ;<3B><EFBFBD><E0A0A2><EFBFBD><EFBFBD>, <20><20> eax <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<20> ecx, <20><> <20><><EFBFBD><E0A5A9> <20><> @@-1 <20>.<2E>. <20><> pop eax
jb @f jb @f
xor edx,edx ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> edx xor edx,edx ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> edx
div ecx ;ࠧ<><E0A0A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD> - <20><><EFBFBD><EFBFBD><20> edx div ecx ;ࠧ<><E0A0A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD> - <20><><EFBFBD><EFBFBD><20> edx
push edx ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20> 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> ;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 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>)) @@: ;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><EFBFBD> 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> ;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>) ;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> 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 stosb ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><><E0A5A3><EFBFBD><EFBFBD><EFBFBD> al <20> <20><EFBFBD><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> ret ;<3B><><EFBFBD><EFBFBD><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> <20><><EFBFBD>-<2D><> <20><EFBFBD><EBA7AE><EFBFBD>, <20><> <20>⮫쪮 ࠧ <20><> <20> <20><EFBFBD> <20><><EFBFBD><EFBFBD><EBA2A0><EFBFBD><EFBFBD>
} }
ed_struc_size=76 ed_struc_size=76