forked from KolibriOS/kolibrios
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:
parent
ba8ddae0aa
commit
4a76b34dcc
@ -62,18 +62,18 @@ pushad
|
|||||||
;----------------------------------------------------------
|
;----------------------------------------------------------
|
||||||
;--- ¯à®¢¥à塞, çâ® ¦ â® --------------------------------
|
;--- ¯à®¢¥à塞, çâ® ¦ â® --------------------------------
|
||||||
;----------------------------------------------------------
|
;----------------------------------------------------------
|
||||||
use_key_process backspase,delete,left,right,home,end,insert
|
use_key_process backspace,delete,left,right,home,end,insert
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;‡ £«ãèª ®¡à ¡®âªã ª« ¢¨è ¢¢¥àå ¨ ¢¨§ â.¥. ¯à¨ ®¡ à㦥¨¨ íâ¨å ª®¤®¢ ¯à®¨á室¨â ¢ë室 ¨§ ®¡à ¡®â稪
|
;‡ £«ãèª ®¡à ¡®âªã ª« ¢¨è ¢¢¥àå ¨ ¢¨§ â.¥. ¯à¨ ®¡ à㦥¨¨ íâ¨å ª®¤®¢ ¯à®¨á室¨â ¢ë室 ¨§ ®¡à ¡®â稪
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
use_key_no_process up,down,esc,enter,tab,numl,capsl,scrolll
|
use_key_no_process up,down,esc,enter,tab,numl,capsl,scrolll
|
||||||
;--- ¦ â ¤àã£ ï ª« ¢¨è ---
|
;--- ¦ â ¤àã£ ï ª« ¢¨è ---
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;<3B>஢¥àª ãáâ ®¢«¥ «¨ ä« £ ¯à¨ ª®â®à®¬ 㦮 ¢ë¢®¤¨âì ⮫쪮 æ¨äàë ¢ 㦮¬ ¡®ªá¥ ¥á«¨ â ª®©¥®¡å®¤¨¬®á⨠¥â 㦮 § ª®¬¥â¨à®¢ âì ¬ ªà®á
|
;<3B>஢¥àª ãáâ ®¢«¥ «¨ ä« £ ¯à¨ ª®â®à®¬ 㦮 ¢ë¢®¤¨âì ⮫쪮 æ¨äàë ¢ 㦮¬ ¡®ªá¥, ¥á«¨ â ª®© ¥®¡å®¤¨¬®á⨠¥â, 㦮 § ª®¬¥â¨à®¢ âì ¬ ªà®á
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
use_key_figures_only
|
use_key_figures_only
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;¯à®¢¥àª shift ¡ë« «¨ ¦ â
|
;¯à®¢¥àª shift, ¡ë« «¨ ¦ â
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
are_key_shift_press
|
are_key_shift_press
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
@ -81,7 +81,7 @@ are_key_shift_press
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
are_key_cur_end
|
are_key_cur_end
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;Ž¡à ¡®âª ª« ¢¨è insert,delete.backspase,home,end,left,right
|
;Ž¡à ¡®âª ª« ¢¨è insert,delete.backspace,home,end,left,right
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
use_work_key
|
use_work_key
|
||||||
}
|
}
|
||||||
@ -142,43 +142,22 @@ use_key_func
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;”ãªæ¨¨ ¤«ï à ¡®âë á mouse
|
;”ãªæ¨¨ ¤«ï à ¡®âë á mouse
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
use_mouse_func
|
use_mouse_func
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;Bit mask from editbox
|
;Bit mask from editbox
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||||
;¨¦¥ à ᯮ«®¦¥ë äãªæ¨¨ ª®â®à묨 ॠ«¨§ã¥âáï ¢¥áì «£®à¨â¬
|
;¨¦¥ à ᯮ«®¦¥ë äãªæ¨¨ ª®â®à묨 ॠ«¨§ã¥âáï ¢¥áì «£®à¨â¬
|
||||||
;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||||
;Œ ªà®á ¤«ï ¢ë¢®¤ ®á®¢ëå äãªæ¨© ª®â®àë¥ ¨á¯«ì§ãîâáï ¡®ªá®¬
|
;Œ ªà®á ¤«ï ¢ë¢®¤ ®á®¢ëå äãªæ¨© ª®â®àë¥ ¨á¯®«ì§ãîâáï ¡®ªá®¬
|
||||||
macro use_general_func
|
macro use_general_func
|
||||||
{
|
{
|
||||||
;debug_func
|
;debug_func
|
||||||
;----------------------------------------------------------
|
;----------------------------------------------------------
|
||||||
;--- ¯à®æ¥¤ãà ¯à®à¨á®¢ª¨ ¢ë¤¥«¥®© ç á⨠-----------------
|
;--- ¯à®æ¥¤ãà ¯à®à¨á®¢ª¨ ¢ë¤¥«¥®© ç á⨠-----------------
|
||||||
;----------------------------------------------------------
|
;----------------------------------------------------------
|
||||||
edit_box.draw_shift:
|
edit_box.draw_shift:
|
||||||
test word ed_flags,ed_shift_bac ;ãáâ ®¢ª ä« £ , ¢ë¤¥«¥®© ®¡« áâ¨
|
test word ed_flags,ed_shift_bac ;ãáâ ®¢ª ä« £ , ¢ë¤¥«¥®© ®¡« áâ¨
|
||||||
@ -200,7 +179,7 @@ edit_box.draw_text:
|
|||||||
cmp eax,esi
|
cmp eax,esi
|
||||||
jae @F
|
jae @F
|
||||||
mov esi,eax ;çâ®¡ë ¥ ¢ë室¨âì § ¯à¥¤¥«ë íªà
|
mov esi,eax ;çâ®¡ë ¥ ¢ë室¨âì § ¯à¥¤¥«ë íªà
|
||||||
;--- à¨á㥬 ⥪áâ ---
|
;--- à¨á㥬 ⥪áâ ---
|
||||||
@@: 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
|
||||||
;----------------------------------------------------------
|
;----------------------------------------------------------
|
||||||
;--- ¯à®æ¥¤ãà ¯®«ãç¥¨ï ª®«¨ç¥á⢠ᨬ¢®«®¢ ¢ ⥪ã饩 é¨à¨¥ ª®¬¯®¥â
|
;--- ¯à®æ¥¤ãà ¯®«ãç¥¨ï ª®«¨ç¥á⢠ᨬ¢®«®¢ ¢ ⥪ã饩 è¨à¨¥ ª®¬¯®¥â
|
||||||
;----------------------------------------------------------
|
;----------------------------------------------------------
|
||||||
edit_box.get_n:
|
edit_box.get_n:
|
||||||
mov eax,ed_width ;¯®«ã祬 è¨à¨ã ª®¬¯®¥â
|
mov eax,ed_width ;¯®«ã祬 è¨à¨ã ª®¬¯®¥â
|
||||||
xor edx,edx ;१ã«ìâ â à ᯮ«®£ ¥âáï ¢ ¯ ॠedx:eax ¢ eax - ®áâ ⮪
|
xor edx,edx ;१ã«ìâ â à ᯮ« £ ¥âáï ¢ ¯ ॠedx:eax ¢ eax - ®áâ ⮪
|
||||||
sub eax,4 ;¢ëç⨬ 4
|
sub eax,4 ;¢ëç⥬ 4
|
||||||
mov ebx,6 ;§ £à㧬¨ ¤¥«¨â¥«ì
|
mov ebx,6 ;§ £à㧨¬ ¤¥«¨â¥«ì
|
||||||
div ebx ;à §¬¤¥«¨¬ 6
|
div ebx ;à §¤¥«¨¬ 6
|
||||||
ret
|
ret
|
||||||
;----------------------------------------------------------
|
;----------------------------------------------------------
|
||||||
;--- ¯à®æ¥¤ãà à¨á®¢ ¨ï ªãàá®à --------------------------
|
;--- ¯à®æ¥¤ãà à¨á®¢ ¨ï ªãàá®à --------------------------
|
||||||
@ -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
|
|||||||
;----------------------------------------------------------
|
;----------------------------------------------------------
|
||||||
;--- ¯à®¢¥àª , § 襫 «¨ ªãàá®à § £à ¨æë ¨, ¥á«¨ ¤®, ---
|
;--- ¯à®¢¥àª , § 襫 «¨ ªãàá®à § £à ¨æë ¨, ¥á«¨ ¤®, ---
|
||||||
;--- ¨§¬¥ï¥¬ ᬥ饨¥ ------------------------------------
|
;--- ¨§¬¥ï¥¬ ᬥ饨¥ ------------------------------------
|
||||||
;--- ¥á«¨ ᬥ饨¥ ¡ë«® ãáâ ®¢ª ä« £ ed_offset_cl ¨ ç¥
|
;--- ¥á«¨ ᬥ饨¥ ¡ë«®, ãáâ ®¢ª ä« £ ed_offset_cl, ¨ ç¥,
|
||||||
; ¥á«¨ ¨ç¥£® ¥ ¨§¬¥¨«®áì â® ¢ëáâ ¢«¥¨¥ ed_offset_fl
|
; ¥á«¨ ¨ç¥£® ¥ ¨§¬¥¨«®áì, â® ¢ëáâ ¢«¥¨¥ ed_offset_fl
|
||||||
; ¢ ®¡é¥© ¡¨â®¢®© ¬ âà¨æ¥ á®áâ®ï¨ï ª®¬¯®¥â®¢ word ed_flags
|
; ¢ ®¡é¥© ¡¨â®¢®© ¬ âà¨æ¥ á®áâ®ï¨ï ª®¬¯®¥â®¢ 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 ;¯®«ã稬 ª®«-¢® ᨬ¢®«®¢ ª®â®àë¥ ã¬¥é îâáï ¢ è¨à¨¥ ª®¬¯®¥â , ¢ ¯ ॠॣ¨áâ஢ edx:eax
|
call edit_box.get_n ;¯®«ã稬 ª®«-¢® ᨬ¢®«®¢ ª®â®àë¥ ã¬¥é îâáï ¢ è¨à¨¥ ª®¬¯®¥â , ¢ ¯ ॠॣ¨áâ஢ 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 ;¯®¨áª ¢ áâப¥ edi ᨬ¢®« al
|
repne scasb ;¯®¨áª ¢ áâப¥ edi ᨬ¢®« al
|
||||||
mov ecx,edi ;ecx = text + ¬¨. § 票¥ ¨§: 1) ed_max ¨«¨ 2) ¤«¨ë áâப¨ text
|
mov ecx,edi ;ecx = text + ¬¨. § 票¥ ¨§: 1) ed_max ¨«¨ 2) ¤«¨ë áâப¨ text
|
||||||
|
|
||||||
mov edi,dword[edit]
|
mov edi,dword[edit]
|
||||||
mov esi,dword[text]
|
mov esi,dword[text]
|
||||||
sub ecx,esi ;ecx = ¤«¨ áâப¨ text (® ¥ ¡®«ìè¥ ç¥¬ ed_max)
|
sub ecx,esi ;ecx = ¤«¨ áâப¨ text (® ¥ ¡®«ìè¥ ç¥¬ ed_max)
|
||||||
dec ecx
|
dec ecx
|
||||||
mov ed_size,ecx ;áâ ¢¨¬ ®¢ë© à §¬¥à áâப¨
|
mov ed_size,ecx ;áâ ¢¨¬ ®¢ë© à §¬¥à áâப¨
|
||||||
mov ed_pos,ecx ;áâ ¢¨¬ ªãàá®à ¢ ª®¥æ ®¢®© áâப¨
|
mov ed_pos,ecx ;áâ ¢¨¬ ªãàá®à ¢ ª®¥æ ®¢®© áâப¨
|
||||||
@ -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
|
||||||
;¥á«¨ ¨ ç¥
|
;¥á«¨ ¨ ç¥
|
||||||
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 ;¡®«ì襥
|
pop ebx ;¡®«ì襥
|
||||||
pop eax ;¬¥ì襥
|
pop eax ;¬¥ì襥
|
||||||
|
|
||||||
cmp eax,ecx ;áà ¢¥¨¥ á ¬¥ì襣® á offset.
|
cmp eax,ecx ;áà ¢¥¨¥ ¬¥ì襣® á offset.
|
||||||
jae edit_box_key.f_f ;¥á«¨ ¡®«ìè¥
|
jae edit_box_key.f_f ;¥á«¨ ¡®«ìè¥
|
||||||
xor eax,eax
|
xor eax,eax
|
||||||
cmp edx,ebx ;cà ¢¨¬ à §¬¥à w_off á ¡®«ì訬
|
cmp edx,ebx ;cà ¢¨¬ à §¬¥à w_off á ¡®«ì訬
|
||||||
@ -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à ¢¨¬ à §¬¥à w_off á ¡®«ì訬
|
cmp edx,ebx ;cà ¢¨¬ à §¬¥à w_off á ¡®«ì訬
|
||||||
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 ; à¨á®¢ âì ¯àאַ㣮«ì¨ª á § ¤ ë¬ æ¢¥â®¬
|
call edit_box_key.draw_rectangle ; à¨á®¢ âì ¯àאַ㣮«ì¨ª á § ¤ ë¬ æ¢¥â®¬
|
||||||
jmp @b
|
jmp @b
|
||||||
;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;
|
||||||
;”ãªæ¨ï ãáâ ®¢ª¨ ¢ë¤¥«¥¨ï ¯à¨ ¤¢¨¦¥¨ï ¢«¥¢® ¨ ¢¯à ¢® ¨ ¦ ⨨ shift
|
;”ãªæ¨ï ãáâ ®¢ª¨ ¢ë¤¥«¥¨ï ¯à¨ ¤¢¨¦¥¨¨ ¢«¥¢® ¨ ¢¯à ¢® ¨ ¦ ⨨ shift
|
||||||
;‹®£¨ª :
|
;‹®£¨ª :
|
||||||
;;;;;;;;;;
|
;;;;;;;;;;
|
||||||
edit_box_key.draw_wigwag:
|
edit_box_key.draw_wigwag:
|
||||||
;äãªæ¨ï ãáâ ®¢ª¨ ¯¥à¥¬¥ëå
|
;äãªæ¨ï ãáâ ®¢ª¨ ¯¥à¥¬¥ëå
|
||||||
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 ;ãáâ ®¢ª ä« £ , ¢ë¤¥«¥®© ®¡« áâ¨
|
or word ed_flags,ed_shift_bac ;ãáâ ®¢ª ä« £ ¢ë¤¥«¥®© ®¡« áâ¨
|
||||||
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
|
||||||
;;;;;;;;;;
|
;;;;;;;;;;
|
||||||
;”ãªæ¨ï 㤠«¥¨ï ¢ë¤¥«¥¨ï ¯à¨ ¤¢¨¦¥¨ï ¢«¥¢® ¨ ¢¯à ¢® ¨ ¦ ⨨ shift
|
;”ãªæ¨ï 㤠«¥¨ï ¢ë¤¥«¥¨ï ¯à¨ ¤¢¨¦¥¨¨ ¢«¥¢® ¨ ¢¯à ¢® ¨ ¦ ⨨ shift
|
||||||
;‹®£¨ª :
|
;‹®£¨ª :
|
||||||
;;;;;;;;;;
|
;;;;;;;;;;
|
||||||
edit_box_key.draw_wigwag_cl:
|
edit_box_key.draw_wigwag_cl:
|
||||||
;äãªæ¨ï ãáâ ®¢ª¨ ¯¥à¥¬¥ëå
|
;äãªæ¨ï ãáâ ®¢ª¨ ¯¥à¥¬¥ëå
|
||||||
@ -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
|
||||||
;Ž¡à ¡®âª ªà ©¨å ¯®«®¦¥¨© ¢ editbox ¯à¨ ¦ ⮬ shift
|
;Ž¡à ¡®âª ªà ©¨å ¯®«®¦¥¨© ¢ editbox ¯à¨ ¦ ⮬ shift
|
||||||
;¯à®¨§¢®¤¨â áï⨥ ¢ë¤¥«¥¨¥, ¥á«¨ ¥â shift
|
;¯à®¨§¢®¤¨â áï⨥ ¢ë¤¥«¥¨ï, ¥á«¨ ¥â shift
|
||||||
;¨ ç¥ ¢®®¡é¥ ¢ë室¨â
|
;¨ ç¥ ¢®®¡é¥ ¢ë室¨â
|
||||||
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_ ;®ç¨á⪠¢ë¤¥«¥®£® äà £¬¥â
|
call edit_box_key.sh_cl_ ;®ç¨á⪠¢ë¤¥«¥®£® äà £¬¥â
|
||||||
and word ed_flags,ed_shift_cl ; ®ç¨á⪠®â ⮣® çâ® ã¡à «¨ ¢ë¤¥«¥¨¥
|
and word ed_flags,ed_shift_cl ; ®ç¨á⪠®â ⮣®, çâ® ã¡à «¨ ¢ë¤¥«¥¨¥
|
||||||
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
|
||||||
;¯à®¢¥àª á®áâ®ï¨ï shift ¡ë« «¨ ® ¦ â à ìè¥?
|
;¯à®¢¥àª á®áâ®ï¨ï shift, ¡ë« «¨ ® ¦ â à ìè¥?
|
||||||
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 ; à¨á®¢ âì § ªà è¥ë© ¯àאַ㣮«ì¨ª
|
jne edit_box_key.sh_ext_en ; à¨á®¢ âì § ªà è¥ë© ¯àאַ㣮«ì¨ª
|
||||||
|
|
||||||
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_ ;®ç¨á⪠¢ë¤¥«¥®£® äà £¬¥â
|
call edit_box_key.sh_cl_ ;®ç¨á⪠¢ë¤¥«¥®£® äà £¬¥â
|
||||||
call edit_box_key.draw_wigwag_cl
|
call edit_box_key.draw_wigwag_cl
|
||||||
and word ed_flags,ed_shift_cl ; 1¢ à ¥ 㦮
|
and word ed_flags,ed_shift_cl ; 1¢ à ¥ 㦮
|
||||||
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>¨á®¢ ¨¥ § ªà è¥ëå ¯àאַ㣮«ì¨ª®¢ ¨ ®ç¨á⪠¨å
|
;<3B>¨á®¢ ¨¥ § ªà è¥ëå ¯àאַ㣮«ì¨ª®¢ ¨ ¨å ®ç¨áâª
|
||||||
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
|
||||||
;¯à®¢¥àª ¨ à¨á®¢ ¨¥ § ªà è¥ëå ®¡« á⥩
|
;¯à®¢¥àª ¨ à¨á®¢ ¨¥ § ªà è¥ëå ®¡« á⥩
|
||||||
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 ;ãáâ ®¢ª ä« £ , ¢ë¤¥«¥®© ®¡« áâ¨
|
or word ed_flags,ed_shift_bac ;ãáâ ®¢ª ä« £ , ¢ë¤¥«¥®© ®¡« áâ¨
|
||||||
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 ;çâ® ¡ë ¥ ¡ë«® ã¡¥£ ¨ï ªãàá®à
|
mov ed_pos,eax ;çâ®¡ë ¥ ¡ë«® ã¡¥£ ¨ï ªãàá®à
|
||||||
mov ebp,ecx
|
mov ebp,ecx
|
||||||
sub ebp,eax
|
sub ebp,eax
|
||||||
add ebx,eax ;eax ¬¥ìè¥
|
add ebx,eax ;eax ¬¥ìè¥
|
||||||
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
|
||||||
;¥á«¨ ¨ ç¥
|
;¥á«¨ ¨ ç¥
|
||||||
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 ;㪠§ ⥫ì + ᬥ饨¥ ª ॠ«ì®¬ã ¡ãää¥àã
|
@@: add esi,ecx ;㪠§ ⥫ì + ᬥ饨¥ ª ॠ«ì®¬ã ¡ãä¥àã
|
||||||
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
|
||||||
;¢ëç¨á«¨âì § ªà 訢 ¥¬ãî ®¡« áâì
|
;¢ëç¨á«¨âì § ªà 訢 ¥¬ãî ®¡« áâì
|
||||||
@ -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> à¨á®¢ âì ¯àאַ㣮«ì¨ª, 梥⠯¥à¥¤ ¥âáï ¢ ebp
|
;<3B> à¨á®¢ âì ¯àאַ㣮«ì¨ª, 梥⠯¥à¥¤ ¥âáï ¢ ebp
|
||||||
;¢å®¤ë¥ ¯ à ¬¥âàë:
|
;¢å®¤ë¥ ¯ à ¬¥âàë:
|
||||||
;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 ;ãáâ ®¢¨¬ ä« £
|
or word ed_flags,ed_shift ;ãáâ ®¢¨¬ ä« £
|
||||||
@@:edit_ex
|
@@:edit_ex
|
||||||
}
|
}
|
||||||
;¬ ªà®á ª« ¢¨è ª®â®àë¥ ¯à®¨á室¨â ॠªæ¨ï
|
;¬ ªà®á ª« ¢¨è ª®â®àë¥ ¯à®¨á室¨â ॠªæ¨ï
|
||||||
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 - ª« ¢¨è ))
|
cmp ah,27 ;ESC - ª« ¢¨è ))
|
||||||
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 - ª« ¢¨è ))
|
cmp ah,13 ;ENTER - ª« ¢¨è ))
|
||||||
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 - ª« ¢¨è ))
|
cmp ah,9 ;TAB - ª« ¢¨è ))
|
||||||
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 - ª« ¢¨è ))
|
cmp ah,4 ;Num Lock - ª« ¢¨è ))
|
||||||
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 - ª« ¢¨è ))
|
cmp ah,2 ;Caps Lock - ª« ¢¨è ))
|
||||||
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 - ª« ¢¨è ))
|
cmp ah,1 ;Scroll Lock - ª« ¢¨è ))
|
||||||
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 ; ⮫쪮 æ¨äàë ?
|
test word ed_flags,ed_figure_only ; ⮫쪮 æ¨äàë?
|
||||||
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 ;…᫨ ã á ¯®§¨æ¨ï ªãàá®à = ⥪ã饬ã à §¬¥àã ¯¥ç â ëå ᨬ¢®«®¢ â.¥. ªãàá®à á⮨⠢ ª®æ¥
|
cmp ecx,ebx ;…᫨ ã á ¯®§¨æ¨ï ªãàá®à = ⥪ã饬ã à §¬¥àã ¯¥ç â ëå ᨬ¢®«®¢ â.¥. ªãàá®à á⮨⠢ ª®æ¥
|
||||||
je edit_box_key.In_k
|
je edit_box_key.In_k
|
||||||
|
|
||||||
test dword bp_flags,ed_insert ;IF insert is enable â.ª. edi ¨§¬¥¥ ¤à¥á㥬 ç¥à¥§ ebp
|
test dword bp_flags,ed_insert ;IF insert is enabled â.ª. edi ¨§¬¥¥, ¤à¥á㥬 ç¥à¥§ 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> ©¤¥¬ ª®«-¢® ᨬ¢®«®¢ ¤«ï ¯¥à¥¤¢¨¦¥¨ï.
|
sub ecx,ebx ;<3B> ©¤¥¬ ª®«-¢® ᨬ¢®«®¢ ¤«ï ¯¥à¥¤¢¨¦¥¨ï.
|
||||||
inc edi ;‘¬¥á⨬ è¨ á¨¬¢®«ë ¢ ¯à ¢®
|
inc edi ;‘¬¥á⨬ è¨ á¨¬¢®«ë ¢¯à ¢®
|
||||||
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
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;--- ¦ â ª« ¢¨è backspace ---
|
;--- ¦ â ª« ¢¨è backspace ---
|
||||||
edit_box_key.backspace:
|
edit_box_key.backspace:
|
||||||
; ¯à®¢¥à塞, ªãàá®à ã «¥¢®£® ªà ï ?
|
test word ed_flags,ed_shift_on
|
||||||
|
jne edit_box_key.delete
|
||||||
|
; ¯à®¢¥à塞, ªãàá®à ã «¥¢®£® ªà ï?
|
||||||
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
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;--- ¦ â ª« ¢¨è left ---
|
;--- ¦ â ª« ¢¨è 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
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;--- ¦ â ª« ¢¨è right ---
|
;--- ¦ â ª« ¢¨è 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 ; ¢ëç⨬ ¨§ ª®®à¤¨ â ¬ë誨 ¯® ®á¨ å ª®®à¤¨ âë ¤® editbox ¯® ®á¨ å
|
sub eax,ebx ; ¢ëç⥬ ¨§ ª®®à¤¨ â ¬ë誨 ¯® ®á¨ å ª®®à¤¨ âë ¤® editbox ¯® ®á¨ å
|
||||||
mov ebx,6
|
mov ebx,6
|
||||||
div ebx
|
div ebx
|
||||||
;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;
|
||||||
;;¯à®æ¥¤ãà ®¡à ¡®âª¨ ¯®«®¦¥¨ï ¢ë¤¥«¥®£® ⥪áâ , ¢ ¯à¥¤¥« å ®¡« á⨠editbox
|
;;¯à®æ¥¤ãà ®¡à ¡®âª¨ ¯®«®¦¥¨ï ¢ë¤¥«¥®£® ⥪áâ , ¢ ¯à¥¤¥« å ®¡« á⨠editbox
|
||||||
;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;
|
||||||
;<3B>®«ã稫¨ ª®®à¤¨ âë ¢ eax ¬ë誨, â.¥. ªã¤ ® ¯¥à¥¬¥á⨫ áì
|
;<3B>®«ã稫¨ ª®®à¤¨ âë ¢ eax ¬ë誨, â.¥. ªã¤ ® ¯¥à¥¬¥á⨫ áì
|
||||||
;<3B>¨á®¢ ¨¥ § ªà è¥ëå ¯àאַ㣮«ì¨ª®¢ ¨ ®ç¨á⪠¨å
|
;<3B>¨á®¢ ¨¥ § ªà è¥ëå ¯àאַ㣮«ì¨ª®¢ ¨ ¨å ®ç¨áâª
|
||||||
add eax,ed_offset ;¤®¡ ¢¨¬ ᬥ饨¥
|
add eax,ed_offset ;¤®¡ ¢¨¬ ᬥ饨¥
|
||||||
cmp eax,dword ed_size ;¥á«¨ ¢ë諨 § ¯à¥¤¥«ë, â® ¨ç¥£® ¥ ¤¥« âì
|
cmp eax,dword ed_size ;¥á«¨ ¢ë諨 § ¯à¥¤¥«ë, â® ¨ç¥£® ¥ ¤¥« âì
|
||||||
ja edit_box_mouse.mwigvag
|
ja edit_box_mouse.mwigvag
|
||||||
edit_box_mouse.mdraw:
|
edit_box_mouse.mdraw:
|
||||||
mov dword ed_pos,eax ;á®åà ¨¬ ®¢®¥ § 票¥
|
mov dword ed_pos,eax ;á®åà ¨¬ ®¢®¥ § 票¥
|
||||||
;<3B>¨á®¢ ¨¥ § ªà è¥ëå ¯àאַ㣮«ì¨ª®¢ ¨ ®ç¨á⪠¨å
|
;<3B>¨á®¢ ¨¥ § ªà è¥ëå ¯àאַ㣮«ì¨ª®¢ ¨ ¨å ®ç¨áâª
|
||||||
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 ;¢¥á¥¬ ®¢®¥ § 票¥ áâ ன ¯®§¨æ¨¨ ªãàá®à
|
mov dword ed_shift_pos_old,eax ;¢¥á¥¬ ®¢®¥ § 票¥ áâ ன ¯®§¨æ¨¨ ªãàá®à
|
||||||
;¯à®¢¥àª ¨ à¨á®¢ ¨¥ § ªà è¥ëå ®¡« á⥩
|
;¯à®¢¥àª ¨ à¨á®¢ ¨¥ § ªà è¥ëå ®¡« á⥩
|
||||||
cmp ecx,ebx ;¢ëïá塞 ªã¤ ¡ë«® ¤¢¨¦¥¨¥ ®¤¨ è £ § ¤
|
cmp ecx,ebx ;¢ëïá塞 ªã¤ ¡ë«® ¤¢¨¦¥¨¥ ®¤¨ è £ § ¤
|
||||||
je edit_box_mouse.m1_shem ;¤¢¨¦¥¨ï ¥ ¡ë«® à ¥¥
|
je edit_box_mouse.m1_shem ;¤¢¨¦¥¨ï ¥ ¡ë«® à ¥¥
|
||||||
jb edit_box_mouse.msmaller ;¤¢¨¦¥¨¥ ¡ë«® ->
|
jb edit_box_mouse.msmaller ;¤¢¨¦¥¨¥ ¡ë«® ->
|
||||||
cmp ebx,eax ;¤¢¨¦¥¨¥ ¡ë«® ¤® í⮣® <- ¨ âãâ ¬ë ¯à®¢¥à塞 ᥩç á ªã¤ ¤¢¨¦¥¨¥ ¯à®¨á室¨â
|
cmp ebx,eax ;¤¢¨¦¥¨¥ ¡ë«® ¤® í⮣® <- ¨ âãâ ¬ë ¯à®¢¥à塞 ᥩç á ªã¤ ¤¢¨¦¥¨¥ ¯à®¨á室¨â
|
||||||
ja edit_box_mouse.m1_shem ;¥á«¨ ¡ë«® ¤¢¨¦¥¨¥ <- ⮠㦮 § ªà á¨âì ®¡« áâì
|
ja edit_box_mouse.m1_shem ;¥á«¨ ¡ë«® ¤¢¨¦¥¨¥ <- ⮠㦮 § ªà á¨âì ®¡« áâì
|
||||||
@ -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
|
||||||
;¢å®¤ë¥ ¯ à ¬¥âàë ebp=color ebx=ed_shift_pos
|
;¢å®¤ë¥ ¯ à ¬¥âàë 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
|
||||||
|
|
||||||
;--- ¨§¬¥ï¥¬ ¯®§¨æ¨î ªãàá®à ---
|
;--- ¨§¬¥ï¥¬ ¯®§¨æ¨î ªãàá®à ---
|
||||||
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 ;ãáâ ®¢ª 䮪ãá
|
bts word ed_flags,1 ;ãáâ ®¢ª 䮪ãá
|
||||||
jmp edit_box_mouse.m_sh
|
jmp edit_box_mouse.m_sh
|
||||||
@@:
|
@@:
|
||||||
cmp eax,dword ed_shift_pos ;¥á«¨ ¯®§¨æ¨¨ ¥ ¨§¬¥¨«¨áì
|
cmp eax,dword ed_shift_pos ;¥á«¨ ¯®§¨æ¨¨ ¥ ¨§¬¥¨«¨áì
|
||||||
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 ;ãáâ ®¢¨¬ ¡¨â çâ® ¬ë ¢ë¤¥«¨«¨ +shift_on +
|
or word ed_flags,ed_mous_adn_b ;ãáâ ®¢¨¬ ¡¨â, çâ® ¬ë ¢ë¤¥«¨«¨ +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
|
|||||||
; Œ ªà®á ¢ë室
|
; Œ ªà®á ¢ë室
|
||||||
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 ;§ ¤ ¥âáï á¨á⥬ áç¨á«¥¨ï ¨§¬¥ïîâáï ॣ¨áâàë ebx,eax,ecx,edx ¢å®¤ë¥ ¯ à ¬¥âàë eax - ç¨á«®
|
mov ecx,0x0a ;§ ¤ ¥âáï á¨á⥬ áç¨á«¥¨ï, ¨§¬¥ïîâáï ॣ¨áâàë ebx,eax,ecx,edx, ¢å®¤ë¥ ¯ à ¬¥âàë eax - ç¨á«®
|
||||||
;¯à¥à¥¢®¤ ç¨á« ¢ ASCII áâப㠢§®¤ë¥ ¤ ë¥ ecx=á¨á⥬ áç¨á«¥ï edi ¤à¥á ªã¤ § ¯¨áë¢ âì, ¡ã¤¥¬ áâபã, ¯à¨ç¥¬ ª®¥æ ¯¥à¥¬¥®©
|
;¯¥à¥¢®¤ ç¨á« ¢ ASCII áâபã, ¢å®¤ë¥ ¤ ë¥ ecx=á¨á⥬ áç¨á«¥¨ï, edi ¤à¥á ªã¤ ¡ã¤¥¬ § ¯¨áë¢ âì áâபã, ¯à¨ç¥¬ ª®¥æ ¯¥à¥¬¥®©
|
||||||
cmp eax,ecx ;áà ¢¨âì ¥á«¨ ¢ eax ¬¥ìè¥ ç¥¬ ¢ ecx â® ¯¥à¥©â¨ @@-1 â.¥. pop eax
|
cmp eax,ecx ;áà ¢¨âì, ¥á«¨ ¢ eax ¬¥ìè¥, 祬 ¢ ecx, â® ¯¥à¥©â¨ @@-1 â.¥. pop eax
|
||||||
jb @f
|
jb @f
|
||||||
xor edx,edx ;®ç¨áâ¨âì edx
|
xor edx,edx ;®ç¨áâ¨âì edx
|
||||||
div ecx ;à §¤¥«¨âì - ®áâ ⮪ ¢ edx
|
div ecx ;à §¤¥«¨âì - ®áâ ⮪ ¢ edx
|
||||||
push edx ;¯®«®¦¨âì ¢ á⥪
|
push edx ;¯®«®¦¨âì ¢ á⥪
|
||||||
;dec edi ;ᬥ饨¥ ¥®¡å®¤¨¬®¥ ¤«ï § ¯¨á¨ á ª®æ áâப¨
|
;dec edi ;ᬥ饨¥ ¥®¡å®¤¨¬®¥ ¤«ï § ¯¨á¨ á ª®æ áâப¨
|
||||||
call .str;¯¥à¥©â¨ á ¬ã ᥡï â.¥. ¢ë§¢ âì á ¬ã á¥¡ï ¨ â ª ¤® ⮣® ¬®¬¥â ¯®ª ¢ eax ¥ á⠥⠬¥ìè¥ ç¥¬ ¢ ecx
|
call .str ;¯¥à¥©â¨ á ¬ã ᥡï â.¥. ¢ë§¢ âì á ¬ã á¥¡ï ¨ â ª ¤® ⮣® ¬®¬¥â , ¯®ª ¢ eax ¥ á⠥⠬¥ìè¥ ç¥¬ ¢ ecx
|
||||||
pop eax
|
pop eax
|
||||||
@@: ;cmp al,10 ;¯à®¢¥à¨âì ¥ ¬¥ìè¥ «¨ § 票¥ ¢ al 祬 10 (¤«ï á¨á⥬ë áç¨á«¥ï 10 ¤ ï ª®¬ ¤ - «¨è ï))
|
@@: ;cmp al,10 ;¯à®¢¥à¨âì ¥ ¬¥ìè¥ «¨ § 票¥ ¢ al, 祬 10 (¤«ï á¨á⥬ë áç¨á«¥¨ï 10 ¤ ï ª®¬ ¤ - «¨è ï))
|
||||||
;sbb al,$69 ;- ç¥áâ® ¤ ï ¨áâàãªæ¨ï ¬¥ï § áâ ¢«ï¥â § ¤ã¬ âìáï â.¥. ï ¥ § î ª ª íâ® à ¡®â ¥â
|
;sbb al,$69 ;- ç¥áâ®, ¤ ï ¨áâàãªæ¨ï ¬¥ï § áâ ¢«ï¥â § ¤ã¬ âìáï â.¥. ï ¥ § î ª ª íâ® à ¡®â ¥â
|
||||||
;das ;¯®á«¥ ¤ ®© ª®¬ ¤ë ª ª ¡ë ¯à®¨á室¨â 㬥ì襨¥ al 66h (¢ ª¨£¥ ¯¨á ® ¤à㣮¥)
|
;das ;¯®á«¥ ¤ ®© ª®¬ ¤ë ª ª ¡ë ¯à®¨á室¨â 㬥ì襨¥ al 66h (¢ ª¨£¥ ¯¨á ® ¤à㣮¥)
|
||||||
or al,0x30 ;¤ ï ª®¬ ¤ ª®à®ç¥ 祬 ¤¢¥ ¢ëè¥
|
or al,0x30 ;¤ ï ª®¬ ¤ ª®à®ç¥, 祬 ¤¢¥ ¢ëè¥
|
||||||
stosb ;§ ¯¨á âì í«¥¬¥â ¨§ ॣ¨áâà al ¢ ï祪㠯 ¬ï⨠es:edi
|
stosb ;§ ¯¨á âì í«¥¬¥â ¨§ ॣ¨áâà al ¢ ï祩ªã ¯ ¬ï⨠es:edi
|
||||||
|
|
||||||
ret ;¢¥àãâìáï ç¥ì ¨â¥à¥áë© å®¤ â.ª. ¯®ª ¢ á⥪¥ åà ¨âìáï ª®«-¢® ¢ë§®¢®¢ â® á⮫쪮 à § ¬ë ¨ ¡ã¤¥¬ ¢ë§ë¢ âìáï
|
ret ;¢¥àãâìáï ®ç¥ì ¨â¥à¥áë© å®¤, â.ª. ¯®ª ¢ á⥪¥ åà ¨âáï ª®«-¢® ¢ë§®¢®¢, â® á⮫쪮 à § ¬ë ¨ ¡ã¤¥¬ ¢ë§ë¢ âìáï
|
||||||
}
|
}
|
||||||
|
|
||||||
ed_struc_size=76
|
ed_struc_size=76
|
||||||
|
Loading…
Reference in New Issue
Block a user