2 Copyright © 1995-2007, The AROS Development Team. All rights reserved.
6 #include "intuition_intern.h"
7 #include "inputhandler.h"
9 AROS_LH4(ULONG
, SetPointerBounds
,
11 AROS_LHA(struct Screen
*, screen
, A0
),
12 AROS_LHA(struct Rectangle
*, rect
, A1
),
13 AROS_LHA(ULONG
, reserved
, D0
),
14 AROS_LHA(struct TagItem
*, tags
, A2
),
16 struct IntuitionBase
*, IntuitionBase
, 160, Intuition
)
21 struct IIHData
*iihd
= (struct IIHData
*)GetPrivIBase(IntuitionBase
)->InputHandler
->is_Data
;
26 ObtainSemaphore(&GetPrivIBase(IntuitionBase
)->InputHandlerLock
);
27 if (!iihd
->MouseBoundsActiveFlag
)
31 iihd
->MouseBoundsActiveFlag
= TRUE
;
32 iihd
->MouseBoundsKillTimer
= 5; /* 1 sec */
33 iihd
->MouseBoundsLeft
= rect
->MinX
;
34 iihd
->MouseBoundsTop
= rect
->MinY
;
35 iihd
->MouseBoundsRight
= rect
->MaxX
;
36 iihd
->MouseBoundsBottom
= rect
->MaxY
;
39 else if (iihd
->MouseBoundsKillTimer
)
44 iihd
->MouseBoundsKillTimer
= 5; /* 1 sec */
45 iihd
->MouseBoundsLeft
= rect
->MinX
;
46 iihd
->MouseBoundsTop
= rect
->MinY
;
47 iihd
->MouseBoundsRight
= rect
->MaxX
;
48 iihd
->MouseBoundsBottom
= rect
->MaxY
;
52 iihd
->MouseBoundsKillTimer
= 0;
53 iihd
->MouseBoundsActiveFlag
= FALSE
;
57 ReleaseSemaphore(&GetPrivIBase(IntuitionBase
)->InputHandlerLock
);