Subversion Repositories Kolibri OS

Rev

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

Rev 8876 Rev 9613
Line 3... Line 3...
3
;; Copyright (C) KolibriOS team 2004-2021. All rights reserved. ;;
3
;; Copyright (C) KolibriOS team 2004-2021. All rights reserved. ;;
4
;; Copyright (C) MenuetOS 2000-2004 Ville Mikael Turjanmaa      ;;
4
;; Copyright (C) MenuetOS 2000-2004 Ville Mikael Turjanmaa      ;;
5
;; Distributed under terms of the GNU General Public License    ;;
5
;; Distributed under terms of the GNU General Public License    ;;
6
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
6
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Line 7... Line 7...
7
 
7
 
Line 8... Line 8...
8
$Revision: 8876 $
8
$Revision: 9613 $
9
 
9
 
10
WINDOW_MOVE_AND_RESIZE_FLAGS = \
10
WINDOW_MOVE_AND_RESIZE_FLAGS = \
11
  mouse.WINDOW_RESIZE_N_FLAG + \
11
  mouse.WINDOW_RESIZE_N_FLAG + \
Line 66... Line 66...
66
;   eax - event (=0 => fail)
66
;   eax - event (=0 => fail)
67
;   edx - uid
67
;   edx - uid
68
;scratched: ebx,ecx,esi,edi
68
;scratched: ebx,ecx,esi,edi
69
        mov     ebx, [current_slot]
69
        mov     ebx, [current_slot]
70
        add     ebx, APP_OBJ_OFFSET
70
        add     ebx, APP_OBJ_OFFSET
-
 
71
        ;mov     edx, [cyrrent_slot]
-
 
72
        ;mov     edx, [edx+APPDATA.tid]
71
        mov     edx, [TASK_BASE]
73
        mov     edx, [TASK_BASE]
72
        mov     edx, [edx+TASKDATA.pid]
74
        mov     edx, [edx+TASKDATA.pid]
73
        pushfd
75
        pushfd
74
        cli
76
        cli
75
;--------------------------------------
77
;--------------------------------------
Line 278... Line 280...
278
        jnz     @f   ;RET
280
        jnz     @f   ;RET
279
        mov     [esi+APPDATA.wait_test], edx
281
        mov     [esi+APPDATA.wait_test], edx
280
        mov     [esi+APPDATA.wait_timeout], ebx
282
        mov     [esi+APPDATA.wait_timeout], ebx
281
        mov     eax, [timer_ticks]
283
        mov     eax, [timer_ticks]
282
        mov     [esi+APPDATA.wait_begin], eax
284
        mov     [esi+APPDATA.wait_begin], eax
-
 
285
        mov     [esi+APPDATA.state], TSTATE_WAITING
283
        mov     eax, [TASK_BASE]
286
        mov     eax, [TASK_BASE]
284
        mov     [eax+TASKDATA.state], TSTATE_WAITING
287
        mov     [eax+TASKDATA.state], TSTATE_WAITING
285
        call    change_task
288
        call    change_task
286
        mov     eax, [esi+APPDATA.wait_param]
289
        mov     eax, [esi+APPDATA.wait_param]
287
;--------------------------------------
290
;--------------------------------------
Line 508... Line 511...
508
;param:
511
;param:
509
;   ebx - APPDATA address of testing slot
512
;   ebx - APPDATA address of testing slot
510
;retval:
513
;retval:
511
;   eax - event number (=0 => no events)
514
;   eax - event number (=0 => no events)
512
        movzx   edi, bh               ; bh  is assumed as [current_slot_idx]
515
        movzx   edi, bh               ; bh  is assumed as [current_slot_idx]
-
 
516
        ;shl     edi, 8
-
 
517
        ;mov     ecx, [edi+SLOT_BASE+APPDATA.event_mask]
513
        shl     edi, 5
518
        shl     edi, 5
514
        add     edi, TASK_TABLE     ; edi is assumed as [TASK_BASE]
519
        add     edi, TASK_TABLE     ; edi is assumed as [TASK_BASE]
515
        mov     ecx, [edi+TASKDATA.event_mask]
520
        mov     ecx, [edi+TASKDATA.event_mask]
516
        and     ecx, 0x7FFFFFFF
521
        and     ecx, 0x7FFFFFFF
517
;--------------------------------------
522
;--------------------------------------
Line 550... Line 555...
550
        ret
555
        ret
551
;--------------------------------------
556
;--------------------------------------
552
align 4
557
align 4
553
.mouse_check:    ; Mouse 5+1=6
558
.mouse_check:    ; Mouse 5+1=6
554
        push    eax
559
        push    eax
-
 
560
        ;mov     eax, [current_slot]
-
 
561
        ;mov     eax, [eax + APPDATA.event_mask]
555
        mov     eax, [TASK_BASE]
562
        mov     eax, [TASK_BASE]
556
        mov     eax, [eax + TASKDATA.event_mask]
563
        mov     eax, [eax + TASKDATA.event_mask]
557
        test    eax, 0x80000000 ; bit 31: active/inactive filter f.40
564
        test    eax, 0x80000000 ; bit 31: active/inactive filter f.40
558
        jz      @f
565
        jz      @f
559
        pop     eax
566
        pop     eax