forked from KolibriOS/kolibrios
fixed bugs and upgrade edit_box
git-svn-id: svn://kolibrios.org@343 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
@@ -1,3 +1,5 @@
|
|||||||
|
; <Lrz> 13.02.2007 <20><>ࠫ <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>栭<EFBFBD><E6A0AD>, <20><><EFBFBD><EFBFBD>襭<EFBFBD> <20><>ࠡ<EFBFBD>⠪<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ᮢ<EFBFBD><E1AEA2> 䮭<>
|
||||||
|
; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>ᥭ<EFBFBD><E1A5AD> 0<>0 <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ed_size <20><><EFBFBD><EFBFBD><EFBFBD> <20> Maxxx32 <20>뫨 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>몮<EFBFBD><EBAAAE><EFBFBD> <20> <20><><EFBFBD><EFBFBD>. <20><><EFBFBD>筨<EFBFBD> <20> ⮬, <20><><EFBFBD> <20><>⨬<EFBFBD><E2A8AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>뫠 ᢥ<><E1A2A5><EFBFBD><EFBFBD> <20> ⮬<> <20><><EFBFBD> <20> <20><> <20><><EFBFBD>⨫ ᨬ<><E1A8AC><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD> 㤠<><E3A4A0><EFBFBD>, <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><> <20>뢮<EFBFBD><EBA2AE><EFBFBD>, <20> <20><>⮬ <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>ᨫ<EFBFBD><E1A8AB> <20><><EFBFBD><EFBFBD><EFBFBD> ᨬ<><E1A8AC><EFBFBD>, <20><> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>ࠫ 㦥 <20><><EFBFBD><EFBFBD>騩<EFBFBD><E9A8A9>. <20> <20><> <20>ணࠬ<E0AEA3><E0A0AC> <20><>ࠡ<EFBFBD><E0A0A1>뢠<EFBFBD><EBA2A0> <20><><EFBFBD><EFBFBD><EFBFBD> <20><>ப<EFBFBD> <20><> ed_size, <20><EFBFBD><E0AEA1><EFBFBD> <20><> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. <20><> ᥩ<><E1A5A9><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⮪ <20><><EFBFBD>ࠢ<EFBFBD><E0A0A2><EFBFBD>.
|
||||||
; <Lrz> 01.02.2007 <20><>ࠡ<EFBFBD>⪠ edit_box, <20><><EFBFBD>ࠢ<EFBFBD><E0A0A2> <20><><EFBFBD><EFBFBD>.
|
; <Lrz> 01.02.2007 <20><>ࠡ<EFBFBD>⪠ edit_box, <20><><EFBFBD>ࠢ<EFBFBD><E0A0A2> <20><><EFBFBD><EFBFBD>.
|
||||||
; <Lrz> 26.01.2007 <20><>ଠ<EFBFBD>쭠<EFBFBD> ࠡ<><E0A0A1><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>ࠢ<EFBFBD><E0A0A2> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> .check_offset
|
; <Lrz> 26.01.2007 <20><>ଠ<EFBFBD>쭠<EFBFBD> ࠡ<><E0A0A1><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>ࠢ<EFBFBD><E0A0A2> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> .check_offset
|
||||||
; <Lrz> 24.01.2007 <20><>䨪ᥫ <20><><EFBFBD><EFBFBD> <20>맢<EFBFBD><EBA7A2><EFBFBD><EFBFBD> <20><> <20>ࠢ<EFBFBD><E0A0A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> )).
|
; <Lrz> 24.01.2007 <20><>䨪ᥫ <20><><EFBFBD><EFBFBD> <20>맢<EFBFBD><EBA7A2><EFBFBD><EFBFBD> <20><> <20>ࠢ<EFBFBD><E0A0A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> )).
|
||||||
@@ -153,6 +155,7 @@ ret
|
|||||||
ret
|
ret
|
||||||
|
|
||||||
jmp @f
|
jmp @f
|
||||||
|
;<3B>室 ⮫쪮 梥<> edx
|
||||||
.draw_bg:
|
.draw_bg:
|
||||||
mov ebx,ed_left
|
mov ebx,ed_left
|
||||||
add ebx,1
|
add ebx,1
|
||||||
@@ -347,30 +350,6 @@ popad
|
|||||||
mov dword [esp+28],0
|
mov dword [esp+28],0
|
||||||
popad
|
popad
|
||||||
ret
|
ret
|
||||||
|
|
||||||
|
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
||||||
; mov ebx,eax
|
|
||||||
; mov eax,ed_pos
|
|
||||||
; xor edx,edx
|
|
||||||
; idiv ebx
|
|
||||||
; xor edx,edx
|
|
||||||
; imul eax,ebx
|
|
||||||
; mov ed_offset,eax
|
|
||||||
; pop ebx
|
|
||||||
; cmp ax,bx
|
|
||||||
; je @f
|
|
||||||
;;;;;;;; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>訢<EFBFBD><E8A8A2><EFBFBD><EFBFBD> <20>ᥩ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>אַ㣮<EFACAE>쭨<EFBFBD><ECADA8>
|
|
||||||
; mov ebx,ed_left
|
|
||||||
; inc ebx
|
|
||||||
; shl ebx,16
|
|
||||||
; mov bx,ed_width
|
|
||||||
; dec ebx
|
|
||||||
; mov edx,ed_color
|
|
||||||
; call .draw_bg_eax
|
|
||||||
; mov dword [esp+28],0
|
|
||||||
;@@: popad
|
|
||||||
; ret
|
|
||||||
;==========================================================
|
;==========================================================
|
||||||
;=== <20><>ࠡ<EFBFBD>⪠ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> =================================
|
;=== <20><>ࠡ<EFBFBD>⪠ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> =================================
|
||||||
;==========================================================
|
;==========================================================
|
||||||
@@ -379,6 +358,7 @@ pusha
|
|||||||
test word ed_flags,ed_focus ; <20> <20><> <20> 䮪<><E4AEAA><EFBFBD>, <20><>室<EFBFBD><E5AEA4>
|
test word ed_flags,ed_focus ; <20> <20><> <20> 䮪<><E4AEAA><EFBFBD>, <20><>室<EFBFBD><E5AEA4>
|
||||||
je .no_figure ;@f
|
je .no_figure ;@f
|
||||||
|
|
||||||
|
;<3B><EFBFBD>ઠ <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> shift
|
||||||
xor ecx,ecx
|
xor ecx,ecx
|
||||||
push eax
|
push eax
|
||||||
inc ecx
|
inc ecx
|
||||||
@@ -387,9 +367,9 @@ pusha
|
|||||||
int 0x40
|
int 0x40
|
||||||
test al,0x03
|
test al,0x03
|
||||||
je @f
|
je @f
|
||||||
or word ed_flags,ed_shift
|
or word ed_flags,ed_shift ;<3B><>⠭<EFBFBD><E2A0AD><EFBFBD><EFBFBD> 䫠<>
|
||||||
|
|
||||||
@@: pop eax
|
@@: pop eax ;<3B><><EFBFBD><EFBFBD>⠭<EFBFBD><E2A0AD><EFBFBD><EFBFBD> <20><><EFBFBD>⠭<EFBFBD><E2A0AD> ᨬ<><E1A8AC><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
;----------------------------------------------------------
|
;----------------------------------------------------------
|
||||||
;--- <20><EFBFBD><E0AEA2>塞, <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> --------------------------------
|
;--- <20><EFBFBD><E0AEA2>塞, <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> --------------------------------
|
||||||
;----------------------------------------------------------
|
;----------------------------------------------------------
|
||||||
@@ -433,6 +413,9 @@ pusha
|
|||||||
mov edx,ed_size
|
mov edx,ed_size
|
||||||
mov ecx,ed_pos
|
mov ecx,ed_pos
|
||||||
call .del_char
|
call .del_char
|
||||||
|
;clear
|
||||||
|
mov ebp,ed_size
|
||||||
|
call .clear_bg
|
||||||
;;;;
|
;;;;
|
||||||
mov eax,ed_shift_pos
|
mov eax,ed_shift_pos
|
||||||
mov ebx,ed_size
|
mov ebx,ed_size
|
||||||
@@ -443,9 +426,11 @@ pusha
|
|||||||
; <20><EFBFBD><E0AEA2>塞, <20><>室<EFBFBD><E5AEA4><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD>
|
; <20><EFBFBD><E0AEA2>塞, <20><>室<EFBFBD><E5AEA4><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD>
|
||||||
@@: mov ecx,ed_size
|
@@: mov ecx,ed_size
|
||||||
mov edx, ed_max
|
mov edx, ed_max
|
||||||
|
test word ed_flags,ed_insert
|
||||||
|
jne @f
|
||||||
cmp ecx,edx
|
cmp ecx,edx
|
||||||
jae .no_figure
|
jae .no_figure
|
||||||
mov ebx, ed_pos
|
@@: mov ebx, ed_pos
|
||||||
cmp ebx,edx
|
cmp ebx,edx
|
||||||
jl @f ; <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> ࠢ<><E0A0A2>
|
jl @f ; <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> ࠢ<><E0A0A2>
|
||||||
.no_figure:
|
.no_figure:
|
||||||
@@ -463,6 +448,12 @@ pusha
|
|||||||
sub esi,ecx
|
sub esi,ecx
|
||||||
add esi,ebx
|
add esi,ebx
|
||||||
mov edi,esi
|
mov edi,esi
|
||||||
|
;clear
|
||||||
|
pusha
|
||||||
|
mov edi,ebp
|
||||||
|
mov ebp,ed_pos
|
||||||
|
call .clear_bg
|
||||||
|
popa
|
||||||
jmp .In_k
|
jmp .In_k
|
||||||
@@: ; ᤢ<><E1A4A2><EFBFBD><EFBFBD><EFBFBD> ᨬ<><E1A8AC><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ࠢ<EFBFBD>
|
@@: ; ᤢ<><E1A4A2><EFBFBD><EFBFBD><EFBFBD> ᨬ<><E1A8AC><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ࠢ<EFBFBD>
|
||||||
mov ecx,ed_size
|
mov ecx,ed_size
|
||||||
@@ -478,6 +469,13 @@ pusha
|
|||||||
|
|
||||||
test word [ebp+36],ed_insert ;IF insert is enable <20>.<2E>. edi <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>㥬 <20><>१ ebp
|
test word [ebp+36],ed_insert ;IF insert is enable <20>.<2E>. edi <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>㥬 <20><>१ ebp
|
||||||
jne .ins_v
|
jne .ins_v
|
||||||
|
;clear
|
||||||
|
pusha
|
||||||
|
mov edi,ebp
|
||||||
|
mov ebp,ed_size
|
||||||
|
call .clear_bg
|
||||||
|
popa
|
||||||
|
|
||||||
|
|
||||||
sub ecx,ebx ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>-<2D><> ᨬ<><E1A8AC><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><>।<EFBFBD><E0A5A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
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>
|
inc edi ;<3B><><EFBFBD><EFBFBD>⨬ <20><><EFBFBD><EFBFBD> ᨬ<><E1A8AC><EFBFBD><EFBFBD> <20> <20>ࠢ<EFBFBD>
|
||||||
@@ -534,7 +532,7 @@ pusha
|
|||||||
dec dword ed_pos
|
dec dword ed_pos
|
||||||
|
|
||||||
.draw_all:
|
.draw_all:
|
||||||
push .shift;.draw_cursor_text;eax
|
push .shift;.draw_cursor_text;eax
|
||||||
|
|
||||||
test word ed_flags,ed_shift_on
|
test word ed_flags,ed_shift_on
|
||||||
je @f
|
je @f
|
||||||
@@ -542,7 +540,12 @@ pusha
|
|||||||
mov ebx,ed_size
|
mov ebx,ed_size
|
||||||
sub ebx,eax
|
sub ebx,eax
|
||||||
mov ed_size,ebx
|
mov ed_size,ebx
|
||||||
jmp .draw_all2
|
|
||||||
|
call .clear_cursor
|
||||||
|
call .check_offset
|
||||||
|
call .draw_bg
|
||||||
|
|
||||||
|
ret
|
||||||
|
|
||||||
@@: dec dword ed_size
|
@@: dec dword ed_size
|
||||||
|
|
||||||
@@ -550,55 +553,10 @@ pusha
|
|||||||
and word ed_flags,ed_shift_cl
|
and word ed_flags,ed_shift_cl
|
||||||
call .clear_cursor
|
call .clear_cursor
|
||||||
call .check_offset
|
call .check_offset
|
||||||
;;;;;;;;;;;;;;;
|
mov ebp,ed_size
|
||||||
test eax,eax
|
call .clear_bg
|
||||||
jne @f
|
|
||||||
call .draw_bg
|
|
||||||
ret
|
ret
|
||||||
;;;;;;;;;;;;;;;
|
;jmp .shift
|
||||||
@@: call .get_n
|
|
||||||
push eax
|
|
||||||
mov ebx,ed_offset
|
|
||||||
add eax,ebx ;eax = w_off= ed_offset+width
|
|
||||||
mov ebx,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
|
|
||||||
; jmp .shift
|
|
||||||
;--- <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> left ---
|
;--- <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> left ---
|
||||||
.left: call .sh_enable
|
.left: call .sh_enable
|
||||||
mov ebx,ed_pos
|
mov ebx,ed_pos
|
||||||
@@ -636,9 +594,13 @@ pusha
|
|||||||
;jz .draw_bg_cursor_text
|
;jz .draw_bg_cursor_text
|
||||||
call .draw_cursor
|
call .draw_cursor
|
||||||
|
|
||||||
.shift: ;;;;;;;SHIFT
|
|
||||||
|
|
||||||
call .draw_bg ;<3B><> <20><>⨬<EFBFBD><E2A8AC>쭮
|
|
||||||
|
.shift: ;;;;;;;SHIFT
|
||||||
|
;test ed_flags,ed_
|
||||||
|
|
||||||
|
;mov ebp,ed_size
|
||||||
|
;call .clear_bg
|
||||||
test word ed_flags,ed_shift
|
test word ed_flags,ed_shift
|
||||||
je .f_exit
|
je .f_exit
|
||||||
;;;;;;SHIFT end
|
;;;;;;SHIFT end
|
||||||
@@ -702,11 +664,13 @@ pusha
|
|||||||
mov edx,shift_color
|
mov edx,shift_color
|
||||||
call .draw_bg_eax
|
call .draw_bg_eax
|
||||||
and word ed_flags,1111111111111011b
|
and word ed_flags,1111111111111011b
|
||||||
|
call .enable_null
|
||||||
jmp .draw_cursor_text
|
jmp .draw_cursor_text
|
||||||
;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
|
||||||
.f_exit: and word ed_flags,ed_shift_cl
|
.f_exit: and word ed_flags,ed_shift_cl
|
||||||
jmp .draw_cursor_text
|
call .enable_null
|
||||||
|
jmp .draw_cursor_text
|
||||||
|
|
||||||
;<3B><EFBFBD>ઠ <20><><EFBFBD><EFBFBD><EFBFBD>ﭨ<EFBFBD> shift <20><><EFBFBD> <20><> <20><> <20><><EFBFBD><EFBFBD><EFBFBD> ࠭<><E0A0AD><EFBFBD>?
|
;<3B><EFBFBD>ઠ <20><><EFBFBD><EFBFBD><EFBFBD>ﭨ<EFBFBD> shift <20><><EFBFBD> <20><> <20><> <20><><EFBFBD><EFBFBD><EFBFBD> ࠭<><E0A0AD><EFBFBD>?
|
||||||
.sh_enable:
|
.sh_enable:
|
||||||
@@ -720,7 +684,22 @@ pusha
|
|||||||
ret
|
ret
|
||||||
|
|
||||||
@@: and word ed_flags,ed_shift_cl
|
@@: and word ed_flags,ed_shift_cl
|
||||||
.sh_ext_en: ret
|
ret
|
||||||
|
.sh_ext_en: mov ebp,ed_size
|
||||||
|
call .clear_bg
|
||||||
|
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
|
||||||
|
add eax,ebx
|
||||||
|
inc eax
|
||||||
|
xor ebx,ebx
|
||||||
|
mov [eax],bl
|
||||||
|
popa
|
||||||
|
ret
|
||||||
|
|
||||||
;- 㤠<><E3A4A0><EFBFBD><EFBFBD><EFBFBD> ᨬ<><E1A8AC><EFBFBD><EFBFBD>
|
;- 㤠<><E3A4A0><EFBFBD><EFBFBD><EFBFBD> ᨬ<><E1A8AC><EFBFBD><EFBFBD>
|
||||||
;<3B>室<EFBFBD><E5AEA4><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> edx=ed_size;ecx=ed_pos
|
;<3B>室<EFBFBD><E5AEA4><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> edx=ed_size;ecx=ed_pos
|
||||||
@@ -771,6 +750,54 @@ pusha
|
|||||||
|
|
||||||
pop edi
|
pop edi
|
||||||
ret
|
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> =======================================
|
;=== <20><>ࠡ<EFBFBD>⪠ <20><><EFBFBD><EFBFBD> =======================================
|
||||||
;==========================================================
|
;==========================================================
|
||||||
|
@@ -67,30 +67,24 @@ draw_window: ;
|
|||||||
xor eax,eax ;<3B><><EFBFBD>㫨<EFBFBD><E3ABA8> eax
|
xor eax,eax ;<3B><><EFBFBD>㫨<EFBFBD><E3ABA8> eax
|
||||||
mov ebx,50*65536+390 ;[<5B><><EFBFBD>न<EFBFBD><E0A4A8><EFBFBD><EFBFBD> <20><> <20><><EFBFBD> x]*65536 + [ࠧ<><E0A0A7><EFBFBD> <20><> <20><><EFBFBD> x]
|
mov ebx,50*65536+390 ;[<5B><><EFBFBD>न<EFBFBD><E0A4A8><EFBFBD><EFBFBD> <20><> <20><><EFBFBD> x]*65536 + [ࠧ<><E0A0A7><EFBFBD> <20><> <20><><EFBFBD> x]
|
||||||
mov ecx,30*65536+200 ;[<5B><><EFBFBD>न<EFBFBD><E0A4A8><EFBFBD><EFBFBD> <20><> <20><><EFBFBD> y]*65536 + [ࠧ<><E0A0A7><EFBFBD> <20><> <20><><EFBFBD> y]
|
mov ecx,30*65536+200 ;[<5B><><EFBFBD>न<EFBFBD><E0A4A8><EFBFBD><EFBFBD> <20><> <20><><EFBFBD> y]*65536 + [ࠧ<><E0A0A7><EFBFBD> <20><> <20><><EFBFBD> y]
|
||||||
mov edx,0x03AABBCC ;0xXYRRGGBB Y =3 - <20>뢮<EFBFBD> ࠬ<><E0A0AC>, <20>ᯮ<EFBFBD><E1AFAE><EFBFBD><EFBFBD><EFBFBD> <20><>ਭ
|
mov edx,0xb3AABBCC ;0xXYRRGGBB Y =3 - <20>뢮<EFBFBD> ࠬ<><E0A0AC>, <20>ᯮ<EFBFBD><E1AFAE><EFBFBD><EFBFBD><EFBFBD> <20><>ਭ
|
||||||
mov esi,0x805080DD ;0xXYRRGGBB - 梥<> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
mov esi,0x805080DD ;0xXYRRGGBB - 梥<> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
mov edi,0x005080DD ;0x00RRGGBB - 梥<> ࠬ<EFBFBD><EFBFBD>
|
mov edi,hed ;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⥫<EFBFBD> <20><> <20><>ப<EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
int 0x40 ;<3B><><EFBFBD><EFBFBD>ᮢ<EFBFBD><E1AEA2><EFBFBD> <20><><EFBFBD><EFBFBD> <20>ਫ<EFBFBD><E0A8AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
int 0x40 ;<3B><><EFBFBD><EFBFBD>ᮢ<EFBFBD><E1AEA2><EFBFBD> <20><><EFBFBD><EFBFBD> <20>ਫ<EFBFBD><E0A8AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
add eax,4 ;<3B> <20>।<EFBFBD><E0A5A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ᯮ<EFBFBD>짮<EFBFBD><ECA7AE><EFBFBD><EFBFBD> ᪠<><E1AAA0><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><> <20><><EFBFBD><EFBFBD><EFBFBD> <20>ᯮ<EFBFBD>짮<EFBFBD><ECA7AE><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
mov ebx,8*65536+8 ; [<5B><><EFBFBD>न<EFBFBD><E0A4A8><EFBFBD><EFBFBD> <20><> <20><><EFBFBD> x]*65536 + [<5B><><EFBFBD>न<EFBFBD><E0A4A8><EFBFBD><EFBFBD> <20><> <20><><EFBFBD> y] mov ecx,0x10DDEEFF ; 0xX0RRGGBB, <20><><EFBFBD> RR, GG, BB <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 梥<> ⥪<><E2A5AA><EFBFBD>
|
|
||||||
mov edx,hed ; 㪠<><E3AAA0>⥫<EFBFBD> <20><> <20><>砫<EFBFBD> <20><>ப<EFBFBD>
|
|
||||||
mov esi,i_end1 - hed ; <20><><EFBFBD><EFBFBD><EFBFBD> <20><>ப<EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 255
|
|
||||||
int 0x40 ;<3B>뢥<EFBFBD><EBA2A5><EFBFBD> ⥪<><E2A5AA>
|
|
||||||
|
|
||||||
draw_edit_boxes editboxes,editboxes_end ;<3B><>ᮢ<EFBFBD><E1AEA2><EFBFBD><EFBFBD> edit box'<27><>
|
draw_edit_boxes editboxes,editboxes_end ;<3B><>ᮢ<EFBFBD><E1AEA2><EFBFBD><EFBFBD> edit box'<27><>
|
||||||
|
|
||||||
add eax,8 ;<3B>㭪<EFBFBD><E3ADAA><EFBFBD> 12 - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ᮢ<EFBFBD><E1AEA2> <20><><EFBFBD><EFBFBD>.
|
mov eax,12 ;<3B>㭪<EFBFBD><E3ADAA><EFBFBD> 12 - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ᮢ<EFBFBD><E1AEA2> <20><><EFBFBD><EFBFBD>.
|
||||||
mov ebx,2 ;<3B><><EFBFBD><EFBFBD>㭪<EFBFBD><E3ADAA><EFBFBD> 2 - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ᮢ<EFBFBD><E1AEA2> <20><><EFBFBD><EFBFBD>.
|
mov ebx,2 ;<3B><><EFBFBD><EFBFBD>㭪<EFBFBD><E3ADAA><EFBFBD> 2 - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ᮢ<EFBFBD><E1AEA2> <20><><EFBFBD><EFBFBD>.
|
||||||
int 0x40
|
int 0x40
|
||||||
ret
|
ret
|
||||||
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
||||||
;DATA <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
;DATA <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
editboxes:
|
editboxes:
|
||||||
edit1 edit_box 168,10,50,0xffffff,0,0,0,512,ed_buffer.1,ed_focus
|
edit1 edit_box 168,5,30,0xffffff,0,0,0,512,ed_buffer.1,ed_focus
|
||||||
edit2 edit_box 168,10,30,0xffffff,0,0,0,99,ed_buffer.2,ed_figure_only
|
edit2 edit_box 168,5,10,0xffffff,0,0,0,99,ed_buffer.2,ed_figure_only
|
||||||
edit3 edit_box 35,10,70,0xffffff,0,0,0,9,ed_buffer.3,ed_figure_only
|
edit3 edit_box 35,5,50,0xffffff,0,0,0,9,ed_buffer.3,ed_figure_only
|
||||||
edit4 edit_box 16,10,90,0xffffff,0,0,0,1,ed_buffer.4,ed_figure_only
|
edit4 edit_box 16,5,70,0xffffff,0,0,0,1,ed_buffer.4,ed_figure_only
|
||||||
editboxes_end:
|
editboxes_end:
|
||||||
;data_of_code dd 0
|
;data_of_code dd 0
|
||||||
ed_buffer:
|
ed_buffer:
|
||||||
@@ -101,8 +95,8 @@ ed_buffer:
|
|||||||
;text_b: db '<27><><EFBFBD>-<2D><> ᨬ<><E1A8AC><EFBFBD><EFBFBD><EFBFBD>'
|
;text_b: db '<27><><EFBFBD>-<2D><> ᨬ<><E1A8AC><EFBFBD><EFBFBD><EFBFBD>'
|
||||||
;buffer: dd 0
|
;buffer: dd 0
|
||||||
buffer_end:
|
buffer_end:
|
||||||
hed db 'EDITBOX optimization and retype <Lrz> date 01.02.2007'
|
hed db 'EDITBOX optimization and retype <Lrz> date 26.01.2007',0
|
||||||
i_end1:
|
i_end1:
|
||||||
rb 2048
|
rb 1024
|
||||||
i_end:
|
i_end:
|
||||||
keymap:
|
keymap:
|
Reference in New Issue
Block a user