forked from KolibriOS/kolibrios
1) fix in 'libio'
2) small optimize 'editbox' git-svn-id: svn://kolibrios.org@3130 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
@@ -54,7 +54,20 @@ pushad
|
|||||||
;----------------------------------------------------------
|
;----------------------------------------------------------
|
||||||
;--- <20><EFBFBD><E0AEA2>塞, <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> --------------------------------
|
;--- <20><EFBFBD><E0AEA2>塞, <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> --------------------------------
|
||||||
;----------------------------------------------------------
|
;----------------------------------------------------------
|
||||||
use_key_process backspace,delete,left,right,home,end,insert
|
cmp ah,8
|
||||||
|
jz edit_box_key.backspace
|
||||||
|
cmp ah,0xb6
|
||||||
|
jz edit_box_key.delete
|
||||||
|
cmp ah,176
|
||||||
|
jz edit_box_key.left
|
||||||
|
cmp ah,179
|
||||||
|
jz edit_box_key.right
|
||||||
|
cmp ah,180
|
||||||
|
jz edit_box_key.home
|
||||||
|
cmp ah,181
|
||||||
|
jz edit_box_key.end
|
||||||
|
cmp ah,185 ;insert
|
||||||
|
jz edit_box_key.insert
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;<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>
|
;<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>
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
@@ -756,45 +769,6 @@ pusha ;
|
|||||||
or word ed_flags,ed_shift ;<3B><>⠭<EFBFBD><E2A0AD><EFBFBD><EFBFBD> 䫠<>
|
or word ed_flags,ed_shift ;<3B><>⠭<EFBFBD><E2A0AD><EFBFBD><EFBFBD> 䫠<>
|
||||||
@@:edit_ex
|
@@: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 backspace,delete,left,right,home,end,insert
|
|
||||||
{
|
|
||||||
if backspace eq
|
|
||||||
else
|
|
||||||
cmp ah,8
|
|
||||||
jz edit_box_key.backspace
|
|
||||||
end if
|
|
||||||
if delete eq
|
|
||||||
else
|
|
||||||
cmp ah,0xb6
|
|
||||||
jz edit_box_key.delete
|
|
||||||
end if
|
|
||||||
if left eq
|
|
||||||
else
|
|
||||||
cmp ah,176
|
|
||||||
jz edit_box_key.left
|
|
||||||
end if
|
|
||||||
if right eq
|
|
||||||
else
|
|
||||||
cmp ah,179
|
|
||||||
jz edit_box_key.right
|
|
||||||
end if
|
|
||||||
if home eq
|
|
||||||
else
|
|
||||||
cmp ah,180
|
|
||||||
jz edit_box_key.home
|
|
||||||
end if
|
|
||||||
if home eq
|
|
||||||
else
|
|
||||||
cmp ah,181
|
|
||||||
jz edit_box_key.end
|
|
||||||
end if
|
|
||||||
if insert eq
|
|
||||||
else
|
|
||||||
cmp ah,185 ;insert
|
|
||||||
jz edit_box_key.insert
|
|
||||||
end if
|
|
||||||
}
|
|
||||||
|
|
||||||
macro use_key_no_process up,down,esc,enter,tab,numl,capsl,scrolll
|
macro use_key_no_process up,down,esc,enter,tab,numl,capsl,scrolll
|
||||||
{
|
{
|
||||||
@@ -874,9 +848,8 @@ macro are_key_shift_press
|
|||||||
popa
|
popa
|
||||||
call edit_box_key.del_char
|
call edit_box_key.del_char
|
||||||
;;;;
|
;;;;
|
||||||
mov eax,dword ed_shift_pos
|
|
||||||
mov ebx,ed_size
|
mov ebx,ed_size
|
||||||
sub ebx,eax
|
sub ebx,dword ed_shift_pos
|
||||||
mov ed_size,ebx
|
mov ed_size,ebx
|
||||||
pop eax
|
pop eax
|
||||||
@@:
|
@@:
|
||||||
|
@@ -512,11 +512,17 @@ proc file.close _filed ;////////////////////////////////////////////////////////
|
|||||||
;;------------------------------------------------------------------------------------------------;;
|
;;------------------------------------------------------------------------------------------------;;
|
||||||
;# call `file.err` to obtain extended error information ;;
|
;# call `file.err` to obtain extended error information ;;
|
||||||
;;================================================================================================;;
|
;;================================================================================================;;
|
||||||
|
cmp eax,32
|
||||||
|
jb .exit_error
|
||||||
mov eax, [_filed]
|
mov eax, [_filed]
|
||||||
mov [eax + InternalFileInfo.Mode], 0
|
mov [eax + InternalFileInfo.Mode], 0
|
||||||
mov [eax + InternalFileInfo.FileName], 0
|
mov [eax + InternalFileInfo.FileName], 0
|
||||||
invoke mem.free, eax
|
invoke mem.free, eax
|
||||||
xor eax, eax
|
xor eax, eax
|
||||||
|
jmp @f
|
||||||
|
.exit_error:
|
||||||
|
or eax, -1
|
||||||
|
@@:
|
||||||
ret
|
ret
|
||||||
endp
|
endp
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user