2007-04-20 06:19:47 +02:00
; SEE YOU File FAQ.txt and HISTORY. Good Like!
2007-04-13 09:03:50 +02:00
;;;;;;;;;;;;;;;;;;
include 'editbox.mac' ;<3B> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> :) ᯥ樠<E1AFA5> 쭮 <20> <> <EFBFBD> editbox
;;;;;;;;;;;;;;;;;;
2007-05-10 06:03:05 +02:00
macro use_edit_box procinfo,scr_h,scr_w
2006-12-13 06:18:25 +01:00
{
edit_box:
2007-04-13 09:03:50 +02:00
ed_width equ [edi] ;<3B> <> ਭ<EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
ed_left equ [edi+4] ;<3B> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <20> <> <EFBFBD> <20>
ed_top equ [edi+8] ;<3B> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <20> <> <EFBFBD> <20>
ed_color equ [edi+12] ;梥<> 䮭<> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
2007-04-20 06:19:47 +02:00
shift_color equ [edi+16] ;=0x6a9480
2007-04-13 09:03:50 +02:00
ed_focus_border_color equ [edi+20] ;梥<> ࠬ<> <E0A0AC> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
ed_blur_border_color equ [edi+24] ;梥<> <20> <> <20> <> ⨢<EFBFBD> <E2A8A2> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
ed_text_color equ [edi+28] ;梥<> ⥪<> <E2A5AA> <EFBFBD>
ed_max equ [edi+32] ;<3B> <> <EFBFBD> -<2D> <> ᨬ<> <E1A8AC> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> ᨬ<EFBFBD> <E1A8AC> 쭮 <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
ed_text equ [edi+36] ;㪠<> <E3AAA0> ⥫<EFBFBD> <20> <> <20> <> <EFBFBD> <EFBFBD> <EFBFBD>
ed_flags equ [edi+40] ;䫠<> <E4ABA0>
ed_size equ [edi+42] ;<3B> <> <EFBFBD> -<2D> <> ᨬ<> <E1A8AC> <EFBFBD> <EFBFBD> <EFBFBD>
ed_pos equ [edi+46] ;<3B> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
ed_offset equ [edi+50] ;ᬥ饭<E1ACA5> <E9A5AD>
cl_curs_x equ [edi+54] ;<3B> ।<EFBFBD> <E0A5A4> <EFBFBD> 饥 <20> <> <EFBFBD> न<EFBFBD> <E0A4A8> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <20>
cl_curs_y equ [edi+58] ;<3B> ।<EFBFBD> <E0A5A4> <EFBFBD> 饥 <20> <> <EFBFBD> न<EFBFBD> <E0A4A8> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <20>
ed_shift_pos equ [edi+62] ;<3B> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
ed_shift_pos_old equ [edi+66] ;<3B> <> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
2006-12-13 06:18:25 +01:00
;==========================================================
;=== <20> <> <EFBFBD> 楤<EFBFBD> <E6A5A4> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> ᮢ<EFBFBD> <E1AEA2> =================================
;==========================================================
.draw:
pusha
;--- <20> <> <EFBFBD> 㥬 ࠬ<> <E0A0AC> ---
2007-04-13 09:03:50 +02:00
call .draw_border ; <20> 㭪<EFBFBD> <E3ADAA> <EFBFBD> <20> ⠡<EFBFBD> <E2A0A1> 쭠
2006-12-13 06:18:25 +01:00
.draw_bg_cursor_text:
;--- <20> <> <EFBFBD> <EFBFBD> <EFBFBD> 塞 ᬥ饭<E1ACA5> <E9A5AD> , <20> <20> <> <EFBFBD> <EFBFBD> ---
2007-04-13 09:03:50 +02:00
call .check_offset ;<3B> <> <EFBFBD> <EFBFBD> <EFBFBD> <E1ABA5> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> 樨 <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> ⠡<EFBFBD> <E2A0A1> 쭠
2006-12-13 06:18:25 +01:00
;--- <20> <> <EFBFBD> 㥬 <20> <> <EFBFBD> <EFBFBD> ७<EFBFBD> <E0A5AD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ---
2007-04-13 09:03:50 +02:00
call .draw_bg ;<3B> <> <EFBFBD> <EFBFBD> ᮢ<EFBFBD> <E1AEA2> <EFBFBD> <20> <> אַ㣮<EFACAE> 쭨<EFBFBD> ࠡ<> 祩 <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
2007-03-09 07:25:26 +01:00
;---- <20> <> <EFBFBD> 㥬 <20> 뤥<EFBFBD> <EBA4A5> <EFBFBD> <EFBFBD> <EFBFBD> , <20> <> shift <20> <20> <> <EFBFBD> <EFBFBD>
2007-04-13 09:03:50 +02:00
call .draw_shift
2006-12-13 06:18:25 +01:00
.draw_cursor_text:
;--- <20> <> <EFBFBD> 㥬 <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ---
2007-04-13 09:03:50 +02:00
;--- <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <20> <> <20> <> <EFBFBD> <EFBFBD> <20> <> ᮢ<EFBFBD> <E1AEA2> <EFBFBD> ----
test word ed_flags,ed_focus
je @f
call .draw_cursor
2006-12-13 06:18:25 +01:00
@@:
2007-04-13 09:03:50 +02:00
call .draw_text
edit_ex
2007-01-26 12:20:00 +01:00
;==========================================================
;=== <20> <> ࠡ<EFBFBD> ⪠ <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> =================================
;==========================================================
.key:
pusha
2007-04-13 09:03:50 +02:00
test word ed_flags,ed_focus ; <20> <20> <> <20> 䮪<> <E4AEAA> <EFBFBD> , <20> <> 室<EFBFBD> <E5AEA4>
2007-05-10 06:03:05 +02:00
je .no_figure
;<3B> <EFBFBD> ઠ <20> <> <EFBFBD> <EFBFBD> <EFBFBD> shift ?
2007-04-13 09:03:50 +02:00
call .check_shift
2006-12-13 06:18:25 +01:00
;----------------------------------------------------------
;--- <20> <EFBFBD> <E0AEA2> 塞, <20> <> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> --------------------------------
;----------------------------------------------------------
2007-05-10 06:03:05 +02:00
use_key_process backspase,delete,left,right,home,end,insert
2006-12-13 06:18:25 +01:00
;;;;;;;;;;;;;;;;;;;;;;;;;;;;
2007-05-10 06:03:05 +02: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>
2007-04-13 09:03:50 +02:00
;;;;;;;;;;;;;;;;;;;;;;;;;;;;
2007-05-10 06:03:05 +02:00
use_key_no_process up,down,esc
2006-12-13 06:18:25 +01:00
;--- <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> 㣠<EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ---
2007-05-10 06:03:05 +02: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> <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
2007-01-24 11:00:37 +01:00
;<3B> <EFBFBD> ઠ <20> <> shift
2007-04-13 09:03:50 +02:00
@@: 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
2007-02-13 11:09:13 +01:00
;clear
2007-05-10 06:03:05 +02:00
; mov ebp,edx ;ed_size
; call .clear_bg
2007-04-13 09:03:50 +02:00
mov ebp,ed_color
mov ebx,dword ed_shift_pos
call .sh_cl_
2007-02-15 14:54:30 +01:00
2007-03-06 14:53:45 +01:00
.sh_nxt:popa
2007-04-13 09:03:50 +02:00
call .del_char
2007-01-24 11:00:37 +01:00
;;;;
2007-04-13 09:03:50 +02:00
mov eax,dword ed_shift_pos
mov ebx,ed_size
sub ebx,eax
mov ed_size,ebx
pop eax
2007-01-24 11:00:37 +01:00
; <20> <EFBFBD> <E0AEA2> 塞, <20> <> 室<EFBFBD> <E5AEA4> <EFBFBD> <EFBFBD> <20> <> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <20> <> <EFBFBD> <EFBFBD> <EFBFBD>
2007-04-13 09:03:50 +02:00
@@: 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>
2006-12-13 06:18:25 +01:00
.no_figure:
2007-04-13 09:03:50 +02:00
edit_ex
.insert: test word ed_flags,ed_insert ;not word ed_insert
2007-01-24 11:00:37 +01:00
je .insert_1
2007-04-13 09:03:50 +02:00
and word ed_flags,ed_insert_cl
jmp .no_figure
2007-01-24 11:00:37 +01:00
.insert_1:
2007-04-13 09:03:50 +02:00
or word ed_flags,ed_insert
jmp .no_figure
2007-01-24 11:00:37 +01:00
.ins_v:
2007-04-13 09:03:50 +02:00
dec dword [ebp+42];ed_size ;processing is insert
sub esi,ecx
add esi,ebx
mov edi,esi
2007-02-13 11:09:13 +01:00
;clear
pusha
2007-04-13 09:03:50 +02:00
mov edi,ebp
mov ebp,ed_pos
call .clear_bg
2007-02-13 11:09:13 +01:00
popa
2007-04-13 09:03:50 +02:00
jmp .In_k
2006-12-13 06:18:25 +01:00
@@: ; ᤢ<> <E1A4A2> <EFBFBD> <EFBFBD> <EFBFBD> ᨬ<> <E1A8AC> <EFBFBD> <EFBFBD> <20> <> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> ࠢ<EFBFBD>
2007-04-13 09:03:50 +02:00
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
2006-12-13 06:18:25 +01:00
2007-04-13 09:03:50 +02:00
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
2007-01-24 11:00:37 +01:00
2007-04-13 09:03:50 +02:00
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
2007-02-13 11:09:13 +01:00
;clear
pusha
2007-04-13 09:03:50 +02:00
mov edi,ebp
mov ebp,ed_size
call .clear_bg
2007-02-13 11:09:13 +01:00
popa
2007-04-13 09:03:50 +02:00
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
2006-12-13 06:18:25 +01:00
; <20> <> ⠢<EFBFBD> 塞 <20> <> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> 㤠, <20> <> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
2007-04-13 09:03:50 +02:00
; 㢥<> <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
2006-12-13 06:18:25 +01:00
;--- <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> backspace ---
.backspace:
2007-04-13 09:03:50 +02:00
; <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
2006-12-13 06:18:25 +01:00
2007-04-13 09:03:50 +02:00
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
2006-12-13 06:18:25 +01:00
.draw_all:
2007-04-13 09:03:50 +02:00
push .shift;.draw_cursor_text;eax
2007-01-22 14:50:18 +01:00
2007-04-13 09:03:50 +02:00
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
2007-02-13 11:09:13 +01:00
2007-04-13 09:03:50 +02:00
mov ebp,ed_color
call .clear_cursor
call .check_offset
call .draw_bg
ret
@@: dec dword ed_size
2007-01-22 14:50:18 +01:00
2006-12-13 06:18:25 +01:00
.draw_all2:
2007-04-13 09:03:50 +02:00
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
2006-12-13 06:18:25 +01:00
;--- <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> left ---
2007-04-13 09:03:50 +02:00
.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
2006-12-13 06:18:25 +01:00
;--- <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> right ---
2007-04-13 09:03:50 +02:00
.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
2007-03-06 14:53:45 +01:00
.home:
2007-04-13 09:03:50 +02:00
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
2007-03-06 14:53:45 +01:00
.end:
2007-04-13 09:03:50 +02:00
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
2006-12-13 06:18:25 +01:00
;==========================================================
;=== <20> <> ࠡ<EFBFBD> ⪠ <20> <> <EFBFBD> <EFBFBD> =======================================
;==========================================================
.mouse:
pusha
2007-04-13 09:03:50 +02:00
;debug
2006-12-13 06:18:25 +01:00
;----------------------------------------------------------
;--- <20> <> <EFBFBD> <EFBFBD> 砥<EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> ﭨ<EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> -----------------------
2007-04-13 09:03:50 +02:00
;----------------------------------------------------------
mcall 37,2
2006-12-13 06:18:25 +01:00
;----------------------------------------------------------
;--- <20> <EFBFBD> <E0AEA2> 塞 <20> <> <EFBFBD> <EFBFBD> <EFBFBD> ﭨ<EFBFBD> ----------------------------------
;----------------------------------------------------------
2007-04-13 09:03:50 +02:00
test eax,1
jnz .mouse_left_button
and word ed_flags,ed_mouse_on_off
xor ebx,ebx
mov dword [mouse_flag],ebx
edit_ex
.mouse_left_button:
2007-04-04 08:40:20 +02:00
;----------------------------------------------------------
2007-04-13 09:03:50 +02:00
;--- <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>
2007-04-04 08:40:20 +02:00
;----------------------------------------------------------
2007-04-13 09:03:50 +02:00
mov eax,dword [mouse_flag]
test eax,eax
jz @f
cmp eax,edi
je @f
jmp ._blur
2006-12-13 06:18:25 +01:00
;----------------------------------------------------------
2007-04-04 08:40:20 +02:00
;--- <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>
2006-12-13 06:18:25 +01:00
;----------------------------------------------------------
2007-04-20 06:19:47 +02:00
@@: mcall 37,0
2006-12-13 06:18:25 +01:00
;----------------------------------------------------------
2007-04-04 08:40:20 +02:00
;--- <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> ?
;----------------------------------------------------------
2007-05-10 06:03:05 +02:00
mov ecx,procinfo
2007-04-13 09:03:50 +02:00
test word ed_flags,ed_mouse_on
jne .mouse_wigwag
2007-04-04 08:40:20 +02:00
;----------------------------------------------------------
2006-12-13 06:18:25 +01:00
;--- <20> <EFBFBD> <E0AEA2> 塞, <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> edit box -------------
;----------------------------------------------------------
2007-04-13 09:03:50 +02:00
mov ebx,dword [ecx+38]
add ebx,ed_top
2007-04-20 06:19:47 +02:00
if scr_h eq
else
add ebx,scr_h
end if
2007-04-13 09:03:50 +02:00
cmp ax,bx
jl ._blur;.mouse_end_no_focus
2006-12-13 06:18:25 +01:00
2007-04-13 09:03:50 +02:00
add ebx,ed_height
cmp ax,bx
jg ._blur;.mouse_end_no_focus
2006-12-13 06:18:25 +01:00
2007-04-13 09:03:50 +02:00
shr eax,16
2006-12-13 06:18:25 +01:00
2007-04-13 09:03:50 +02:00
mov ebx,dword [ecx+34]
add ebx,ed_left
2007-04-20 06:19:47 +02:00
if scr_w eq
else
add ebx,scr_w
end if
2007-04-13 09:03:50 +02:00
cmp ax,bx
jl ._blur;.mouse_end_no_focus
2006-12-13 06:18:25 +01:00
2007-04-13 09:03:50 +02:00
add ebx,ed_width
cmp ax,bx
jg ._blur;.mouse_end_no_focus
2006-12-13 06:18:25 +01:00
;--- <20> <> <EFBFBD> <EFBFBD> <EFBFBD> 塞 <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ---
2007-04-13 09:03:50 +02:00
push eax
mov ebp,ed_color
call .clear_cursor
pop eax
2007-04-04 08:40:20 +02:00
._mvpos:
2007-05-10 06:03:05 +02:00
mov ecx,procinfo
2007-04-13 09:03:50 +02:00
mov ebx,dword [ecx+34]
xor edx,edx
sub eax,ed_left
sub eax,ebx
2007-04-20 06:19:47 +02:00
if scr_w eq
else
add ebx,scr_w
sub eax,2
end if
2007-04-13 09:03:50 +02:00
mov ebx,6
div bx
add eax,ed_offset
cmp eax,ed_size
jna ._mshift
mov eax,ed_size
2007-04-04 08:40:20 +02:00
._mshift:
2007-03-09 12:07:59 +01:00
;;;;;;;
;;<3B> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> ࠡ<EFBFBD> ⪨ shift <20> <20> 뤥<EFBFBD> <EBA4A5> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> shift
;;;;;;;
test word ed_flags,ed_shift_bac
2007-03-09 07:25:26 +01:00
je @f
2007-04-13 09:03:50 +02:00
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
2007-03-30 07:32:17 +02:00
@@:
2007-04-13 09:03:50 +02:00
test word ed_flags,ed_mouse_on
jne @f
2007-03-30 07:32:17 +02:00
2007-04-13 09:03:50 +02:00
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
2007-01-24 11:00:37 +01:00
;----------------------------------------------------------
;--- <20> <> <EFBFBD> 楤<EFBFBD> <E6A5A4> <EFBFBD> <20> <> ⠭<EFBFBD> <E2A0AD> <EFBFBD> <EFBFBD> 䮪<> <E4AEAA> <EFBFBD> ---------------------------
;----------------------------------------------------------
2007-04-13 09:03:50 +02:00
jmp .drc
2006-12-13 06:18:25 +01:00
._blur:
2007-04-13 09:03:50 +02:00
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
2007-03-09 07:25:26 +01:00
2007-04-13 09:03:50 +02:00
mov ebp,ed_color
call .clear_cursor
.drc: call .draw_border
2007-04-04 08:40:20 +02:00
.mouse_ex:
2007-04-13 09:03:50 +02:00
edit_ex
2007-05-10 06:03:05 +02:00
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;<3B> <> 騥 <20> 㭪樨 <20> <> ࠡ<EFBFBD> ⪨
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
use_general_func
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;<3B> 㭪樨 <20> <> <EFBFBD> ࠡ<> <E0A0A1> <EFBFBD> <20> key
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
use_key_func
2006-12-13 06:18:25 +01:00
;----------------------------------------------------------
;--- <20> <> <EFBFBD> 楤<EFBFBD> <E6A5A4> <EFBFBD> ࠧ<> 뢠<EFBFBD> <EBA2A0> <EFBFBD> 䮪<> <E4AEAA> <EFBFBD> --------------------------
;----------------------------------------------------------
;.blur:
;pusha
;._blur:
2007-04-13 09:03:50 +02:00
;btr ed_flags,1
;jnc @f
;call .draw_border
;call .clear_cursor
2006-12-13 06:18:25 +01:00
;@@:
2007-04-13 09:03:50 +02:00
;edit_ex
;----------------------------------------------------------
;--- <20> <> ࠡ<EFBFBD> ⪠ .mouse_wigwag
;----------------------------------------------------------
.mouse_wigwag:
shr eax,16
2007-04-13 10:20:30 +02:00
or word ed_flags,ed_shift_bac+ed_shift_on+ed_shift
2007-04-13 09:03:50 +02:00
;;;;;;;;;;;;;;;;;;
;;<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
;;;;;;;;;;;;;;;;;;
2007-05-10 06:03:05 +02:00
mov ecx,procinfo
2007-04-13 09:03:50 +02:00
mov ebx,dword [ecx+34]
add ebx,ed_left
2007-04-20 06:19:47 +02:00
if scr_w eq
else
add ebx,scr_w
end if
cmp eax,ebx
jb .mleft
2007-04-13 09:03:50 +02:00
2007-04-20 06:19:47 +02:00
add ebx,ed_width
cmp eax,ebx
ja .mright
2007-04-13 09:03:50 +02:00
2007-04-20 06:19:47 +02:00
sub ebx,ed_width
2007-04-13 09:03:50 +02:00
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> <>
2007-04-20 06:19:47 +02: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 .mwigvag
2007-04-13 09:03:50 +02:00
.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> <>
2007-04-20 06:19:47 +02:00
mov ecx,dword ed_shift_pos
2007-04-13 09:03:50 +02:00
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>
2007-04-20 06:19:47 +02:00
je .mwigvag ;<3B> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <20> 뫮, <20> <> <20> <> 祣<EFBFBD> <20> <> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
2007-04-13 09:03:50 +02:00
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
2007-04-20 06:19:47 +02:00
mov ebx,ecx
2007-04-13 09:03:50 +02:00
call .sh_cl_
jmp .mwigvag
.mwigvag:
and word ed_flags,ed_shift_mcl
2007-04-20 06:19:47 +02:00
jmp .draw_cursor_text
2007-04-13 09:03:50 +02:00
; popa
; ret
.mleft:
2007-04-20 06:19:47 +02:00
mov eax,ed_pos
2007-05-10 06:03:05 +02:00
cmp eax,0
2007-04-20 06:19:47 +02:00
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
2007-04-13 09:03:50 +02:00
.mright:
2007-04-20 06:19:47 +02:00
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
2007-04-13 09:03:50 +02:00
2006-12-13 06:18:25 +01:00
}
2007-03-07 09:35:01 +01:00
ed_figure_only= 1000000000000000b ;<3B> <> <EFBFBD> <EFBFBD> ᨬ<> <E1A8AC> <EFBFBD> <EFBFBD>
2007-03-06 14:53:45 +01:00
ed_always_focus= 100000000000000b
2007-03-07 09:35:01 +01:00
ed_focus= 10b ;䮪<> <E4AEAA> <20> ਫ<EFBFBD> <E0A8AB> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
2007-03-06 14:53:45 +01:00
ed_shift_on= 1000b ;<3B> <20> <> <20> <> ⠭<EFBFBD> <E2A0AD> <EFBFBD> <EFBFBD> <EFBFBD> -<2D> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> shift,<2C> <20> <> <EFBFBD> <20> <> ⠭<EFBFBD> <E2A0AD> <EFBFBD> <EFBFBD> <EFBFBD> , <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> 㦥 <20> <> <EFBFBD> - <20> <> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 㤥ন<E3A4A5> <E0A6A8> <EFBFBD> shift
2007-03-30 07:32:17 +02:00
ed_shift_on_off=1111111111110111b
2007-03-06 14:53:45 +01:00
ed_shift= 100b ;<3B> <> <EFBFBD> <EFBFBD> 砥<EFBFBD> <E7A0A5> <EFBFBD> <20> <> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> ⨨ <20> <> shift <20> .<2E> . <20> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
ed_shift_off= 1111111111111011b
ed_shift_bac= 10000b ;<3B> <> <EFBFBD> <20> <> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> ⪨ <20> 뤥<EFBFBD> <EBA4A5> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> shift <20> .<2E> . <20> <> <EFBFBD> <20> <> ⠭<EFBFBD> <E2A0AD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <20> 뤥<EFBFBD> <EBA4A5> <EFBFBD> <EFBFBD> <EFBFBD>
2007-03-09 12:07:59 +01:00
ed_shift_bac_cl=1111111111101111b ;<3B> <> <EFBFBD> <EFBFBD> ⪠ <20> <> <EFBFBD> 㤠<> <E3A4A0> <EFBFBD> <EFBFBD> <EFBFBD> <20> 뤥<EFBFBD> <EBA4A5> <EFBFBD> <EFBFBD> <EFBFBD>
2007-03-06 14:53:45 +01:00
ed_shift_cl= 1111111111100011b
2007-04-13 10:20:30 +02:00
ed_shift_mcl= 1111111111111011b
2007-03-06 14:53:45 +01:00
ed_left_fl= 100000b
ed_right_fl= 1111111111011111b
2007-03-07 09:35:01 +01:00
ed_offset_fl= 1000000b
ed_offset_cl= 1111111110111111b
2007-03-06 14:53:45 +01:00
ed_insert= 10000000b
ed_insert_cl= 1111111101111111b
2007-03-30 07:32:17 +02:00
ed_mouse_on = 100000000b
2007-04-02 13:58:44 +02:00
ed_mous_adn_b= 100011000b
2007-03-30 07:32:17 +02:00
ed_mouse_on_off=1111111011111111b
2007-03-06 14:53:45 +01:00
ed_height=14 ; <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
2007-05-10 06:03:05 +02:00
macro draw_edit_boxes start,_end,use_f9,procinfo
2006-12-13 06:18:25 +01:00
{
2007-04-20 06:19:47 +02:00
if use_f9 eq
else
2007-05-10 06:03:05 +02:00
mcall 9,procinfo,-1
2007-04-20 06:19:47 +02:00
end if
2007-04-13 09:03:50 +02:00
mov edi,start
2007-04-20 06:19:47 +02:00
mov ecx,((_end-start)/ed_struc_size)
2006-12-13 06:18:25 +01:00
@@:
2007-04-13 09:03:50 +02:00
call edit_box.draw
add edi,ed_struc_size
loop @b
2006-12-13 06:18:25 +01:00
}
2007-04-20 06:19:47 +02:00
macro mouse_edit_boxes start,_end
2006-12-13 06:18:25 +01:00
{
2007-04-13 09:03:50 +02:00
mov edi,start
2007-04-20 06:19:47 +02:00
mov ecx,((_end-start)/ed_struc_size)
2006-12-13 06:18:25 +01:00
@@:
2007-04-13 09:03:50 +02:00
call edit_box.mouse
add edi,ed_struc_size
loop @b
2006-12-13 06:18:25 +01:00
}
macro key_edit_boxes start,end
{
2007-04-13 09:03:50 +02:00
mov edi,start
mov ecx,((end-start)/ed_struc_size)
2006-12-13 06:18:25 +01:00
@@:
2007-04-13 09:03:50 +02:00
call edit_box.key
add edi,ed_struc_size
loop @b
2006-12-13 06:18:25 +01:00
}
2007-04-13 09:03:50 +02:00
ed_struc_size=70
struc edit_box width,left,top,color,shift_color,focus_border_color,\
blur_border_color,text_color,max,text,flags,size,pos
2006-12-13 06:18:25 +01:00
{
.width dd width
.left dd left
.top dd top
.color dd color
2007-04-13 09:03:50 +02:00
.shift_color dd shift_color
2006-12-13 06:18:25 +01:00
.focus_border_color dd focus_border_color
.blur_border_color dd blur_border_color
.text_color dd text_color
.max dd max
2007-01-19 15:36:00 +01:00
.text dd text
.flags dw flags+0
2007-03-09 09:41:43 +01:00
.size dd size+0
2007-04-13 09:03:50 +02:00
.pos dd pos+0
2006-12-13 06:18:25 +01:00
.offset dd 0
.cl_curs_x dd 0
.cl_curs_y dd 0
2007-03-06 14:53:45 +01:00
.shift dd 0
.shift_old dd 0
2006-12-13 06:18:25 +01:00
}
2007-03-09 07:25:26 +01:00
2006-12-13 06:18:25 +01:00
macro edit_boxes_set_sys_color start,end,color_table
{
2007-04-13 09:03:50 +02:00
mov edi,start
mov ecx,((end-start)/ed_struc_size)
mov esi,color_table
2006-12-13 06:18:25 +01:00
@@:
2007-04-13 09:03:50 +02:00
mov eax,[esi+36]
mov ebx,[esi+20]
mov ed_focus_border_color,eax
shr bh,1
shr bl,1
shr ah,1
shr al,1
add ah,bh
add al,bl
ror eax,16
ror ebx,16
shr bl,1
shr al,1
add al,bl
ror eax,16
mov ed_blur_border_color,eax
add edi,ed_struc_size
loop @b
2007-02-01 08:20:59 +01:00
}
2007-05-10 06:03:05 +02:00
macro draw_edit_box ed_ptr,use_f9,procinfo
2007-02-01 08:20:59 +01:00
{
2007-04-20 06:19:47 +02:00
if use_f9 eq
else
2007-05-10 06:03:05 +02:00
mcall 9,procinfo,-1
2007-04-20 06:19:47 +02:00
end if
2007-02-01 08:20:59 +01:00
mov edi,ed_ptr
call edit_box.draw
}
macro mouse_edit_box ed_ptr
{
mov edi,ed_ptr
call edit_box.mouse
}
macro key_edit_box ed_ptr
{
mov edi,ed_ptr
call edit_box.key
2007-04-20 06:19:47 +02:00
}
macro default_box ed_ptr
{
pusha
2007-05-10 06:03:05 +02:00
; xor eax,eax
; mov ed_shift_pos,eax
; mov ed_shift_pos_old,eax
and word ed_flags,ed_shift_cl
; mov ed_offset,eax
2007-04-20 06:19:47 +02:00
popa
2006-12-13 06:18:25 +01:00
}