mouse dicsharge array

git-svn-id: svn://kolibrios.org@439 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
Alexey Teplov ( 2007-03-30 05:32:17 +00:00
parent f72fabb279
commit 405250c8e2
3 changed files with 23 additions and 26 deletions

View File

@ -1,3 +1,4 @@
; <Lrz> 30.03.2007 <20>¥à¥¤¥« « ¯à®æ¥¤ãà㠢뤥«¥­¨ï, ⥯¥àì ⥪á⠢뤥«ï¥âáï ⮫쪮 ⮫쪮 ¬ë誮©
; <Lrz> 09.03.2007 „®¯¨á « ã¯à ¢«¥­¨¥ mouse + shift ¢ë¤¥«¥­¨¥ ¨ ¯¥à¥¬¥é¥­¨¥ ; <Lrz> 09.03.2007 „®¯¨á « ã¯à ¢«¥­¨¥ mouse + shift ¢ë¤¥«¥­¨¥ ¨ ¯¥à¥¬¥é¥­¨¥
; <Lrz> 07.03.2007 „®¯¨á « ã¯à ¢«¥­¨¥ á shift home + end ãá¯à ¢¨« ­¥áª®«ìª® ¡ £®¢ ; <Lrz> 07.03.2007 „®¯¨á « ã¯à ¢«¥­¨¥ á shift home + end ãá¯à ¢¨« ­¥áª®«ìª® ¡ £®¢
; <Lrz> 06.03.2007 <20>¥à¥¯¨á « ¯®«­®áâìî  «£®à¨â¬ ã¯à ¢«¥­¨ï shift ; <Lrz> 06.03.2007 <20>¥à¥¯¨á « ¯®«­®áâìî  «£®à¨â¬ ã¯à ¢«¥­¨ï shift
@ -266,6 +267,7 @@ pusha
pop ebx pop ebx
mov edx,ebx mov edx,ebx
add edx,eax ;ed_offset+width editbox add edx,eax ;ed_offset+width editbox
inc edx ;­¥®¡å®¤¨¬® ¤«ï ­®¬ «ì­®£® ¯®«®¦¥­¨ï ªãàá®à  ¢ ªà ©­¥© «¥¢®© ¯®§¨æ¨¨
cmp edx,ecx cmp edx,ecx
ja @f ja @f
@ -556,6 +558,7 @@ popa
;¢å®¤­ë¥ ¯ à ¬¥âàë ebp=color ebx=ed_shift_pos ;¢å®¤­ë¥ ¯ à ¬¥âàë ebp=color ebx=ed_shift_pos
mov eax,dword ed_pos mov eax,dword ed_pos
cmp eax,ebx cmp eax,ebx
jae .sh_n jae .sh_n
push eax ;¬¥­ì襥 ¢ eax push eax ;¬¥­ì襥 ¢ eax
push ebx ;¡®«ì襥 push ebx ;¡®«ì襥
@ -899,6 +902,7 @@ pusha
;---------------------------------------------------------- ;----------------------------------------------------------
test eax,1 test eax,1
jnz .mouse_left_button jnz .mouse_left_button
and word ed_flags,ed_mouse_on_off
popa popa
ret ret
@ -956,39 +960,30 @@ pusha
call .sh_cl_ call .sh_cl_
and word ed_flags,ed_shift_bac_cl and word ed_flags,ed_shift_bac_cl
pop eax pop eax
@@:
@@: call .check_shift ;¯à®¢¥à¨¬ ­ ¦ â «¨ shift test word ed_flags,ed_mouse_on
test word ed_flags,ed_shift
je ._msh_exit
test word ed_flags,ed_shift_on
jne @f jne @f
push dword ed_pos mov dword ed_shift_pos,eax
pop dword ed_shift_pos or word ed_flags,ed_mouse_on
or word ed_flags,ed_shift_on mov dword ed_pos,eax
jmp .m_sh
@@: @@:
mov ed_pos,eax cmp eax,dword ed_shift_pos ;¥á«¨ ¯®§¨æ¨¨ ­¥ ¨§¬¥­¨«¨áì
mov ebp,dword shift_color je @f
mov ed_pos,eax
mov ebp,dword shift_color
mov ebx,dword ed_shift_pos mov ebx,dword ed_shift_pos
call .sh_cl_ call .sh_cl_
or word ed_flags,ed_shift_bac ;ãáâ ­®¢¨¬ ¡¨â çâ® ¬ë ¢ë¤¥«¨«¨ or word ed_flags,ed_mous_adn_b ;ãáâ ­®¢¨¬ ¡¨â çâ® ¬ë ¢ë¤¥«¨«¨
jmp .m_sh
._msh_exit:
mov ed_pos,eax
mov dword ed_shift_pos,eax
.m_sh: call .draw_text .m_sh: call .draw_text
call .draw_cursor call .draw_cursor
and word ed_flags,ed_shift_off ;¢ëª«î稬 ¢ «î¡®¬ á«ãç ¥ shift
;---------------------------------------------------------- ;----------------------------------------------------------
;--- ¯à®æ¥¤ãà  ãáâ ­®¢ª¨ 䮪ãá  --------------------------- ;--- ¯à®æ¥¤ãà  ãáâ ­®¢ª¨ 䮪ãá  ---------------------------
;---------------------------------------------------------- ;----------------------------------------------------------
bts word ed_flags,1 bts word ed_flags,1
jc @f jc @f
call .draw_cursor
jmp .drc jmp .drc
._blur: ._blur:
test word ed_flags,ed_always_focus test word ed_flags,ed_always_focus
@ -1021,6 +1016,7 @@ ed_figure_only= 1000000000000000b ;
ed_always_focus= 100000000000000b ed_always_focus= 100000000000000b
ed_focus= 10b ;䮪ãá ¯à¨«®¦¥­¨ï ed_focus= 10b ;䮪ãá ¯à¨«®¦¥­¨ï
ed_shift_on= 1000b ;¥á«¨ ­¥ ãáâ ­®¢«¥­ -§­ ç¨â ¢¯¥à¢ë¥ ­ ¦ â shift,¥á«¨ ¡ë« ãáâ ­®¢«¥­, §­ ç¨â ¬ë 㦥 çâ® - â® ¤¥« «¨ 㤥ন¢ ï shift ed_shift_on= 1000b ;¥á«¨ ­¥ ãáâ ­®¢«¥­ -§­ ç¨â ¢¯¥à¢ë¥ ­ ¦ â shift,¥á«¨ ¡ë« ãáâ ­®¢«¥­, §­ ç¨â ¬ë 㦥 çâ® - â® ¤¥« «¨ 㤥ন¢ ï shift
ed_shift_on_off=1111111111110111b
ed_shift= 100b ;¢ª«îç ¥âáï ¯à¨ ­ ¦ â¨¨ ­  shift â.¥. ¥á«¨ ­ ¦¨¬ î ed_shift= 100b ;¢ª«îç ¥âáï ¯à¨ ­ ¦ â¨¨ ­  shift â.¥. ¥á«¨ ­ ¦¨¬ î
ed_shift_off= 1111111111111011b ed_shift_off= 1111111111111011b
ed_shift_bac= 10000b ;¡¨â ¤«ï ®ç¨á⪨ ¢ë¤¥«¥­®£® shift â.¥. ¯à¨ ãáâ ­®¢ª¥ £®¢®à¨â çâ® ¥áâì ¢ë¤¥«¥­¨¥ ed_shift_bac= 10000b ;¡¨â ¤«ï ®ç¨á⪨ ¢ë¤¥«¥­®£® shift â.¥. ¯à¨ ãáâ ­®¢ª¥ £®¢®à¨â çâ® ¥áâì ¢ë¤¥«¥­¨¥
@ -1032,6 +1028,9 @@ ed_offset_fl= 1000000b
ed_offset_cl= 1111111110111111b ed_offset_cl= 1111111110111111b
ed_insert= 10000000b ed_insert= 10000000b
ed_insert_cl= 1111111101111111b ed_insert_cl= 1111111101111111b
ed_mouse_on = 100000000b
ed_mous_adn_b= 100001000b
ed_mouse_on_off=1111111011111111b
ed_height=14 ; ¢ëá®â  ed_height=14 ; ¢ëá®â 
shift_color=0x6a9480 shift_color=0x6a9480
macro draw_edit_boxes start,end macro draw_edit_boxes start,end

View File

@ -1,3 +1,3 @@
@fasm editbox.asm editbox @fasm editbox.asm editbox
@kpack editbox REM @kpack editbox
@pause @pause

View File

@ -1,4 +1,4 @@
; <Lrz> 09.08.2006 ¯à®¨§¢¥¤¥­  ®¯â¨¬¨§ æ¨ï à ¡®âë ª®­¯®ª DEL ¨ Backspace? 㬥­ì襭 à §¬¥à ¢ë¯®«­ï¥¬®£® ª®¤ . ; <Lrz> 30.03.2007 ¯à®¨§¢¥¤¥­  ®¯â¨¬¨§ æ¨ï à ¡®âë ª®­¯®ª DEL ¨ Backspace? 㬥­ì襭 à §¬¥à ¢ë¯®«­ï¥¬®£® ª®¤ .
;<3B>ä䥪⨢­®¥ ¯à®£à ¬¬¨à®¢ ­¨¥ ¢ KOLIBRI ;<3B>ä䥪⨢­®¥ ¯à®£à ¬¬¨à®¢ ­¨¥ ¢ KOLIBRI
;Ž¯â¨¬¨§¨à®¢ ­­ë© ª®¬¯®­¥­â EditBox (ˆá室­ë© ¢ à¨ ­â ®â Maxxxx32) ;Ž¯â¨¬¨§¨à®¢ ­­ë© ª®¬¯®­¥­â EditBox (ˆá室­ë© ¢ à¨ ­â ®â Maxxxx32)
;Ž¯â¨¬¨§ æ¨ï ª®¬ ­¤. ;Ž¯â¨¬¨§ æ¨ï ª®¬ ­¤.
@ -93,10 +93,8 @@ ed_buffer:
.3: rb 11 .3: rb 11
.4: rb 3 .4: rb 3
;¤¢  § ¯ á­ëå ¡ ©â  ­¥®¡å®¤¨¬ë ¤«ï ⮣® çâ® ¡ë ­¥ ¯¥¯¥à¥¯¨á âì á«¥¤ãî騥© ¡ ©âë, ¢ ª®­æ¥ ¡ãä¥à  0 ;¤¢  § ¯ á­ëå ¡ ©â  ­¥®¡å®¤¨¬ë ¤«ï ⮣® çâ® ¡ë ­¥ ¯¥¯¥à¥¯¨á âì á«¥¤ãî騥© ¡ ©âë, ¢ ª®­æ¥ ¡ãä¥à  0
;text_b: db 'Š®«-¢® ᨬ¢®«®¢'
;buffer: dd 0
buffer_end: buffer_end:
hed db 'EDITBOX optimization and retype <Lrz> date 09.03.2007',0 hed db 'EDITBOX optimization and retype <Lrz> date 30.03.2007',0
rb 256 rb 256
i_end1: i_end1:
rb 1024 rb 1024