5 Copyright 1995-2003, The AROS Development Team. All rights reserved.
6 Copyright 2001-2003, The MorphOS Development Team. All Rights Reserved.
10 #ifndef AROS_ASMCALL_H
11 # include <aros/asmcall.h>
14 #ifndef INTUITION_CGHOOKS_H
15 # include <intuition/cghooks.h>
18 // FIXME: cannot enable PROPHACK on AROS because of MOS-specific code
23 struct IntuitionBase
*IntuitionBase
;
24 struct MsgPort
*IntuiReplyPort
;
25 struct MinList IntuiActionQueue
;
26 /* Inputevents allocated from the input.device task but outside our
27 * handler are not sent in the input chain until the next time our
28 * handler exits. So they must not be freed at the start of our handler.
29 * Thus we maintain two lists of allocated input events. The 'New' list
30 * contains events that have not yet been propagated, and the other one
31 * contains those that have. At the beginning of our handler, the second
32 * list is freed. At the end, the first one is transfered in the second.
33 * When an event is allocated, it is put in the first list.
35 struct MinList NewAllocatedInputEventList
;
36 struct MinList AllocatedInputEventList
;
37 struct Gadget
*ActiveGadget
;
38 struct Gadget
*ActiveSysGadget
;
39 struct Gadget
*MasterDragGadget
;
40 struct Gadget
*MasterSizeGadget
;
41 struct GadgetInfo GadgetInfo
;
42 struct GadgetInfo BoxGadgetInfo
;
43 struct RastPort GadgetInfoRastPort
;
44 struct InputEvent
*FreeInputEvents
;
45 struct InputEvent
*ReturnInputEvent
;
46 struct InputEvent
**EndInputEventChain
;
47 struct Task
*InputDeviceTask
;
48 struct Window
*MenuWindow
; /* The window for which the menus are actually active (on screen) */
49 struct Window
*NewActWindow
;
50 struct IENewTablet
*ActEventTablet
; /* not cacheable, valid when processing a single event */
52 struct Task
*PropTask
;
54 APTR InputEventMemPool
;
60 WORD DeltaMouseX_Correction
;
61 WORD DeltaMouseY_Correction
;
62 BOOL MouseBoundsActiveFlag
;
63 WORD MouseBoundsKillTimer
;
66 LONG MouseBoundsRight
;
67 LONG MouseBoundsBottom
;
69 UWORD PrevKeyMouseState
;
70 UWORD ActKeyMouseState
;
71 struct Gadget
*LastHelpGadget
;
72 struct Window
*LastHelpWindow
;
73 UQUAD HelpGadgetFindTime
;
74 UQUAD TitlebarAppearTime
;
76 BOOL MouseWasInsideBoolGadget
;
80 struct GeneratedInputEvent
86 struct Interrupt
*InitIIH(struct IntuitionBase
*IntuitionBase
);
87 VOID
CleanupIIH(struct Interrupt
*iihandler
, struct IntuitionBase
*IntuitionBase
);
90 AROS_UFP2(struct InputEvent
*, IntuiInputHandler
,
91 AROS_UFPA(struct InputEvent
*, oldchain
, A0
),
92 AROS_UFPA(struct IIHData
*, iihdata
, A1
)
95 #endif /* INPUTHANDLER_H */