Subversion Repositories Kolibri OS

Rev

Rev 806 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 806 Rev 830
Line 152... Line 152...
152
;--- ¥á«¨ ᬥ饭¨¥ ¡ë«® ãáâ ­®¢ª  ä« £  ed_offset_cl ¨­ ç¥
152
;--- ¥á«¨ ᬥ饭¨¥ ¡ë«® ãáâ ­®¢ª  ä« £  ed_offset_cl ¨­ ç¥
153
; ¥á«¨ ­¨ç¥£® ­¥ ¨§¬¥­¨«®áì â® ¢ëáâ ¢«¥­¨¥ ed_offset_fl
153
; ¥á«¨ ­¨ç¥£® ­¥ ¨§¬¥­¨«®áì â® ¢ëáâ ¢«¥­¨¥ ed_offset_fl
154
; ¢ ®¡é¥© ¡¨â®¢®© ¬ àà¨æ¥ á®áâ®ï­¨ï ª®¬¯®­¥­â®¢ word ed_flags
154
; ¢ ®¡é¥© ¡¨â®¢®© ¬ àà¨æ¥ á®áâ®ï­¨ï ª®¬¯®­¥­â®¢ word ed_flags
155
;----------------------------------------------------------
155
;----------------------------------------------------------
156
edit_box.check_offset:
156
edit_box.check_offset:
157
pusha
157
pushad
158
        mov     ecx,ed_pos
158
        mov     ecx,ed_pos
159
        mov     ebx,ed_offset
159
        mov     ebx,ed_offset
160
        cmp     ebx,ecx
160
        cmp     ebx,ecx
161
        ja      edit_box.sub_8
161
        ja      edit_box.sub_8
Line 828... Line 828...
828
        shr     eax,16
828
        shr     eax,16
829
        or      word ed_flags,ed_shift_bac+ed_shift_on+ed_shift
829
        or      word ed_flags,ed_shift_bac+ed_shift_on+ed_shift
830
;;;;;;;;;;;;;;;;;;
830
;;;;;;;;;;;;;;;;;;
831
;;¯à®æ¥¤ãà  ®¡à ¡®âª¨ ¯®«®¦¥­¨ï ¢ë¤¥«¥­­®£® ⥪áâ , ª®£¤  ¯à®¨á室¨â ¢ë室 §  ¯à¥¤¥«ë editbox
831
;;¯à®æ¥¤ãà  ®¡à ¡®âª¨ ¯®«®¦¥­¨ï ¢ë¤¥«¥­­®£® ⥪áâ , ª®£¤  ¯à®¨á室¨â ¢ë室 §  ¯à¥¤¥«ë editbox
832
;;;;;;;;;;;;;;;;;;
832
;;;;;;;;;;;;;;;;;;
833
        mov     ebx,[procinfo.box.left]
-
 
834
        add     ebx,ed_left
833
        test    ax,0x8000
835
 
-
 
836
        add     ebx,dword [esp+20];scr_w
834
        jnz     edit_box_mouse.mleft
Line -... Line 835...
-
 
835
 
837
 
836
        mov     ebx,ed_left
838
        cmp     eax,ebx
837
        cmp     eax,ebx
Line 839... Line 838...
839
        jb      edit_box_mouse.mleft
838
        jb      edit_box_mouse.mleft
840
 
839
 
Line 918... Line 917...
918
        pop     eax
917
        pop     eax
919
        jmp     edit_box_mouse.mdraw  
918
        jmp     edit_box_mouse.mdraw  
920
}
919
}
Line 921... Line 920...
921
 
920
 
922
macro use_work_mouse
-
 
923
;        pop     edx     ;scr_h
-
 
924
;        pop     ebp     ;scr_w
921
macro use_work_mouse
925
;----------------------------------------------------------
922
;----------------------------------------------------------
926
;--- € ­¥ 㤥ন¢ ¥¬ «¨ ¬ë ª« ¢¨èã ¬ë誨, ¯¥à¥¬¥é ï ªãàá®à, ¢® ¢á¥ à §­ë¥ áâ®à®­ë?
923
;--- € ­¥ 㤥ন¢ ¥¬ «¨ ¬ë ª« ¢¨èã ¬ë誨, ¯¥à¥¬¥é ï ªãàá®à, ¢® ¢á¥ à §­ë¥ áâ®à®­ë?
927
;----------------------------------------------------------
924
;----------------------------------------------------------
928
{
925
{
929
        test    word ed_flags,ed_mouse_on
926
        test    word ed_flags,ed_mouse_on
930
        jne     edit_box_mouse.mouse_wigwag
927
        jne     edit_box_mouse.mouse_wigwag
931
;----------------------------------------------------------
928
;----------------------------------------------------------
932
;--- ¯à®¢¥à塞, ¯®¯ ¤ ¥â «¨ ªãàá®à ¢ edit box -------------
929
;--- ¯à®¢¥à塞, ¯®¯ ¤ ¥â «¨ ªãàá®à ¢ edit box -------------
933
;----------------------------------------------------------
-
 
934
        mov     ebx,[procinfo.box.top]
930
;----------------------------------------------------------
935
        add     ebx,ed_top
-
 
936
        add     ebx,dword [esp+24]         ;ecx scr_h
931
        mov     ebx,ed_top
937
        cmp     ax,bx
932
        cmp     ax,bx
Line 938... Line 933...
938
        jl      edit_box_mouse._blur;.mouse_end_no_focus
933
        jl      edit_box_mouse._blur;.mouse_end_no_focus
939
 
934
        
940
        add     ebx,ed_height
935
        add     ebx,ed_height
Line 941... Line 936...
941
        cmp     ax,bx
936
        cmp     ax,bx
Line 942... Line -...
942
        jg      edit_box_mouse._blur;.mouse_end_no_focus
-
 
943
 
937
        jg      edit_box_mouse._blur;.mouse_end_no_focus
944
        shr     eax,16
-
 
945
 
-
 
946
        mov     ebx,[procinfo.box.left]
938
 
947
        add     ebx,ed_left
939
        shr     eax,16
Line 948... Line 940...
948
        add     ebx,dword [esp+20]         ;edx scr_w
940
 
-
 
941
        mov     ebx,ed_left
949
 
942
        cmp     ax,bx
950
        cmp     ax,bx
943
        jl      edit_box_mouse._blur;.mouse_end_no_focus
-
 
944
 
951
        jl      edit_box_mouse._blur;.mouse_end_no_focus
945
        add     ebx,ed_width
952
 
946
 
953
        add     ebx,ed_width
947
        cmp     ax,bx
954
        cmp     ax,bx
948
        jg      edit_box_mouse._blur;.mouse_end_no_focus        
955
        jg      edit_box_mouse._blur;.mouse_end_no_focus
949
 
956
;--- ¨§¬¥­ï¥¬ ¯®§¨æ¨î ªãàá®à  ---
950
;--- ¨§¬¥­ï¥¬ ¯®§¨æ¨î ªãàá®à  ---
957
        push    eax
-
 
958
        mov     ebp,ed_color
951
        push    eax
959
        call    edit_box.clear_cursor
952
        mov     ebp,ed_color
960
        pop     eax
-
 
961
edit_box_mouse._mvpos:
-
 
962
        mov     ebx,dword [procinfo.box.left]
-
 
963
        xor     edx,edx
-
 
964
        sub     eax,ed_left
953
        call    edit_box.clear_cursor
965
        sub     eax,ebx
954
        pop     eax
966
;
955
edit_box_mouse._mvpos:
967
        add     ebx,dword [esp+20] ; scr_w
956
        xor     edx,edx
968
        sub     eax,2
957
        sub     eax,ed_left
969
;
958
 
970
        mov     ebx,6
959
        mov     ebx,6
-
 
960
        div     bx
971
        div     bx
961
        add     eax,ed_offset
972
        add     eax,ed_offset
962
        cmp     eax,ed_size
973
        cmp     eax,ed_size
963
        jna     edit_box_mouse._mshift
974
        jna     edit_box_mouse._mshift
964
        mov     eax,ed_size
975
        mov     eax,ed_size
965
 
Line 1023... Line 1013...
1023
 
1013
 
1024
 
1014
 
1025
; Œ ªà®á ¢ë室 
1015
; Œ ªà®á ¢ë室 
1026
macro edit_ex
1016
macro edit_ex
1027
{
1017
{
1028
popa          
1018
popad          
1029
ret
1019
ret
1030
}
1020
}
1031
macro debug
1021
macro debug