Upgrade macros
git-svn-id: svn://kolibrios.org@507 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
@@ -45,6 +45,10 @@ pusha
|
|||||||
call .draw_cursor
|
call .draw_cursor
|
||||||
@@:
|
@@:
|
||||||
call .draw_text
|
call .draw_text
|
||||||
|
;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
;<3B><>騩 <20><>室 <20><> editbox <20><><EFBFBD> <20><><EFBFBD><EFBFBD> <20>㭪権 <20> <20><><EFBFBD><EFBFBD> <20><>ࠡ<EFBFBD><E0A0A1>稪<EFBFBD><E7A8AA>
|
||||||
|
;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
.editbox_exit:
|
||||||
edit_ex
|
edit_ex
|
||||||
;==========================================================
|
;==========================================================
|
||||||
;=== <20><>ࠡ<EFBFBD>⪠ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> =================================
|
;=== <20><>ࠡ<EFBFBD>⪠ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> =================================
|
||||||
@@ -52,7 +56,7 @@ edit_ex
|
|||||||
.key:
|
.key:
|
||||||
pusha
|
pusha
|
||||||
test word ed_flags,ed_focus ; <20> <20><> <20> 䮪<><E4AEAA><EFBFBD>, <20><>室<EFBFBD><E5AEA4>
|
test word ed_flags,ed_focus ; <20> <20><> <20> 䮪<><E4AEAA><EFBFBD>, <20><>室<EFBFBD><E5AEA4>
|
||||||
je .no_figure
|
je .editbox_exit
|
||||||
;<3B><EFBFBD>ઠ <20><><EFBFBD><EFBFBD><EFBFBD> shift ?
|
;<3B><EFBFBD>ઠ <20><><EFBFBD><EFBFBD><EFBFBD> shift ?
|
||||||
call .check_shift
|
call .check_shift
|
||||||
;----------------------------------------------------------
|
;----------------------------------------------------------
|
||||||
@@ -68,193 +72,18 @@ use_key_no_process up,down,esc
|
|||||||
;<3B><EFBFBD>ઠ <20><>⠭<EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD> <20><> 䫠<> <20><><EFBFBD> <20><><EFBFBD><EFBFBD> <20>㦭<EFBFBD> <20>뢮<EFBFBD><EBA2AE><EFBFBD><EFBFBD> ⮫쪮 <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20>㦭<EFBFBD><E3A6AD> <20><><EFBFBD><EFBFBD><EFBFBD> <20> ⠪<><E2A0AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>室<EFBFBD><E5AEA4><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20>㦭<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E0AEA2><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
;<3B><EFBFBD>ઠ <20><>⠭<EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD> <20><> 䫠<> <20><><EFBFBD> <20><><EFBFBD><EFBFBD> <20>㦭<EFBFBD> <20>뢮<EFBFBD><EBA2AE><EFBFBD><EFBFBD> ⮫쪮 <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20>㦭<EFBFBD><E3A6AD> <20><><EFBFBD><EFBFBD><EFBFBD> <20> ⠪<><E2A0AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>室<EFBFBD><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>
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
use_key_figures_only
|
use_key_figures_only
|
||||||
;<EFBFBD><EFBFBD>ઠ <20><> shift
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
@@: test word ed_flags,ed_shift_on
|
;<3B><EFBFBD>ઠ <20><> shift <20><><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD>
|
||||||
je @f
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;<3B>室<EFBFBD><E5AEA4><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> edx=ed_size;ecx=ed_pos
|
are_key_shift_press
|
||||||
push eax
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
mov edx,ed_size
|
; <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>⪠
|
||||||
mov ecx,ed_pos
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
pusha
|
are_key_cur_end
|
||||||
;clear
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
; mov ebp,edx ;ed_size
|
;<EFBFBD><EFBFBD>ࠡ<EFBFBD>⪠ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> insert,delete.backspase,home,end,left,right
|
||||||
; call .clear_bg
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
mov ebp,ed_color
|
use_work_key
|
||||||
mov ebx,dword ed_shift_pos
|
|
||||||
call .sh_cl_
|
|
||||||
|
|
||||||
.sh_nxt:popa
|
|
||||||
call .del_char
|
|
||||||
;;;;
|
|
||||||
mov eax,dword ed_shift_pos
|
|
||||||
mov ebx,ed_size
|
|
||||||
sub ebx,eax
|
|
||||||
mov ed_size,ebx
|
|
||||||
pop eax
|
|
||||||
; <20><EFBFBD><E0AEA2>塞, <20><>室<EFBFBD><E5AEA4><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
@@: mov ecx,ed_size
|
|
||||||
mov edx, ed_max
|
|
||||||
test word ed_flags,ed_insert
|
|
||||||
jne @f
|
|
||||||
cmp ecx,edx
|
|
||||||
jae .no_figure
|
|
||||||
@@: mov ebx, ed_pos
|
|
||||||
cmp ebx,edx
|
|
||||||
jl @f ; <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> ࠢ<><E0A0A2>
|
|
||||||
.no_figure:
|
|
||||||
edit_ex
|
|
||||||
.insert: test word ed_flags,ed_insert ;not word ed_insert
|
|
||||||
je .insert_1
|
|
||||||
and word ed_flags,ed_insert_cl
|
|
||||||
jmp .no_figure
|
|
||||||
.insert_1:
|
|
||||||
or word ed_flags,ed_insert
|
|
||||||
jmp .no_figure
|
|
||||||
.ins_v:
|
|
||||||
dec dword [ebp+42];ed_size ;processing is insert
|
|
||||||
sub esi,ecx
|
|
||||||
add esi,ebx
|
|
||||||
mov edi,esi
|
|
||||||
;clear
|
|
||||||
pusha
|
|
||||||
mov edi,ebp
|
|
||||||
mov ebp,ed_pos
|
|
||||||
call .clear_bg
|
|
||||||
popa
|
|
||||||
jmp .In_k
|
|
||||||
@@: ; ᤢ<><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 .In_k
|
|
||||||
|
|
||||||
test word [ebp+40],ed_insert ;IF insert is enable <20>.<2E>. edi <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>㥬 <20><>१ ebp
|
|
||||||
jne .ins_v
|
|
||||||
;clear
|
|
||||||
pusha
|
|
||||||
mov edi,ebp
|
|
||||||
mov ebp,ed_size
|
|
||||||
call .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>.
|
|
||||||
inc edi ;<3B><><EFBFBD><EFBFBD>⨬ <20><><EFBFBD><EFBFBD> ᨬ<><E1A8AC><EFBFBD><EFBFBD> <20> <20>ࠢ<EFBFBD>
|
|
||||||
std
|
|
||||||
inc ecx
|
|
||||||
@@:
|
|
||||||
;--------
|
|
||||||
lodsb
|
|
||||||
stosb
|
|
||||||
;--------
|
|
||||||
loop @b
|
|
||||||
.In_k: cld
|
|
||||||
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 .draw_all2
|
|
||||||
jmp .shift;.draw_cursor_text
|
|
||||||
.delete:
|
|
||||||
mov edx,ed_size
|
|
||||||
mov ecx,ed_pos
|
|
||||||
cmp edx,ecx
|
|
||||||
jg .bac_del
|
|
||||||
test word ed_flags,ed_shift_on
|
|
||||||
jne .del_bac
|
|
||||||
edit_ex
|
|
||||||
.bac_del:
|
|
||||||
call .del_char
|
|
||||||
jmp .draw_all
|
|
||||||
|
|
||||||
;--- <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> backspace ---
|
|
||||||
.backspace:
|
|
||||||
; <20><EFBFBD><E0AEA2>塞, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> ?
|
|
||||||
mov ecx,ed_pos
|
|
||||||
test ecx,ecx
|
|
||||||
jnz .del_bac
|
|
||||||
test word ed_flags,ed_shift_on
|
|
||||||
jne .bac_del
|
|
||||||
|
|
||||||
edit_ex
|
|
||||||
.del_bac:
|
|
||||||
mov edx,ed_size
|
|
||||||
cmp edx,ecx ;if ed_pos=ed_size
|
|
||||||
je @f
|
|
||||||
dec ecx
|
|
||||||
call .del_char
|
|
||||||
@@: test word ed_flags,ed_shift_on
|
|
||||||
jne .bac_del
|
|
||||||
dec dword ed_pos
|
|
||||||
.draw_all:
|
|
||||||
push .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 .clear_cursor
|
|
||||||
call .check_offset
|
|
||||||
call .draw_bg
|
|
||||||
ret
|
|
||||||
@@: dec dword ed_size
|
|
||||||
|
|
||||||
.draw_all2:
|
|
||||||
and word ed_flags,ed_shift_cl
|
|
||||||
mov ebp,ed_color
|
|
||||||
call .clear_cursor
|
|
||||||
call .check_offset
|
|
||||||
mov ebp,ed_size
|
|
||||||
call .clear_bg
|
|
||||||
ret
|
|
||||||
;--- <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> left ---
|
|
||||||
.left: mov ebx,ed_pos
|
|
||||||
test ebx,ebx
|
|
||||||
jz .sh_st_of
|
|
||||||
or word ed_flags,ed_left_fl
|
|
||||||
call .sh_first_sh
|
|
||||||
dec dword ed_pos
|
|
||||||
call .sh_enable
|
|
||||||
jmp .draw_cursor_text
|
|
||||||
;--- <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> right ---
|
|
||||||
.right: mov ebx,ed_pos
|
|
||||||
cmp ebx,ed_size
|
|
||||||
je .sh_st_of
|
|
||||||
and word ed_flags,ed_right_fl
|
|
||||||
call .sh_first_sh
|
|
||||||
inc dword ed_pos
|
|
||||||
call .sh_enable
|
|
||||||
jmp .draw_cursor_text
|
|
||||||
.home:
|
|
||||||
mov ebx,ed_pos
|
|
||||||
test ebx,ebx
|
|
||||||
jz .sh_st_of
|
|
||||||
call .sh_first_sh
|
|
||||||
xor eax,eax
|
|
||||||
mov ed_pos,eax
|
|
||||||
call .sh_home_end
|
|
||||||
jmp .draw_cursor_text
|
|
||||||
.end:
|
|
||||||
mov ebx,ed_pos
|
|
||||||
cmp ebx,dword ed_size
|
|
||||||
je .sh_st_of
|
|
||||||
call .sh_first_sh
|
|
||||||
mov eax,ed_size
|
|
||||||
mov ed_pos,eax
|
|
||||||
call .sh_home_end
|
|
||||||
jmp .draw_cursor_text
|
|
||||||
;==========================================================
|
;==========================================================
|
||||||
;=== <20><>ࠡ<EFBFBD>⪠ <20><><EFBFBD><EFBFBD> =======================================
|
;=== <20><>ࠡ<EFBFBD>⪠ <20><><EFBFBD><EFBFBD> =======================================
|
||||||
;==========================================================
|
;==========================================================
|
||||||
@@ -273,7 +102,7 @@ pusha
|
|||||||
and word ed_flags,ed_mouse_on_off
|
and word ed_flags,ed_mouse_on_off
|
||||||
xor ebx,ebx
|
xor ebx,ebx
|
||||||
mov dword [mouse_flag],ebx
|
mov dword [mouse_flag],ebx
|
||||||
edit_ex
|
jmp .editbox_exit
|
||||||
.mouse_left_button:
|
.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>
|
;--- <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>
|
||||||
@@ -288,110 +117,10 @@ edit_ex
|
|||||||
;--- <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>
|
;--- <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,0
|
@@: mcall 37,0
|
||||||
;----------------------------------------------------------
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;--- <20> <20><> 㤥ন<E3A4A5><E0A6A8><EFBFBD><EFBFBD> <20><> <20><> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>誨, <20><>६<EFBFBD><E0A5AC><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><> <20><><EFBFBD> ࠧ<><E0A0A7><EFBFBD> <20><><EFBFBD><EFBFBD>?
|
;<EFBFBD>㭪<EFBFBD><EFBFBD><EFBFBD> <20><>ࠡ<EFBFBD>⪨ <20><>誨 <20><><EFBFBD><EFBFBD>祭<EFBFBD><EFBFBD> <20><><EFBFBD>न<EFBFBD><EFBFBD><EFBFBD> <20> <20><EFBFBD>ઠ <20><> + <20>뤥<EFBFBD><EBA4A5><EFBFBD><EFBFBD><EFBFBD>
|
||||||
;----------------------------------------------------------
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
test word ed_flags,ed_mouse_on
|
use_work_mause scr_h,scr_w
|
||||||
jne .mouse_wigwag
|
|
||||||
;----------------------------------------------------------
|
|
||||||
;--- <20><EFBFBD><E0AEA2>塞, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> edit box -------------
|
|
||||||
;----------------------------------------------------------
|
|
||||||
mov ebx,[procinfo.box.top]
|
|
||||||
add ebx,ed_top
|
|
||||||
if scr_h eq
|
|
||||||
else
|
|
||||||
add ebx,scr_h
|
|
||||||
end if
|
|
||||||
cmp ax,bx
|
|
||||||
jl ._blur;.mouse_end_no_focus
|
|
||||||
|
|
||||||
add ebx,ed_height
|
|
||||||
cmp ax,bx
|
|
||||||
jg ._blur;.mouse_end_no_focus
|
|
||||||
|
|
||||||
shr eax,16
|
|
||||||
|
|
||||||
mov ebx,[procinfo.box.left]
|
|
||||||
add ebx,ed_left
|
|
||||||
if scr_w eq
|
|
||||||
else
|
|
||||||
add ebx,scr_w
|
|
||||||
end if
|
|
||||||
cmp ax,bx
|
|
||||||
jl ._blur;.mouse_end_no_focus
|
|
||||||
|
|
||||||
add ebx,ed_width
|
|
||||||
cmp ax,bx
|
|
||||||
jg ._blur;.mouse_end_no_focus
|
|
||||||
;--- <20><><EFBFBD><EFBFBD><EFBFBD>塞 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ---
|
|
||||||
push eax
|
|
||||||
mov ebp,ed_color
|
|
||||||
call .clear_cursor
|
|
||||||
pop eax
|
|
||||||
._mvpos:
|
|
||||||
mov ebx,dword [procinfo.box.left]
|
|
||||||
xor edx,edx
|
|
||||||
sub eax,ed_left
|
|
||||||
sub eax,ebx
|
|
||||||
if scr_w eq
|
|
||||||
else
|
|
||||||
add ebx,scr_w
|
|
||||||
sub eax,2
|
|
||||||
end if
|
|
||||||
mov ebx,6
|
|
||||||
div bx
|
|
||||||
add eax,ed_offset
|
|
||||||
cmp eax,ed_size
|
|
||||||
jna ._mshift
|
|
||||||
mov eax,ed_size
|
|
||||||
._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 .sh_cl_
|
|
||||||
and word ed_flags,ed_shift_bac_cl
|
|
||||||
pop eax
|
|
||||||
@@:
|
|
||||||
test word ed_flags,ed_mouse_on
|
|
||||||
jne @f
|
|
||||||
|
|
||||||
mov dword ed_shift_pos,eax
|
|
||||||
or word ed_flags,ed_mouse_on
|
|
||||||
mov dword ed_pos,eax
|
|
||||||
mov dword [mouse_flag],edi ;<3B><>⠭<EFBFBD><E2A0AD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>䨪<EFBFBD><E4A8AA><EFBFBD><EFBFBD>
|
|
||||||
bts word ed_flags,1 ;<3B><>⠭<EFBFBD><E2A0AD><EFBFBD><EFBFBD> 䮪<><E4AEAA><EFBFBD>
|
|
||||||
jmp .m_sh
|
|
||||||
@@:
|
|
||||||
cmp eax,dword ed_shift_pos ;<3B> <20><><EFBFBD><EFBFBD>樨 <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
je .mouse_ex
|
|
||||||
mov ed_pos,eax
|
|
||||||
mov ebp,dword shift_color
|
|
||||||
mov ebx,dword ed_shift_pos
|
|
||||||
call .sh_cl_
|
|
||||||
or word ed_flags,ed_mous_adn_b ;<3B><>⠭<EFBFBD><E2A0AD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD> <20><> <20>뤥<EFBFBD><EBA4A5><EFBFBD><EFBFBD> +shift_on +
|
|
||||||
.m_sh: call .draw_text
|
|
||||||
call .draw_cursor
|
|
||||||
;----------------------------------------------------------
|
|
||||||
;--- <20><><EFBFBD>楤<EFBFBD><E6A5A4><EFBFBD> <20><>⠭<EFBFBD><E2A0AD><EFBFBD><EFBFBD> 䮪<><E4AEAA><EFBFBD> ---------------------------
|
|
||||||
;----------------------------------------------------------
|
|
||||||
jmp .drc
|
|
||||||
._blur:
|
|
||||||
test word ed_flags,ed_always_focus
|
|
||||||
jne .mouse_ex
|
|
||||||
btr word ed_flags,1 ; <20> <20><> <20> 䮪<><E4AEAA><EFBFBD>, <20><>室<EFBFBD><E5AEA4>
|
|
||||||
jnc .mouse_ex
|
|
||||||
|
|
||||||
mov ebp,ed_color
|
|
||||||
call .clear_cursor
|
|
||||||
.drc: call .draw_border
|
|
||||||
.mouse_ex:
|
|
||||||
|
|
||||||
edit_ex
|
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;<3B><>騥 <20>㭪樨 <20><>ࠡ<EFBFBD>⪨
|
;<3B><>騥 <20>㭪樨 <20><>ࠡ<EFBFBD>⪨
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
@@ -400,118 +129,14 @@ use_general_func
|
|||||||
;<3B>㭪樨 <20><><EFBFBD> ࠡ<><E0A0A1><EFBFBD> <20> key
|
;<3B>㭪樨 <20><><EFBFBD> ࠡ<><E0A0A1><EFBFBD> <20> key
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
use_key_func
|
use_key_func
|
||||||
;----------------------------------------------------------
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;--- <20><><EFBFBD>楤<EFBFBD><EFBFBD><EFBFBD> ࠧ<EFBFBD>뢠<EFBFBD><EFBFBD><EFBFBD> 䮪<EFBFBD><EFBFBD><EFBFBD> --------------------------
|
;<EFBFBD>㭪樨 <EFBFBD><EFBFBD><EFBFBD> ࠡ<EFBFBD><EFBFBD><EFBFBD> <EFBFBD> mouse
|
||||||
;----------------------------------------------------------
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;.blur:
|
use_mouse_func scr_w
|
||||||
;pusha
|
|
||||||
;._blur:
|
|
||||||
;btr ed_flags,1
|
|
||||||
;jnc @f
|
|
||||||
;call .draw_border
|
|
||||||
;call .clear_cursor
|
|
||||||
;@@:
|
|
||||||
;edit_ex
|
|
||||||
|
|
||||||
;----------------------------------------------------------
|
|
||||||
;--- <20><>ࠡ<EFBFBD>⪠ .mouse_wigwag
|
|
||||||
;----------------------------------------------------------
|
|
||||||
.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
|
|
||||||
;;;;;;;;;;;;;;;;;;
|
|
||||||
mov ebx,[procinfo.box.left]
|
|
||||||
add ebx,ed_left
|
|
||||||
if scr_w eq
|
|
||||||
else
|
|
||||||
add ebx,scr_w
|
|
||||||
end if
|
|
||||||
cmp eax,ebx
|
|
||||||
jb .mleft
|
|
||||||
|
|
||||||
add ebx,ed_width
|
|
||||||
cmp eax,ebx
|
|
||||||
ja .mright
|
|
||||||
|
|
||||||
sub ebx,ed_width
|
|
||||||
|
|
||||||
xor edx,edx
|
|
||||||
sub eax,ebx ; <20><><EFBFBD>⨬ <20><> <20><><EFBFBD>न<EFBFBD><E0A4A8><EFBFBD> <20><>誨 <20><> <20><><EFBFBD> <20> <20><><EFBFBD>न<EFBFBD><E0A4A8><EFBFBD><EFBFBD> <20><> editbox <20><> <20><><EFBFBD> <20>
|
|
||||||
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>
|
|
||||||
;<3B><>ᮢ<EFBFBD><E1AEA2><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>襭<EFBFBD><E8A5AD> <20><>אַ㣮<EFACAE>쭨<EFBFBD><ECADA8><EFBFBD> <20> <20><><EFBFBD><EFBFBD>⪠ <20><>
|
|
||||||
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 .mwigvag
|
|
||||||
.mdraw:
|
|
||||||
mov dword ed_pos,eax ;<3B><><EFBFBD>࠭<EFBFBD><E0A0AD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>祭<EFBFBD><E7A5AD>
|
|
||||||
;<3B><>ᮢ<EFBFBD><E1AEA2><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>襭<EFBFBD><E8A5AD> <20><>אַ㣮<EFACAE>쭨<EFBFBD><ECADA8><EFBFBD> <20> <20><><EFBFBD><EFBFBD>⪠ <20><>
|
|
||||||
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>
|
|
||||||
;<3B><EFBFBD>ઠ <20> <20><>ᮢ<EFBFBD><E1AEA2><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>襭<EFBFBD><E8A5AD> <20><><EFBFBD><EFBFBD><EFBFBD>⥩
|
|
||||||
cmp ecx,ebx ;<3B><><EFBFBD><EFBFBD><EFBFBD>塞 <20>㤠 <20>뫮 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD> 蠣 <20><><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
je .m1_shem ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20>뫮 ࠭<><E0A0AD>
|
|
||||||
jb .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 .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 .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 .sh_cl_
|
|
||||||
jmp .mwigvag
|
|
||||||
.msmaller:
|
|
||||||
cmp ebx,eax
|
|
||||||
jb .m1_shem
|
|
||||||
mov ebp,ed_color
|
|
||||||
;<3B>室<EFBFBD><E5AEA4><EFBFBD> <20><>ࠬ<EFBFBD><E0A0AC><EFBFBD><EFBFBD> ebp=color ebx=ed_shift_pos
|
|
||||||
call .sh_cl_
|
|
||||||
jmp .mwigvag
|
|
||||||
;alike =
|
|
||||||
.m1_shem:
|
|
||||||
mov ebp,shift_color
|
|
||||||
;<3B>室<EFBFBD><E5AEA4><EFBFBD> <20><>ࠬ<EFBFBD><E0A0AC><EFBFBD><EFBFBD> ebp=color ebx=ed_shift_pos
|
|
||||||
mov ebx,ecx
|
|
||||||
call .sh_cl_
|
|
||||||
jmp .mwigvag
|
|
||||||
.mwigvag:
|
|
||||||
and word ed_flags,ed_shift_mcl
|
|
||||||
jmp .draw_cursor_text
|
|
||||||
; popa
|
|
||||||
; ret
|
|
||||||
.mleft:
|
|
||||||
mov eax,ed_pos
|
|
||||||
cmp eax,0
|
|
||||||
jbe .mwigvag
|
|
||||||
dec eax
|
|
||||||
call .check_offset
|
|
||||||
push eax
|
|
||||||
mov ebx,ed_shift_pos
|
|
||||||
mov ebp,shift_color
|
|
||||||
call .sh_cl_
|
|
||||||
pop eax
|
|
||||||
jmp .mdraw
|
|
||||||
.mright:
|
|
||||||
mov eax,ed_pos
|
|
||||||
mov ebx,ed_size
|
|
||||||
cmp eax,ebx
|
|
||||||
jae .mwigvag
|
|
||||||
inc eax
|
|
||||||
call .check_offset
|
|
||||||
mov ebx,ed_shift_pos
|
|
||||||
mov ebp,shift_color
|
|
||||||
push eax
|
|
||||||
call .sh_cl_
|
|
||||||
pop eax
|
|
||||||
jmp .mdraw
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
;Bit mask from editbox
|
||||||
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
ed_figure_only= 1000000000000000b ;<3B><><EFBFBD><EFBFBD> ᨬ<><E1A8AC><EFBFBD><EFBFBD>
|
ed_figure_only= 1000000000000000b ;<3B><><EFBFBD><EFBFBD> ᨬ<><E1A8AC><EFBFBD><EFBFBD>
|
||||||
ed_always_focus= 100000000000000b
|
ed_always_focus= 100000000000000b
|
||||||
ed_focus= 10b ;䮪<><E4AEAA> <20>ਫ<EFBFBD><E0A8AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
ed_focus= 10b ;䮪<><E4AEAA> <20>ਫ<EFBFBD><E0A8AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
@@ -6,7 +6,8 @@ You bunny wrote .....
|
|||||||
<EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20> <20><><EFBFBD>, <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20> <20><> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>.....
|
<EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20> <20><><EFBFBD>, <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20> <20><> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>.....
|
||||||
|
|
||||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> aka <Lrz>
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> aka <Lrz>
|
||||||
; <Lrz> 14.05.2007 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
; <Lrz> 18.05.2007 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
; <Lrz> 14.05.2007 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> mcall <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
; <Lrz> 09.05.2007 <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20> edit_box.mac
|
; <Lrz> 09.05.2007 <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20> edit_box.mac
|
||||||
; <Lrz> 19.04.2007 <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
; <Lrz> 19.04.2007 <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
; <Lrz> 14.04.2007 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 0 (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Mario79)
|
; <Lrz> 14.04.2007 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 0 (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Mario79)
|
||||||
|
@@ -593,17 +593,17 @@ macro use_key_no_process up,down,esc
|
|||||||
if up eq
|
if up eq
|
||||||
else
|
else
|
||||||
cmp ah,177
|
cmp ah,177
|
||||||
jz .no_figure
|
jz .editbox_exit
|
||||||
end if
|
end if
|
||||||
if down eq
|
if down eq
|
||||||
else
|
else
|
||||||
cmp ah,178
|
cmp ah,178
|
||||||
jz .no_figure
|
jz .editbox_exit
|
||||||
end if
|
end if
|
||||||
if esc eq
|
if esc eq
|
||||||
else
|
else
|
||||||
cmp ah,27 ;ESC - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ))
|
cmp ah,27 ;ESC - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ))
|
||||||
jz .no_figure
|
jz .editbox_exit
|
||||||
end if
|
end if
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -612,15 +612,416 @@ macro use_key_figures_only
|
|||||||
test word ed_flags,ed_figure_only ; ⮫쪮 <20><><EFBFBD><EFBFBD><EFBFBD> ?
|
test word ed_flags,ed_figure_only ; ⮫쪮 <20><><EFBFBD><EFBFBD><EFBFBD> ?
|
||||||
jz @f
|
jz @f
|
||||||
cmp ah,'0'
|
cmp ah,'0'
|
||||||
jb .no_figure
|
jb .editbox_exit
|
||||||
cmp ah,'9'
|
cmp ah,'9'
|
||||||
ja .no_figure
|
ja .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
|
||||||
|
;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
mov ebp,ed_color
|
||||||
|
mov ebx,dword ed_shift_pos
|
||||||
|
call .sh_cl_
|
||||||
|
;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
popa
|
||||||
|
call .del_char
|
||||||
|
;;;;
|
||||||
|
mov eax,dword ed_shift_pos
|
||||||
|
mov ebx,ed_size
|
||||||
|
sub ebx,eax
|
||||||
|
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 .editbox_exit
|
||||||
|
@@: mov ebx, ed_pos
|
||||||
|
cmp ebx,edx
|
||||||
|
jl @f ; <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> ࠢ<><E0A0A2>
|
||||||
|
jmp .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 .In_k
|
||||||
|
|
||||||
|
test word [ebp+40],ed_insert ;IF insert is enable <20>.<2E>. edi <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>㥬 <20><>१ ebp
|
||||||
|
jne .ins_v
|
||||||
|
;clear
|
||||||
|
pusha
|
||||||
|
mov edi,ebp
|
||||||
|
mov ebp,ed_size
|
||||||
|
call .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>.
|
||||||
|
inc edi ;<3B><><EFBFBD><EFBFBD>⨬ <20><><EFBFBD><EFBFBD> ᨬ<><E1A8AC><EFBFBD><EFBFBD> <20> <20>ࠢ<EFBFBD>
|
||||||
|
std
|
||||||
|
inc ecx
|
||||||
|
@@:
|
||||||
|
;--------
|
||||||
|
lodsb
|
||||||
|
stosb
|
||||||
|
;--------
|
||||||
|
loop @b
|
||||||
|
.In_k: cld
|
||||||
|
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 .draw_all2
|
||||||
|
jmp .shift
|
||||||
|
}
|
||||||
|
macro use_work_key
|
||||||
|
{
|
||||||
|
.insert: test word ed_flags,ed_insert ;not word ed_insert
|
||||||
|
je @f
|
||||||
|
and word ed_flags,ed_insert_cl
|
||||||
|
jmp .editbox_exit
|
||||||
|
@@:
|
||||||
|
or word ed_flags,ed_insert
|
||||||
|
jmp .editbox_exit
|
||||||
|
.ins_v:
|
||||||
|
dec dword [ebp+42];ed_size ;processing is insert
|
||||||
|
sub esi,ecx
|
||||||
|
add esi,ebx
|
||||||
|
mov edi,esi
|
||||||
|
;clear
|
||||||
|
pusha
|
||||||
|
mov edi,ebp
|
||||||
|
mov ebp,ed_pos
|
||||||
|
call .clear_bg
|
||||||
|
popa
|
||||||
|
jmp .In_k
|
||||||
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
.delete:
|
||||||
|
mov edx,ed_size
|
||||||
|
mov ecx,ed_pos
|
||||||
|
cmp edx,ecx
|
||||||
|
jg .bac_del
|
||||||
|
test word ed_flags,ed_shift_on
|
||||||
|
jne .del_bac
|
||||||
|
edit_ex
|
||||||
|
.bac_del:
|
||||||
|
call .del_char
|
||||||
|
jmp .draw_all
|
||||||
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
;--- <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> backspace ---
|
||||||
|
.backspace:
|
||||||
|
; <20><EFBFBD><E0AEA2>塞, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> ?
|
||||||
|
mov ecx,ed_pos
|
||||||
|
test ecx,ecx
|
||||||
|
jnz .del_bac
|
||||||
|
test word ed_flags,ed_shift_on
|
||||||
|
jne .bac_del
|
||||||
|
|
||||||
|
edit_ex
|
||||||
|
.del_bac:
|
||||||
|
mov edx,ed_size
|
||||||
|
cmp edx,ecx ;if ed_pos=ed_size
|
||||||
|
je @f
|
||||||
|
dec ecx
|
||||||
|
call .del_char
|
||||||
|
@@: test word ed_flags,ed_shift_on
|
||||||
|
jne .bac_del
|
||||||
|
dec dword ed_pos
|
||||||
|
.draw_all:
|
||||||
|
push .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 .clear_cursor
|
||||||
|
call .check_offset
|
||||||
|
call .draw_bg
|
||||||
|
ret
|
||||||
|
@@: dec dword ed_size
|
||||||
|
|
||||||
|
.draw_all2:
|
||||||
|
and word ed_flags,ed_shift_cl
|
||||||
|
mov ebp,ed_color
|
||||||
|
call .clear_cursor
|
||||||
|
call .check_offset
|
||||||
|
mov ebp,ed_size
|
||||||
|
call .clear_bg
|
||||||
|
ret
|
||||||
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
;--- <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> left ---
|
||||||
|
.left: mov ebx,ed_pos
|
||||||
|
test ebx,ebx
|
||||||
|
jz .sh_st_of
|
||||||
|
or word ed_flags,ed_left_fl
|
||||||
|
call .sh_first_sh
|
||||||
|
dec dword ed_pos
|
||||||
|
call .sh_enable
|
||||||
|
jmp .draw_cursor_text
|
||||||
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
;--- <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> right ---
|
||||||
|
.right: mov ebx,ed_pos
|
||||||
|
cmp ebx,ed_size
|
||||||
|
je .sh_st_of
|
||||||
|
and word ed_flags,ed_right_fl
|
||||||
|
call .sh_first_sh
|
||||||
|
inc dword ed_pos
|
||||||
|
call .sh_enable
|
||||||
|
jmp .draw_cursor_text
|
||||||
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
.home:
|
||||||
|
mov ebx,ed_pos
|
||||||
|
test ebx,ebx
|
||||||
|
jz .sh_st_of
|
||||||
|
call .sh_first_sh
|
||||||
|
xor eax,eax
|
||||||
|
mov ed_pos,eax
|
||||||
|
call .sh_home_end
|
||||||
|
jmp .draw_cursor_text
|
||||||
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
.end:
|
||||||
|
mov ebx,ed_pos
|
||||||
|
cmp ebx,dword ed_size
|
||||||
|
je .sh_st_of
|
||||||
|
call .sh_first_sh
|
||||||
|
mov eax,ed_size
|
||||||
|
mov ed_pos,eax
|
||||||
|
call .sh_home_end
|
||||||
|
jmp .draw_cursor_text
|
||||||
}
|
}
|
||||||
|
|
||||||
|
macro use_mouse_func scr_w
|
||||||
|
{
|
||||||
|
;----------------------------------------------------------
|
||||||
|
;--- <20><>ࠡ<EFBFBD>⪠ .mouse_wigwag
|
||||||
|
;----------------------------------------------------------
|
||||||
|
.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
|
||||||
|
;;;;;;;;;;;;;;;;;;
|
||||||
|
mov ebx,[procinfo.box.left]
|
||||||
|
add ebx,ed_left
|
||||||
|
if scr_w eq
|
||||||
|
else
|
||||||
|
add ebx,dword scr_w
|
||||||
|
end if
|
||||||
|
cmp eax,ebx
|
||||||
|
jb .mleft
|
||||||
|
|
||||||
|
add ebx,ed_width
|
||||||
|
cmp eax,ebx
|
||||||
|
ja .mright
|
||||||
|
|
||||||
|
sub ebx,ed_width
|
||||||
|
|
||||||
|
xor edx,edx
|
||||||
|
sub eax,ebx ; <20><><EFBFBD>⨬ <20><> <20><><EFBFBD>न<EFBFBD><E0A4A8><EFBFBD> <20><>誨 <20><> <20><><EFBFBD> <20> <20><><EFBFBD>न<EFBFBD><E0A4A8><EFBFBD><EFBFBD> <20><> editbox <20><> <20><><EFBFBD> <20>
|
||||||
|
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>
|
||||||
|
;<3B><>ᮢ<EFBFBD><E1AEA2><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>襭<EFBFBD><E8A5AD> <20><>אַ㣮<EFACAE>쭨<EFBFBD><ECADA8><EFBFBD> <20> <20><><EFBFBD><EFBFBD>⪠ <20><>
|
||||||
|
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 .mwigvag
|
||||||
|
.mdraw:
|
||||||
|
mov dword ed_pos,eax ;<3B><><EFBFBD>࠭<EFBFBD><E0A0AD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>祭<EFBFBD><E7A5AD>
|
||||||
|
;<3B><>ᮢ<EFBFBD><E1AEA2><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>襭<EFBFBD><E8A5AD> <20><>אַ㣮<EFACAE>쭨<EFBFBD><ECADA8><EFBFBD> <20> <20><><EFBFBD><EFBFBD>⪠ <20><>
|
||||||
|
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>
|
||||||
|
;<3B><EFBFBD>ઠ <20> <20><>ᮢ<EFBFBD><E1AEA2><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>襭<EFBFBD><E8A5AD> <20><><EFBFBD><EFBFBD><EFBFBD>⥩
|
||||||
|
cmp ecx,ebx ;<3B><><EFBFBD><EFBFBD><EFBFBD>塞 <20>㤠 <20>뫮 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD> 蠣 <20><><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
je .m1_shem ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20>뫮 ࠭<><E0A0AD>
|
||||||
|
jb .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 .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 .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 .sh_cl_
|
||||||
|
jmp .mwigvag
|
||||||
|
.msmaller:
|
||||||
|
cmp ebx,eax
|
||||||
|
jb .m1_shem
|
||||||
|
mov ebp,ed_color
|
||||||
|
;<3B>室<EFBFBD><E5AEA4><EFBFBD> <20><>ࠬ<EFBFBD><E0A0AC><EFBFBD><EFBFBD> ebp=color ebx=ed_shift_pos
|
||||||
|
call .sh_cl_
|
||||||
|
jmp .mwigvag
|
||||||
|
;alike =
|
||||||
|
.m1_shem:
|
||||||
|
mov ebp,shift_color
|
||||||
|
;<3B>室<EFBFBD><E5AEA4><EFBFBD> <20><>ࠬ<EFBFBD><E0A0AC><EFBFBD><EFBFBD> ebp=color ebx=ed_shift_pos
|
||||||
|
mov ebx,ecx
|
||||||
|
call .sh_cl_
|
||||||
|
jmp .mwigvag
|
||||||
|
.mwigvag:
|
||||||
|
and word ed_flags,ed_shift_mcl
|
||||||
|
jmp .draw_cursor_text
|
||||||
|
; popa
|
||||||
|
; ret
|
||||||
|
.mleft:
|
||||||
|
mov eax,ed_pos
|
||||||
|
cmp eax,0
|
||||||
|
jbe .mwigvag
|
||||||
|
dec eax
|
||||||
|
call .check_offset
|
||||||
|
push eax
|
||||||
|
mov ebx,ed_shift_pos
|
||||||
|
mov ebp,shift_color
|
||||||
|
call .sh_cl_
|
||||||
|
pop eax
|
||||||
|
jmp .mdraw
|
||||||
|
.mright:
|
||||||
|
mov eax,ed_pos
|
||||||
|
mov ebx,ed_size
|
||||||
|
cmp eax,ebx
|
||||||
|
jae .mwigvag
|
||||||
|
inc eax
|
||||||
|
call .check_offset
|
||||||
|
mov ebx,ed_shift_pos
|
||||||
|
mov ebp,shift_color
|
||||||
|
push eax
|
||||||
|
call .sh_cl_
|
||||||
|
pop eax
|
||||||
|
jmp .mdraw
|
||||||
|
}
|
||||||
|
|
||||||
|
macro use_work_mause scr_h,scr_w
|
||||||
|
;----------------------------------------------------------
|
||||||
|
;--- <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 .mouse_wigwag
|
||||||
|
;----------------------------------------------------------
|
||||||
|
;--- <20><EFBFBD><E0AEA2>塞, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> edit box -------------
|
||||||
|
;----------------------------------------------------------
|
||||||
|
mov ebx,[procinfo.box.top]
|
||||||
|
add ebx,ed_top
|
||||||
|
if scr_h eq
|
||||||
|
else
|
||||||
|
add ebx,scr_h
|
||||||
|
end if
|
||||||
|
cmp ax,bx
|
||||||
|
jl ._blur;.mouse_end_no_focus
|
||||||
|
|
||||||
|
add ebx,ed_height
|
||||||
|
cmp ax,bx
|
||||||
|
jg ._blur;.mouse_end_no_focus
|
||||||
|
|
||||||
|
shr eax,16
|
||||||
|
|
||||||
|
mov ebx,[procinfo.box.left]
|
||||||
|
add ebx,ed_left
|
||||||
|
if scr_w eq
|
||||||
|
else
|
||||||
|
add ebx,scr_w
|
||||||
|
end if
|
||||||
|
cmp ax,bx
|
||||||
|
jl ._blur;.mouse_end_no_focus
|
||||||
|
|
||||||
|
add ebx,ed_width
|
||||||
|
cmp ax,bx
|
||||||
|
jg ._blur;.mouse_end_no_focus
|
||||||
|
;--- <20><><EFBFBD><EFBFBD><EFBFBD>塞 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ---
|
||||||
|
push eax
|
||||||
|
mov ebp,ed_color
|
||||||
|
call .clear_cursor
|
||||||
|
pop eax
|
||||||
|
._mvpos:
|
||||||
|
mov ebx,dword [procinfo.box.left]
|
||||||
|
xor edx,edx
|
||||||
|
sub eax,ed_left
|
||||||
|
sub eax,ebx
|
||||||
|
if scr_w eq
|
||||||
|
else
|
||||||
|
add ebx,scr_w
|
||||||
|
sub eax,2
|
||||||
|
end if
|
||||||
|
mov ebx,6
|
||||||
|
div bx
|
||||||
|
add eax,ed_offset
|
||||||
|
cmp eax,ed_size
|
||||||
|
jna ._mshift
|
||||||
|
mov eax,ed_size
|
||||||
|
._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 .sh_cl_
|
||||||
|
and word ed_flags,ed_shift_bac_cl
|
||||||
|
pop eax
|
||||||
|
@@:
|
||||||
|
test word ed_flags,ed_mouse_on
|
||||||
|
jne @f
|
||||||
|
|
||||||
|
mov dword ed_shift_pos,eax
|
||||||
|
or word ed_flags,ed_mouse_on
|
||||||
|
mov dword ed_pos,eax
|
||||||
|
mov dword [mouse_flag],edi ;<3B><>⠭<EFBFBD><E2A0AD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>䨪<EFBFBD><E4A8AA><EFBFBD><EFBFBD>
|
||||||
|
bts word ed_flags,1 ;<3B><>⠭<EFBFBD><E2A0AD><EFBFBD><EFBFBD> 䮪<><E4AEAA><EFBFBD>
|
||||||
|
jmp .m_sh
|
||||||
|
@@:
|
||||||
|
cmp eax,dword ed_shift_pos ;<3B> <20><><EFBFBD><EFBFBD>樨 <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
je .editbox_exit
|
||||||
|
mov ed_pos,eax
|
||||||
|
mov ebp,dword shift_color
|
||||||
|
mov ebx,dword ed_shift_pos
|
||||||
|
call .sh_cl_
|
||||||
|
or word ed_flags,ed_mous_adn_b ;<3B><>⠭<EFBFBD><E2A0AD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD> <20><> <20>뤥<EFBFBD><EBA4A5><EFBFBD><EFBFBD> +shift_on +
|
||||||
|
.m_sh: call .draw_text
|
||||||
|
call .draw_cursor
|
||||||
|
;----------------------------------------------------------
|
||||||
|
;--- <20><><EFBFBD>楤<EFBFBD><E6A5A4><EFBFBD> <20><>⠭<EFBFBD><E2A0AD><EFBFBD><EFBFBD> 䮪<><E4AEAA><EFBFBD> ---------------------------
|
||||||
|
;----------------------------------------------------------
|
||||||
|
jmp .drc
|
||||||
|
._blur:
|
||||||
|
test word ed_flags,ed_always_focus
|
||||||
|
jne .editbox_exit
|
||||||
|
btr word ed_flags,1 ; <20> <20><> <20> 䮪<><E4AEAA><EFBFBD>, <20><>室<EFBFBD><E5AEA4>
|
||||||
|
jnc .editbox_exit
|
||||||
|
|
||||||
|
mov ebp,ed_color
|
||||||
|
call .clear_cursor
|
||||||
|
.drc: call .draw_border
|
||||||
|
jmp .editbox_exit
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>室<EFBFBD>
|
; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>室<EFBFBD>
|
||||||
|
Reference in New Issue
Block a user