add
git-svn-id: svn://kolibrios.org@234 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
700
programs/develop/examples/editbox/trunk/EDITBOX.INC
Normal file
700
programs/develop/examples/editbox/trunk/EDITBOX.INC
Normal file
@@ -0,0 +1,700 @@
|
|||||||
|
; <Lrz> 12.12.2006 ॠ<><E0A5A0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>প<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> insert <20> ᥣ<><E1A5A3><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> ࠡ<>⠥<EFBFBD>!!!!
|
||||||
|
; <Lrz> 07.12.2006 <20>த<EFBFBD><E0AEA4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ࠡ<><E0A0A1><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD>ࠡ<EFBFBD>⪮<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>࣫<EFBFBD><E0A3AB><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>㭪樨, <20><><EFBFBD><EFBFBD>ࠡ<EFBFBD>⠭ <20>뢮<EFBFBD> ⥪<><E2A5AA><EFBFBD>, <20> ⠪<> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>ᥭ<EFBFBD><E1A5AD> ᨬ<><E1A8AC><EFBFBD><EFBFBD><EFBFBD>.
|
||||||
|
; <Lrz> 03.09.2006 <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>⪠<EFBFBD><E2AAA0><EFBFBD><EFBFBD><EFBFBD> <20><> 16 <20><>⭮<EFBFBD> <20><><EFBFBD>䬥⨪<E4ACA5>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||||
|
; <Lrz> 09.08.2006 <20>ந<EFBFBD><E0AEA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>⨬<EFBFBD><E2A8AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ࠡ<><E0A0A1><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> DEL <20> Backspace, 㬥<><E3ACA5>襭 ࠧ<><E0A0A7><EFBFBD> <20>믮<EFBFBD><EBAFAE>塞<EFBFBD><EFA5AC><EFBFBD> <20><><EFBFBD><EFBFBD>.
|
||||||
|
; <Lrz> 21.07.2006 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>㭪<EFBFBD><E3ADAA><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Del, ⥯<><E2A5AF><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> 㤠<><E3A4A0><EFBFBD><EFBFBD> ᨬ<><E1A8AC><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
; <20><><EFBFBD><EFBFBD><EFBFBD>: <20><><EFBFBD><EFBFBD>客 <20><><EFBFBD>ᨬ (Maxxxx32) email: maxxxxm@mail.ru
|
||||||
|
; <20><><EFBFBD><EFBFBD> <20><><EFBFBD><E1ABA5><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: 13.06.06 10:40
|
||||||
|
; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><>室<EFBFBD><E5AEA4><EFBFBD> <20><><EFBFBD><EFBFBD> <><E1A2AE> <20>ணࠬ<E0AEA3><E0A0AC> use_edit_box,
|
||||||
|
; <20><><EFBFBD> <20><>⠢<EFBFBD><E2A0A2> <20><><EFBFBD><EFBFBD>室<EFBFBD><E5AEA4><EFBFBD><EFBFBD> <20><><EFBFBD>楤<EFBFBD><E6A5A4><EFBFBD> <20> <20><><EFBFBD> <20><>襩 <20>ணࠬ<E0AEA3><E0A0AC>.
|
||||||
|
; <20><><EFBFBD>楤<EFBFBD><E6A5A4><EFBFBD>:
|
||||||
|
; edit_box.draw - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ᮢ<EFBFBD><E1AEA2>;
|
||||||
|
; edit_box.key - <20><>ࠡ<EFBFBD>⪠ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
|
||||||
|
; edit_box.mouse - <20><>ࠡ<EFBFBD>⪠ <20><><EFBFBD><EFBFBD>;
|
||||||
|
; edit_box.focus - <20><>⠭<EFBFBD><E2A0AD><EFBFBD><EFBFBD> 䮪<><E4AEAA><EFBFBD>;
|
||||||
|
; edit_box.blur - <20><><EFBFBD> ࠧ<>뢠<EFBFBD><EBA2A0><EFBFBD>;
|
||||||
|
; edit_box.get_n - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⢮ <20><><EFBFBD><EFBFBD><EFBFBD>ᮢ뢠<E1AEA2><EBA2A0><EFBFBD><EFBFBD> ᨬ<><E1A8AC><EFBFBD><EFBFBD><EFBFBD>.
|
||||||
|
; <20><><EFBFBD> <20>맮<EFBFBD><EBA7AE> <20><><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>楤<EFBFBD><E6A5A4> <20> ॣ<><E0A5A3><EFBFBD><EFBFBD><EFBFBD> edi <><E1ABA5><EFBFBD><EFBFBD>
|
||||||
|
; <20><>⠢<EFBFBD><E2A0A2><EFBFBD> 㪠<><E3AAA0>⥫<EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
||||||
|
; <20>ਬ<EFBFBD><E0A8AC> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:
|
||||||
|
; some_edit edit_box 100,10,30,0x00ffffff,0,0x00aaaaaa,0,255,some_edit_text
|
||||||
|
; <20><><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD>, 梥<> 䮭<>, 梥<> ࠬ<><E0A0AC>, <20> <20><><EFBFBD>࠭,
|
||||||
|
; 梥<> ࠬ<><E0A0AC>, <20> <20><> <20><><EFBFBD>࠭, <20><><EFBFBD>ᨬ<EFBFBD><E1A8AC>쭮<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⢮ ᨬ<><E1A8AC><EFBFBD><EFBFBD><EFBFBD>,
|
||||||
|
; 㪠<><E3AAA0>⥫<EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20>࠭<EFBFBD><E0A0AD><EFBFBD><EFBFBD> ᨬ<><E1A8AC><EFBFBD><EFBFBD>. <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
; <20><><EFBFBD><EFBFBD>稢<EFBFBD><E7A8A2><EFBFBD><EFBFBD><EFBFBD> <20>㫥<EFBFBD>, <20><><EFBFBD>ਬ<EFBFBD><E0A8AC> <20> <20><><EFBFBD>ᨬ<EFBFBD><E1A8AC>쭮<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⢮ 255:
|
||||||
|
; some_edit_text:
|
||||||
|
; rb 256 ;255+1
|
||||||
|
|
||||||
|
; <20>ਬ<EFBFBD><E0A8AC> <20>맮<EFBFBD><EBA7AE> <20><><EFBFBD>楤<EFBFBD><E6A5A4><EFBFBD>:
|
||||||
|
; mov edi,some_edit
|
||||||
|
; call edit_box.draw
|
||||||
|
|
||||||
|
; <20><><EFBFBD> <20>맮<EFBFBD><EBA7AE> <20><><EFBFBD>楤<EFBFBD><E6A5A4><EFBFBD> edit_box.key <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
; <20><>室<EFBFBD><E5AEA4><EFBFBD><EFBFBD> <20> ah, <20><> <20><><EFBFBD><EFBFBD> <20><>। <20>맮<EFBFBD><EBA7AE><EFBFBD> <20>⮩ <20><><EFBFBD>楤<EFBFBD><E6A5A4><EFBFBD> <20><><EFBFBD><EFBFBD> <20>맢<EFBFBD><EBA7A2><EFBFBD>
|
||||||
|
; 2-<2D><> <20><>ᥬ<EFBFBD><E1A5AC><EFBFBD> <20>㭪<EFBFBD><E3ADAA><EFBFBD>, <20><><EFBFBD>ਬ<EFBFBD><E0A8AC>:
|
||||||
|
; mov eax,2
|
||||||
|
; int 0x40
|
||||||
|
; mov edi,some_edit1
|
||||||
|
; call edit_box.key
|
||||||
|
; mov edi,some_edit2
|
||||||
|
; call edit_box.key
|
||||||
|
; <20><>। <20>맮<EFBFBD><EBA7AE><EFBFBD> <20><>ࠡ<EFBFBD><E0A0A1>稪<EFBFBD> <20><><EFBFBD><EFBFBD> <><E1ABA5><EFBFBD><EFBFBD> <20><EFBFBD><E0AEA2><EFBFBD><EFBFBD><EFBFBD>, <><EFA2AB><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD>
|
||||||
|
; <20><>⨢<EFBFBD><E2A8A2><EFBFBD>.
|
||||||
|
; <20> 饫箪 <20><><EFBFBD><EFBFBD> <20><><EFBFBD> <20>ன<EFBFBD><E0AEA9><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20>।<EFBFBD><E0A5A4><EFBFBD><EFBFBD><EFBFBD> edit box
|
||||||
|
; 䮪<><E4AEAA> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
||||||
|
macro use_edit_box
|
||||||
|
{
|
||||||
|
edit_box:
|
||||||
|
ed_width equ [edi] ;<3B><>ਭ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
ed_left equ [edi+4] ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD> <20>
|
||||||
|
ed_top equ [edi+8] ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD> <20>
|
||||||
|
ed_color equ [edi+12] ;梥<> 䮭<> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
ed_focus_border_color equ [edi+16] ;梥<> ࠬ<><E0A0AC> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
ed_blur_border_color equ [edi+20] ;梥<> <20><> <20><>⨢<EFBFBD><E2A8A2><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
ed_text_color equ [edi+24] ;梥<> ⥪<><E2A5AA><EFBFBD>
|
||||||
|
ed_flags equ [edi+28] ;䫠<><E4ABA0>
|
||||||
|
ed_max equ [edi+32] ;<3B><><EFBFBD>-<2D><> ᨬ<><E1A8AC><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>ᨬ<EFBFBD><E1A8AC>쭮 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
ed_size equ [edi+36] ;<3B><><EFBFBD>-<2D><> ᨬ<><E1A8AC><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
ed_pos equ [edi+40] ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
ed_offset equ [edi+44] ;ᬥ饭<E1ACA5><E9A5AD>
|
||||||
|
ed_text equ [edi+48] ;㪠<><E3AAA0>⥫<EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
cl_curs_x equ [edi+52] ;<3B>।<EFBFBD><E0A5A4><EFBFBD>饥 <20><><EFBFBD>न<EFBFBD><E0A4A8><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20>
|
||||||
|
cl_curs_y equ [edi+56] ;<3B>।<EFBFBD><E0A5A4><EFBFBD>饥 <20><><EFBFBD>न<EFBFBD><E0A4A8><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20>
|
||||||
|
ed_insert equ [edi+60] ;word
|
||||||
|
ed_height=14 ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
;==========================================================
|
||||||
|
;=== <20><><EFBFBD>楤<EFBFBD><E6A5A4><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ᮢ<EFBFBD><E1AEA2> =================================
|
||||||
|
;==========================================================
|
||||||
|
.draw:
|
||||||
|
pusha
|
||||||
|
;--- <20><><EFBFBD>㥬 ࠬ<><E0A0AC> ---
|
||||||
|
call .draw_border ; <20>㭪<EFBFBD><E3ADAA><EFBFBD> <20>⠡<EFBFBD><E2A0A1>쭠
|
||||||
|
.draw_bg_cursor_text:
|
||||||
|
;--- <20><><EFBFBD><EFBFBD><EFBFBD>塞 ᬥ饭<E1ACA5><E9A5AD>, <20> <20><><EFBFBD><EFBFBD> ---
|
||||||
|
call .check_offset ;<3B><><EFBFBD><EFBFBD><EFBFBD><E1ABA5><EFBFBD> <20><><EFBFBD><EFBFBD>樨 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>⠡<EFBFBD><E2A0A1>쭠
|
||||||
|
;--- <20><><EFBFBD>㥬 <20><><EFBFBD><EFBFBD>७<EFBFBD><E0A5AD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ---
|
||||||
|
call .draw_bg ;<3B><><EFBFBD><EFBFBD>ᮢ<EFBFBD><E1AEA2><EFBFBD> <20><>אַ㣮<EFACAE>쭨<EFBFBD> ࠡ<>祩 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
.draw_cursor_text:
|
||||||
|
;--- <20><><EFBFBD>㥬 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ---
|
||||||
|
;--- <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><> <20><><EFBFBD><EFBFBD> <20><>ᮢ<EFBFBD><E1AEA2><EFBFBD> ----
|
||||||
|
test dword ed_flags,1
|
||||||
|
je @f
|
||||||
|
call .draw_cursor
|
||||||
|
@@:
|
||||||
|
call .draw_text
|
||||||
|
popa
|
||||||
|
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
|
||||||
|
add ebx,2
|
||||||
|
shl ebx,16
|
||||||
|
mov bx,ed_top
|
||||||
|
add ebx,4
|
||||||
|
mov ecx,ed_text_color
|
||||||
|
mov edx,ed_offset
|
||||||
|
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
|
||||||
|
;----------------------------------------------------------
|
||||||
|
.draw_bg_eax:
|
||||||
|
pusha
|
||||||
|
mov ecx,ed_top
|
||||||
|
add ecx,1
|
||||||
|
shl ecx,16
|
||||||
|
mov cx,13
|
||||||
|
; sub ecx,1
|
||||||
|
|
||||||
|
mov edx,ed_color
|
||||||
|
mov eax,13
|
||||||
|
int 0x40
|
||||||
|
popa
|
||||||
|
ret
|
||||||
|
|
||||||
|
jmp @f
|
||||||
|
.draw_bg:
|
||||||
|
pusha
|
||||||
|
mov ebx,ed_left
|
||||||
|
add ebx,1
|
||||||
|
shl ebx,16
|
||||||
|
mov bx,ed_width
|
||||||
|
sub ebx,1
|
||||||
|
|
||||||
|
@@:
|
||||||
|
mov ecx,ed_top
|
||||||
|
add ecx,1
|
||||||
|
shl ecx,16
|
||||||
|
mov cx,ed_height
|
||||||
|
sub ecx,1
|
||||||
|
|
||||||
|
mov edx,ed_color
|
||||||
|
mov eax,13
|
||||||
|
int 0x40
|
||||||
|
popa
|
||||||
|
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:
|
||||||
|
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>⮪
|
||||||
|
mov eax,ed_width ;<3B><><EFBFBD><EFBFBD>祬 <20><>ਭ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><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> --------------------------
|
||||||
|
;----------------------------------------------------------
|
||||||
|
.clear_cursor:
|
||||||
|
mov edx,ed_color
|
||||||
|
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
|
||||||
|
inc ebx
|
||||||
|
mov ebp,ebx
|
||||||
|
;push bx
|
||||||
|
shl ebx,16
|
||||||
|
mov bx,bp
|
||||||
|
;pop bx
|
||||||
|
mov ecx,ed_top
|
||||||
|
add ecx,2
|
||||||
|
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 dword ed_flags,1
|
||||||
|
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:
|
||||||
|
pushad
|
||||||
|
push dword ed_offset ;<3B><><EFBFBD>࠭<EFBFBD><E0A0AD> ᬥ饭<E1ACA5><E9A5AD>
|
||||||
|
call .get_n ;<3B><><EFBFBD><EFBFBD>稬 <20><><EFBFBD>-<2D><> ᨬ<><E1A8AC><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD> ॣ<><E0A5A3><EFBFBD> edx:eax
|
||||||
|
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
|
||||||
|
call .draw_bg_eax
|
||||||
|
mov dword [esp+28],0
|
||||||
|
@@: popad
|
||||||
|
ret
|
||||||
|
;==========================================================
|
||||||
|
;=== <20><>ࠡ<EFBFBD>⪠ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> =================================
|
||||||
|
;==========================================================
|
||||||
|
.key:
|
||||||
|
pusha
|
||||||
|
test dword ed_flags,1 ; <20> <20><> <20> 䮪<><E4AEAA><EFBFBD>, <20><>室<EFBFBD><E5AEA4>
|
||||||
|
je .no_figure ;@f
|
||||||
|
;----------------------------------------------------------
|
||||||
|
;--- <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
|
||||||
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
;<3B><><EFBFBD><EFBFBD><EFBFBD>誠 <20><> <20><>ࠡ<EFBFBD><E0A0A1><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><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
|
||||||
|
;--- <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
|
||||||
|
@@: ; <20><EFBFBD><E0AEA2>塞, <20><>室<EFBFBD><E5AEA4><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
mov edx, ed_max
|
||||||
|
mov ebx, ed_pos
|
||||||
|
cmp ebx,edx
|
||||||
|
jl @f ; <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> ࠢ<><E0A0A2>
|
||||||
|
.no_figure:
|
||||||
|
popa
|
||||||
|
ret
|
||||||
|
.insert: not word ed_insert
|
||||||
|
jmp .no_figure
|
||||||
|
.ins_v:
|
||||||
|
pop eax edi
|
||||||
|
dec dword ed_size ;processing is insert
|
||||||
|
push edi eax
|
||||||
|
sub esi,ecx
|
||||||
|
add esi,ebx
|
||||||
|
mov edi,esi
|
||||||
|
jmp .In_k
|
||||||
|
@@: ; ᤢ<><E1A4A2><EFBFBD><EFBFBD><EFBFBD> ᨬ<><E1A8AC><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ࠢ<EFBFBD>
|
||||||
|
mov ecx,ed_size
|
||||||
|
push edi eax
|
||||||
|
mov esi,ed_text ; <20><><EFBFBD><EFBFBD><EFBFBD>⥫<EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
|
movzx eax,word ed_insert
|
||||||
|
;<3B>㤥<EFBFBD> ࠡ<><E0A0A1><EFBFBD><EFBFBD><EFBFBD> <20><> <20><>ப<EFBFBD><E0AEAA>
|
||||||
|
add esi,ecx ;add ed_size <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> max size
|
||||||
|
mov edi,esi
|
||||||
|
|
||||||
|
cmp ecx,ebx ;<3B> <20> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> = ⥪<>饬<EFBFBD> ࠧ<><E0A0A7><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⠭<EFBFBD><E2A0AD><EFBFBD> ᨬ<><E1A8AC><EFBFBD><EFBFBD><EFBFBD> <20>.<2E>. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>⮨<EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
je .In_k
|
||||||
|
cmp ax,-1 ;IF insert is enable
|
||||||
|
je .ins_v
|
||||||
|
|
||||||
|
sub ecx,ebx ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>-<2D><> ᨬ<><E1A8AC><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><>।<EFBFBD><E0A5A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
||||||
|
inc edi ;<3B><><EFBFBD><EFBFBD>⨬ <20><><EFBFBD><EFBFBD> ᨬ<><E1A8AC><EFBFBD><EFBFBD> <20> <20>ࠢ<EFBFBD>
|
||||||
|
std
|
||||||
|
inc ecx
|
||||||
|
@@:
|
||||||
|
;--------
|
||||||
|
lodsb
|
||||||
|
stosb
|
||||||
|
;--------
|
||||||
|
loop @b
|
||||||
|
.In_k: cld
|
||||||
|
pop eax
|
||||||
|
mov al,ah
|
||||||
|
stosb
|
||||||
|
pop edi
|
||||||
|
; <20><>⠢<EFBFBD>塞 <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>㤠, <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
; 㢥<><E3A2A5>稢<EFBFBD><E7A8A2><EFBFBD> <20><><EFBFBD>祭<EFBFBD><E7A5AD> ࠧ<><E0A0A7><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD>樨
|
||||||
|
inc dword ed_size
|
||||||
|
call .draw_all2
|
||||||
|
inc dword ed_pos
|
||||||
|
jmp .draw_cursor_text
|
||||||
|
.delete:
|
||||||
|
mov edx,ed_size
|
||||||
|
mov ecx,ed_pos
|
||||||
|
|
||||||
|
cmp edx,ecx
|
||||||
|
jg @f
|
||||||
|
popa
|
||||||
|
ret
|
||||||
|
|
||||||
|
@@: call .del_char
|
||||||
|
jmp .draw_all
|
||||||
|
|
||||||
|
;--- <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> backspace ---
|
||||||
|
.backspace:
|
||||||
|
; <20><EFBFBD><E0AEA2>塞, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> ?
|
||||||
|
mov edx,ed_size
|
||||||
|
mov ecx,ed_pos
|
||||||
|
test ecx,ecx
|
||||||
|
jnz @f
|
||||||
|
popa
|
||||||
|
ret
|
||||||
|
|
||||||
|
@@: cmp edx,ecx ;if ed_pos=ed_size
|
||||||
|
je @f
|
||||||
|
dec ecx
|
||||||
|
call .del_char
|
||||||
|
@@:
|
||||||
|
dec dword ed_pos
|
||||||
|
|
||||||
|
.draw_all:
|
||||||
|
; mov eax,.draw_cursor_text
|
||||||
|
push .draw_cursor_text;eax
|
||||||
|
dec dword ed_size
|
||||||
|
.draw_all2:
|
||||||
|
call .clear_cursor
|
||||||
|
call .check_offset
|
||||||
|
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 ;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
|
||||||
|
call .draw_bg_eax
|
||||||
|
ret
|
||||||
|
;--- <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> left ---
|
||||||
|
.left:
|
||||||
|
mov ebx,ed_pos
|
||||||
|
test ebx,ebx
|
||||||
|
jz .nd_k
|
||||||
|
call .clear_cursor
|
||||||
|
dec dword ed_pos
|
||||||
|
jmp .nd_k
|
||||||
|
;--- <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> right ---
|
||||||
|
.right:
|
||||||
|
mov ebx,ed_pos
|
||||||
|
cmp ebx,ed_size
|
||||||
|
je .nd_k
|
||||||
|
call .clear_cursor
|
||||||
|
inc dword ed_pos
|
||||||
|
jmp .nd_k
|
||||||
|
.home:
|
||||||
|
mov ebx,ed_pos
|
||||||
|
test ebx,ebx
|
||||||
|
jz .nd_k
|
||||||
|
call .clear_cursor
|
||||||
|
xor eax,eax
|
||||||
|
mov ed_pos,eax
|
||||||
|
jmp .nd_k
|
||||||
|
|
||||||
|
.end:
|
||||||
|
mov ebx,ed_pos
|
||||||
|
cmp ebx,dword ed_size
|
||||||
|
je @f
|
||||||
|
call .clear_cursor
|
||||||
|
mov eax,ed_size
|
||||||
|
mov ed_pos,eax
|
||||||
|
.nd_k: call .check_offset
|
||||||
|
test eax,eax
|
||||||
|
jz .draw_bg_cursor_text
|
||||||
|
call .draw_cursor
|
||||||
|
@@:
|
||||||
|
popa
|
||||||
|
ret
|
||||||
|
;- 㤠<><E3A4A0><EFBFBD><EFBFBD><EFBFBD> ᨬ<><E1A8AC><EFBFBD><EFBFBD>
|
||||||
|
.del_char:
|
||||||
|
mov esi,ed_text
|
||||||
|
add esi,ecx
|
||||||
|
|
||||||
|
mov ebx,esi
|
||||||
|
inc esi
|
||||||
|
cld
|
||||||
|
|
||||||
|
sub edx,ecx
|
||||||
|
mov ecx,edx
|
||||||
|
push edi
|
||||||
|
mov edi,ebx
|
||||||
|
@@:
|
||||||
|
lodsb
|
||||||
|
stosb
|
||||||
|
dec ecx
|
||||||
|
jns @b
|
||||||
|
|
||||||
|
pop edi
|
||||||
|
ret
|
||||||
|
;==========================================================
|
||||||
|
;=== <20><>ࠡ<EFBFBD>⪠ <20><><EFBFBD><EFBFBD> =======================================
|
||||||
|
;==========================================================
|
||||||
|
.mouse:
|
||||||
|
pusha
|
||||||
|
;----------------------------------------------------------
|
||||||
|
;--- <20><><EFBFBD><EFBFBD>砥<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ﭨ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> -----------------------
|
||||||
|
;----------------------------------------------------------
|
||||||
|
mov eax,37
|
||||||
|
mov ebx,2
|
||||||
|
int 0x40
|
||||||
|
;----------------------------------------------------------
|
||||||
|
;--- <20><EFBFBD><E0AEA2>塞 <20><><EFBFBD><EFBFBD><EFBFBD>ﭨ<EFBFBD> ----------------------------------
|
||||||
|
;----------------------------------------------------------
|
||||||
|
test eax,1
|
||||||
|
jnz .mouse_left_button
|
||||||
|
; or eax,1
|
||||||
|
; jc @f
|
||||||
|
; btr dword ed_flags,2
|
||||||
|
@@: popa
|
||||||
|
ret
|
||||||
|
|
||||||
|
.mouse_left_button:
|
||||||
|
;----------------------------------------------------------
|
||||||
|
;--- <20><><EFBFBD><EFBFBD>砥<EFBFBD> <20><><EFBFBD>न<EFBFBD><E0A4A8><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> -----------------------------
|
||||||
|
;----------------------------------------------------------
|
||||||
|
mov eax,37
|
||||||
|
xor ebx,ebx
|
||||||
|
inc ebx
|
||||||
|
int 0x40
|
||||||
|
;----------------------------------------------------------
|
||||||
|
;--- <20><EFBFBD><E0AEA2>塞, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> edit box -------------
|
||||||
|
;----------------------------------------------------------
|
||||||
|
mov ebx,ed_top
|
||||||
|
cmp ax,bx
|
||||||
|
jl ._blur;.mouse_end_no_focus
|
||||||
|
|
||||||
|
add bx,ed_height
|
||||||
|
cmp ax,bx
|
||||||
|
jg ._blur;.mouse_end_no_focus
|
||||||
|
|
||||||
|
shr eax,16
|
||||||
|
|
||||||
|
mov bx,ed_left
|
||||||
|
cmp ax,bx
|
||||||
|
jl ._blur;.mouse_end_no_focus
|
||||||
|
|
||||||
|
add bx,ed_width
|
||||||
|
cmp ax,bx
|
||||||
|
jg ._blur;.mouse_end_no_focus
|
||||||
|
;--- <20><><EFBFBD><EFBFBD><EFBFBD>塞 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ---
|
||||||
|
push eax
|
||||||
|
call .clear_cursor
|
||||||
|
pop eax
|
||||||
|
xor dx,dx
|
||||||
|
sub ax,ed_left
|
||||||
|
add ax,2
|
||||||
|
mov bx,6
|
||||||
|
div bx
|
||||||
|
add ax,ed_offset
|
||||||
|
cmp ax,ed_size
|
||||||
|
jna @f
|
||||||
|
mov ax,ed_size
|
||||||
|
@@:
|
||||||
|
mov ed_pos,ax
|
||||||
|
call .check_offset
|
||||||
|
; test eax,eax
|
||||||
|
; jz .draw_bg_cursor_text
|
||||||
|
call .draw_cursor
|
||||||
|
|
||||||
|
call .focus
|
||||||
|
|
||||||
|
.mouse_pressed:
|
||||||
|
popa
|
||||||
|
ret
|
||||||
|
;.mouse_end_no_focus:
|
||||||
|
; call .blur
|
||||||
|
;popa
|
||||||
|
;ret
|
||||||
|
;----------------------------------------------------------
|
||||||
|
;--- <20><><EFBFBD>楤<EFBFBD><E6A5A4><EFBFBD> <20><>⠭<EFBFBD><E2A0AD><EFBFBD><EFBFBD> 䮪<><E4AEAA><EFBFBD> ---------------------------
|
||||||
|
;----------------------------------------------------------
|
||||||
|
.blur:
|
||||||
|
pusha
|
||||||
|
._blur:
|
||||||
|
btr dword ed_flags,0
|
||||||
|
jnc @f
|
||||||
|
call .clear_cursor
|
||||||
|
jmp .blur_end
|
||||||
|
.focus:
|
||||||
|
pusha
|
||||||
|
bts dword ed_flags,0
|
||||||
|
jc @f
|
||||||
|
call .draw_cursor
|
||||||
|
.blur_end:
|
||||||
|
call .draw_border
|
||||||
|
@@:
|
||||||
|
popa
|
||||||
|
ret
|
||||||
|
|
||||||
|
;----------------------------------------------------------
|
||||||
|
;--- <20><><EFBFBD>楤<EFBFBD><E6A5A4><EFBFBD> ࠧ<>뢠<EFBFBD><EBA2A0><EFBFBD> 䮪<><E4AEAA><EFBFBD> --------------------------
|
||||||
|
;----------------------------------------------------------
|
||||||
|
;.blur:
|
||||||
|
;pusha
|
||||||
|
;._blur:
|
||||||
|
;btr ed_flags,1
|
||||||
|
;jnc @f
|
||||||
|
;call .draw_border
|
||||||
|
;call .clear_cursor
|
||||||
|
;@@:
|
||||||
|
;popa
|
||||||
|
;ret
|
||||||
|
}
|
||||||
|
ed_figure_only=1000000000000000b
|
||||||
|
ed_focus=10b
|
||||||
|
macro draw_edit_boxes start,end
|
||||||
|
{
|
||||||
|
mov edi,start
|
||||||
|
mov ecx,((end-start)/ed_struc_size)
|
||||||
|
@@:
|
||||||
|
call edit_box.draw
|
||||||
|
add edi,ed_struc_size
|
||||||
|
loop @b
|
||||||
|
}
|
||||||
|
|
||||||
|
macro mouse_edit_boxes start,end
|
||||||
|
{
|
||||||
|
mov edi,start
|
||||||
|
mov ecx,((end-start)/ed_struc_size)
|
||||||
|
@@:
|
||||||
|
call edit_box.mouse
|
||||||
|
add edi,ed_struc_size
|
||||||
|
loop @b
|
||||||
|
}
|
||||||
|
|
||||||
|
macro key_edit_boxes start,end
|
||||||
|
{
|
||||||
|
mov edi,start
|
||||||
|
mov ecx,((end-start)/ed_struc_size)
|
||||||
|
@@:
|
||||||
|
call edit_box.key
|
||||||
|
add edi,ed_struc_size
|
||||||
|
loop @b
|
||||||
|
}
|
||||||
|
ed_struc_size=62
|
||||||
|
struc edit_box width,left,top,color,focus_border_color,\
|
||||||
|
blur_border_color,text_color,max,text,flags,size
|
||||||
|
{
|
||||||
|
.width dd width
|
||||||
|
.left dd left
|
||||||
|
.top dd top
|
||||||
|
.color dd color
|
||||||
|
.focus_border_color dd focus_border_color
|
||||||
|
.blur_border_color dd blur_border_color
|
||||||
|
.text_color dd text_color
|
||||||
|
.flags dd flags+0
|
||||||
|
.max dd max
|
||||||
|
.size dd size+0
|
||||||
|
.pos dd 0
|
||||||
|
.offset dd 0
|
||||||
|
.text dd text
|
||||||
|
.cl_curs_x dd 0
|
||||||
|
.cl_curs_y dd 0
|
||||||
|
.insert dw 0
|
||||||
|
}
|
||||||
|
|
||||||
|
macro edit_boxes_set_sys_color start,end,color_table
|
||||||
|
{
|
||||||
|
mov edi,start
|
||||||
|
mov ecx,((end-start)/ed_struc_size)
|
||||||
|
mov esi,color_table
|
||||||
|
@@:
|
||||||
|
mov eax,[esi+36]
|
||||||
|
mov ebx,[esi+20]
|
||||||
|
mov ed_focus_border_color,eax
|
||||||
|
shr bh,1
|
||||||
|
shr bl,1
|
||||||
|
shr ah,1
|
||||||
|
shr al,1
|
||||||
|
add ah,bh
|
||||||
|
add al,bl
|
||||||
|
ror eax,16
|
||||||
|
ror ebx,16
|
||||||
|
shr bl,1
|
||||||
|
shr al,1
|
||||||
|
add al,bl
|
||||||
|
ror eax,16
|
||||||
|
mov ed_blur_border_color,eax
|
||||||
|
add edi,ed_struc_size
|
||||||
|
loop @b
|
||||||
|
}
|
2
programs/develop/examples/editbox/trunk/build_ru.bat
Normal file
2
programs/develop/examples/editbox/trunk/build_ru.bat
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
@fasm editbox.asm checkbox
|
||||||
|
@pause
|
106
programs/develop/examples/editbox/trunk/editbox.asm
Normal file
106
programs/develop/examples/editbox/trunk/editbox.asm
Normal file
@@ -0,0 +1,106 @@
|
|||||||
|
; <Lrz> 09.08.2006 <20>ந<EFBFBD><E0AEA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>⨬<EFBFBD><E2A8AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ࠡ<><E0A0A1><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> DEL <20> Backspace? 㬥<><E3ACA5>襭 ࠧ<><E0A0A7><EFBFBD> <20>믮<EFBFBD><EBAFAE>塞<EFBFBD><EFA5AC><EFBFBD> <20><><EFBFBD><EFBFBD>.
|
||||||
|
;<3B><>䥪⨢<E4A5AA><E2A8A2><EFBFBD> <20>ணࠬ<E0AEA3><E0A0AC><EFBFBD><E0AEA2><EFBFBD><EFBFBD> <20> KOLIBRI
|
||||||
|
;<3B><>⨬<EFBFBD><E2A8AC><EFBFBD><EFBFBD><E0AEA2><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> EditBox (<28><>室<EFBFBD><E5AEA4><EFBFBD> <20><>ਠ<EFBFBD><E0A8A0> <20><> Maxxxx32)
|
||||||
|
;<3B><>⨬<EFBFBD><E2A8AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
||||||
|
;<Lrz> - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>ᥩ www.test-kolibri.narod.ru
|
||||||
|
|
||||||
|
;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ਫ<EFBFBD><E0A8AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
use32 ; <20>࠭<EFBFBD><E0A0AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20>ᯮ<EFBFBD><E1AFAE><EFBFBD><EFBFBD><EFBFBD>騩 32 ࠧ<>來<EFBFBD><EFA4AD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
org 0x0 ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>, <20>ᥣ<EFBFBD><E1A5A3> 0x0
|
||||||
|
db 'MENUET01' ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>䨪<EFBFBD><E4A8AA><EFBFBD><EFBFBD> <20>ᯮ<EFBFBD><E1AFAE>塞<EFBFBD><EFA5AC><EFBFBD> 䠩<><E4A0A9> (8 <20><><EFBFBD><EFBFBD>)
|
||||||
|
dd 0x1 ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ଠ<EFBFBD><E0ACA0> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ᯮ<EFBFBD><E1AFAE>塞<EFBFBD><EFA5AC><EFBFBD> 䠩<><E4A0A9>
|
||||||
|
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+0x100) 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+0x100) 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 0x0,0x0 ; 㪠<><E3AAA0>⥫<EFBFBD> <20><> <20><>ப<EFBFBD> <20> <20><>ࠬ<EFBFBD><E0A0AC>ࠬ<EFBFBD>.
|
||||||
|
; <20> <20><> <20><><EFBFBD><EFBFBD>᪠ <20><>ࠢ<EFBFBD><E0A0A2> <20><><EFBFBD><EFBFBD>, <20>ਫ<EFBFBD><E0A8AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>뫮
|
||||||
|
; <20><><EFBFBD><EFBFBD>饭<EFBFBD> <20> <20><>ࠬ<EFBFBD><E0A0AC>ࠬ<EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ப<EFBFBD>
|
||||||
|
|
||||||
|
; 㪠<><E3AAA0>⥫<EFBFBD> <20><> <20><>ப<EFBFBD>, <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>ᠭ <20><><EFBFBD><EFBFBD>,
|
||||||
|
; <20><><EFBFBD>㤠 <20><><EFBFBD><EFBFBD>饭<EFBFBD> <20>ਫ<EFBFBD><E0A8AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
|
include 'editbox.inc'
|
||||||
|
use_edit_box
|
||||||
|
;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||||
|
start: ;<3B><>窠 <20>室<EFBFBD> <20> <20>ணࠬ<E0AEA3><E0A0AC>
|
||||||
|
mov eax,40 ;<3B><>⠭<EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ᮡ<>⨩
|
||||||
|
mov ebx,0x27 ;<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>
|
||||||
|
int 0x40
|
||||||
|
red_win:
|
||||||
|
call draw_window ;<3B><>ࢮ<EFBFBD><E0A2AE>砫쭮 <20><><EFBFBD><EFBFBD>室<EFBFBD><E5AEA4><EFBFBD> <20><><EFBFBD><EFBFBD>ᮢ<EFBFBD><E1AEA2><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||||
|
still: ;<3B>᭮<EFBFBD><E1ADAE><EFBFBD><EFBFBD> <20><>ࠡ<EFBFBD><E0A0A1>稪
|
||||||
|
mov eax,10 ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ᮡ<><E1AEA1><EFBFBD><EFBFBD>
|
||||||
|
int 0x40 ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ᮡ<>⨥ <20> <20><>祭<EFBFBD><E7A5AD> 2 <20><><EFBFBD><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>
|
||||||
|
jz red_win
|
||||||
|
cmp al,0x2 ;<3B> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><>३<EFBFBD><E0A5A9>
|
||||||
|
jz key
|
||||||
|
cmp al,0x3 ;<3B> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><>३<EFBFBD><E0A5A9>
|
||||||
|
jz button
|
||||||
|
mouse_edit_boxes editboxes,editboxes_end
|
||||||
|
jmp still ;<3B> <20><>祣<EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E1ABA5><EFBFBD><EFBFBD><EFBFBD> <20><> ᭮<><E1ADAE> <20> 横<>
|
||||||
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
button:
|
||||||
|
mov eax,17 ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>䨪<EFBFBD><E4A8AA><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>⮩ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
int 0x40
|
||||||
|
test ah,ah ;<3B> <20> ah 0, <20><> <20><>३<EFBFBD><E0A5A9> <20><> <20><>ࠡ<EFBFBD><E0A0A1>稪 ᮡ<>⨩ still
|
||||||
|
jz still
|
||||||
|
or eax,-1 ;<3B> eax,-1 - 5 ,<2C><><EFBFBD>⮢ <20> <20><><EFBFBD> <20><> ⮫쪮 3 <20><><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
int 0x40 ;<3B><><EFBFBD><EFBFBD><EFBFBD> <20>믮<EFBFBD><EBAFAE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>室 <20><> <20>ணࠬ<E0AEA3><E0A0AC>
|
||||||
|
|
||||||
|
key:
|
||||||
|
mov eax,2 ;<3B><><EFBFBD><EFBFBD>㧨<EFBFBD> <20><><EFBFBD>祭<EFBFBD><E7A5AD> 2 <20> ॣ<><E0A5A3><EFBFBD><EFBFBD><EFBFBD> eax
|
||||||
|
int 0x40 ;<3B><><EFBFBD><EFBFBD>稬 <20><><EFBFBD> <20><><EFBFBD><EFBFBD>⮩ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
key_edit_boxes editboxes,editboxes_end
|
||||||
|
jmp still
|
||||||
|
|
||||||
|
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
||||||
|
draw_window: ;<3B><>ᮢ<EFBFBD><E1AEA2><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>ਫ<EFBFBD><E0A8AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
mov eax,12 ;<3B> ॣ<><E0A5A3><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>祭<EFBFBD><E7A5AD> = 12
|
||||||
|
mov ebx,1 ;<3B><><EFBFBD><EFBFBD><E1A2AE><EFBFBD> 1
|
||||||
|
int 0x40
|
||||||
|
|
||||||
|
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 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 esi,0x805080DD ;0xXYRRGGBB - 梥<> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
mov edi,0x005080DD ;0x00RRGGBB - 梥<> ࠬ<><E0A0AC>
|
||||||
|
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_end - 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><>
|
||||||
|
|
||||||
|
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 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
|
||||||
|
ret
|
||||||
|
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
||||||
|
;DATA <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
editboxes:
|
||||||
|
edit1 edit_box 168,10,50,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
|
||||||
|
edit3 edit_box 35,10,70,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
|
||||||
|
editboxes_end:
|
||||||
|
data_of_code dd 0
|
||||||
|
data_of_code1 dd 0
|
||||||
|
ed_buffer:
|
||||||
|
.1: rb 513;512;256
|
||||||
|
.2: rb 100
|
||||||
|
.3: rb 10
|
||||||
|
.4: rb 2
|
||||||
|
;text_b: db '<27><><EFBFBD>-<2D><> ᨬ<><E1A8AC><EFBFBD><EFBFBD><EFBFBD>'
|
||||||
|
;buffer: dd 0
|
||||||
|
buffer_end:
|
||||||
|
hed db 'EDITBOX optimization and retype <Lrz> date 12.12.2006'
|
||||||
|
i_end:
|
Reference in New Issue
Block a user