Subversion Repositories Kolibri OS

Rev

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

Rev 645 Rev 830
Line 816... Line 816...
816
        mov     ed_pos,eax
816
        mov     ed_pos,eax
817
        call    .sh_home_end
817
        call    .sh_home_end
818
        jmp     .draw_cursor_text
818
        jmp     .draw_cursor_text
819
}
819
}
Line 820... Line 820...
820
 
820
 
821
macro use_mouse_func scr_w
821
macro use_mouse_func
822
{
822
{
823
;----------------------------------------------------------
823
;----------------------------------------------------------
824
;--- Ž¡à ¡®âª  .mouse_wigwag
824
;--- Ž¡à ¡®âª  .mouse_wigwag
825
;----------------------------------------------------------
825
;----------------------------------------------------------
826
.mouse_wigwag:
826
.mouse_wigwag:
827
        shr     eax,16
827
        shr     eax,16
828
        or      word ed_flags,ed_shift_bac+ed_shift_on+ed_shift
828
        or      word ed_flags,ed_shift_bac+ed_shift_on+ed_shift
829
;;;;;;;;;;;;;;;;;;
829
;;;;;;;;;;;;;;;;;;
830
;;¯à®æ¥¤ãà  ®¡à ¡®âª¨ ¯®«®¦¥­¨ï ¢ë¤¥«¥­­®£® ⥪áâ , ª®£¤  ¯à®¨á室¨â ¢ë室 §  ¯à¥¤¥«ë editbox
830
;;¯à®æ¥¤ãà  ®¡à ¡®âª¨ ¯®«®¦¥­¨ï ¢ë¤¥«¥­­®£® ⥪áâ , ª®£¤  ¯à®¨á室¨â ¢ë室 §  ¯à¥¤¥«ë editbox
831
;;;;;;;;;;;;;;;;;;
831
;;;;;;;;;;;;;;;;;;
832
        mov     ebx,dword [procinfo+34]
832
        test    ax,0x8000
833
        add     ebx,ed_left
-
 
834
if scr_w eq 
833
        jnz     .mleft
835
else
834
 
836
        add     ebx,dword scr_w
-
 
837
end if
835
        mov     ebx,ed_left
838
        cmp     eax,ebx
836
        cmp     eax,ebx
Line 839... Line 837...
839
        jb      .mleft
837
        jb      .mleft
840
 
838
 
Line 891... Line 889...
891
        and     word ed_flags,ed_shift_mcl
889
        and     word ed_flags,ed_shift_mcl
892
        jmp     .draw_cursor_text
890
        jmp     .draw_cursor_text
893
;       popa
891
;       popa
894
;       ret
892
;       ret
895
.mleft:
893
.mleft:
-
 
894
 
896
        mov     eax,ed_pos
895
        mov     eax,ed_pos
897
        cmp     eax,0                                        
896
        cmp     eax,0                                        
898
        jbe      .mwigvag
897
        jbe      .mwigvag
899
        dec     eax
898
        dec     eax
900
        call    .check_offset
899
        call    .check_offset
Line 917... Line 916...
917
        call    .sh_cl_
916
        call    .sh_cl_
918
        pop     eax
917
        pop     eax
919
        jmp     .mdraw  
918
        jmp     .mdraw  
920
}
919
}
Line 921... Line 920...
921
 
920
 
922
macro use_work_mause scr_h,scr_w
921
macro use_work_mouse
923
;----------------------------------------------------------
922
;----------------------------------------------------------
924
;--- € ­¥ 㤥ন¢ ¥¬ «¨ ¬ë ª« ¢¨èã ¬ë誨, ¯¥à¥¬¥é ï ªãàá®à, ¢® ¢á¥ à §­ë¥ áâ®à®­ë?
923
;--- € ­¥ 㤥ন¢ ¥¬ «¨ ¬ë ª« ¢¨èã ¬ë誨, ¯¥à¥¬¥é ï ªãàá®à, ¢® ¢á¥ à §­ë¥ áâ®à®­ë?
925
;----------------------------------------------------------
924
;----------------------------------------------------------
926
{
925
{
927
        test    word ed_flags,ed_mouse_on
926
        test    word ed_flags,ed_mouse_on
928
        jne     .mouse_wigwag
927
        jne     .mouse_wigwag
929
;----------------------------------------------------------
928
;----------------------------------------------------------
930
;--- ¯à®¢¥à塞, ¯®¯ ¤ ¥â «¨ ªãàá®à ¢ edit box -------------
929
;--- ¯à®¢¥à塞, ¯®¯ ¤ ¥â «¨ ªãàá®à ¢ edit box -------------
931
;----------------------------------------------------------
-
 
932
        mov     ebx,dword [procinfo + 38]
-
 
933
        add     ebx,ed_top
-
 
934
if scr_h eq 
930
;----------------------------------------------------------
935
else
931
 
936
        add     ebx,scr_h
-
 
937
end if
932
        mov     ebx,ed_top
938
        cmp     ax,bx
933
        cmp     ax,bx
Line 939... Line 934...
939
        jl      ._blur;.mouse_end_no_focus
934
        jl      ._blur;.mouse_end_no_focus
940
 
935
        
941
        add     ebx,ed_height
936
        add     ebx,ed_height
Line 942... Line 937...
942
        cmp     ax,bx
937
        cmp     ax,bx
Line 943... Line -...
943
        jg      ._blur;.mouse_end_no_focus
-
 
944
 
938
        jg      ._blur;.mouse_end_no_focus
945
        shr     eax,16
-
 
946
 
-
 
947
        mov     ebx,dword [procinfo + 34]
-
 
948
        add     ebx,ed_left
-
 
949
if scr_w eq 
939
 
950
else
940
        shr     eax,16
Line 951... Line 941...
951
        add     ebx,scr_w
941
 
-
 
942
        mov     ebx,ed_left
952
end if
943
        cmp     ax,bx
953
        cmp     ax,bx
944
        jl      ._blur;.mouse_end_no_focus
-
 
945
 
954
        jl      ._blur;.mouse_end_no_focus
946
        add     ebx,ed_width
955
 
947
 
956
        add     ebx,ed_width
948
        cmp     ax,bx
957
        cmp     ax,bx
949
        jg      ._blur;.mouse_end_no_focus        
958
        jg      ._blur;.mouse_end_no_focus
950
 
959
;--- ¨§¬¥­ï¥¬ ¯®§¨æ¨î ªãàá®à  ---
951
;--- ¨§¬¥­ï¥¬ ¯®§¨æ¨î ªãàá®à  ---
960
        push    eax
-
 
-
 
952
        push    eax
961
        mov     ebp,ed_color
953
        mov     ebp,ed_color
962
        call    .clear_cursor
954
        call    .clear_cursor
963
        pop     eax
-
 
964
._mvpos:
-
 
965
        mov     ebx,dword [procinfo+ 34]
955
        pop     eax
966
        xor     edx,edx
-
 
967
        sub     eax,ed_left
-
 
968
        sub     eax,ebx
-
 
969
if scr_w eq 
956
._mvpos:
970
else
957
      
971
        add     ebx,scr_w
958
        xor     edx,edx
972
        sub     eax,2
959
        sub     eax,ed_left
973
end if
960
 
Line 1027... Line 1014...
1027
 
1014
 
1028
 
1015
 
1029
; Œ ªà®á ¢ë室 
1016
; Œ ªà®á ¢ë室 
1030
macro edit_ex
1017
macro edit_ex
1031
{
1018
{
1032
popa          
1019
popad          
1033
ret
1020
ret
1034
}
1021
}
1035
macro debug
1022
macro debug