forked from KolibriOS/kolibrios
fixed bug
git-svn-id: svn://kolibrios.org@306 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
parent
dbd82dd523
commit
e7be690de5
@ -1,3 +1,4 @@
|
|||||||
|
; <Lrz> 01.02.2007 ¤®à ¡®âª edit_box, ¨á¯à ¢¨« ¡ £¨.
|
||||||
; <Lrz> 26.01.2007 ®à¬ «ì ï à ¡®â ª®¬¯ ¥â ¨á¯à ¢¨« äãªæ¨î .check_offset
|
; <Lrz> 26.01.2007 ®à¬ «ì ï à ¡®â ª®¬¯ ¥â ¨á¯à ¢¨« äãªæ¨î .check_offset
|
||||||
; <Lrz> 24.01.2007 ¯®ä¨ªá¥« ¡ £¨ ¢ë§¢ ë¥ ¥ ¯à ¢¨«ìë¬ ª®¤®¬ )).
|
; <Lrz> 24.01.2007 ¯®ä¨ªá¥« ¡ £¨ ¢ë§¢ ë¥ ¥ ¯à ¢¨«ìë¬ ª®¤®¬ )).
|
||||||
; <Lrz> 22.01.2007 ¨§¡ ¢¨«áï ®â £«îª®¢ ¯à¨ à ¡®â¥ á ¢ë¤¥«¥¨¥¬ ¨ 㤠«¥¨¥, ª®à४â ï à ¡®â ª« ¢¨è¥© del & backspase
|
; <Lrz> 22.01.2007 ¨§¡ ¢¨«áï ®â £«îª®¢ ¯à¨ à ¡®â¥ á ¢ë¤¥«¥¨¥¬ ¨ 㤠«¥¨¥, ª®à४â ï à ¡®â ª« ¢¨è¥© del & backspase
|
||||||
@ -127,12 +128,12 @@ ret
|
|||||||
;--- à¨á㥬 ⥪áâ ---
|
;--- à¨á㥬 ⥪áâ ---
|
||||||
@@: mov eax,4
|
@@: mov eax,4
|
||||||
mov ebx,ed_left
|
mov ebx,ed_left
|
||||||
|
mov edx,ed_offset
|
||||||
add ebx,2
|
add ebx,2
|
||||||
shl ebx,16
|
shl ebx,16
|
||||||
mov bx,ed_top
|
mov bx,ed_top
|
||||||
add ebx,4
|
add ebx,4
|
||||||
mov ecx,ed_text_color
|
mov ecx,ed_text_color
|
||||||
mov edx,ed_offset
|
|
||||||
add edx,ed_text
|
add edx,ed_text
|
||||||
int 0x40
|
int 0x40
|
||||||
ret
|
ret
|
||||||
@ -143,19 +144,16 @@ ret
|
|||||||
;edx - color
|
;edx - color
|
||||||
;----------------------------------------------------------
|
;----------------------------------------------------------
|
||||||
.draw_bg_eax:
|
.draw_bg_eax:
|
||||||
;pusha
|
|
||||||
mov ecx,ed_top
|
mov ecx,ed_top
|
||||||
add ecx,1
|
add ecx,1
|
||||||
shl ecx,16
|
shl ecx,16
|
||||||
mov cx,13
|
mov cx,13
|
||||||
mov eax,13
|
mov eax,13
|
||||||
int 0x40
|
int 0x40
|
||||||
;popa
|
|
||||||
ret
|
ret
|
||||||
|
|
||||||
jmp @f
|
jmp @f
|
||||||
.draw_bg:
|
.draw_bg:
|
||||||
;pusha
|
|
||||||
mov ebx,ed_left
|
mov ebx,ed_left
|
||||||
add ebx,1
|
add ebx,1
|
||||||
shl ebx,16
|
shl ebx,16
|
||||||
@ -164,23 +162,21 @@ ret
|
|||||||
|
|
||||||
@@:
|
@@:
|
||||||
mov ecx,ed_top
|
mov ecx,ed_top
|
||||||
|
mov eax,13
|
||||||
add ecx,1
|
add ecx,1
|
||||||
shl ecx,16
|
shl ecx,16
|
||||||
|
mov edx,ed_color
|
||||||
mov cx,ed_height
|
mov cx,ed_height
|
||||||
sub ecx,1
|
sub ecx,1
|
||||||
|
|
||||||
mov edx,ed_color
|
|
||||||
mov eax,13
|
|
||||||
int 0x40
|
int 0x40
|
||||||
;popa
|
|
||||||
ret
|
ret
|
||||||
|
|
||||||
;----------------------------------------------------------
|
;----------------------------------------------------------
|
||||||
;--- ¯à®æ¥¤ãà ¯®«ãç¥¨ï ª®«¨ç¥á⢠ᨬ¢®«®¢ ¢ ⥪ã饩 é¨à¨¥ ª®¬¯®¥â --------------
|
;--- ¯à®æ¥¤ãà ¯®«ãç¥¨ï ª®«¨ç¥á⢠ᨬ¢®«®¢ ¢ ⥪ã饩 é¨à¨¥ ª®¬¯®¥â --------------
|
||||||
;----------------------------------------------------------
|
;----------------------------------------------------------
|
||||||
.get_n:
|
.get_n:
|
||||||
xor edx,edx ;१ã«ìâ â à ᯮ«®£ ¥âáï ¢ ¯ ॠedx:eax ¢ eax - ®áâ ⮪
|
|
||||||
mov eax,ed_width ;¯®«ã祬 è¨à¨ã ª®¬¯®¥â
|
mov eax,ed_width ;¯®«ã祬 è¨à¨ã ª®¬¯®¥â
|
||||||
|
xor edx,edx ;१ã«ìâ â à ᯮ«®£ ¥âáï ¢ ¯ ॠedx:eax ¢ eax - ®áâ ⮪
|
||||||
sub eax,4 ;¢ëç⨬ 4
|
sub eax,4 ;¢ëç⨬ 4
|
||||||
mov ebx,6 ;§ £à㧬¨ ¤¥«¨â¥«ì
|
mov ebx,6 ;§ £à㧬¨ ¤¥«¨â¥«ì
|
||||||
div ebx ;à §¬¤¥«¨¬ 6
|
div ebx ;à §¬¤¥«¨¬ 6
|
||||||
@ -210,14 +206,12 @@ ret
|
|||||||
shl ebx,1
|
shl ebx,1
|
||||||
;imul ebx,6
|
;imul ebx,6
|
||||||
add bx,ed_left
|
add bx,ed_left
|
||||||
|
mov ecx,ed_top
|
||||||
inc ebx
|
inc ebx
|
||||||
|
add ecx,2
|
||||||
mov ebp,ebx
|
mov ebp,ebx
|
||||||
;push bx
|
|
||||||
shl ebx,16
|
shl ebx,16
|
||||||
mov bx,bp
|
mov bx,bp
|
||||||
;pop bx
|
|
||||||
mov ecx,ed_top
|
|
||||||
add ecx,2
|
|
||||||
mov ebp,ecx
|
mov ebp,ecx
|
||||||
|
|
||||||
shl ecx,16
|
shl ecx,16
|
||||||
@ -432,7 +426,7 @@ pusha
|
|||||||
|
|
||||||
|
|
||||||
;¯à®¢¥àª shift
|
;¯à®¢¥àª shift
|
||||||
test word ed_flags,ed_shift_on
|
@@: test word ed_flags,ed_shift_on
|
||||||
je @f
|
je @f
|
||||||
;‚å®¤ë¥ ¤ ë¥ edx=ed_size;ecx=ed_pos
|
;‚å®¤ë¥ ¤ ë¥ edx=ed_size;ecx=ed_pos
|
||||||
push eax
|
push eax
|
||||||
@ -465,9 +459,7 @@ pusha
|
|||||||
or word ed_flags,ed_insert
|
or word ed_flags,ed_insert
|
||||||
jmp .no_figure
|
jmp .no_figure
|
||||||
.ins_v:
|
.ins_v:
|
||||||
pop eax edi
|
dec dword [ebp+38];ed_size ;processing is insert
|
||||||
dec dword ed_size ;processing is insert
|
|
||||||
push edi eax
|
|
||||||
sub esi,ecx
|
sub esi,ecx
|
||||||
add esi,ebx
|
add esi,ebx
|
||||||
mov edi,esi
|
mov edi,esi
|
||||||
@ -530,9 +522,6 @@ pusha
|
|||||||
jnz .del_bac
|
jnz .del_bac
|
||||||
test word ed_flags,ed_shift_on
|
test word ed_flags,ed_shift_on
|
||||||
jne .bac_del
|
jne .bac_del
|
||||||
|
|
||||||
;jmp @b
|
|
||||||
|
|
||||||
popa
|
popa
|
||||||
ret
|
ret
|
||||||
.del_bac:
|
.del_bac:
|
||||||
@ -562,8 +551,8 @@ pusha
|
|||||||
call .clear_cursor
|
call .clear_cursor
|
||||||
call .check_offset
|
call .check_offset
|
||||||
;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;
|
||||||
cmp eax,0
|
test eax,eax
|
||||||
je @f
|
jne @f
|
||||||
call .draw_bg
|
call .draw_bg
|
||||||
ret
|
ret
|
||||||
;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;
|
||||||
@ -737,8 +726,6 @@ pusha
|
|||||||
;‚å®¤ë¥ ¤ ë¥ edx=ed_size;ecx=ed_pos
|
;‚å®¤ë¥ ¤ ë¥ edx=ed_size;ecx=ed_pos
|
||||||
.del_char:
|
.del_char:
|
||||||
mov esi,ed_text
|
mov esi,ed_text
|
||||||
|
|
||||||
|
|
||||||
test word ed_flags,ed_shift_on
|
test word ed_flags,ed_shift_on
|
||||||
je @f
|
je @f
|
||||||
mov eax,dword ed_shift_pos
|
mov eax,dword ed_shift_pos
|
||||||
@ -865,6 +852,8 @@ ret
|
|||||||
;.blur:
|
;.blur:
|
||||||
;pusha
|
;pusha
|
||||||
._blur:
|
._blur:
|
||||||
|
test word ed_flags,ed_always_focus
|
||||||
|
jne @f
|
||||||
btr word ed_flags,1 ; ¥á«¨ ¥ ¢ 䮪ãá¥, ¢ë室¨¬
|
btr word ed_flags,1 ; ¥á«¨ ¥ ¢ 䮪ãá¥, ¢ë室¨¬
|
||||||
jnc @f
|
jnc @f
|
||||||
call .clear_cursor
|
call .clear_cursor
|
||||||
@ -888,6 +877,7 @@ ret
|
|||||||
;ret
|
;ret
|
||||||
}
|
}
|
||||||
ed_figure_only=1000000000000000b
|
ed_figure_only=1000000000000000b
|
||||||
|
ed_always_focus=100000000000000b
|
||||||
ed_focus=10b
|
ed_focus=10b
|
||||||
ed_shift_on=1000b
|
ed_shift_on=1000b
|
||||||
ed_shift=100b
|
ed_shift=100b
|
||||||
@ -968,3 +958,21 @@ macro edit_boxes_set_sys_color start,end,color_table
|
|||||||
add edi,ed_struc_size
|
add edi,ed_struc_size
|
||||||
loop @b
|
loop @b
|
||||||
}
|
}
|
||||||
|
|
||||||
|
macro draw_edit_box ed_ptr
|
||||||
|
{
|
||||||
|
mov edi,ed_ptr
|
||||||
|
call edit_box.draw
|
||||||
|
}
|
||||||
|
|
||||||
|
macro mouse_edit_box ed_ptr
|
||||||
|
{
|
||||||
|
mov edi,ed_ptr
|
||||||
|
call edit_box.mouse
|
||||||
|
}
|
||||||
|
|
||||||
|
macro key_edit_box ed_ptr
|
||||||
|
{
|
||||||
|
mov edi,ed_ptr
|
||||||
|
call edit_box.key
|
||||||
|
}
|
@ -101,7 +101,7 @@ ed_buffer:
|
|||||||
;text_b: db 'Š®«-¢® ᨬ¢®«®¢'
|
;text_b: db 'Š®«-¢® ᨬ¢®«®¢'
|
||||||
;buffer: dd 0
|
;buffer: dd 0
|
||||||
buffer_end:
|
buffer_end:
|
||||||
hed db 'EDITBOX optimization and retype <Lrz> date 26.01.2007'
|
hed db 'EDITBOX optimization and retype <Lrz> date 01.02.2007'
|
||||||
i_end1:
|
i_end1:
|
||||||
rb 2048
|
rb 2048
|
||||||
i_end:
|
i_end:
|
||||||
|
Loading…
Reference in New Issue
Block a user