forked from KolibriOS/kolibrios
modify macros and optimization
git-svn-id: svn://kolibrios.org@483 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
@@ -2,7 +2,7 @@
|
||||
;;;;;;;;;;;;;;;;;;
|
||||
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
|
||||
;;;;;;;;;;;;;;;;;;
|
||||
macro use_edit_box structure_of_potock,scr_h,scr_w
|
||||
macro use_edit_box procinfo,scr_h,scr_w
|
||||
{
|
||||
edit_box:
|
||||
ed_width equ [edi] ;<3B><>ਭ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
@@ -46,252 +46,28 @@ pusha
|
||||
@@:
|
||||
call .draw_text
|
||||
edit_ex
|
||||
|
||||
;debug_func
|
||||
;----------------------------------------------------------
|
||||
;--- <20><><EFBFBD>楤<EFBFBD><E6A5A4><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ᮢ<EFBFBD><E1AEA2> <20>뤥<EFBFBD><EBA4A5><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> -----------------
|
||||
;----------------------------------------------------------
|
||||
.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 .sh_cl_
|
||||
@@: ret
|
||||
;----------------------------------------------------------
|
||||
;--- <20><><EFBFBD>楤<EFBFBD><E6A5A4><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ᮢ<EFBFBD><E1AEA2> ⥪<><E2A5AA><EFBFBD> --------------------------
|
||||
;----------------------------------------------------------
|
||||
.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 .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>
|
||||
;--- <20><><EFBFBD>㥬 ⥪<><E2A5AA> ---
|
||||
@@: mov eax,4
|
||||
mov ebx,ed_left
|
||||
mov edx,ed_offset
|
||||
add ebx,2
|
||||
shl ebx,16
|
||||
mov bx,ed_top
|
||||
add ebx,4
|
||||
mov ecx,ed_text_color
|
||||
add edx,ed_text
|
||||
int 0x40
|
||||
ret
|
||||
;----------------------------------------------------------
|
||||
;--- <20><><EFBFBD>楤<EFBFBD><E6A5A4><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ᮢ<EFBFBD><E1AEA2> 䮭<> ----------------------------
|
||||
;<3B>室<EFBFBD><E5AEA4><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
;eax
|
||||
;edx - color
|
||||
;----------------------------------------------------------
|
||||
;<3B>室 ⮫쪮 梥<> edx
|
||||
.draw_bg:
|
||||
mov ebx,ed_left
|
||||
add ebx,1
|
||||
shl ebx,16
|
||||
mov bx,ed_width
|
||||
sub ebx,1
|
||||
mov edx,ed_color
|
||||
.draw_bg_eax:
|
||||
mov ecx,ed_top
|
||||
mov eax,13
|
||||
add ecx,1
|
||||
shl ecx,16
|
||||
mov cx,ed_height
|
||||
dec ecx
|
||||
int 0x40
|
||||
ret
|
||||
|
||||
;----------------------------------------------------------
|
||||
;--- <20><><EFBFBD>楤<EFBFBD><E6A5A4><EFBFBD> <20><><EFBFBD><EFBFBD>祭<EFBFBD><E7A5AD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⢠ ᨬ<><E1A8AC><EFBFBD><EFBFBD><EFBFBD> <20> ⥪<>饩 <20><>ਭ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> --------------
|
||||
;----------------------------------------------------------
|
||||
.get_n:
|
||||
mov eax,ed_width ;<3B><><EFBFBD><EFBFBD>祬 <20><>ਭ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
xor edx,edx ;१<><E0A5A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ᯮ<EFBFBD><E1AFAE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD> edx:eax <20> eax - <20><><EFBFBD><EFBFBD>⮪
|
||||
sub eax,4 ;<3B><><EFBFBD>⨬ 4
|
||||
mov ebx,6 ;<3B><><EFBFBD><EFBFBD>㧬<EFBFBD> <20><><EFBFBD><EFBFBD>⥫<EFBFBD>
|
||||
div ebx ;ࠧ<><E0A0A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> 6
|
||||
ret
|
||||
;----------------------------------------------------------
|
||||
;--- <20><><EFBFBD>楤<EFBFBD><E6A5A4><EFBFBD> <20><>ᮢ<EFBFBD><E1AEA2><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> --------------------------
|
||||
;----------------------------------------------------------
|
||||
;<3B>室<EFBFBD><E5AEA4><EFBFBD> ebp- 梥<>
|
||||
.clear_cursor:
|
||||
mov edx,ebp
|
||||
mov ebx,cl_curs_x
|
||||
mov ecx,cl_curs_y
|
||||
jmp .draw_curs
|
||||
.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 bx,ed_left
|
||||
mov ecx,ed_top
|
||||
inc ebx
|
||||
add ecx,2
|
||||
mov ebp,ebx
|
||||
shl ebx,16
|
||||
mov bx,bp
|
||||
mov ebp,ecx
|
||||
|
||||
shl ecx,16
|
||||
mov cx,bp
|
||||
add cx,ed_height-4
|
||||
|
||||
mov cl_curs_x,ebx
|
||||
mov cl_curs_y,ecx
|
||||
.draw_curs:
|
||||
mov eax,38
|
||||
int 0x40
|
||||
ret
|
||||
;----------------------------------------------------------
|
||||
;--- <20><><EFBFBD>楤<EFBFBD><E6A5A4><EFBFBD> <20><>ᮢ<EFBFBD><E1AEA2><EFBFBD><EFBFBD> ࠬ<><E0A0AC> ----------------------------
|
||||
;----------------------------------------------------------
|
||||
.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 bx,ed_width
|
||||
mov ecx, ed_top
|
||||
mov esi,ecx
|
||||
shl ecx,16
|
||||
mov cx,si
|
||||
int 0x40
|
||||
|
||||
;--- ᭨<><E1ADA8> ---
|
||||
mov esi,ecx
|
||||
add ecx,ed_height
|
||||
mov ebp,ecx
|
||||
shl ecx,16
|
||||
mov cx,bp
|
||||
int 0x40
|
||||
|
||||
;--- <><E1ABA5> ---
|
||||
mov cx,si
|
||||
mov ebp,ebx
|
||||
sub bx,ed_width
|
||||
int 0x40
|
||||
|
||||
;--- <20><>ࠢ<EFBFBD> ---
|
||||
mov ebx,ebp
|
||||
shl ebx,16
|
||||
mov bx,bp
|
||||
int 0x40
|
||||
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> ------------------------------------
|
||||
;--- eax = -1, <20> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> eax = 0, <20>
|
||||
; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
;----------------------------------------------------------
|
||||
.check_offset:
|
||||
pusha
|
||||
mov ecx,ed_pos
|
||||
mov ebx,ed_offset
|
||||
cmp ebx,ecx
|
||||
ja .sub_8
|
||||
|
||||
push ebx
|
||||
call .get_n ;<3B><><EFBFBD><EFBFBD>稬 <20><><EFBFBD>-<2D><> ᨬ<><E1A8AC><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD> ॣ<><E0A5A3><EFBFBD> edx:eax
|
||||
pop ebx
|
||||
mov edx,ebx
|
||||
add edx,eax ;ed_offset+width editbox
|
||||
inc edx ;<3B><><EFBFBD><EFBFBD>室<EFBFBD><E5AEA4><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><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>樨
|
||||
cmp edx,ecx
|
||||
ja @f
|
||||
|
||||
mov edx,ed_size
|
||||
cmp edx,ecx
|
||||
je .add_end
|
||||
|
||||
sub edx,ecx
|
||||
cmp edx,8
|
||||
jbe .add_8
|
||||
add ebx,8
|
||||
jmp .chk_d
|
||||
|
||||
.sub_8: cmp ecx,0
|
||||
je .sub_min
|
||||
cmp ebx,8
|
||||
jbe .sub_min
|
||||
sub ebx,8 ;ebx=ed_offset
|
||||
jmp .chk_d
|
||||
.sub_min:
|
||||
xor ebx,ebx
|
||||
jmp .chk_d
|
||||
|
||||
.add_end:sub edx,eax
|
||||
mov ebx,edx
|
||||
jmp .chk_d
|
||||
.add_8: add ebx,edx
|
||||
.chk_d: mov ed_offset,ebx
|
||||
call .draw_bg
|
||||
and word ed_flags,ed_offset_cl
|
||||
edit_ex
|
||||
@@:
|
||||
or word ed_flags,ed_offset_fl
|
||||
edit_ex
|
||||
;==========================================================
|
||||
;=== <20><>ࠡ<EFBFBD>⪠ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> =================================
|
||||
;==========================================================
|
||||
.key:
|
||||
pusha
|
||||
test word ed_flags,ed_focus ; <20> <20><> <20> 䮪<><E4AEAA><EFBFBD>, <20><>室<EFBFBD><E5AEA4>
|
||||
je @b
|
||||
;<3B><EFBFBD>ઠ <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> shift
|
||||
je .no_figure
|
||||
;<3B><EFBFBD>ઠ <20><><EFBFBD><EFBFBD><EFBFBD> shift ?
|
||||
call .check_shift
|
||||
;----------------------------------------------------------
|
||||
;--- <20><EFBFBD><E0AEA2>塞, <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> --------------------------------
|
||||
;----------------------------------------------------------
|
||||
cmp ah,8
|
||||
jz .backspace
|
||||
cmp ah,0xb6
|
||||
jz .delete
|
||||
cmp ah,176
|
||||
jz .left
|
||||
cmp ah,179
|
||||
jz .right
|
||||
cmp ah,180
|
||||
jz .home
|
||||
cmp ah,181
|
||||
jz .end
|
||||
cmp ah,185 ;insert
|
||||
jz .insert
|
||||
use_key_process backspase,delete,left,right,home,end,insert
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;<3B><><EFBFBD><EFBFBD><EFBFBD>誠 <20><> <20><>ࠡ<EFBFBD><E0A0A1><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD>
|
||||
;<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>
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
cmp ah,177
|
||||
jz .no_figure
|
||||
cmp ah,178
|
||||
jz .no_figure
|
||||
cmp ah,27 ;ESC - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ))
|
||||
jz .no_figure
|
||||
use_key_no_process up,down,esc
|
||||
;--- <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>㣠<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ---
|
||||
test word ed_flags,ed_figure_only ; ⮫쪮 <20><><EFBFBD><EFBFBD><EFBFBD> ?
|
||||
jz @f
|
||||
cmp ah,'0'
|
||||
jb .no_figure
|
||||
cmp ah,'9'
|
||||
ja .no_figure
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;<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
|
||||
;<3B><EFBFBD>ઠ <20><> shift
|
||||
@@: test word ed_flags,ed_shift_on
|
||||
je @f
|
||||
@@ -301,8 +77,8 @@ pusha
|
||||
mov ecx,ed_pos
|
||||
pusha
|
||||
;clear
|
||||
mov ebp,edx ;ed_size
|
||||
call .clear_bg
|
||||
; mov ebp,edx ;ed_size
|
||||
; call .clear_bg
|
||||
mov ebp,ed_color
|
||||
mov ebx,dword ed_shift_pos
|
||||
call .sh_cl_
|
||||
@@ -479,349 +255,6 @@ edit_ex
|
||||
mov ed_pos,eax
|
||||
call .sh_home_end
|
||||
jmp .draw_cursor_text
|
||||
;<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>
|
||||
.shift: ;;;;;;;SHIFT
|
||||
test word ed_flags,ed_shift
|
||||
je .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 .sh_cl_
|
||||
jmp .draw_cursor_text
|
||||
;;;;;;;;;;;;;;;;;;;;;
|
||||
.f_exit:call .check_offset
|
||||
and word ed_flags,ed_shift_cl
|
||||
call .enable_null
|
||||
jmp .draw_cursor_text
|
||||
.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 .sh_n
|
||||
push eax ;<3B><><EFBFBD><EFBFBD>襥 <20> eax
|
||||
push ebx ;<3B><><EFBFBD><EFBFBD>襥
|
||||
jmp .sh_n1
|
||||
;<3B> <20><><EFBFBD><EFBFBD><EFBFBD>
|
||||
.sh_n: push ebx
|
||||
push eax
|
||||
.sh_n1:
|
||||
call .check_offset
|
||||
call .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>襥
|
||||
|
||||
cmp eax,ecx ;<3B>ࠢ<EFBFBD><E0A0A2><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD>襣<EFBFBD> <20> offset.
|
||||
jae .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 .nxt_f
|
||||
@@: mov ebx,edx
|
||||
sub ebx,ecx
|
||||
jmp .nxt_f
|
||||
.f_f:
|
||||
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 .nxt_f
|
||||
@@:
|
||||
mov ebx,edx
|
||||
sub ebx,ecx
|
||||
sub ebx,eax
|
||||
.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]
|
||||
shl ecx,1
|
||||
mov bx,cx
|
||||
inc ebx
|
||||
mov edx,ebp;shift_color
|
||||
|
||||
call .draw_bg_eax
|
||||
@@: call .enable_null
|
||||
ret
|
||||
;;;;;;;;;;;;;;;;;;;;;
|
||||
;<3B><>⠭<EFBFBD><E2A0AD><EFBFBD><EFBFBD>- <20><><EFBFBD>⨥ <20>뤥<EFBFBD><EBA4A5><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD> ᨬ<><E1A8AC><EFBFBD>
|
||||
;;;;;;;;;;;;;;;;;;;;;
|
||||
.drw_sim:
|
||||
mov eax,dword ed_pos
|
||||
call .draw_rectangle ;<3B><><EFBFBD><EFBFBD>ᮢ<EFBFBD><E1AEA2><EFBFBD> <20><>אַ㣮<EFACAE>쭨<EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 梥⮬
|
||||
jmp @b
|
||||
;;;;;;;;;;;;;;;;;;;;;
|
||||
;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>⠭<EFBFBD><E2A0AD><EFBFBD><EFBFBD> <20>뤥<EFBFBD><EBA4A5><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20><>ࠢ<EFBFBD> <20> <20><><EFBFBD><EFBFBD>⨨ shift
|
||||
;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:
|
||||
;;;;;;;;;;
|
||||
.draw_wigwag:
|
||||
;<3B>㭪<EFBFBD><E3ADAA><EFBFBD> <20><>⠭<EFBFBD><E2A0AD><EFBFBD><EFBFBD> <20><>६<EFBFBD><E0A5AC><EFBFBD><EFBFBD><EFBFBD>
|
||||
mov ebp,shift_color
|
||||
call .clear_cursor
|
||||
|
||||
or word ed_flags,ed_shift_bac ;<3B><>⠭<EFBFBD><E2A0AD><EFBFBD><EFBFBD> 䫠<><E4ABA0>, <20>뤥<EFBFBD><EBA4A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
mov ebp,shift_color
|
||||
mov eax,dword ed_pos
|
||||
test word ed_flags,ed_left_fl
|
||||
jz .low
|
||||
jmp @f
|
||||
;;;;;;;;;;
|
||||
;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 㤠<><E3A4A0><EFBFBD><EFBFBD><EFBFBD> <20>뤥<EFBFBD><EBA4A5><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20><>ࠢ<EFBFBD> <20> <20><><EFBFBD><EFBFBD>⨨ shift
|
||||
;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:
|
||||
;;;;;;;;;;
|
||||
.draw_wigwag_cl:
|
||||
;<3B>㭪<EFBFBD><E3ADAA><EFBFBD> <20><>⠭<EFBFBD><E2A0AD><EFBFBD><EFBFBD> <20><>६<EFBFBD><E0A5AC><EFBFBD><EFBFBD><EFBFBD>
|
||||
mov ebp,ed_color
|
||||
call .clear_cursor
|
||||
|
||||
mov ebp,ed_color
|
||||
mov eax,dword ed_pos
|
||||
test word ed_flags,ed_left_fl
|
||||
jz .low
|
||||
@@: call .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
|
||||
.low: dec eax
|
||||
jmp @b
|
||||
;<3B>室<EFBFBD><E5AEA4><EFBFBD> <20><>ࠬ<EFBFBD><E0A0AC><EFBFBD> ebx - ed_pos
|
||||
.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
|
||||
;<3B>ந<EFBFBD><E0AEA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>⨥ <20>뤥<EFBFBD><EBA4A5><EFBFBD><EFBFBD><EFBFBD>, <20> <20><><EFBFBD> shift
|
||||
;<3B><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>室<EFBFBD><E5AEA4>
|
||||
.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 .sh_cl_ ;<3B><><EFBFBD><EFBFBD>⪠ <20>뤥<EFBFBD><EBA4A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ࠣ<EFBFBD><E0A0A3><EFBFBD><EFBFBD><EFBFBD>
|
||||
and word ed_flags,ed_shift_cl ; <20><><EFBFBD><EFBFBD>⪠ <20><> ⮣<> <20><><EFBFBD> <20><>ࠫ<EFBFBD> <20>뤥<EFBFBD><EBA4A5><EFBFBD><EFBFBD><EFBFBD>
|
||||
jmp .draw_cursor_text
|
||||
@@:
|
||||
and word ed_flags,ed_shift_off
|
||||
edit_ex
|
||||
;<3B><EFBFBD>ઠ <20><><EFBFBD><EFBFBD><EFBFBD>ﭨ<EFBFBD> shift <20><><EFBFBD> <20><> <20><> <20><><EFBFBD><EFBFBD><EFBFBD> ࠭<><E0A0AD><EFBFBD>?
|
||||
.sh_enable:
|
||||
test word ed_flags,ed_shift
|
||||
jne .sh_ext_en ;<3B><><EFBFBD><EFBFBD>ᮢ<EFBFBD><E1AEA2><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>襭<EFBFBD><E8A5AD> <20><>אַ㣮<EFACAE>쭨<EFBFBD>
|
||||
|
||||
test word ed_flags,ed_shift_bac
|
||||
je @f
|
||||
call .check_offset
|
||||
|
||||
mov ebp,ed_color
|
||||
mov ebx,dword ed_shift_pos
|
||||
call .sh_cl_ ;<3B><><EFBFBD><EFBFBD>⪠ <20>뤥<EFBFBD><EBA4A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ࠣ<EFBFBD><E0A0A3><EFBFBD><EFBFBD><EFBFBD>
|
||||
call .draw_wigwag_cl
|
||||
and word ed_flags,ed_shift_cl ; 1<><31><EFBFBD> <20><> <20>㦭<EFBFBD>
|
||||
ret
|
||||
|
||||
@@: mov ebp,ed_color
|
||||
call .clear_cursor
|
||||
call .check_offset
|
||||
ret
|
||||
.sh_ext_en:
|
||||
call .check_offset
|
||||
test word ed_flags,ed_offset_fl
|
||||
je @f
|
||||
;<3B><>ᮢ<EFBFBD><E1AEA2><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>襭<EFBFBD><E8A5AD> <20><>אַ㣮<EFACAE>쭨<EFBFBD><ECADA8><EFBFBD> <20> <20><><EFBFBD><EFBFBD>⪠ <20><>
|
||||
mov eax,dword ed_shift_pos
|
||||
mov ebx,dword ed_pos
|
||||
mov ecx,dword ed_shift_pos_old
|
||||
;<3B><EFBFBD>ઠ <20> <20><>ᮢ<EFBFBD><E1AEA2><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>襭<EFBFBD><E8A5AD> <20><><EFBFBD><EFBFBD><EFBFBD>⥩
|
||||
cmp eax,ecx
|
||||
je .1_shem
|
||||
jb .smaller
|
||||
cmp ecx,ebx
|
||||
ja .1_shem
|
||||
call .draw_wigwag_cl ;clear
|
||||
jmp .sh_e_end
|
||||
.smaller:
|
||||
cmp ecx,ebx
|
||||
jb .1_shem
|
||||
call .draw_wigwag_cl ;clear
|
||||
jmp .sh_e_end
|
||||
;alike =
|
||||
.1_shem: call .draw_wigwag
|
||||
.sh_e_end: and word ed_flags,ed_shift_off
|
||||
ret
|
||||
@@: mov ebp,shift_color
|
||||
mov ebx,dword ed_shift_pos
|
||||
call .sh_cl_
|
||||
jmp .sh_e_end
|
||||
;<3B>㭪<EFBFBD><E3ADAA><EFBFBD> <20><><EFBFBD> <20><>ࠡ<EFBFBD>⪨ shift <20><><EFBFBD> <20><><EFBFBD><EFBFBD>⨨ home and end
|
||||
.sh_home_end:
|
||||
mov ebp,ed_color
|
||||
call .clear_cursor
|
||||
test word ed_flags,ed_shift_bac
|
||||
je @f
|
||||
mov ebp,ed_color
|
||||
mov ebx,dword ed_shift_pos_old
|
||||
call .sh_cl_
|
||||
|
||||
@@: test word ed_flags,ed_shift
|
||||
je .sh_exit_ ;<3B><><EFBFBD><EFBFBD><EFBFBD>
|
||||
mov ebp,shift_color
|
||||
mov ebx,dword ed_shift_pos
|
||||
call .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 .sh_e_end
|
||||
.sh_exit_: call .check_offset
|
||||
ret
|
||||
;<3B>㭪<EFBFBD><E3ADAA><EFBFBD> <20><><EFBFBD>ᥭ<EFBFBD><E1A5AD> 0 <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ed_size+1
|
||||
.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
|
||||
.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 .dh_n
|
||||
|
||||
mov ed_pos,eax ;<3B><><EFBFBD> <20><> <20><> <20>뫮 㡥<><E3A1A5><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
mov ebp,ecx
|
||||
sub ebp,eax
|
||||
add ebx,eax ;eax <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
sub edx,ecx
|
||||
add esi,ecx
|
||||
|
||||
mov dword ed_shift_pos,ebp
|
||||
jmp .del_ch_sh
|
||||
;<3B> <20><><EFBFBD><EFBFBD><EFBFBD>
|
||||
.dh_n:
|
||||
mov ebp,eax
|
||||
sub ebp,ecx
|
||||
add ebx,ecx
|
||||
sub edx,eax
|
||||
add esi,eax
|
||||
mov dword ed_shift_pos,ebp
|
||||
jmp .del_ch_sh
|
||||
|
||||
@@: add esi,ecx ;㪠<><E3AAA0>⥫<EFBFBD> + ᬥ饭<E1ACA5><E9A5AD> <20> ॠ<>쭮<EFBFBD><ECADAE> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
mov ebx,esi
|
||||
inc esi
|
||||
cld
|
||||
|
||||
sub edx,ecx
|
||||
.del_ch_sh:
|
||||
|
||||
push edi
|
||||
mov edi,ebx
|
||||
@@:
|
||||
lodsb
|
||||
stosb
|
||||
dec edx
|
||||
jns @b
|
||||
|
||||
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
|
||||
.clear_bg:
|
||||
call .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
|
||||
|
||||
cmp eax,ebx
|
||||
jb @f
|
||||
mov eax,ed_pos
|
||||
sub ebx,eax
|
||||
mov ecx,ed_offset
|
||||
sub eax,ecx
|
||||
jmp .nxt
|
||||
@@: mov ebx,ed_pos
|
||||
push ebx
|
||||
sub eax,ebx
|
||||
mov ebx,eax ;It is don't optimal
|
||||
|
||||
pop eax ;ed_pos
|
||||
mov ecx,ed_offset
|
||||
sub eax,ecx
|
||||
.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]
|
||||
shl ecx,1
|
||||
mov bx,cx
|
||||
mov edx,ed_color
|
||||
call .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
|
||||
;ebp=-梥<> ed_color or shift_color
|
||||
.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
|
||||
mov bx,6
|
||||
mov edx,ebp
|
||||
call .draw_bg_eax
|
||||
ret
|
||||
;;;;;;;;;;;;;;;;;;
|
||||
;;<3B><EFBFBD>ઠ <20><><EFBFBD><EFBFBD><EFBFBD> <20><> shift
|
||||
;;;;;;;;;;;;;;;;;;
|
||||
.check_shift:
|
||||
pusha ;<3B><><EFBFBD>࠭<EFBFBD><E0A0AD> <20><><EFBFBD> ॣ<><E0A5A3><EFBFBD><EFBFBD><EFBFBD>
|
||||
mcall 66,3,1
|
||||
test al,0x03
|
||||
je @f
|
||||
or word ed_flags,ed_shift ;<3B><>⠭<EFBFBD><E2A0AD><EFBFBD><EFBFBD> 䫠<>
|
||||
@@:edit_ex
|
||||
;==========================================================
|
||||
;=== <20><>ࠡ<EFBFBD>⪠ <20><><EFBFBD><EFBFBD> =======================================
|
||||
;==========================================================
|
||||
@@ -858,7 +291,7 @@ edit_ex
|
||||
;----------------------------------------------------------
|
||||
;--- <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>?
|
||||
;----------------------------------------------------------
|
||||
mov ecx,structure_of_potock
|
||||
mov ecx,procinfo
|
||||
test word ed_flags,ed_mouse_on
|
||||
jne .mouse_wigwag
|
||||
;----------------------------------------------------------
|
||||
@@ -897,7 +330,7 @@ end if
|
||||
call .clear_cursor
|
||||
pop eax
|
||||
._mvpos:
|
||||
mov ecx,structure_of_potock
|
||||
mov ecx,procinfo
|
||||
mov ebx,dword [ecx+34]
|
||||
xor edx,edx
|
||||
sub eax,ed_left
|
||||
@@ -961,6 +394,14 @@ end if
|
||||
.mouse_ex:
|
||||
|
||||
edit_ex
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;<3B><>騥 <20>㭪樨 <20><>ࠡ<EFBFBD>⪨
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
use_general_func
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;<3B>㭪樨 <20><><EFBFBD> ࠡ<><E0A0A1><EFBFBD> <20> key
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
use_key_func
|
||||
;----------------------------------------------------------
|
||||
;--- <20><><EFBFBD>楤<EFBFBD><E6A5A4><EFBFBD> ࠧ<>뢠<EFBFBD><EBA2A0><EFBFBD> 䮪<><E4AEAA><EFBFBD> --------------------------
|
||||
;----------------------------------------------------------
|
||||
@@ -983,7 +424,7 @@ edit_ex
|
||||
;;;;;;;;;;;;;;;;;;
|
||||
;;<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 ecx,structure_of_potock
|
||||
mov ecx,procinfo
|
||||
mov ebx,dword [ecx+34]
|
||||
add ebx,ed_left
|
||||
if scr_w eq
|
||||
@@ -1095,11 +536,11 @@ ed_mouse_on = 100000000b
|
||||
ed_mous_adn_b= 100011000b
|
||||
ed_mouse_on_off=1111111011111111b
|
||||
ed_height=14 ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
macro draw_edit_boxes start,_end,use_f9,structure_of_potock
|
||||
macro draw_edit_boxes start,_end,use_f9,procinfo
|
||||
{
|
||||
if use_f9 eq
|
||||
else
|
||||
mcall 9,structure_of_potock,-1
|
||||
mcall 9,procinfo,-1
|
||||
end if
|
||||
mov edi,start
|
||||
mov ecx,((_end-start)/ed_struc_size)
|
||||
@@ -1179,11 +620,11 @@ macro edit_boxes_set_sys_color start,end,color_table
|
||||
loop @b
|
||||
}
|
||||
|
||||
macro draw_edit_box ed_ptr,use_f9,structure_of_potock
|
||||
macro draw_edit_box ed_ptr,use_f9,procinfo
|
||||
{
|
||||
if use_f9 eq
|
||||
else
|
||||
mcall 9,structure_of_potock,-1
|
||||
mcall 9,procinfo,-1
|
||||
end if
|
||||
mov edi,ed_ptr
|
||||
call edit_box.draw
|
||||
@@ -1203,10 +644,10 @@ macro key_edit_box ed_ptr
|
||||
macro default_box ed_ptr
|
||||
{
|
||||
pusha
|
||||
; 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
|
||||
; 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
|
||||
popa
|
||||
}
|
@@ -1,6 +1,6 @@
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;;;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
||||
;;;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> use_edit_box,
|
||||
<EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
||||
@@ -43,7 +43,7 @@ some_edit edit_box 100,10,30,0x00ffffff,0,0x00aaaaaa,0,255,some_edit_text
|
||||
***********
|
||||
use_edit_box
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> editbox
|
||||
structure_of_potock - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 9 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
procinfo - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 9 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
mcall 0,(50*65536+390),(30*65536+200),0xb3AABBCC,0x805080DD,hed
|
||||
@@ -79,18 +79,18 @@ draw_edit_boxes -
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
editboxes - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
editboxes_end - <20><><EFBFBD><EFBFBD><EFBFBD> <20><><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>
|
||||
use_f9 <20> structure_of_potock - <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> - <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
mcall 9,structure_of_potock,-1
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> structure_of_potock- <20><><EFBFBD> <20><> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!!!!
|
||||
use_f9 <20> procinfo - <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> - <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
mcall 9,procinfo,-1
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> procinfo- <20><><EFBFBD> <20><> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!!!!
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><> <20><> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!!!!
|
||||
|
||||
<EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
draw_edit_box - <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
editboxes - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
use_f9 <20> structure_of_potock - <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> - <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
mcall 9,structure_of_potock,-1
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> structure_of_potock- <20><><EFBFBD> <20><> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!!!!
|
||||
use_f9 <20> procinfo - <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> - <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
mcall 9,procinfo,-1
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> procinfo- <20><><EFBFBD> <20><> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!!!!
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><> <20><> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!!!!
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD>.
|
||||
**********
|
||||
|
@@ -6,6 +6,7 @@ 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><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> aka <Lrz>
|
||||
; <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> 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> 04.04.2007 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><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>, <20><> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20>.<2E>. dd 0x0 <20> <20> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> editbox
|
||||
|
@@ -10,18 +10,20 @@ use32 ;
|
||||
dd start ; <20><><EFBFBD><EFBFBD><EFBFBD>, <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>⥬<EFBFBD> <20><>।<EFBFBD><E0A5A4><EFBFBD> <20><>ࠢ<EFBFBD><E0A0A2><EFBFBD><EFBFBD><EFBFBD>
|
||||
; <20><> <20><><EFBFBD><EFBFBD>㧪<EFBFBD> <20>ਫ<EFBFBD><E0A8AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
dd i_end ; ࠧ<><E0A0A7><EFBFBD> <20>ਫ<EFBFBD><E0A8AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
dd i_end and not 3 ; <20><>ꥬ <20>ᯮ<EFBFBD><E1AFAE><EFBFBD>㥬<EFBFBD><E3A5AC> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD> <20>⥪<EFBFBD> <20>⢥<EFBFBD><E2A2A5><EFBFBD> 0<>100 <20><><EFBFBD><EFBFBD> <20> <20><><EFBFBD><E0AEA2><EFBFBD> <20><> <20>୨<EFBFBD><E0ADA8> 4 <20><><EFBFBD><EFBFBD><EFBFBD>
|
||||
dd i_end and not 3 ; <20><>ᯮ<EFBFBD><E1AFAE><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>⥪<EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20>ࠧ<EFBFBD> <20><> ⥫<><E2A5AB> <20>ணࠬ<E0AEA3><E0A0AC>. <20><><EFBFBD>設<EFBFBD> <20>⥪<EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, 㪠<><E3AAA0><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
dd i_end ; <20><>ꥬ <20>ᯮ<EFBFBD><E1AFAE><EFBFBD>㥬<EFBFBD><E3A5AC> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD> <20>⥪<EFBFBD> <20>⢥<EFBFBD><E2A2A5><EFBFBD> 0<>100 <20><><EFBFBD><EFBFBD> <20> <20><><EFBFBD><E0AEA2><EFBFBD> <20><> <20>୨<EFBFBD><E0ADA8> 4 <20><><EFBFBD><EFBFBD><EFBFBD>
|
||||
dd i_end ; <20><>ᯮ<EFBFBD><E1AFAE><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>⥪<EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20>ࠧ<EFBFBD> <20><> ⥫<><E2A5AB> <20>ணࠬ<E0AEA3><E0A0AC>. <20><><EFBFBD>設<EFBFBD> <20>⥪<EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, 㪠<><E3AAA0><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
dd 0x0,0x0 ; 㪠<><E3AAA0>⥫<EFBFBD> <20><> <20><>ப<EFBFBD> <20> <20><>ࠬ<EFBFBD><E0A0AC>ࠬ<EFBFBD>.
|
||||
include 'macros.inc'
|
||||
include 'editbox.inc'
|
||||
use_edit_box structure_of_potock,22,5
|
||||
align 4
|
||||
use_edit_box procinfo,22,5
|
||||
;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
start: ;<3B><>窠 <20>室<EFBFBD> <20> <20>ணࠬ<E0AEA3><E0A0AC>
|
||||
mcall 40,0x27 ;<3B><>⠭<EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ᮡ<>⨩
|
||||
;<3B><><EFBFBD>⥬<EFBFBD> <20>㤥<EFBFBD> ॠ<><E0A5A0><EFBFBD><E0AEA2><EFBFBD> ⮫쪮 <20><> ᮮ<>饭<EFBFBD><E9A5AD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ᮢ<EFBFBD><E1AEA2>,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><>।<EFBFBD><E0A5A4><EFBFBD> ࠭<><E0A0AD>, ᮡ<>⨥ <20><> <20><><EFBFBD><EFBFBD> (<28><><EFBFBD>-<2D><> <20><><EFBFBD>稫<EFBFBD><E7A8AB><EFBFBD> - <20><><EFBFBD><EFBFBD>⨥ <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD> <20><>६<EFBFBD>饭<EFBFBD><E9A5AD>; <20><><EFBFBD><EFBFBD><EFBFBD>뢠<EFBFBD><EBA2A0><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD>⥭<EFBFBD><E2A5AD>) <20> <20><><EFBFBD><EFBFBD>⨥ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
red_win:
|
||||
call draw_window ;<3B><>ࢮ<EFBFBD><E0A2AE>砫쭮 <20><><EFBFBD><EFBFBD>室<EFBFBD><E5AEA4><EFBFBD> <20><><EFBFBD><EFBFBD>ᮢ<EFBFBD><E1AEA2><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
align 4
|
||||
still: ;<3B>᭮<EFBFBD><E1ADAE><EFBFBD><EFBFBD> <20><>ࠡ<EFBFBD><E0A0A1>稪
|
||||
mcall 10 ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ᮡ<><E1AEA1><EFBFBD><EFBFBD>
|
||||
cmp al,0x1 ;<3B> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
@@ -45,10 +47,11 @@ key:
|
||||
jmp still
|
||||
|
||||
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
||||
align 4
|
||||
draw_window: ;<3B><>ᮢ<EFBFBD><E1AEA2><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>ਫ<EFBFBD><E0A8AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
mcall 12,1
|
||||
mcall 0,(50*65536+390),(30*65536+200),0xb3AABBCC,0x805080DD,hed
|
||||
draw_edit_boxes editboxes,editboxes_end,use_f9,structure_of_potock ;<3B><>ᮢ<EFBFBD><E1AEA2><EFBFBD><EFBFBD> edit box'<27><>
|
||||
draw_edit_boxes editboxes,editboxes_end,use_f9,procinfo ;<3B><>ᮢ<EFBFBD><E1AEA2><EFBFBD><EFBFBD> edit box'<27><>
|
||||
mcall 12,2
|
||||
ret
|
||||
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
||||
@@ -61,7 +64,7 @@ edit4 edit_box 16,5,70,0xffffff,0x6a9480,0,0,0,1,ed_buffer.4,ed_figure_only
|
||||
editboxes_end:
|
||||
data_of_code dd 0
|
||||
mouse_flag dd 0x0
|
||||
hed db 'EDITBOX optimization and retype <Lrz> date 19.04.2007',0
|
||||
hed db 'EDITBOX optimization and retype <Lrz> date 09.05.2007',0
|
||||
rb 256
|
||||
ed_buffer:
|
||||
;.1: rb 514;256
|
||||
@@ -70,7 +73,8 @@ ed_buffer:
|
||||
.4: rb 3
|
||||
;<3B><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>室<EFBFBD><E5AEA4><EFBFBD> <20><><EFBFBD> ⮣<> <20><><EFBFBD> <20><> <20><> <20><><EFBFBD><EFBFBD>९<EFBFBD><E0A5AF><EFBFBD><EFBFBD><EFBFBD> <><E1ABA5><EFBFBD>騥<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>, <20> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 0
|
||||
buffer_end:
|
||||
structure_of_potock:
|
||||
align 16
|
||||
procinfo:
|
||||
rb 1024 ;1 <20><> <20><><EFBFBD> <20><><EFBFBD><EFBFBD>祭<EFBFBD><E7A5AD> <20><>饩 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
rb 1024
|
||||
rb 1024 ;Stack
|
||||
i_end:
|
@@ -1,3 +1,628 @@
|
||||
;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20>뢮<EFBFBD><EBA2AE> <20>᭮<EFBFBD><E1ADAE><EFBFBD><EFBFBD> <20>㭪権 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ᯫ<EFBFBD><E1AFAB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>ᮬ
|
||||
macro use_general_func
|
||||
{
|
||||
;debug_func
|
||||
;----------------------------------------------------------
|
||||
;--- <20><><EFBFBD>楤<EFBFBD><E6A5A4><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ᮢ<EFBFBD><E1AEA2> <20>뤥<EFBFBD><EBA4A5><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> -----------------
|
||||
;----------------------------------------------------------
|
||||
.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 .sh_cl_
|
||||
@@: ret
|
||||
;----------------------------------------------------------
|
||||
;--- <20><><EFBFBD>楤<EFBFBD><E6A5A4><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ᮢ<EFBFBD><E1AEA2> ⥪<><E2A5AA><EFBFBD> --------------------------
|
||||
;----------------------------------------------------------
|
||||
.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 .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>
|
||||
;--- <20><><EFBFBD>㥬 ⥪<><E2A5AA> ---
|
||||
@@: mov eax,4
|
||||
mov ebx,ed_left
|
||||
mov edx,ed_offset
|
||||
add ebx,2
|
||||
shl ebx,16
|
||||
mov bx,ed_top
|
||||
add ebx,4
|
||||
mov ecx,ed_text_color
|
||||
add edx,ed_text
|
||||
mcall
|
||||
ret
|
||||
;----------------------------------------------------------
|
||||
;--- <20><><EFBFBD>楤<EFBFBD><E6A5A4><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ᮢ<EFBFBD><E1AEA2> 䮭<> ----------------------------
|
||||
;<3B>室<EFBFBD><E5AEA4><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
;eax
|
||||
;edx - color
|
||||
;----------------------------------------------------------
|
||||
;<3B>室 ⮫쪮 梥<> edx
|
||||
.draw_bg:
|
||||
mov ebx,ed_left
|
||||
add ebx,1
|
||||
shl ebx,16
|
||||
mov bx,ed_width
|
||||
sub ebx,1
|
||||
mov edx,ed_color
|
||||
.draw_bg_eax:
|
||||
mov ecx,ed_top
|
||||
mov eax,13
|
||||
add ecx,1
|
||||
shl ecx,16
|
||||
mov cx,ed_height
|
||||
dec ecx
|
||||
mcall
|
||||
ret
|
||||
|
||||
;----------------------------------------------------------
|
||||
;--- <20><><EFBFBD>楤<EFBFBD><E6A5A4><EFBFBD> <20><><EFBFBD><EFBFBD>祭<EFBFBD><E7A5AD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⢠ ᨬ<><E1A8AC><EFBFBD><EFBFBD><EFBFBD> <20> ⥪<>饩 <20><>ਭ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
;----------------------------------------------------------
|
||||
.get_n:
|
||||
mov eax,ed_width ;<3B><><EFBFBD><EFBFBD>祬 <20><>ਭ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
xor edx,edx ;१<><E0A5A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ᯮ<EFBFBD><E1AFAE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD> edx:eax <20> eax - <20><><EFBFBD><EFBFBD>⮪
|
||||
sub eax,4 ;<3B><><EFBFBD>⨬ 4
|
||||
mov ebx,6 ;<3B><><EFBFBD><EFBFBD>㧬<EFBFBD> <20><><EFBFBD><EFBFBD>⥫<EFBFBD>
|
||||
div ebx ;ࠧ<><E0A0A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> 6
|
||||
ret
|
||||
;----------------------------------------------------------
|
||||
;--- <20><><EFBFBD>楤<EFBFBD><E6A5A4><EFBFBD> <20><>ᮢ<EFBFBD><E1AEA2><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> --------------------------
|
||||
;----------------------------------------------------------
|
||||
;<3B>室<EFBFBD><E5AEA4><EFBFBD> ebp- 梥<>
|
||||
.clear_cursor:
|
||||
mov edx,ebp
|
||||
mov ebx,cl_curs_x
|
||||
mov ecx,cl_curs_y
|
||||
jmp .draw_curs
|
||||
.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 bx,ed_left
|
||||
mov ecx,ed_top
|
||||
inc ebx
|
||||
add ecx,2
|
||||
mov ebp,ebx
|
||||
shl ebx,16
|
||||
mov bx,bp
|
||||
mov ebp,ecx
|
||||
|
||||
shl ecx,16
|
||||
mov cx,bp
|
||||
add cx,ed_height-4
|
||||
|
||||
mov cl_curs_x,ebx
|
||||
mov cl_curs_y,ecx
|
||||
.draw_curs:
|
||||
mcall 38
|
||||
ret
|
||||
;----------------------------------------------------------
|
||||
;--- <20><><EFBFBD>楤<EFBFBD><E6A5A4><EFBFBD> <20><>ᮢ<EFBFBD><E1AEA2><EFBFBD><EFBFBD> ࠬ<><E0A0AC> ----------------------------
|
||||
;----------------------------------------------------------
|
||||
.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 bx,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 bx,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> ------------------------------------
|
||||
;--- <20> ᬥ饭<E1ACA5><E9A5AD> <20>뫮 <20><>⠭<EFBFBD><E2A0AD><EFBFBD><EFBFBD> 䫠<><E4ABA0> ed_offset_cl <20><><EFBFBD><EFBFBD><EFBFBD>
|
||||
; <20> <20><>祣<EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD>⠢<EFBFBD><E2A0A2><EFBFBD><EFBFBD><EFBFBD> ed_offset_fl
|
||||
; <20> <20><>饩 <20><>⮢<EFBFBD><E2AEA2> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ﭨ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⮢ word ed_flags
|
||||
;----------------------------------------------------------
|
||||
.check_offset:
|
||||
pusha
|
||||
mov ecx,ed_pos
|
||||
mov ebx,ed_offset
|
||||
cmp ebx,ecx
|
||||
ja .sub_8
|
||||
|
||||
push ebx
|
||||
call .get_n ;<3B><><EFBFBD><EFBFBD>稬 <20><><EFBFBD>-<2D><> ᨬ<><E1A8AC><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD> ॣ<><E0A5A3><EFBFBD> edx:eax
|
||||
pop ebx
|
||||
mov edx,ebx
|
||||
add edx,eax ;ed_offset+width editbox
|
||||
inc edx ;<3B><><EFBFBD><EFBFBD>室<EFBFBD><E5AEA4><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><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>樨
|
||||
cmp edx,ecx
|
||||
ja @f
|
||||
|
||||
mov edx,ed_size
|
||||
cmp edx,ecx
|
||||
je .add_end
|
||||
|
||||
sub edx,ecx
|
||||
cmp edx,8
|
||||
jbe .add_8
|
||||
add ebx,8
|
||||
jmp .chk_d
|
||||
|
||||
.sub_8: cmp ecx,0
|
||||
je .sub_min
|
||||
cmp ebx,8
|
||||
jbe .sub_min
|
||||
sub ebx,8 ;ebx=ed_offset
|
||||
jmp .chk_d
|
||||
.sub_min:
|
||||
xor ebx,ebx
|
||||
jmp .chk_d
|
||||
|
||||
.add_end:sub edx,eax
|
||||
mov ebx,edx
|
||||
jmp .chk_d
|
||||
.add_8: add ebx,edx
|
||||
.chk_d: mov ed_offset,ebx
|
||||
call .draw_bg
|
||||
and word ed_flags,ed_offset_cl
|
||||
edit_ex
|
||||
@@:
|
||||
or word ed_flags,ed_offset_fl
|
||||
edit_ex
|
||||
}
|
||||
|
||||
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>
|
||||
.shift: ;;;;;;;SHIFT
|
||||
test word ed_flags,ed_shift
|
||||
je .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 .sh_cl_
|
||||
jmp .draw_cursor_text
|
||||
;;;;;;;;;;;;;;;;;;;;;
|
||||
.f_exit:call .check_offset
|
||||
and word ed_flags,ed_shift_cl
|
||||
call .enable_null
|
||||
jmp .draw_cursor_text
|
||||
.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 .sh_n
|
||||
push eax ;<3B><><EFBFBD><EFBFBD>襥 <20> eax
|
||||
push ebx ;<3B><><EFBFBD><EFBFBD>襥
|
||||
jmp .sh_n1
|
||||
;<3B> <20><><EFBFBD><EFBFBD><EFBFBD>
|
||||
.sh_n: push ebx
|
||||
push eax
|
||||
.sh_n1:
|
||||
call .check_offset
|
||||
call .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>襥
|
||||
|
||||
cmp eax,ecx ;<3B>ࠢ<EFBFBD><E0A0A2><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD>襣<EFBFBD> <20> offset.
|
||||
jae .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 .nxt_f
|
||||
@@: mov ebx,edx
|
||||
sub ebx,ecx
|
||||
jmp .nxt_f
|
||||
.f_f:
|
||||
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 .nxt_f
|
||||
@@:
|
||||
mov ebx,edx
|
||||
sub ebx,ecx
|
||||
sub ebx,eax
|
||||
.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]
|
||||
shl ecx,1
|
||||
mov bx,cx
|
||||
inc ebx
|
||||
mov edx,ebp;shift_color
|
||||
|
||||
call .draw_bg_eax
|
||||
@@: call .enable_null
|
||||
ret
|
||||
;;;;;;;;;;;;;;;;;;;;;
|
||||
;<3B><>⠭<EFBFBD><E2A0AD><EFBFBD><EFBFBD>- <20><><EFBFBD>⨥ <20>뤥<EFBFBD><EBA4A5><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD> ᨬ<><E1A8AC><EFBFBD>
|
||||
;;;;;;;;;;;;;;;;;;;;;
|
||||
.drw_sim:
|
||||
mov eax,dword ed_pos
|
||||
call .draw_rectangle ;<3B><><EFBFBD><EFBFBD>ᮢ<EFBFBD><E1AEA2><EFBFBD> <20><>אַ㣮<EFACAE>쭨<EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 梥⮬
|
||||
jmp @b
|
||||
;;;;;;;;;;;;;;;;;;;;;
|
||||
;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>⠭<EFBFBD><E2A0AD><EFBFBD><EFBFBD> <20>뤥<EFBFBD><EBA4A5><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20><>ࠢ<EFBFBD> <20> <20><><EFBFBD><EFBFBD>⨨ shift
|
||||
;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:
|
||||
;;;;;;;;;;
|
||||
.draw_wigwag:
|
||||
;<3B>㭪<EFBFBD><E3ADAA><EFBFBD> <20><>⠭<EFBFBD><E2A0AD><EFBFBD><EFBFBD> <20><>६<EFBFBD><E0A5AC><EFBFBD><EFBFBD><EFBFBD>
|
||||
mov ebp,shift_color
|
||||
call .clear_cursor
|
||||
|
||||
or word ed_flags,ed_shift_bac ;<3B><>⠭<EFBFBD><E2A0AD><EFBFBD><EFBFBD> 䫠<><E4ABA0>, <20>뤥<EFBFBD><EBA4A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
mov ebp,shift_color
|
||||
mov eax,dword ed_pos
|
||||
test word ed_flags,ed_left_fl
|
||||
jz .low
|
||||
jmp @f
|
||||
;;;;;;;;;;
|
||||
;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 㤠<><E3A4A0><EFBFBD><EFBFBD><EFBFBD> <20>뤥<EFBFBD><EBA4A5><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20><>ࠢ<EFBFBD> <20> <20><><EFBFBD><EFBFBD>⨨ shift
|
||||
;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:
|
||||
;;;;;;;;;;
|
||||
.draw_wigwag_cl:
|
||||
;<3B>㭪<EFBFBD><E3ADAA><EFBFBD> <20><>⠭<EFBFBD><E2A0AD><EFBFBD><EFBFBD> <20><>६<EFBFBD><E0A5AC><EFBFBD><EFBFBD><EFBFBD>
|
||||
mov ebp,ed_color
|
||||
call .clear_cursor
|
||||
|
||||
mov ebp,ed_color
|
||||
mov eax,dword ed_pos
|
||||
test word ed_flags,ed_left_fl
|
||||
jz .low
|
||||
@@: call .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
|
||||
.low: dec eax
|
||||
jmp @b
|
||||
;<3B>室<EFBFBD><E5AEA4><EFBFBD> <20><>ࠬ<EFBFBD><E0A0AC><EFBFBD> ebx - ed_pos
|
||||
.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
|
||||
;<3B>ந<EFBFBD><E0AEA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>⨥ <20>뤥<EFBFBD><EBA4A5><EFBFBD><EFBFBD><EFBFBD>, <20> <20><><EFBFBD> shift
|
||||
;<3B><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>室<EFBFBD><E5AEA4>
|
||||
.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 .sh_cl_ ;<3B><><EFBFBD><EFBFBD>⪠ <20>뤥<EFBFBD><EBA4A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ࠣ<EFBFBD><E0A0A3><EFBFBD><EFBFBD><EFBFBD>
|
||||
and word ed_flags,ed_shift_cl ; <20><><EFBFBD><EFBFBD>⪠ <20><> ⮣<> <20><><EFBFBD> <20><>ࠫ<EFBFBD> <20>뤥<EFBFBD><EBA4A5><EFBFBD><EFBFBD><EFBFBD>
|
||||
jmp .draw_cursor_text
|
||||
@@:
|
||||
and word ed_flags,ed_shift_off
|
||||
edit_ex
|
||||
;<3B><EFBFBD>ઠ <20><><EFBFBD><EFBFBD><EFBFBD>ﭨ<EFBFBD> shift <20><><EFBFBD> <20><> <20><> <20><><EFBFBD><EFBFBD><EFBFBD> ࠭<><E0A0AD><EFBFBD>?
|
||||
.sh_enable:
|
||||
test word ed_flags,ed_shift
|
||||
jne .sh_ext_en ;<3B><><EFBFBD><EFBFBD>ᮢ<EFBFBD><E1AEA2><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>襭<EFBFBD><E8A5AD> <20><>אַ㣮<EFACAE>쭨<EFBFBD>
|
||||
|
||||
test word ed_flags,ed_shift_bac
|
||||
je @f
|
||||
call .check_offset
|
||||
|
||||
mov ebp,ed_color
|
||||
mov ebx,dword ed_shift_pos
|
||||
call .sh_cl_ ;<3B><><EFBFBD><EFBFBD>⪠ <20>뤥<EFBFBD><EBA4A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ࠣ<EFBFBD><E0A0A3><EFBFBD><EFBFBD><EFBFBD>
|
||||
call .draw_wigwag_cl
|
||||
and word ed_flags,ed_shift_cl ; 1<><31><EFBFBD> <20><> <20>㦭<EFBFBD>
|
||||
ret
|
||||
|
||||
@@: mov ebp,ed_color
|
||||
call .clear_cursor
|
||||
call .check_offset
|
||||
ret
|
||||
.sh_ext_en:
|
||||
call .check_offset
|
||||
test word ed_flags,ed_offset_fl
|
||||
je @f
|
||||
;<3B><>ᮢ<EFBFBD><E1AEA2><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>襭<EFBFBD><E8A5AD> <20><>אַ㣮<EFACAE>쭨<EFBFBD><ECADA8><EFBFBD> <20> <20><><EFBFBD><EFBFBD>⪠ <20><>
|
||||
mov eax,dword ed_shift_pos
|
||||
mov ebx,dword ed_pos
|
||||
mov ecx,dword ed_shift_pos_old
|
||||
;<3B><EFBFBD>ઠ <20> <20><>ᮢ<EFBFBD><E1AEA2><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>襭<EFBFBD><E8A5AD> <20><><EFBFBD><EFBFBD><EFBFBD>⥩
|
||||
cmp eax,ecx
|
||||
je .1_shem
|
||||
jb .smaller
|
||||
cmp ecx,ebx
|
||||
ja .1_shem
|
||||
call .draw_wigwag_cl ;clear
|
||||
jmp .sh_e_end
|
||||
.smaller:
|
||||
cmp ecx,ebx
|
||||
jb .1_shem
|
||||
call .draw_wigwag_cl ;clear
|
||||
jmp .sh_e_end
|
||||
;alike =
|
||||
.1_shem: call .draw_wigwag
|
||||
.sh_e_end: and word ed_flags,ed_shift_off
|
||||
ret
|
||||
@@: mov ebp,shift_color
|
||||
mov ebx,dword ed_shift_pos
|
||||
call .sh_cl_
|
||||
jmp .sh_e_end
|
||||
;<3B>㭪<EFBFBD><E3ADAA><EFBFBD> <20><><EFBFBD> <20><>ࠡ<EFBFBD>⪨ shift <20><><EFBFBD> <20><><EFBFBD><EFBFBD>⨨ home and end
|
||||
.sh_home_end:
|
||||
mov ebp,ed_color
|
||||
call .clear_cursor
|
||||
test word ed_flags,ed_shift_bac
|
||||
je @f
|
||||
mov ebp,ed_color
|
||||
mov ebx,dword ed_shift_pos_old
|
||||
call .sh_cl_
|
||||
|
||||
@@: test word ed_flags,ed_shift
|
||||
je .sh_exit_ ;<3B><><EFBFBD><EFBFBD><EFBFBD>
|
||||
mov ebp,shift_color
|
||||
mov ebx,dword ed_shift_pos
|
||||
call .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 .sh_e_end
|
||||
.sh_exit_: call .check_offset
|
||||
ret
|
||||
;<3B>㭪<EFBFBD><E3ADAA><EFBFBD> <20><><EFBFBD>ᥭ<EFBFBD><E1A5AD> 0 <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ed_size+1
|
||||
.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
|
||||
.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 .dh_n
|
||||
|
||||
mov ed_pos,eax ;<3B><><EFBFBD> <20><> <20><> <20>뫮 㡥<><E3A1A5><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
mov ebp,ecx
|
||||
sub ebp,eax
|
||||
add ebx,eax ;eax <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
sub edx,ecx
|
||||
add esi,ecx
|
||||
|
||||
mov dword ed_shift_pos,ebp
|
||||
jmp .del_ch_sh
|
||||
;<3B> <20><><EFBFBD><EFBFBD><EFBFBD>
|
||||
.dh_n:
|
||||
mov ebp,eax
|
||||
sub ebp,ecx
|
||||
add ebx,ecx
|
||||
sub edx,eax
|
||||
add esi,eax
|
||||
mov dword ed_shift_pos,ebp
|
||||
jmp .del_ch_sh
|
||||
|
||||
@@: add esi,ecx ;㪠<><E3AAA0>⥫<EFBFBD> + ᬥ饭<E1ACA5><E9A5AD> <20> ॠ<>쭮<EFBFBD><ECADAE> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
mov ebx,esi
|
||||
inc esi
|
||||
cld
|
||||
|
||||
sub edx,ecx
|
||||
.del_ch_sh:
|
||||
|
||||
push edi
|
||||
mov edi,ebx
|
||||
@@:
|
||||
lodsb
|
||||
stosb
|
||||
dec edx
|
||||
jns @b
|
||||
|
||||
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
|
||||
.clear_bg:
|
||||
call .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
|
||||
|
||||
cmp eax,ebx
|
||||
jb @f
|
||||
mov eax,ed_pos
|
||||
sub ebx,eax
|
||||
mov ecx,ed_offset
|
||||
sub eax,ecx
|
||||
jmp .nxt
|
||||
@@: mov ebx,ed_pos
|
||||
push ebx
|
||||
sub eax,ebx
|
||||
mov ebx,eax ;It is don't optimal
|
||||
|
||||
pop eax ;ed_pos
|
||||
mov ecx,ed_offset
|
||||
sub eax,ecx
|
||||
.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]
|
||||
shl ecx,1
|
||||
mov bx,cx
|
||||
mov edx,ed_color
|
||||
call .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
|
||||
;ebp=-梥<> ed_color or shift_color
|
||||
.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
|
||||
mov bx,6
|
||||
mov edx,ebp
|
||||
call .draw_bg_eax
|
||||
ret
|
||||
;;;;;;;;;;;;;;;;;;
|
||||
;;<3B><EFBFBD>ઠ <20><><EFBFBD><EFBFBD><EFBFBD> <20><> shift
|
||||
;;;;;;;;;;;;;;;;;;
|
||||
.check_shift:
|
||||
pusha ;<3B><><EFBFBD>࠭<EFBFBD><E0A0AD> <20><><EFBFBD> ॣ<><E0A5A3><EFBFBD><EFBFBD><EFBFBD>
|
||||
mcall 66,3,1
|
||||
test al,0x03
|
||||
je @f
|
||||
or word ed_flags,ed_shift ;<3B><>⠭<EFBFBD><E2A0AD><EFBFBD><EFBFBD> 䫠<>
|
||||
@@:edit_ex
|
||||
}
|
||||
;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ந<EFBFBD>室<EFBFBD><E5AEA4> ॠ<><E0A5A0><EFBFBD><EFBFBD>
|
||||
macro use_key_process backspase,delete,left,right,home,end,insert
|
||||
{
|
||||
if backspase eq
|
||||
else
|
||||
cmp ah,8
|
||||
jz .backspace
|
||||
end if
|
||||
if delete eq
|
||||
else
|
||||
cmp ah,0xb6
|
||||
jz .delete
|
||||
end if
|
||||
if left eq
|
||||
else
|
||||
cmp ah,176
|
||||
jz .left
|
||||
end if
|
||||
if right eq
|
||||
else
|
||||
cmp ah,179
|
||||
jz .right
|
||||
end if
|
||||
if home eq
|
||||
else
|
||||
cmp ah,180
|
||||
jz .home
|
||||
end if
|
||||
if home eq
|
||||
else
|
||||
cmp ah,181
|
||||
jz .end
|
||||
end if
|
||||
if insert eq
|
||||
else
|
||||
cmp ah,185 ;insert
|
||||
jz .insert
|
||||
end if
|
||||
}
|
||||
macro use_key_no_process up,down,esc
|
||||
{
|
||||
if up eq
|
||||
else
|
||||
cmp ah,177
|
||||
jz .no_figure
|
||||
end if
|
||||
if down eq
|
||||
else
|
||||
cmp ah,178
|
||||
jz .no_figure
|
||||
end if
|
||||
if esc eq
|
||||
else
|
||||
cmp ah,27 ;ESC - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ))
|
||||
jz .no_figure
|
||||
end if
|
||||
}
|
||||
|
||||
macro use_key_figures_only
|
||||
{
|
||||
test word ed_flags,ed_figure_only ; ⮫쪮 <20><><EFBFBD><EFBFBD><EFBFBD> ?
|
||||
jz @f
|
||||
cmp ah,'0'
|
||||
jb .no_figure
|
||||
cmp ah,'9'
|
||||
ja .no_figure
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>室<EFBFBD>
|
||||
macro edit_ex
|
||||
{
|
||||
|
Reference in New Issue
Block a user