upgrade add mouse+shift
git-svn-id: svn://kolibrios.org@404 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
@@ -1,3 +1,4 @@
|
|||||||
|
; <Lrz> 09.03.2007 <20><><EFBFBD><EFBFBD>ᠫ <20><>ࠢ<EFBFBD><E0A0A2><EFBFBD><EFBFBD><EFBFBD> mouse + shift <20>뤥<EFBFBD><EBA4A5><EFBFBD><EFBFBD><EFBFBD> <20> <20><>६<EFBFBD>饭<EFBFBD><E9A5AD>
|
||||||
; <Lrz> 07.03.2007 <20><><EFBFBD><EFBFBD>ᠫ <20><>ࠢ<EFBFBD><E0A0A2><EFBFBD><EFBFBD><EFBFBD> <20> shift home + end <20><><EFBFBD>ࠢ<EFBFBD><E0A0A2> <20><><EFBFBD>쪮 <20><><EFBFBD><EFBFBD><EFBFBD>
|
; <Lrz> 07.03.2007 <20><><EFBFBD><EFBFBD>ᠫ <20><>ࠢ<EFBFBD><E0A0A2><EFBFBD><EFBFBD><EFBFBD> <20> shift home + end <20><><EFBFBD>ࠢ<EFBFBD><E0A0A2> <20><><EFBFBD>쪮 <20><><EFBFBD><EFBFBD><EFBFBD>
|
||||||
; <Lrz> 06.03.2007 <20><>९<EFBFBD>ᠫ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ࠢ<EFBFBD><E0A0A2><EFBFBD><EFBFBD><EFBFBD> shift
|
; <Lrz> 06.03.2007 <20><>९<EFBFBD>ᠫ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ࠢ<EFBFBD><E0A0A2><EFBFBD><EFBFBD><EFBFBD> shift
|
||||||
; <Lrz> 15.02.2007 <20><><EFBFBD><EFBFBD>襭<EFBFBD><E8A5AD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>뤥<EFBFBD><EBA4A5><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ᮢ<EFBFBD><E1AEA2> <20><><EFBFBD>頥<EFBFBD><E9A0A5><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD>⥫쭮 <20><><EFBFBD><EFBFBD>⭥<EFBFBD> ࠡ<>⠥<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
; <Lrz> 15.02.2007 <20><><EFBFBD><EFBFBD>襭<EFBFBD><E8A5AD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>뤥<EFBFBD><EBA4A5><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ᮢ<EFBFBD><E1AEA2> <20><><EFBFBD>頥<EFBFBD><E9A0A5><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD>⥫쭮 <20><><EFBFBD><EFBFBD>⭥<EFBFBD> ࠡ<>⠥<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
@@ -309,16 +310,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 @b
|
je @b
|
||||||
;<3B><EFBFBD>ઠ <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> shift
|
;<3B><EFBFBD>ઠ <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> shift
|
||||||
xor ecx,ecx
|
call .check_shift
|
||||||
push eax
|
|
||||||
inc ecx
|
|
||||||
mov eax,66
|
|
||||||
mov ebx,3
|
|
||||||
int 0x40
|
|
||||||
test al,0x03
|
|
||||||
je @f
|
|
||||||
or word ed_flags,ed_shift ;<3B><>⠭<EFBFBD><E2A0AD><EFBFBD><EFBFBD> 䫠<>
|
|
||||||
@@: 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> --------------------------------
|
||||||
;----------------------------------------------------------
|
;----------------------------------------------------------
|
||||||
@@ -875,6 +867,22 @@ popa
|
|||||||
mov edx,ebp
|
mov edx,ebp
|
||||||
call .draw_bg_eax
|
call .draw_bg_eax
|
||||||
ret
|
ret
|
||||||
|
;;;;;;;;;;;;;;;;;;
|
||||||
|
;;<3B><EFBFBD>ઠ <20><><EFBFBD><EFBFBD><EFBFBD> <20><> shift
|
||||||
|
;;;;;;;;;;;;;;;;;;
|
||||||
|
.check_shift:
|
||||||
|
pusha ;<3B><><EFBFBD>࠭<EFBFBD><E0A0AD> <20><><EFBFBD> ॣ<><E0A5A3><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
xor ecx,ecx
|
||||||
|
inc ecx
|
||||||
|
mov eax,66
|
||||||
|
mov ebx,3
|
||||||
|
int 0x40
|
||||||
|
test al,0x03
|
||||||
|
je @f
|
||||||
|
or word ed_flags,ed_shift ;<3B><>⠭<EFBFBD><E2A0AD><EFBFBD><EFBFBD> 䫠<>
|
||||||
|
@@: popa ;<3B><><EFBFBD><EFBFBD>⠭<EFBFBD><E2A0AD><EFBFBD><EFBFBD> ॣ<><E0A5A3><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
ret
|
||||||
|
|
||||||
;==========================================================
|
;==========================================================
|
||||||
;=== <20><>ࠡ<EFBFBD>⪠ <20><><EFBFBD><EFBFBD> =======================================
|
;=== <20><>ࠡ<EFBFBD>⪠ <20><><EFBFBD><EFBFBD> =======================================
|
||||||
;==========================================================
|
;==========================================================
|
||||||
@@ -937,32 +945,44 @@ pusha
|
|||||||
jna @f
|
jna @f
|
||||||
mov ax,ed_size
|
mov ax,ed_size
|
||||||
@@:
|
@@:
|
||||||
|
;;;;;;;
|
||||||
|
;;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ࠡ<EFBFBD>⪨ shift <20> <20>뤥<EFBFBD><EBA4A5><EFBFBD><EFBFBD><EFBFBD> <20><> shift
|
||||||
|
;;;;;;;
|
||||||
test word ed_flags,ed_shift_bac
|
test word ed_flags,ed_shift_bac
|
||||||
je @f
|
je @f
|
||||||
mov ebp,dword ed_color
|
mov ebp,dword ed_color
|
||||||
mov ebx,dword ed_shift_pos
|
mov ebx,dword ed_shift_pos
|
||||||
push eax
|
push eax
|
||||||
call .sh_cl_
|
call .sh_cl_
|
||||||
and word ed_flags,ed_shift_cl
|
and word ed_flags,ed_shift_bac_cl
|
||||||
pop eax
|
pop eax
|
||||||
|
|
||||||
@@:
|
@@: call .check_shift ;<3B><EFBFBD>ਬ <20><><EFBFBD><EFBFBD><EFBFBD> <20><> shift
|
||||||
test word ed_flags,ed_shift
|
|
||||||
je @f
|
|
||||||
mov ebx,ed_pos
|
|
||||||
mov ed_shift_pos,ebx
|
|
||||||
|
|
||||||
|
test word ed_flags,ed_shift
|
||||||
|
je ._msh_exit
|
||||||
|
test word ed_flags,ed_shift_on
|
||||||
|
jne @f
|
||||||
|
|
||||||
|
push dword ed_pos
|
||||||
|
pop dword ed_shift_pos
|
||||||
|
or word ed_flags,ed_shift_on
|
||||||
|
@@:
|
||||||
mov ed_pos,eax
|
mov ed_pos,eax
|
||||||
mov ebp,dword shift_color
|
mov ebp,dword shift_color
|
||||||
|
mov ebx,dword ed_shift_pos
|
||||||
call .sh_cl_
|
call .sh_cl_
|
||||||
or word ed_flags,ed_shift_bac ;<3B><>⠭<EFBFBD><E2A0AD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD> <20><> <20>뤥<EFBFBD><EBA4A5><EFBFBD><EFBFBD>
|
or word ed_flags,ed_shift_bac ;<3B><>⠭<EFBFBD><E2A0AD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD> <20><> <20>뤥<EFBFBD><EBA4A5><EFBFBD><EFBFBD>
|
||||||
and word ed_flags,ed_shift_off
|
|
||||||
jmp .m_sh
|
jmp .m_sh
|
||||||
@@:
|
._msh_exit:
|
||||||
mov ed_pos,ax
|
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 ;<3B>몫<EFBFBD>稬 <20> <20><EFBFBD> <20><><EFBFBD>砥 shift
|
||||||
;----------------------------------------------------------
|
;----------------------------------------------------------
|
||||||
;--- <20><><EFBFBD>楤<EFBFBD><E6A5A4><EFBFBD> <20><>⠭<EFBFBD><E2A0AD><EFBFBD><EFBFBD> 䮪<><E4AEAA><EFBFBD> ---------------------------
|
;--- <20><><EFBFBD>楤<EFBFBD><E6A5A4><EFBFBD> <20><>⠭<EFBFBD><E2A0AD><EFBFBD><EFBFBD> 䮪<><E4AEAA><EFBFBD> ---------------------------
|
||||||
;----------------------------------------------------------
|
;----------------------------------------------------------
|
||||||
@@ -1004,6 +1024,7 @@ ed_shift_on= 1000b ;
|
|||||||
ed_shift= 100b ;<3B><><EFBFBD><EFBFBD>砥<EFBFBD><E7A0A5><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD>⨨ <20><> shift <20>.<2E>. <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
ed_shift= 100b ;<3B><><EFBFBD><EFBFBD>砥<EFBFBD><E7A0A5><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD>⨨ <20><> shift <20>.<2E>. <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
ed_shift_off= 1111111111111011b
|
ed_shift_off= 1111111111111011b
|
||||||
ed_shift_bac= 10000b ;<3B><><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD>⪨ <20>뤥<EFBFBD><EBA4A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD> shift <20>.<2E>. <20><><EFBFBD> <20><>⠭<EFBFBD><E2A0AD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD> <20>뤥<EFBFBD><EBA4A5><EFBFBD><EFBFBD><EFBFBD>
|
ed_shift_bac= 10000b ;<3B><><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD>⪨ <20>뤥<EFBFBD><EBA4A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD> shift <20>.<2E>. <20><><EFBFBD> <20><>⠭<EFBFBD><E2A0AD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD> <20>뤥<EFBFBD><EBA4A5><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
ed_shift_bac_cl=1111111111101111b ;<3B><><EFBFBD><EFBFBD>⪠ <20><><EFBFBD> 㤠<><E3A4A0><EFBFBD><EFBFBD><EFBFBD> <20>뤥<EFBFBD><EBA4A5><EFBFBD><EFBFBD><EFBFBD>
|
||||||
ed_shift_cl= 1111111111100011b
|
ed_shift_cl= 1111111111100011b
|
||||||
ed_left_fl= 100000b
|
ed_left_fl= 100000b
|
||||||
ed_right_fl= 1111111111011111b
|
ed_right_fl= 1111111111011111b
|
||||||
@@ -1038,15 +1059,13 @@ macro key_edit_boxes start,end
|
|||||||
mov edi,start
|
mov edi,start
|
||||||
mov ecx,((end-start)/ed_struc_size)
|
mov ecx,((end-start)/ed_struc_size)
|
||||||
@@:
|
@@:
|
||||||
; push eax
|
|
||||||
call edit_box.key
|
call edit_box.key
|
||||||
; pop eax
|
|
||||||
add edi,ed_struc_size
|
add edi,ed_struc_size
|
||||||
loop @b
|
loop @b
|
||||||
}
|
}
|
||||||
ed_struc_size=66
|
ed_struc_size=66
|
||||||
struc edit_box width,left,top,color,focus_border_color,\
|
struc edit_box width,left,top,color,focus_border_color,\
|
||||||
blur_border_color,text_color,max,text,flags
|
blur_border_color,text_color,max,text,flags,size
|
||||||
{
|
{
|
||||||
.width dd width
|
.width dd width
|
||||||
.left dd left
|
.left dd left
|
||||||
|
@@ -88,7 +88,7 @@ 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:
|
||||||
.1: rb 514;256
|
;.1: rb 514;256
|
||||||
.2: rb 101
|
.2: rb 101
|
||||||
.3: rb 11
|
.3: rb 11
|
||||||
.4: rb 3
|
.4: rb 3
|
||||||
@@ -96,7 +96,7 @@ 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 07.03.2007',0
|
hed db 'EDITBOX optimization and retype <Lrz> date 09.03.2007',0
|
||||||
rb 256
|
rb 256
|
||||||
i_end1:
|
i_end1:
|
||||||
rb 1024
|
rb 1024
|
||||||
|
Reference in New Issue
Block a user