2009-02-13 12:04:33 +03:00
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;Basic macros for use editbox ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
2009-10-23 18:36:21 +04:00
macro use_editbox_draw
{
edit_box:
2009-02-13 12:04:33 +03:00
.draw:
pushad
;--- <20> <> <EFBFBD> 㥬 ࠬ<> <E0A0AC> ---
mov edi,dword [esp+36]
call .draw_border ; <20> 㭪<EFBFBD> <E3ADAA> <EFBFBD> <20> ⠡<EFBFBD> <E2A0A1> 쭠
.draw_bg_cursor_text:
;--- <20> <> <EFBFBD> <EFBFBD> <EFBFBD> 塞 ᬥ饭<E1ACA5> <E9A5AD> , <20> <20> <> <EFBFBD> <EFBFBD> ---
call .check_offset ;<3B> <> <EFBFBD> <EFBFBD> <EFBFBD> <E1ABA5> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> 樨 <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> ⠡<EFBFBD> <E2A0A1> 쭠
;--- <20> <> <EFBFBD> 㥬 <20> <> <EFBFBD> <EFBFBD> ७<EFBFBD> <E0A5AD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ---
call .draw_bg ;<3B> <> <EFBFBD> <EFBFBD> ᮢ<EFBFBD> <E1AEA2> <EFBFBD> <20> <> אַ㣮<EFACAE> 쭨<EFBFBD> ࠡ<> 祩 <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
;---- <20> <> <EFBFBD> 㥬 <20> 뤥<EFBFBD> <EBA4A5> <EFBFBD> <EFBFBD> <EFBFBD> , <20> <> shift <20> <20> <> <EFBFBD> <EFBFBD>
call .draw_shift
.draw_cursor_text:
;--- <20> <> <EFBFBD> 㥬 <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ---
;--- <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <20> <> <20> <> <EFBFBD> <EFBFBD> <20> <> ᮢ<EFBFBD> <E1AEA2> <EFBFBD> ----
test word ed_flags,ed_focus
2009-10-13 22:29:41 +04:00
jz @f
2009-02-13 12:04:33 +03:00
call .draw_cursor
@@:
call .draw_text
; ret
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;<3B> <> 騩 <20> <> 室 <20> <> editbox <20> <> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <20> 㭪権 <20> <20> <> <EFBFBD> <EFBFBD> <20> <> ࠡ<EFBFBD> <E0A0A1> 稪<EFBFBD> <E7A8AA> ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
.editbox_exit:
popad
ret 4
}
macro use_editbox_key
{
;==========================================================
;=== <20> <> ࠡ<EFBFBD> ⪠ <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> =================================
;==========================================================
edit_box_key:
pushad
mov edi,dword [esp+36]
test word ed_flags,ed_focus ; <20> <20> <> <20> 䮪<> <E4AEAA> <EFBFBD> , <20> <> 室<EFBFBD> <E5AEA4>
je edit_box.editbox_exit
test word ed_flags,ed_mouse_on
jne edit_box.editbox_exit
;<3B> <EFBFBD> ઠ <20> <> <EFBFBD> <EFBFBD> <EFBFBD> shift ?
call edit_box_key.check_shift
;----------------------------------------------------------
;--- <20> <EFBFBD> <E0AEA2> 塞, <20> <> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> --------------------------------
;----------------------------------------------------------
2012-12-21 22:57:14 +04:00
cmp ah,8
jz edit_box_key.backspace
cmp ah,0xb6
jz edit_box_key.delete
cmp ah,176
jz edit_box_key.left
cmp ah,179
jz edit_box_key.right
cmp ah,180
jz edit_box_key.home
cmp ah,181
jz edit_box_key.end
cmp ah,185 ;insert
jz edit_box_key.insert
2009-02-13 12:04:33 +03:00
;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;<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
;--- <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> 㣠<EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ---
;;;;;;;;;;;;;;;;;;;;;;;;;;;;
2011-02-09 04:01:22 +03:00
;<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> <20> <> <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>
2009-02-13 12:04:33 +03:00
;;;;;;;;;;;;;;;;;;;;;;;;;;;;
use_key_figures_only
;;;;;;;;;;;;;;;;;;;;;;;;;;;;
2011-02-09 04:01:22 +03:00
;<3B> <EFBFBD> ઠ <20> <> shift, <20> <> <EFBFBD> <20> <> <20> <> <EFBFBD> <EFBFBD> <EFBFBD>
2009-02-13 12:04:33 +03:00
;;;;;;;;;;;;;;;;;;;;;;;;;;;;
are_key_shift_press
;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; <20> <EFBFBD> <E0AEA2> 塞, <20> <> 室<EFBFBD> <E5AEA4> <EFBFBD> <EFBFBD> <20> <> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> + <20> <> <EFBFBD> 쭥<EFBFBD> <ECADA5> <EFBFBD> <EFBFBD> <20> <> ࠡ<EFBFBD> ⪠
;;;;;;;;;;;;;;;;;;;;;;;;;;;;
are_key_cur_end
;;;;;;;;;;;;;;;;;;;;;;;;;;;;
2011-02-09 04:01:22 +03:00
;<3B> <> ࠡ<EFBFBD> ⪠ <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> insert,delete.backspace,home,end,left,right
2009-02-13 12:04:33 +03:00
;;;;;;;;;;;;;;;;;;;;;;;;;;;;
use_work_key
}
macro use_editbox_mouse
{
;==========================================================
;=== <20> <> ࠡ<EFBFBD> ⪠ <20> <> <EFBFBD> <EFBFBD> =======================================
;==========================================================
;save for stdcall ebx,esi,edi,ebp
edit_box_mouse:
pushad
mov edi,dword [esp+36]
;debug
;----------------------------------------------------------
;--- <20> <> <EFBFBD> <EFBFBD> 砥<EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> ﭨ<EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> -----------------------
;----------------------------------------------------------
mcall 37,2
;----------------------------------------------------------
;--- <20> <EFBFBD> <E0AEA2> 塞 <20> <> <EFBFBD> <EFBFBD> <EFBFBD> ﭨ<EFBFBD> ----------------------------------
;----------------------------------------------------------
test eax,1
jnz edit_box_mouse.mouse_left_button
and word ed_flags,ed_mouse_on_off
2009-10-13 22:29:41 +04:00
mov ebx,dword ed_mouse_variable
push 0
pop dword [ebx]
; mov dword [ebx],ebx
2009-02-13 12:04:33 +03:00
jmp edit_box.editbox_exit
.mouse_left_button:
;----------------------------------------------------------
;--- <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <E0AEA2> <20> <> 䮪<> <E4AEAA> <EFBFBD> <EFBFBD> <E0AEA2> <20> <20> <> 㣨<EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <20> <> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
;----------------------------------------------------------
2009-10-13 22:29:41 +04:00
mov eax,dword ed_mouse_variable
push dword [eax]
pop eax
2009-02-13 12:04:33 +03:00
test eax,eax
jz @f
cmp eax,edi
je @f
jmp edit_box_mouse._blur
;----------------------------------------------------------
;--- <20> <> <EFBFBD> <EFBFBD> 砥<EFBFBD> <20> <> <EFBFBD> न<EFBFBD> <E0A4A8> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <20> ⭮<EFBFBD> <E2ADAE> ⥫쭮 0 <20> .<2E> <20> ᥩ <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> ࠭<EFBFBD>
;----------------------------------------------------------
@@: mcall 37,1
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;<3B> 㭪<EFBFBD> <E3ADAA> <EFBFBD> <20> <> ࠡ<EFBFBD> ⪨ <20> <> 誨 <20> <> <EFBFBD> <EFBFBD> 祭<EFBFBD> <E7A5AD> <20> <> <EFBFBD> न<EFBFBD> <E0A4A8> <EFBFBD> <20> <20> <EFBFBD> ઠ <20> <> + <20> 뤥<EFBFBD> <EBA4A5> <EFBFBD> <EFBFBD> <EFBFBD>
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
use_work_mouse
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;<3B> <> 騥 <20> 㭪樨 <20> <> ࠡ<EFBFBD> ⪨
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
use_general_func
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;<3B> 㭪樨 <20> <> <EFBFBD> ࠡ<> <E0A0A1> <EFBFBD> <20> key
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
use_key_func
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;<3B> 㭪樨 <20> <> <EFBFBD> ࠡ<> <E0A0A1> <EFBFBD> <20> mouse
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
2011-02-09 04:01:22 +03:00
use_mouse_func
2009-02-13 12:04:33 +03:00
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;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>
;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2011-02-09 04:01:22 +03:00
;<3B> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <20> 뢮<EFBFBD> <EBA2AE> <20> ᭮<EFBFBD> <E1ADAE> <EFBFBD> <EFBFBD> <20> 㭪権 <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> ᯮ<EFBFBD> <E1AFAE> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> ᮬ
2009-02-13 12:04:33 +03:00
macro use_general_func
{
;debug_func
;----------------------------------------------------------
2011-02-09 04:01:22 +03:00
;--- <20> <> <EFBFBD> 楤<EFBFBD> <E6A5A4> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> ᮢ<EFBFBD> <E1AEA2> <20> 뤥<EFBFBD> <EBA4A5> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> -----------------
2009-02-13 12:04:33 +03:00
;----------------------------------------------------------
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>
jz @f
mov ebp,shift_color
mov ebx,dword ed_shift_pos
call edit_box_key.sh_cl_
@@: ret
;----------------------------------------------------------
;--- <20> <> <EFBFBD> 楤<EFBFBD> <E6A5A4> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> ᮢ<EFBFBD> <E1AEA2> ⥪<> <E2A5AA> <EFBFBD> --------------------------
;----------------------------------------------------------
edit_box.draw_text:
;--- <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 塞, <> 쪮 <20> <> <EFBFBD> <EFBFBD> 頥<EFBFBD> <E9A0A5> <EFBFBD> ᨬ<> <E1A8AC> <EFBFBD> <EFBFBD> <EFBFBD> ---
;--- <20> ⮡<EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <20> <> ᮢ<EFBFBD> <E1AEA2> <EFBFBD> ---
call edit_box.get_n
mov esi,ed_size
mov ebx,ed_offset
sub esi,ebx
cmp eax,esi
jae @F
mov esi,eax ;<3B> ⮡<EFBFBD> <20> <> <20> <> 室<EFBFBD> <E5AEA4> <EFBFBD> <20> <> <20> ।<EFBFBD> <E0A5A4> <EFBFBD> <20> <> ࠭<EFBFBD>
2011-02-09 04:01:22 +03:00
;--- <20> <> <EFBFBD> 㥬 ⥪<> <E2A5AA> ---
2009-02-13 12:04:33 +03:00
@@: mov eax,4
mov ebx,ed_left
mov edx,ed_offset
add ebx,2
shl ebx,16
add ebx,ed_top
mov ecx,ed_text_color
add ebx,4
add edx,ed_text
2012-12-07 21:35:50 +04:00
test word ed_flags,ed_pass
jz @f
call edit_box.draw_password
jmp .end_f
@@:
2009-02-13 12:04:33 +03:00
mcall
2012-12-07 21:35:50 +04:00
.end_f:
ret
txt_pass db '*',0
proc edit_box.draw_password
locals
s_len dw ? ;<3B> <> <EFBFBD> <EFBFBD> <EFBFBD> <20> 뢮<EFBFBD> <EBA2AE> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ⥪<> <E2A5AA> <EFBFBD>
endl
2012-12-07 22:26:22 +04:00
cmp esi,1
jl .end_f ;<3B> <20> <> ப<EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
2012-12-07 21:35:50 +04:00
mov [s_len],si
xor esi,esi
inc esi
lea edx,[txt_pass]
@@:
mcall
add ebx,6 shl 16 ;<3B> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 塞 <20> ⠭<EFBFBD> <E2A0AD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> ਭ<EFBFBD> ᨬ<> <E1A8AC> <EFBFBD> <EFBFBD>
dec word[s_len]
cmp word[s_len],0
jg @b
2012-12-07 22:26:22 +04:00
.end_f:
2009-02-13 12:04:33 +03:00
ret
2012-12-07 21:35:50 +04:00
endp
2009-02-13 12:04:33 +03:00
;----------------------------------------------------------
;--- <20> <> <EFBFBD> 楤<EFBFBD> <E6A5A4> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> ᮢ<EFBFBD> <E1AEA2> 䮭<> ----------------------------
;<3B> 室<EFBFBD> <E5AEA4> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
;eax
;edx - color
;----------------------------------------------------------
2010-08-28 17:45:50 +04:00
2009-02-13 12:04:33 +03:00
edit_box.draw_bg:
mov ebx,ed_left
add ebx,1
mov edx,ed_color
shl ebx,16
add ebx,ed_width
sub ebx,1
2010-08-28 17:45:50 +04:00
;<3B> 室 ⮫쪮 梥<> edx
2009-02-13 12:04:33 +03:00
edit_box.draw_bg_eax:
mov ecx,ed_top
mov eax,13
add ecx,1
shl ecx,16
add ecx,ed_height
dec ecx
2011-02-09 04:01:22 +03:00
mcall
2009-02-13 12:04:33 +03:00
ret
;----------------------------------------------------------
2011-02-09 04:01:22 +03:00
;--- <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>
2009-02-13 12:04:33 +03:00
;----------------------------------------------------------
edit_box.get_n:
mov eax,ed_width ;<3B> <> <EFBFBD> <EFBFBD> 祬 <20> <> ਭ<EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
2011-02-09 04:01:22 +03:00
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
mov ebx,6 ;<3B> <> <EFBFBD> <EFBFBD> 㧨<EFBFBD> <20> <> <EFBFBD> <EFBFBD> ⥫<EFBFBD>
div ebx ;ࠧ<> <E0A0A7> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> 6
2009-02-13 12:04:33 +03:00
ret
;----------------------------------------------------------
;--- <20> <> <EFBFBD> 楤<EFBFBD> <E6A5A4> <EFBFBD> <20> <> ᮢ<EFBFBD> <E1AEA2> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> --------------------------
;----------------------------------------------------------
;<3B> 室<EFBFBD> <E5AEA4> <EFBFBD> ebp- 梥<>
edit_box.clear_cursor:
mov edx,ebp
mov ebx,cl_curs_x
mov ecx,cl_curs_y
jmp edit_box.draw_curs
edit_box.draw_cursor:
mov edx,ed_text_color
mov ebx,ed_pos
mov ecx,ed_offset
sub ebx,ecx
lea ebx,[ebx*2+ebx]
shl ebx,1
;imul ebx,6
add ebx,ed_left
mov ecx,ed_top
inc ebx
add ecx,2
mov ebp,ebx
shl ebx,16
mov bx,bp
mov ebp,ecx
2011-02-09 04:01:22 +03:00
2009-02-13 12:04:33 +03:00
shl ecx,16
mov cx,bp
add ecx,ed_height-4
2011-02-09 04:01:22 +03:00
2009-02-13 12:04:33 +03:00
mov cl_curs_x,ebx
mov cl_curs_y,ecx
2011-02-09 04:01:22 +03:00
edit_box.draw_curs:
2009-02-13 12:04:33 +03:00
mcall 38
ret
;----------------------------------------------------------
;--- <20> <> <EFBFBD> 楤<EFBFBD> <E6A5A4> <EFBFBD> <20> <> ᮢ<EFBFBD> <E1AEA2> <EFBFBD> <EFBFBD> ࠬ<> <E0A0AC> ----------------------------
;----------------------------------------------------------
edit_box.draw_border:
;--- 梥<> ࠬ<> <E0A0AC> ---
test word ed_flags,ed_focus
mov edx,ed_focus_border_color
jne @f
mov edx,ed_blur_border_color
@@:
;--- ᢥ<> <E1A2A5> <EFBFBD> ---
mov eax,38
mov ebx,ed_left
mov ecx,ebx
shl ebx,16
mov bx,cx
add ebx,ed_width
mov ecx,ed_top
mov esi,ecx
shl ecx,16
mov cx,si
mcall
;--- ᭨<> <E1ADA8> ---
mov esi,ecx
add ecx,ed_height
mov ebp,ecx
shl ecx,16
mov cx,bp
mcall
;--- <> <E1ABA5> ---
mov cx,si
mov ebp,ebx
sub ebx,ed_width
mcall
;--- <20> <> ࠢ<EFBFBD> ---
mov ebx,ebp
shl ebx,16
mov bx,bp
mcall
ret
;----------------------------------------------------------
;--- <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> ------------------------------------
2011-02-09 04:01:22 +03:00
;--- <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
2010-09-17 20:05:21 +04:00
; <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
2009-02-13 12:04:33 +03:00
;----------------------------------------------------------
edit_box.check_offset:
pushad
mov ecx,ed_pos
mov ebx,ed_offset
cmp ebx,ecx
ja edit_box.sub_8
push ebx
2011-02-09 04:01:22 +03:00
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
2009-02-13 12:04:33 +03:00
pop ebx
mov edx,ebx
add edx,eax ;ed_offset+width editbox
2010-08-28 17:45:50 +04:00
inc edx ;<3B> <> <EFBFBD> <EFBFBD> 室<EFBFBD> <E5AEA4> <EFBFBD> <20> <> <EFBFBD> <20> <> ଠ <EFBFBD> 쭮<EFBFBD> <ECADAE> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <20> ࠩ<EFBFBD> <E0A0A9> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> 樨
2009-02-13 12:04:33 +03:00
cmp edx,ecx
ja @f
mov edx,ed_size
cmp edx,ecx
je edit_box.add_end
sub edx,ecx
cmp edx,8
jbe edit_box.add_8
add ebx,8
jmp edit_box.chk_d
2009-10-16 05:13:34 +04:00
edit_box.sub_8:
2010-08-28 17:45:50 +04:00
test ecx,ecx
jz edit_box.sub_min
2009-02-13 12:04:33 +03:00
cmp ebx,8
jbe edit_box.sub_min
sub ebx,8 ;ebx=ed_offset
jmp edit_box.chk_d
edit_box.sub_min:
xor ebx,ebx
jmp edit_box.chk_d
edit_box.add_end:sub edx,eax
mov ebx,edx
jmp edit_box.chk_d
edit_box.add_8: add ebx,edx
edit_box.chk_d: mov ed_offset,ebx
call edit_box.draw_bg
and word ed_flags,ed_offset_cl
edit_ex
2011-02-09 04:01:22 +03:00
@@:
2009-02-13 12:04:33 +03:00
or word ed_flags,ed_offset_fl
2010-08-28 17:45:50 +04:00
2009-02-13 12:04:33 +03:00
edit_ex
2010-09-17 20:05:21 +04:00
align 4
proc edit_box_set_text, edit:dword, text:dword
pushad
mov edi,dword[edit]
mov ecx,ed_max
inc ecx ;<3B> <> <EFBFBD> <EFBFBD> 뢠<EFBFBD> <EBA2A0> <20> <> <EFBFBD> <EFBFBD> 饥 <20> <> १<EFBFBD> <E0A5A7> <EFBFBD> <EFBFBD> <20> <> ப<EFBFBD> <20> <> <EFBFBD> ascii 0
mov edi,dword[text]
xor al,al
cld
repne scasb ;<3B> <> <EFBFBD> <EFBFBD> <EFBFBD> <20> <20> <> ப<EFBFBD> edi ᨬ<> <E1A8AC> <EFBFBD> <EFBFBD> al
2011-02-09 04:01:22 +03:00
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
2010-09-17 20:05:21 +04:00
mov edi,dword[edit]
mov esi,dword[text]
2011-02-09 04:01:22 +03:00
sub ecx,esi ;ecx = <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> ப<EFBFBD> text (<28> <> <20> <> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 祬 ed_max)
2010-09-17 20:05:21 +04:00
dec ecx
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>
2012-08-01 12:21:13 +04:00
and word ed_flags,ed_shift_cl ;᭨<> <E1ADA8> <EFBFBD> <EFBFBD> <20> 뤥<EFBFBD> <EBA4A5> <EFBFBD> <EFBFBD> <EFBFBD> <20> <20> <> <EFBFBD> <20> 뫮
2010-09-17 20:05:21 +04:00
mov edi,ed_text
repne movsb ;<3B> <> <EFBFBD> <EFBFBD> <EFBFBD> <E0AEA2> <EFBFBD> <EFBFBD> ⥪<> ⮢<EFBFBD> <E2AEA2> <20> <> ப<EFBFBD> text <20> edit_box
mov byte[edi],0 ;<3B> ⠢<EFBFBD> <E2A0A2> ascii 0 <20> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> ப<EFBFBD>
popad
ret
endp
2009-02-13 12:04:33 +03:00
}
macro use_key_func
{
;<3B> <> ࠡ<EFBFBD> ⪠ Shift <20> <> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> 뤥<EFBFBD> <EBA4A5> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ⭮<EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
edit_box_key.shift: ;;;;;;;SHIFT
test word ed_flags,ed_shift
je edit_box_key.f_exit
@@: mov ebp,shift_color
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 ebx,dword ed_shift_pos
call edit_box_key.sh_cl_
jmp edit_box.draw_cursor_text
;;;;;;;;;;;;;;;;;;;;;
2011-02-09 04:01:22 +03:00
edit_box_key.f_exit:
2010-08-28 17:45:50 +04:00
call edit_box.check_offset
2009-02-13 12:04:33 +03:00
and word ed_flags,ed_shift_cl
call edit_box_key.enable_null
jmp edit_box.draw_cursor_text
edit_box_key.sh_cl_:
;;;;;;SHIFT end
;<3B> <> ࠡ<EFBFBD> ⪠ <20> <> <EFBFBD> <EFBFBD> ⪨, <20> <> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> - <20> ࠢ<EFBFBD> <E0A0A2> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> 뤥<EFBFBD> <EBA4A5> <EFBFBD> <EFBFBD> <EFBFBD>
;<3B> <> <EFBFBD> <20> <> ࠡ<EFBFBD> ⪨ <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> 뤥<EFBFBD> <EBA4A5> <EFBFBD> <EFBFBD> <EFBFBD>
;<3B> 室<EFBFBD> <E5AEA4> <EFBFBD> <20> <> ࠬ<EFBFBD> <E0A0AC> <EFBFBD> <EFBFBD> ebp=color ebx=ed_shift_pos
mov eax,dword ed_pos
cmp eax,ebx
jae edit_box_key.sh_n
push eax ;<3B> <> <EFBFBD> <EFBFBD> 襥 <20> eax
push ebx ;<3B> <> <EFBFBD> <EFBFBD> 襥
jmp edit_box_key.sh_n1
;<3B> <20> <> <EFBFBD> <EFBFBD> <EFBFBD>
2009-10-13 22:29:41 +04:00
edit_box_key.sh_n:
2011-02-09 04:01:22 +03:00
push ebx
2009-02-13 12:04:33 +03:00
push eax
2011-02-09 04:01:22 +03:00
edit_box_key.sh_n1:
2009-02-13 12:04:33 +03:00
call edit_box.check_offset
call edit_box.get_n
mov edx,eax ;size of ed_box
mov ecx,ed_offset
add eax,ecx ;eax = w_off= ed_offset+width
mov edx,eax ;save
pop ebx ;<3B> <> <EFBFBD> <EFBFBD> 襥
pop eax ;<3B> <> <EFBFBD> <EFBFBD> 襥
2011-02-09 04:01:22 +03:00
cmp eax,ecx ;<3B> ࠢ<EFBFBD> <E0A0A2> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> 襣<EFBFBD> <20> offset.
2009-02-13 12:04:33 +03:00
jae edit_box_key.f_f ;<3B> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
xor eax,eax
cmp edx,ebx ;cࠢ<63> <E0A0A2> <EFBFBD> ࠧ<> <E0A0A7> <EFBFBD> w_off <20> <20> <> <EFBFBD> <EFBFBD> 訬
jb @f
sub ebx,ecx
jmp edit_box_key.nxt_f
@@: mov ebx,edx
2011-02-09 04:01:22 +03:00
sub ebx,ecx
2009-02-13 12:04:33 +03:00
jmp edit_box_key.nxt_f
2011-02-09 04:01:22 +03:00
edit_box_key.f_f:
2009-02-13 12:04:33 +03:00
sub eax,ecx
cmp edx,ebx ;cࠢ<63> <E0A0A2> <EFBFBD> ࠧ<> <E0A0A7> <EFBFBD> w_off <20> <20> <> <EFBFBD> <EFBFBD> 訬
jle @f
sub ebx,ecx
sub ebx,eax
jmp edit_box_key.nxt_f
@@:
2011-02-09 04:01:22 +03:00
mov ebx,edx
2009-02-13 12:04:33 +03:00
sub ebx,ecx
sub ebx,eax
edit_box_key.nxt_f:
mov edx,ebx
lea ebx,[eax*2+eax]
shl ebx,1
add ebx,ed_left
inc ebx
shl ebx,16
lea ecx,[edx*2+edx]
2011-02-09 04:01:22 +03:00
shl ecx,1
2009-02-13 12:04:33 +03:00
mov bx,cx
inc ebx
mov edx,ebp;shift_color
call edit_box.draw_bg_eax
@@: call edit_box_key.enable_null
ret
;;;;;;;;;;;;;;;;;;;;;
;<3B> <> ⠭<EFBFBD> <E2A0AD> <EFBFBD> <EFBFBD> - <20> <> <EFBFBD> ⨥ <20> 뤥<EFBFBD> <EBA4A5> <EFBFBD> <EFBFBD> <EFBFBD> <20> <20> <> <EFBFBD> <EFBFBD> ᨬ<> <E1A8AC> <EFBFBD>
;;;;;;;;;;;;;;;;;;;;;
edit_box_key.drw_sim:
mov eax,dword ed_pos
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
;;;;;;;;;;;;;;;;;;;;;
2011-02-09 04:01:22 +03:00
;<3B> 㭪<EFBFBD> <E3ADAA> <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> :
2009-02-13 12:04:33 +03:00
;;;;;;;;;;
edit_box_key.draw_wigwag:
;<3B> 㭪<EFBFBD> <E3ADAA> <EFBFBD> <20> <> ⠭<EFBFBD> <E2A0AD> <EFBFBD> <EFBFBD> <20> <> ६<EFBFBD> <E0A5AC> <EFBFBD> <EFBFBD> <EFBFBD>
mov ebp,shift_color
call edit_box.clear_cursor
2011-02-09 04:01:22 +03:00
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>
2009-02-13 12:04:33 +03:00
mov ebp,shift_color
mov eax,dword ed_pos
test word ed_flags,ed_left_fl
jz edit_box_key.low
jmp @f
;;;;;;;;;;
2011-02-09 04:01:22 +03:00
;<3B> 㭪<EFBFBD> <E3ADAA> <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> :
2009-02-13 12:04:33 +03:00
;;;;;;;;;;
edit_box_key.draw_wigwag_cl:
;<3B> 㭪<EFBFBD> <E3ADAA> <EFBFBD> <20> <> ⠭<EFBFBD> <E2A0AD> <EFBFBD> <EFBFBD> <20> <> ६<EFBFBD> <E0A5AC> <EFBFBD> <EFBFBD> <EFBFBD>
mov ebp,ed_color
call edit_box.clear_cursor
mov ebp,ed_color
mov eax,dword ed_pos
test word ed_flags,ed_left_fl
jz edit_box_key.low
@@: call edit_box_key.draw_rectangle ;<3B> <> <EFBFBD> <EFBFBD> ᮢ<EFBFBD> <E1AEA2> <EFBFBD> <20> <> אַ㣮<EFACAE> 쭨<EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> 訢<EFBFBD> <E8A8A2> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
ret
edit_box_key.low: dec eax
jmp @b
;<3B> 室<EFBFBD> <E5AEA4> <EFBFBD> <20> <> ࠬ<EFBFBD> <E0A0AC> <EFBFBD> ebx - ed_pos
edit_box_key.sh_first_sh:
test word ed_flags,ed_shift
je @f
mov dword ed_shift_pos_old,ebx
test word ed_flags,ed_shift_on
jne @f
mov dword ed_shift_pos,ebx
or word ed_flags,ed_shift_on
@@: ret
;<3B> <> ࠡ<EFBFBD> ⪠ <20> ࠩ<EFBFBD> <E0A0A9> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> editbox <20> <> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> ⮬ shift
2011-02-09 04:01:22 +03:00
;<3B> ந<EFBFBD> <E0AEA8> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> ⨥ <20> 뤥<EFBFBD> <EBA4A5> <EFBFBD> <EFBFBD> <EFBFBD> , <20> <20> <> <EFBFBD> shift
2009-02-13 12:04:33 +03:00
;<3B> <> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> 室<EFBFBD> <E5AEA4>
edit_box_key.sh_st_of:
test word ed_flags,ed_shift
jne @f
test word ed_flags,ed_shift_bac
je @f
mov ebp,ed_color
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>
2011-02-09 04:01:22 +03:00
and word ed_flags,ed_shift_cl ; <20> <> <EFBFBD> <EFBFBD> ⪠ <20> <> ⮣<> , <20> <> <EFBFBD> <20> <> ࠫ<EFBFBD> <20> 뤥<EFBFBD> <EBA4A5> <EFBFBD> <EFBFBD> <EFBFBD>
2009-02-13 12:04:33 +03:00
jmp edit_box.draw_cursor_text
@@:
and word ed_flags,ed_shift_off
2009-06-13 01:36:05 +04:00
popad
ret 4
2011-02-09 04:01:22 +03:00
;<3B> <EFBFBD> ઠ <20> <> <EFBFBD> <EFBFBD> <EFBFBD> ﭨ<EFBFBD> shift, <20> <> <EFBFBD> <20> <> <20> <> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> ࠭<> <E0A0AD> <EFBFBD> ?
2009-02-13 12:04:33 +03:00
edit_box_key.sh_enable:
test word ed_flags,ed_shift
2011-02-09 04:01:22 +03:00
jne edit_box_key.sh_ext_en ;<3B> <> <EFBFBD> <EFBFBD> ᮢ<EFBFBD> <E1AEA2> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> 襭<EFBFBD> <E8A5AD> <EFBFBD> <20> <> אַ㣮<EFACAE> 쭨<EFBFBD>
2009-02-13 12:04:33 +03:00
test word ed_flags,ed_shift_bac
je @f
call edit_box.check_offset
mov ebp,ed_color
mov ebx,dword ed_shift_pos
2011-02-09 04:01:22 +03:00
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
and word ed_flags,ed_shift_cl ; 1<> <31> <EFBFBD> <20> <> <20> 㦭<EFBFBD>
2009-02-13 12:04:33 +03:00
ret
@@: mov ebp,ed_color
call edit_box.clear_cursor
call edit_box.check_offset
ret
2011-02-09 04:01:22 +03:00
edit_box_key.sh_ext_en:
2009-02-13 12:04:33 +03:00
call edit_box.check_offset
test word ed_flags,ed_offset_fl
je @f
2011-02-09 04:01:22 +03:00
;<3B> <> ᮢ<EFBFBD> <E1AEA2> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> 襭<EFBFBD> <E8A5AD> <EFBFBD> <20> <> אַ㣮<EFACAE> 쭨<EFBFBD> <ECADA8> <EFBFBD> <20> <20> <> <20> <> <EFBFBD> <EFBFBD> ⪠
2009-02-13 12:04:33 +03:00
mov eax,dword ed_shift_pos
mov ebx,dword ed_pos
mov ecx,dword ed_shift_pos_old
2011-02-09 04:01:22 +03:00
;<3B> <EFBFBD> ઠ <20> <20> <> ᮢ<EFBFBD> <E1AEA2> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> 襭<EFBFBD> <E8A5AD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> ⥩
2009-02-13 12:04:33 +03:00
cmp eax,ecx
je edit_box_key.1_shem
jb edit_box_key.smaller
cmp ecx,ebx
ja edit_box_key.1_shem
call edit_box_key.draw_wigwag_cl ;clear
jmp edit_box_key.sh_e_end
edit_box_key.smaller:
cmp ecx,ebx
jb edit_box_key.1_shem
call edit_box_key.draw_wigwag_cl ;clear
jmp edit_box_key.sh_e_end
;alike =
edit_box_key.1_shem: call edit_box_key.draw_wigwag
edit_box_key.sh_e_end: and word ed_flags,ed_shift_off
ret
@@: mov ebp,shift_color
mov ebx,dword ed_shift_pos
call edit_box_key.sh_cl_
jmp edit_box_key.sh_e_end
;<3B> 㭪<EFBFBD> <E3ADAA> <EFBFBD> <20> <> <EFBFBD> <20> <> ࠡ<EFBFBD> ⪨ shift <20> <> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> ⨨ home and end
edit_box_key.sh_home_end:
mov ebp,ed_color
call edit_box.clear_cursor
test word ed_flags,ed_shift_bac
je @f
mov ebp,ed_color
mov ebx,dword ed_shift_pos_old
call edit_box_key.sh_cl_
@@: test word ed_flags,ed_shift
je edit_box_key.sh_exit_ ;<3B> <> <EFBFBD> <EFBFBD> <EFBFBD>
mov ebp,shift_color
mov ebx,dword ed_shift_pos
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>
jmp edit_box_key.sh_e_end
2011-02-09 04:01:22 +03:00
edit_box_key.sh_exit_:
2010-08-28 17:45:50 +04:00
call edit_box.draw_bg
2009-10-16 05:13:34 +04:00
call edit_box.check_offset
2009-02-13 12:04:33 +03:00
ret
;<3B> 㭪<EFBFBD> <E3ADAA> <EFBFBD> <20> <> <EFBFBD> ᥭ<EFBFBD> <E1A5AD> 0 <20> <> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ed_size+1
edit_box_key.enable_null:
pusha
mov eax,ed_size
mov ebx,ed_text
test eax,eax
add eax,ebx
jne @f
inc eax
@@: xor ebx,ebx
mov [eax],bl
edit_ex
;- 㤠<> <E3A4A0> <EFBFBD> <EFBFBD> <EFBFBD> ᨬ<> <E1A8AC> <EFBFBD> <EFBFBD>
;<3B> 室<EFBFBD> <E5AEA4> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> edx=ed_size;ecx=ed_pos
edit_box_key.del_char:
mov esi,ed_text
test word ed_flags,ed_shift_on
je @f
mov eax,dword ed_shift_pos
mov ebx,esi
cmp eax,ecx
jae edit_box_key.dh_n
2011-02-09 04:01:22 +03:00
mov ed_pos,eax ;<3B> ⮡<EFBFBD> <20> <> <20> 뫮 㡥<> <E3A1A5> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
2009-02-13 12:04:33 +03:00
mov ebp,ecx
sub ebp,eax
2011-02-09 04:01:22 +03:00
add ebx,eax ;eax <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
2009-02-13 12:04:33 +03:00
sub edx,ecx
add esi,ecx
mov dword ed_shift_pos,ebp
jmp edit_box_key.del_ch_sh
;<3B> <20> <> <EFBFBD> <EFBFBD> <EFBFBD>
2011-02-09 04:01:22 +03:00
edit_box_key.dh_n:
2009-02-13 12:04:33 +03:00
mov ebp,eax
sub ebp,ecx
add ebx,ecx
sub edx,eax
add esi,eax
mov dword ed_shift_pos,ebp
jmp edit_box_key.del_ch_sh
2011-02-09 04:01:22 +03:00
@@: add esi,ecx ;㪠<> <E3AAA0> ⥫<EFBFBD> + ᬥ饭<E1ACA5> <E9A5AD> <20> ॠ<> 쭮<EFBFBD> <ECADAE> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
2009-02-13 12:04:33 +03:00
mov ebx,esi
inc esi
cld
sub edx,ecx
edit_box_key.del_ch_sh:
push edi
mov edi,ebx
@@:
lodsb
stosb
dec edx
jns @b
2011-02-09 04:01:22 +03:00
2009-02-13 12:04:33 +03:00
pop edi
ret
;<3B> <> <EFBFBD> <EFBFBD> <EFBFBD> <E1ABA8> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> 訢<EFBFBD> <E8A8A2> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
;ᮣ<> <E1AEA3> 襭<EFBFBD> <E8A5AD> <20> ebp - <20> <> ।<EFBFBD> <E0A5A4> <EFBFBD> <EFBFBD> <EFBFBD> ed_size
edit_box_key.clear_bg:
call edit_box.get_n ;<3B> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ࠧ<> <E0A0A7> <EFBFBD> <20> ᨬ<> <E1A8AC> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> ਭ<EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
push eax
mov ebx,ed_offset
add eax,ebx ;eax = w_off= ed_offset+width
mov ebx,ebp ;ed_size
2011-02-09 04:01:22 +03:00
2009-02-13 12:04:33 +03:00
cmp eax,ebx
jb @f
mov eax,ed_pos
sub ebx,eax
mov ecx,ed_offset
sub eax,ecx
jmp edit_box_key.nxt
@@: mov ebx,ed_pos
push ebx
sub eax,ebx
2011-02-09 04:01:22 +03:00
mov ebx,eax ;It is not optimal
2009-02-13 12:04:33 +03:00
pop eax ;ed_pos
mov ecx,ed_offset
sub eax,ecx
edit_box_key.nxt:
mov ebp,eax ;<3B> <EFBFBD> ઠ <20> <> <20> <> 室 <20> <> <EFBFBD> <EFBFBD> <EFBFBD> 訢<EFBFBD> <E8A8A2> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <20> ।<EFBFBD> <E0A5A4> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD>
add ebp,ebx
pop edx
cmp ebp,edx
je @f
inc ebx
@@: mov edx,ebx
lea ebx,[eax*2+eax]
shl ebx,1
add ebx,ed_left
inc ebx
shl ebx,16
lea ecx,[edx*2+edx]
2011-02-09 04:01:22 +03:00
shl ecx,1
2009-02-13 12:04:33 +03:00
mov bx,cx
mov edx,ed_color
call edit_box.draw_bg_eax
ret
;;;;;;;;;;;;;;;;;;;
;;; <20> <> ࠡ<EFBFBD> ⪠ <20> ਬ<EFBFBD> ⨢<EFBFBD> <E2A8A2>
;;;;;;;;;;;;;;;;;;;;
;<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> :
;eax=dword ed_pos
2011-02-09 04:01:22 +03:00
;ebp=-梥<> ed_color or shift_color
2009-02-13 12:04:33 +03:00
edit_box_key.draw_rectangle:
mov ecx,dword ed_offset
sub eax,ecx
lea ebx,[eax*2+eax]
shl ebx,1
inc ebx
add ebx,ed_left
shl ebx,16
add ebx,6
mov edx,ebp
call edit_box.draw_bg_eax
ret
;;;;;;;;;;;;;;;;;;
;;<3B> <EFBFBD> ઠ <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> shift
;;;;;;;;;;;;;;;;;;
edit_box_key.check_shift:
pusha ;<3B> <> <EFBFBD> ࠭<EFBFBD> <E0A0AD> <20> <> <EFBFBD> ॣ<> <E0A5A3> <EFBFBD> <EFBFBD> <EFBFBD>
2009-02-13 13:52:40 +03:00
mcall 66,3
2009-02-13 12:04:33 +03:00
test al,0x03
je @f
or word ed_flags,ed_shift ;<3B> <> ⠭<EFBFBD> <E2A0AD> <EFBFBD> <EFBFBD> 䫠<>
@@:edit_ex
}
macro use_key_no_process up,down,esc,enter,tab,numl,capsl,scrolll
{
2011-02-09 04:01:22 +03:00
if up eq
2009-02-13 12:04:33 +03:00
else
cmp ah,177
jz edit_box.editbox_exit
end if
2011-02-09 04:01:22 +03:00
if down eq
2009-02-13 12:04:33 +03:00
else
cmp ah,178
jz edit_box.editbox_exit
end if
2011-02-09 04:01:22 +03:00
if esc eq
2009-02-13 12:04:33 +03:00
else
cmp ah,27 ;ESC - <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ))
jz edit_box.editbox_exit
end if
2011-02-09 04:01:22 +03:00
if enter eq
2009-02-13 12:04:33 +03:00
else
cmp ah,13 ;ENTER - <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ))
jz edit_box.editbox_exit
end if
2011-02-09 04:01:22 +03:00
if tab eq
2009-02-13 12:04:33 +03:00
else
cmp ah,9 ;TAB - <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ))
jz edit_box.editbox_exit
end if
2011-02-09 04:01:22 +03:00
if numl eq
2009-02-13 12:04:33 +03:00
else
cmp ah,4 ;Num Lock - <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ))
jz edit_box.editbox_exit
end if
2011-02-09 04:01:22 +03:00
if capsl eq
2009-02-13 12:04:33 +03:00
else
cmp ah,2 ;Caps Lock - <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ))
jz edit_box.editbox_exit
end if
2011-02-09 04:01:22 +03:00
if scrolll eq
2009-02-13 12:04:33 +03:00
else
cmp ah,1 ;Scroll Lock - <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ))
jz edit_box.editbox_exit
end if
}
macro use_key_figures_only
{
2011-02-09 04:01:22 +03:00
test word ed_flags,ed_figure_only ; ⮫쪮 <20> <> <EFBFBD> <EFBFBD> <EFBFBD> ?
2009-02-13 12:04:33 +03:00
jz @f
cmp ah,'0'
jb edit_box.editbox_exit
cmp ah,'9'
ja edit_box.editbox_exit
@@:
}
macro are_key_shift_press
{
test word ed_flags,ed_shift_on
je @f
;<3B> 室<EFBFBD> <E5AEA4> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> edx=ed_size;ecx=ed_pos
push eax
mov edx,ed_size
mov ecx, ed_pos
pusha
;;;;;;;;;;;;;;;;;;;;;
;clear input arrea
mov ebp,ed_color
mov ebx,dword ed_shift_pos
call edit_box_key.sh_cl_
mov ebp,ed_size
call edit_box_key.clear_bg
;;;;;;;;;;;;;;;;;;;;;
2011-02-09 04:01:22 +03:00
popa
2009-02-13 12:04:33 +03:00
call edit_box_key.del_char
;;;;
mov ebx,ed_size
2012-12-21 22:57:14 +04:00
sub ebx,dword ed_shift_pos
2009-02-13 12:04:33 +03:00
mov ed_size,ebx
pop eax
@@:
}
macro are_key_cur_end
{
mov ecx,ed_size
mov edx, ed_max
test word ed_flags,ed_insert
jne @f
cmp ecx,edx
jae edit_box.editbox_exit
@@: mov ebx, ed_pos
cmp ebx,edx
jl @f ; <20> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> ࠢ<> <E0A0A2>
jmp edit_box.editbox_exit
@@: ; ᤢ<> <E1A4A2> <EFBFBD> <EFBFBD> <EFBFBD> ᨬ<> <E1A8AC> <EFBFBD> <EFBFBD> <20> <> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> ࠢ<EFBFBD>
mov ecx,ed_size
push edi eax
mov ebp,edi
mov esi,ed_text ; <20> <> <EFBFBD> <EFBFBD> <EFBFBD> ⥫<EFBFBD> <20> <> <20> <> <EFBFBD> <EFBFBD> <EFBFBD>
;<3B> 㤥<EFBFBD> ࠡ<> <E0A0A1> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <20> <> ப<EFBFBD> <E0AEAA>
add esi,ecx ;add ed_size <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> max size
mov edi,esi
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
2011-02-09 04:01:22 +03:00
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
2009-02-13 12:04:33 +03:00
jne edit_box_key.ins_v
;clear
pusha
mov edi,ebp
mov ebp,ed_size
call edit_box_key.clear_bg
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> .
2011-02-09 04:01:22 +03:00
inc edi ;<3B> <> <EFBFBD> <EFBFBD> ⨬ <20> <> <EFBFBD> <EFBFBD> ᨬ<> <E1A8AC> <EFBFBD> <EFBFBD> <20> <> ࠢ<EFBFBD>
2009-02-13 12:04:33 +03:00
std
inc ecx
2011-02-09 04:01:22 +03:00
@@:
2009-02-13 12:04:33 +03:00
;--------
lodsb
stosb
;--------
loop @b
2011-02-09 04:01:22 +03:00
edit_box_key.In_k:
2009-10-13 22:29:41 +04:00
cld
2009-02-13 12:04:33 +03:00
pop eax
mov al,ah
stosb
pop edi
; <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
inc dword ed_pos
call edit_box_key.draw_all2
jmp edit_box_key.shift
}
macro use_work_key
{
edit_box_key.insert: test word ed_flags,ed_insert ;not word ed_insert
je @f
and word ed_flags,ed_insert_cl
jmp edit_box.editbox_exit
@@:
or word ed_flags,ed_insert
jmp edit_box.editbox_exit
edit_box_key.ins_v:
2009-10-16 05:13:34 +04:00
; dec dword [ebp+48];ed_size ;processing is insert
dec dword bp_size
2009-02-13 12:04:33 +03:00
sub esi,ecx
add esi,ebx
mov edi,esi
;clear
pusha
mov edi,ebp
mov ebp,ed_pos
call edit_box_key.clear_bg
popa
jmp edit_box_key.In_k
;;;;;;;;;;;;;;;;;;;;;;;;;;;;
2011-02-09 04:01:22 +03:00
edit_box_key.delete:
2009-02-13 12:04:33 +03:00
mov edx,ed_size
mov ecx,ed_pos
cmp edx,ecx
jg edit_box_key.bac_del
test word ed_flags,ed_shift_on
jne edit_box_key.del_bac
2009-06-13 01:36:05 +04:00
popad
ret 4
2011-02-09 04:01:22 +03:00
edit_box_key.bac_del:
2009-02-13 12:04:33 +03:00
call edit_box_key.del_char
jmp edit_box_key.draw_all
2011-02-09 04:01:22 +03:00
;;;;;;;;;;;;;;;;;;;;;;;;;;;;
2009-02-13 12:04:33 +03:00
;--- <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> backspace ---
edit_box_key.backspace:
2011-02-09 04:01:22 +03:00
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> ?
2009-02-13 12:04:33 +03:00
mov ecx,ed_pos
test ecx,ecx
jnz edit_box_key.del_bac
2009-06-13 01:36:05 +04:00
popad
ret 4
2009-02-13 12:04:33 +03:00
edit_box_key.del_bac:
mov edx,ed_size
cmp edx,ecx ;if ed_pos=ed_size
je @f
dec ecx
call edit_box_key.del_char
@@: test word ed_flags,ed_shift_on
jne edit_box_key.bac_del
dec dword ed_pos
edit_box_key.draw_all:
push edit_box_key.shift;.draw_cursor_text;eax
test word ed_flags,ed_shift_on
je @f
mov eax,dword ed_shift_pos
mov ebx,ed_size
sub ebx,eax
mov ed_size,ebx
mov ebp,ed_color
call edit_box.clear_cursor
call edit_box.check_offset
call edit_box.draw_bg
ret
@@: dec dword ed_size
edit_box_key.draw_all2:
and word ed_flags,ed_shift_cl
mov ebp,ed_color
call edit_box.clear_cursor
call edit_box.check_offset
mov ebp,ed_size
call edit_box_key.clear_bg
ret
;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;--- <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> left ---
2011-02-09 04:01:22 +03:00
edit_box_key.left:
2009-10-13 22:29:41 +04:00
mov ebx,ed_pos
2009-02-13 12:04:33 +03:00
test ebx,ebx
jz edit_box_key.sh_st_of
or word ed_flags,ed_left_fl
call edit_box_key.sh_first_sh
dec dword ed_pos
call edit_box_key.sh_enable
jmp edit_box.draw_cursor_text
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;--- <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> right ---
2011-02-09 04:01:22 +03:00
edit_box_key.right:
2009-10-13 22:29:41 +04:00
mov ebx,ed_pos
2009-02-13 12:04:33 +03:00
cmp ebx,ed_size
je edit_box_key.sh_st_of
and word ed_flags,ed_right_fl
call edit_box_key.sh_first_sh
inc dword ed_pos
call edit_box_key.sh_enable
jmp edit_box.draw_cursor_text
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
2011-02-09 04:01:22 +03:00
edit_box_key.home:
2009-02-13 12:04:33 +03:00
mov ebx,ed_pos
test ebx,ebx
jz edit_box_key.sh_st_of
call edit_box_key.sh_first_sh
xor eax,eax
mov ed_pos,eax
call edit_box_key.sh_home_end
jmp edit_box.draw_cursor_text
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
2011-02-09 04:01:22 +03:00
edit_box_key.end:
2009-02-13 12:04:33 +03:00
mov ebx,ed_pos
cmp ebx,dword ed_size
je edit_box_key.sh_st_of
call edit_box_key.sh_first_sh
mov eax,ed_size
mov ed_pos,eax
call edit_box_key.sh_home_end
jmp edit_box.draw_cursor_text
}
macro use_mouse_func
{
;----------------------------------------------------------
;--- <20> <> ࠡ<EFBFBD> ⪠ .mouse_wigwag
;----------------------------------------------------------
edit_box_mouse.mouse_wigwag:
shr eax,16
or word ed_flags,ed_shift_bac+ed_shift_on+ed_shift
;;;;;;;;;;;;;;;;;;
;;<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> <> <EFBFBD> <EFBFBD> <EFBFBD> <20> ந<EFBFBD> 室<EFBFBD> <E5AEA4> <20> <> 室 <20> <> <20> ।<EFBFBD> <E0A5A4> <EFBFBD> editbox
;;;;;;;;;;;;;;;;;;
test ax,0x8000
jnz edit_box_mouse.mleft
mov ebx,ed_left
cmp eax,ebx
jb edit_box_mouse.mleft
add ebx,ed_width
cmp eax,ebx
2011-02-09 04:01:22 +03:00
ja edit_box_mouse.mright
2009-02-13 12:04:33 +03:00
sub ebx,ed_width
xor edx,edx
2011-02-09 04:01:22 +03:00
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>
2009-02-13 12:04:33 +03:00
mov ebx,6
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> 稫<EFBFBD> <20> <> <EFBFBD> न<EFBFBD> <E0A4A8> <EFBFBD> <EFBFBD> <20> eax <20> <> 誨, <20> .<2E> . <20> 㤠 <20> <> <EFBFBD> <20> <> ६<EFBFBD> <E0A5AC> ⨫<EFBFBD> <E2A8AB> <EFBFBD>
2011-02-09 04:01:22 +03:00
;<3B> <> ᮢ<EFBFBD> <E1AEA2> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> 襭<EFBFBD> <E8A5AD> <EFBFBD> <20> <> אַ㣮<EFACAE> 쭨<EFBFBD> <ECADA8> <EFBFBD> <20> <20> <> <20> <> <EFBFBD> <EFBFBD> ⪠
2009-02-13 12:04:33 +03:00
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>
ja edit_box_mouse.mwigvag
2011-02-09 04:01:22 +03:00
edit_box_mouse.mdraw:
2009-02-13 12:04:33 +03:00
mov dword ed_pos,eax ;<3B> <> <EFBFBD> ࠭<EFBFBD> <E0A0AD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> 祭<EFBFBD> <E7A5AD>
2011-02-09 04:01:22 +03:00
;<3B> <> ᮢ<EFBFBD> <E1AEA2> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> 襭<EFBFBD> <E8A5AD> <EFBFBD> <20> <> אַ㣮<EFACAE> 쭨<EFBFBD> <ECADA8> <EFBFBD> <20> <20> <> <20> <> <EFBFBD> <EFBFBD> ⪠
2009-02-13 12:04:33 +03:00
mov ecx,dword ed_shift_pos
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>
2011-02-09 04:01:22 +03:00
;<3B> <EFBFBD> ઠ <20> <20> <> ᮢ<EFBFBD> <E1AEA2> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> 襭<EFBFBD> <E8A5AD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> ⥩
2009-02-13 12:04:33 +03:00
cmp ecx,ebx ;<3B> <> <EFBFBD> <EFBFBD> <EFBFBD> 塞 <20> 㤠 <20> 뫮 <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <20> <> <EFBFBD> <EFBFBD> 蠣 <20> <> <EFBFBD> <EFBFBD> <EFBFBD>
2011-02-09 04:01:22 +03:00
je edit_box_mouse.m1_shem ;<3B> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <20> 뫮 ࠭<> <E0A0AD>
2009-02-13 12:04:33 +03:00
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>
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>
je edit_box_mouse.mwigvag ;<3B> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <20> 뫮, <20> <> <20> <> 祣<EFBFBD> <20> <> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
mov ebp,ed_color ;<3B> <> <EFBFBD> <20> 㦭<EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> c ed_pos ed_shift_pos_old
;<3B> 室<EFBFBD> <E5AEA4> <EFBFBD> <20> <> ࠬ<EFBFBD> <E0A0AC> <EFBFBD> <EFBFBD> ebp=color ebx=ed_shift_pos
call edit_box_key.sh_cl_
jmp edit_box_mouse.mwigvag
edit_box_mouse.msmaller:
cmp ebx,eax
jb edit_box_mouse.m1_shem
mov ebp,ed_color
;<3B> 室<EFBFBD> <E5AEA4> <EFBFBD> <20> <> ࠬ<EFBFBD> <E0A0AC> <EFBFBD> <EFBFBD> ebp=color ebx=ed_shift_pos
call edit_box_key.sh_cl_
jmp edit_box_mouse.mwigvag
;alike =
2011-02-09 04:01:22 +03:00
edit_box_mouse.m1_shem:
2009-02-13 12:04:33 +03:00
mov ebp,shift_color
;<3B> 室<EFBFBD> <E5AEA4> <EFBFBD> <20> <> ࠬ<EFBFBD> <E0A0AC> <EFBFBD> <EFBFBD> ebp=color ebx=ed_shift_pos
mov ebx,ecx
call edit_box_key.sh_cl_
jmp edit_box_mouse.mwigvag
edit_box_mouse.mwigvag:
and word ed_flags,ed_shift_mcl
jmp edit_box.draw_cursor_text
; popa
; ret
edit_box_mouse.mleft:
mov eax,ed_pos
2011-02-09 04:01:22 +03:00
cmp eax,0
2009-02-13 12:04:33 +03:00
jbe edit_box_mouse.mwigvag
dec eax
call edit_box.check_offset
push eax
mov ebx,ed_shift_pos
mov ebp,shift_color
call edit_box_key.sh_cl_
pop eax
jmp edit_box_mouse.mdraw
edit_box_mouse.mright:
mov eax,ed_pos
mov ebx,ed_size
cmp eax,ebx
jae edit_box_mouse.mwigvag
inc eax
call edit_box.check_offset
mov ebx,ed_shift_pos
mov ebp,shift_color
push eax
call edit_box_key.sh_cl_
pop eax
2011-02-09 04:01:22 +03:00
jmp edit_box_mouse.mdraw
2009-02-13 12:04:33 +03:00
}
macro use_work_mouse
;----------------------------------------------------------
;--- <20> <20> <> 㤥ন<E3A4A5> <E0A6A8> <EFBFBD> <EFBFBD> <20> <> <20> <> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> 誨, <20> <> ६<EFBFBD> <E0A5AC> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> , <20> <> <20> <> <EFBFBD> ࠧ<> <E0A0A7> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> ?
;----------------------------------------------------------
{
test word ed_flags,ed_mouse_on
jne edit_box_mouse.mouse_wigwag
;----------------------------------------------------------
;--- <20> <EFBFBD> <E0AEA2> 塞, <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> edit box -------------
;----------------------------------------------------------
mov ebx,ed_top
cmp ax,bx
jl edit_box_mouse._blur;.mouse_end_no_focus
2011-02-09 04:01:22 +03:00
2009-02-13 12:04:33 +03:00
add ebx,ed_height
cmp ax,bx
jg edit_box_mouse._blur;.mouse_end_no_focus
shr eax,16
mov ebx,ed_left
cmp ax,bx
jl edit_box_mouse._blur;.mouse_end_no_focus
add ebx,ed_width
cmp ax,bx
2011-02-09 04:01:22 +03:00
jg edit_box_mouse._blur;.mouse_end_no_focus
2009-02-13 12:04:33 +03:00
;--- <20> <> <EFBFBD> <EFBFBD> <EFBFBD> 塞 <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ---
push eax
mov ebp,ed_color
call edit_box.clear_cursor
pop eax
edit_box_mouse._mvpos:
xor edx,edx
sub eax,ed_left
mov ebx,6
div bx
add eax,ed_offset
cmp eax,ed_size
jna edit_box_mouse._mshift
mov eax,ed_size
edit_box_mouse._mshift:
;;;;;;;
;;<3B> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> ࠡ<EFBFBD> ⪨ shift <20> <20> 뤥<EFBFBD> <EBA4A5> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> shift
;;;;;;;
test word ed_flags,ed_shift_bac
je @f
mov ebp,dword ed_color
mov ebx,dword ed_shift_pos
push eax
call edit_box_key.sh_cl_
and word ed_flags,ed_shift_bac_cl
pop eax
2011-02-09 04:01:22 +03:00
@@:
2009-02-13 12:04:33 +03:00
test word ed_flags,ed_mouse_on
jne @f
2011-02-09 04:01:22 +03:00
2009-02-13 12:04:33 +03:00
mov dword ed_shift_pos,eax
or word ed_flags,ed_mouse_on
mov dword ed_pos,eax
2009-10-13 22:29:41 +04:00
; mov dword [mouse_flag],edi ;<3B> <> ⠭<EFBFBD> <E2A0AD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 䨪<EFBFBD> <E4A8AA> <EFBFBD> <EFBFBD>
mov ebx,dword ed_mouse_variable
push edi
pop dword [ebx]
2009-02-13 12:04:33 +03:00
bts word ed_flags,1 ;<3B> <> ⠭<EFBFBD> <E2A0AD> <EFBFBD> <EFBFBD> 䮪<> <E4AEAA> <EFBFBD>
jmp edit_box_mouse.m_sh
2011-02-09 04:01:22 +03:00
@@:
2009-02-13 12:04:33 +03:00
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
mov ed_pos,eax
mov ebp,dword shift_color
mov ebx,dword ed_shift_pos
call edit_box_key.sh_cl_
2011-02-09 04:01:22 +03:00
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:
2009-10-13 22:29:41 +04:00
call edit_box.draw_text
2009-02-13 12:04:33 +03:00
call edit_box.draw_cursor
;----------------------------------------------------------
;--- <20> <> <EFBFBD> 楤<EFBFBD> <E6A5A4> <EFBFBD> <20> <> ⠭<EFBFBD> <E2A0AD> <EFBFBD> <EFBFBD> 䮪<> <E4AEAA> <EFBFBD> ---------------------------
;----------------------------------------------------------
jmp edit_box_mouse.drc
edit_box_mouse._blur:
test word ed_flags,ed_always_focus
jne edit_box.editbox_exit
btr word ed_flags,1 ; <20> <20> <> <20> 䮪<> <E4AEAA> <EFBFBD> , <20> <> 室<EFBFBD> <E5AEA4>
jnc edit_box.editbox_exit
mov ebp,ed_color
call edit_box.clear_cursor
edit_box_mouse.drc: call edit_box.draw_border
jmp edit_box.editbox_exit
}
; <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> 室<EFBFBD>
macro edit_ex
{
2011-02-09 04:01:22 +03:00
popad
2009-02-13 12:04:33 +03:00
ret
}
macro debug
{
;----------- <20> ⫠<EFBFBD> <E2ABA0> <EFBFBD>
pushad
; mov dword [ed_buffer.2],0
; mov eax,edi
mov eax,dword [ed_buffer.2]
mov edi,ed_buffer.3
call .str
;<3B> <> ᮢ<EFBFBD> <E1AEA2> <EFBFBD> <EFBFBD> 䮭<>
mov eax,13
mov ebx,178*65536+70
mov ecx,28*65536+10
xor edx,edx
int 0x40
;<3B> 뢮<EFBFBD> <20> <> <EFBFBD> 祭<EFBFBD> <E7A5AD> <20> <> <20> <> ࠭
mov eax,4
mov ebx,180*65536+30
mov ecx,0x10DDBBCC
mov edx,ed_buffer.3
mov esi,8
int 0x40
popad
;----------- <20> ⫠<EFBFBD> <E2ABA0> <EFBFBD>
}
macro debug_func
{
.str:
2011-02-09 04:01:22 +03:00
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> <E0A5A2> <20> <> <20> ASCII <20> <> ப<EFBFBD> , <20> 室<EFBFBD> <E5AEA4> <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> <EBA2A0> <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
2009-02-13 12:04:33 +03:00
jb @f
xor edx,edx ;<3B> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> edx
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>
2011-02-09 04:01:22 +03:00
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
2009-02-13 12:04:33 +03:00
pop eax
2011-02-09 04:01:22 +03:00
@@: ;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>
2009-02-13 12:04:33 +03:00
;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> )
2011-02-09 04:01:22 +03:00
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> <E7A5A9> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> es:edi
ret ;<3B> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> 祭<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>
2009-02-13 12:04:33 +03:00
}
2009-10-13 22:29:41 +04:00
ed_struc_size=76