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 RastPort GadgetInfoRastPort
;
43 struct InputEvent
*FreeInputEvents
;
44 struct InputEvent
*ReturnInputEvent
;
45 struct InputEvent
**EndInputEventChain
;
46 struct Task
*InputDeviceTask
;
47 struct Window
*MenuWindow
; /* The window for which the menus are actually active (on screen) */
48 struct Window
*NewActWindow
;
49 struct IENewTablet
*ActEventTablet
; /* not cacheable, valid when processing a single event */
51 struct Task
*PropTask
;
53 APTR InputEventMemPool
;
59 WORD DeltaMouseX_Correction
;
60 WORD DeltaMouseY_Correction
;
61 BOOL MouseBoundsActiveFlag
;
62 WORD MouseBoundsKillTimer
;
65 LONG MouseBoundsRight
;
66 LONG MouseBoundsBottom
;
68 UWORD PrevKeyMouseState
;
69 UWORD ActKeyMouseState
;
70 struct Gadget
*LastHelpGadget
;
71 struct Window
*LastHelpWindow
;
72 UQUAD HelpGadgetFindTime
;
73 UQUAD TitlebarAppearTime
;
75 BOOL MouseWasInsideBoolGadget
;
79 struct GeneratedInputEvent
85 struct Interrupt
*InitIIH(struct IntuitionBase
*IntuitionBase
);
86 VOID
CleanupIIH(struct Interrupt
*iihandler
, struct IntuitionBase
*IntuitionBase
);
89 AROS_UFP2(struct InputEvent
*, IntuiInputHandler
,
90 AROS_UFPA(struct InputEvent
*, oldchain
, A0
),
91 AROS_UFPA(struct IIHData
*, iihdata
, A1
)
94 #endif /* INPUTHANDLER_H */