bugfix shift+home and end.

git-svn-id: svn://kolibrios.org@1596 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
Alexey Teplov ( 2010-08-28 13:45:50 +00:00
parent daffb22cca
commit a5b6b8b8e1

View File

@ -218,7 +218,7 @@ ret
;eax ;eax
;edx - color ;edx - color
;---------------------------------------------------------- ;----------------------------------------------------------
;¢å®¤ ⮫쪮 梥â edx
edit_box.draw_bg: edit_box.draw_bg:
mov ebx,ed_left mov ebx,ed_left
add ebx,1 add ebx,1
@ -226,6 +226,7 @@ edit_box.draw_bg:
shl ebx,16 shl ebx,16
add ebx,ed_width add ebx,ed_width
sub ebx,1 sub ebx,1
;¢å®¤ ⮫쪮 梥â edx
edit_box.draw_bg_eax: edit_box.draw_bg_eax:
mov ecx,ed_top mov ecx,ed_top
mov eax,13 mov eax,13
@ -336,11 +337,11 @@ pushad
ja edit_box.sub_8 ja edit_box.sub_8
push ebx push ebx
call edit_box.get_n ;¯®«ã稬 ª®«-¢® ᨬ¢®«®¢ ¢ ¯ à¥ ॣ¨áâ஢ edx:eax call edit_box.get_n ;¯®«ã稬 ª®«-¢® ᨬ¢®«®¢ ª®â®àë¥ ã¬¥­é îâáï ¢ è¨à¨­¥ ª®¬¯®­¥­â , ¢ ¯ à¥ ॣ¨áâ஢ edx:eax
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 ;­¥®¡å®¤¨¬® ¤«ï ­®¬ «ì­®£® ¯®«®¦¥­¨ï ªãàá®à  ¢ ªà ©­¥© «¥¢®© ¯®§¨æ¨¨ inc edx ;­¥®¡å®¤¨¬® ¤«ï ­®à¬ «ì­®£® ¯®«®¦¥­¨ï ªãàá®à  ¢ ªà ©­¥© «¥¢®© ¯®§¨æ¨¨
cmp edx,ecx cmp edx,ecx
ja @f ja @f
@ -355,8 +356,8 @@ pushad
jmp edit_box.chk_d jmp edit_box.chk_d
edit_box.sub_8: edit_box.sub_8:
cmp ecx,0 test ecx,ecx
je edit_box.sub_min jz edit_box.sub_min
cmp ebx,8 cmp ebx,8
jbe edit_box.sub_min jbe edit_box.sub_min
sub ebx,8 ;ebx=ed_offset sub ebx,8 ;ebx=ed_offset
@ -373,8 +374,9 @@ edit_box.chk_d: mov ed_offset,ebx
call edit_box.draw_bg call edit_box.draw_bg
and word ed_flags,ed_offset_cl and word ed_flags,ed_offset_cl
edit_ex edit_ex
@@: @@:
or word ed_flags,ed_offset_fl or word ed_flags,ed_offset_fl
edit_ex edit_ex
} }
@ -391,7 +393,8 @@ edit_box_key.shift: ;;;;;;;SHIFT
call edit_box_key.sh_cl_ call edit_box_key.sh_cl_
jmp edit_box.draw_cursor_text jmp edit_box.draw_cursor_text
;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;
edit_box_key.f_exit: call edit_box.check_offset edit_box_key.f_exit:
call edit_box.check_offset
and word ed_flags,ed_shift_cl and word ed_flags,ed_shift_cl
call edit_box_key.enable_null call edit_box_key.enable_null
jmp edit_box.draw_cursor_text jmp edit_box.draw_cursor_text
@ -591,6 +594,7 @@ edit_box_key.sh_home_end:
or word ed_flags,ed_shift_bac ;ãáâ ­®¢ª  ä« £ , ¢ë¤¥«¥­­®© ®¡« á⨠or word ed_flags,ed_shift_bac ;ãáâ ­®¢ª  ä« £ , ¢ë¤¥«¥­­®© ®¡« áâ¨
jmp edit_box_key.sh_e_end jmp edit_box_key.sh_e_end
edit_box_key.sh_exit_: edit_box_key.sh_exit_:
call edit_box.draw_bg
call edit_box.check_offset call edit_box.check_offset
ret ret
;äã­ªæ¨ï ¢­¥á¥­¨ï 0 ¯®  ¤à¥áã ed_size+1 ;äã­ªæ¨ï ¢­¥á¥­¨ï 0 ¯®  ¤à¥áã ed_size+1