Subversion Repositories Kolibri OS

Rev

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

Rev 9910 Rev 9930
Line 3... Line 3...
3
;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;;
3
;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;;
4
;; Distributed under terms of the GNU General Public License    ;;
4
;; Distributed under terms of the GNU General Public License    ;;
5
;;                                                              ;;
5
;;                                                              ;;
6
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
6
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Line 7... Line 7...
7
 
7
 
Line 8... Line 8...
8
$Revision: 9910 $
8
$Revision: 9930 $
9
 
9
 
10
 
10
 
Line 113... Line 113...
113
 
113
 
Line 114... Line 114...
114
        mov     eax, [d_width_calc_area + eax*4]
114
        mov     eax, [d_width_calc_area + eax*4]
115
 
115
 
116
        add     eax, [_display.win_map]
116
        add     eax, [_display.win_map]
117
        movzx   edx, byte [ebx + eax]
117
        movzx   edx, byte [ebx + eax]
118
        shl     edx, BSF sizeof.APPDATA
118
        shl     edx, BSF sizeof.WDATA
Line 119... Line 119...
119
        ; edx - thread slot of window under cursor
119
        ; edx - thread slot of window under cursor
120
        mov     esi, [SLOT_BASE + edx + APPDATA.cursor] ; cursor of window under cursor
120
        mov     esi, [window_data + edx + WDATA.cursor] ; cursor of window under cursor
121
 
121
 
122
        ; if cursor of window under cursor already equal to the
122
        ; if cursor of window under cursor already equal to the
Line 123... Line 123...
123
        ; current_cursor then just draw it
123
        ; current_cursor then just draw it
124
        cmp     esi, [current_cursor]
124
        cmp     esi, [current_cursor]
125
        je      .draw
125
        je      .draw
126
 
126
 
Line 127... Line 127...
127
        ; eax = thread slot of current active window
127
        ; eax = thread slot of current active window
128
        mov     eax, [thread_count]
128
        mov     eax, [thread_count]
129
        movzx   eax, word [WIN_POS + eax*2]
129
        movzx   eax, word [WIN_POS + eax*2]
Line 130... Line 130...
130
        shl     eax, BSF sizeof.APPDATA
130
        shl     eax, BSF sizeof.WDATA
131
 
131
 
132
        ; window under cursor == active window ?
132
        ; window under cursor == active window ?
133
        cmp     eax, edx
133
        cmp     eax, edx
134
        je      @f
134
        je      @f
135
 
135
 
136
        ; check whether active window is being resized now:
136
        ; check whether active window is being resized now:
137
        mov     bl, [mouse.active_sys_window.action]
137
        mov     bl, [mouse.active_sys_window.action]
Line 138... Line 138...
138
        and     bl, mouse.WINDOW_RESIZE_S_FLAG or mouse.WINDOW_RESIZE_W_FLAG or mouse.WINDOW_RESIZE_E_FLAG
138
        and     bl, mouse.WINDOW_RESIZE_S_FLAG or mouse.WINDOW_RESIZE_W_FLAG or mouse.WINDOW_RESIZE_E_FLAG
139
        test    bl, bl
139
        test    bl, bl
Line 151... Line 151...
151
        je      @f
151
        je      @f
152
        cmp     esi, [def_cursor_dresize2]
152
        cmp     esi, [def_cursor_dresize2]
153
        je      @f
153
        je      @f
Line 154... Line 154...
154
 
154
 
155
        ; set cursor of window under cursor
155
        ; set cursor of window under cursor
156
        mov     esi, [SLOT_BASE + edx + APPDATA.cursor]
156
        mov     esi, [window_data + edx + WDATA.cursor]
157
        cmp     esi, [current_cursor]
157
        cmp     esi, [current_cursor]
Line 158... Line 158...
158
        je      .draw
158
        je      .draw
159
 
159
 
Line 169... Line 169...
169
        ret
169
        ret
170
;--------------------------------------
170
;--------------------------------------
171
;align 4
171
;align 4
172
;.fail:
172
;.fail:
173
;        mov     ecx, [def_cursor]
173
;        mov     ecx, [def_cursor]
174
;        mov     [edx+SLOT_BASE+APPDATA.cursor], ecx
174
;        mov     [window_data + edx + WDATA.cursor], ecx
175
;        stdcall [_display.move_cursor], ecx        ; stdcall: [esp]=ebx,eax
175
;        stdcall [_display.move_cursor], ecx        ; stdcall: [esp]=ebx,eax
176
;        popad
176
;        popad
177
;        ret
177
;        ret
178
;--------------------------------------
178
;--------------------------------------
179
align 4
179
align 4