4 libbasetype struct IntIntuitionBase
5 libbasetypeextern struct IntuitionBase
10 #ifndef INTUITION_CDEF_H
11 #define INTUITION_CDEF_H
12 #include <intuition/intuition.h>
13 #include <intuition/intuitionbase.h>
14 #include <intuition/screens.h>
15 #include <intuition/classes.h>
16 #include <intuition/windecorclass.h>
17 #include <intuition/scrdecorclass.h>
18 #include <intuition/menudecorclass.h>
19 #include <utility/hooks.h>
20 #include <aros/preprocessor/variadic/cast2iptr.hpp>
22 /* Prototypes for stubs in amiga.lib */
26 IPTR DoGadgetMethod (struct Gadget * gad, struct Window * win,
27 struct Requester * req, ULONG MethodID, ...);
28 IPTR SetGadgetAttrs (struct Gadget * gad, struct Window * win,
29 struct Requester * req, Tag tag1, ...);
30 IPTR SetAttrs (APTR obj, Tag tag1, ...) __stackparm;
31 APTR NewObject (Class * classPtr, UBYTE * classID, Tag tag1, ...) __stackparm;
32 struct Window * OpenWindowTags (struct NewWindow * newWindow, Tag tag1, ...);
33 struct Screen * OpenScreenTags (struct NewScreen * newScreen, Tag tag1, ...);
34 LONG EasyRequest (struct Window *window, struct EasyStruct *easyStruct, ULONG *IDCMP_ptr, ...);
35 struct Window *BuildEasyRequest (struct Window *RefWindow, struct EasyStruct *easyStruct, ULONG IDCMP, ...);
46 #include <intuition/icclass.h>
47 #include <intuition/imageclass.h>
48 #include <intuition/monitorclass.h>
50 #include "intuition_intern.h"
51 #include "monitorclass_intern.h"
52 #include "monitorclass_private.h"
53 #include "strgadgets.h"
57 .skip 1 # AmigaOS private: OpenIntuition()()
58 .skip 1 # AmigaOS private: Intuition(iEvent) (A0)
59 UWORD AddGadget(struct Window *window, struct Gadget *gadget, ULONG position) (A0, A1, D0)
60 BOOL ClearDMRequest(struct Window *window) (A0)
61 void ClearMenuStrip(struct Window *window) (A0)
62 void ClearPointer(struct Window *window) (A0)
63 BOOL CloseScreen(struct Screen *screen) (A0)
64 void CloseWindow(struct Window *window) (A0)
65 LONG CloseWorkBench() ()
66 void CurrentTime(ULONG *seconds, ULONG *micros) (A0, A1)
67 BOOL DisplayAlert(ULONG alertnumber, UBYTE *string, UWORD height) (D0, A0, D1)
68 void DisplayBeep(struct Screen *screen) (A0)
69 BOOL DoubleClick(ULONG sSeconds, ULONG sMicros, ULONG cSeconds, ULONG cMicros) (D0, D1, D2, D3)
70 void DrawBorder(struct RastPort *rp, struct Border *border, LONG leftOffset, LONG topOffset) (A0, A1, D0, D1)
71 void DrawImage(struct RastPort *rp, struct Image *image, LONG leftOffset, LONG topOffset) (A0, A1, D0, D1)
72 void EndRequest(struct Requester *requester, struct Window *window) (A0, A1)
73 struct Preferences *GetDefPrefs(struct Preferences *prefbuffer, WORD size) (A0, D0)
74 struct Preferences *GetPrefs(struct Preferences *prefbuffer, WORD size) (A0, D0)
75 void InitRequester(struct Requester *requester) (A0)
76 struct MenuItem *ItemAddress(struct Menu *menustrip, UWORD menunumber) (A0, D0)
77 BOOL ModifyIDCMP(struct Window *window, ULONG flags) (A0, D0)
78 void ModifyProp(struct Gadget *gadget, struct Window *window, struct Requester *requester, ULONG flags, ULONG horizPot, ULONG vertPot, ULONG horizBody, ULONG vertBody) (A0, A1, A2, D0, D1, D2, D3, D4)
79 void MoveScreen(struct Screen *screen, LONG dx, LONG dy) (A0, D0, D1)
80 void MoveWindow(struct Window *window, LONG dx, LONG dy) (A0, D0, D1)
81 void OffGadget(struct Gadget *gadget, struct Window *window, struct Requester *requester) (A0, A1, A2)
82 void OffMenu(struct Window *window, UWORD menunumber) (A0, D0)
83 void OnGadget(struct Gadget *gadget, struct Window *window, struct Requester *requester) (A0, A1, A2)
84 void OnMenu(struct Window *window, UWORD menunumber) (A0, D0)
85 struct Screen *OpenScreen(struct NewScreen *newScreen) (A0)
86 struct Window *OpenWindow(struct NewWindow *newWindow) (A0)
87 IPTR OpenWorkBench() ()
88 void PrintIText(struct RastPort *rp, struct IntuiText *iText, LONG leftOffset, LONG topOffset) (A0, A1, D0, D1)
89 void RefreshGadgets(struct Gadget *gadgets, struct Window *window, struct Requester *requester) (A0, A1, A2)
90 UWORD RemoveGadget(struct Window *window, struct Gadget *gadget) (A0, A1)
91 void ReportMouse(LONG flag, struct Window *window) (D0, A0)
92 BOOL Request(struct Requester *requester, struct Window *window) (A0, A1)
93 void ScreenToBack(struct Screen *screen) (A0)
94 void ScreenToFront(struct Screen *screen) (A0)
95 BOOL SetDMRequest(struct Window *window, struct Requester *dmrequest) (A0, A1)
96 BOOL SetMenuStrip(struct Window *window, struct Menu *menu) (A0, A1)
97 void SetPointer(struct Window *window, const UWORD *pointer, LONG height, LONG width, LONG xOffset, LONG yOffset) (A0, A1, D0, D1, D2, D3)
98 void SetWindowTitles(struct Window *window, CONST_STRPTR windowTitle, CONST_STRPTR screenTitle) (A0, A1, A2)
99 void ShowTitle(struct Screen *screen, BOOL ShowIt) (A0, D0)
100 void SizeWindow(struct Window *window, LONG dx, LONG dy) (A0, D0, D1)
101 struct View *ViewAddress() ()
102 struct ViewPort *ViewPortAddress(struct Window *Window) (A0)
103 void WindowToBack(struct Window *window) (A0)
104 void WindowToFront(struct Window *window) (A0)
105 BOOL WindowLimits(struct Window *window, WORD MinWidth, WORD MinHeight, UWORD MaxWidth, UWORD MaxHeight) (A0, D0, D1, D2, D3)
106 struct Preferences *SetPrefs(struct Preferences *prefbuffer, LONG size, BOOL inform) (A0, D0, D1)
107 LONG IntuiTextLength(struct IntuiText *iText) (A0)
108 BOOL WBenchToBack() ()
109 BOOL WBenchToFront() ()
110 BOOL AutoRequest(struct Window *window, struct IntuiText *body, struct IntuiText *posText, struct IntuiText *negText, ULONG pFlag, ULONG nFlag, ULONG width, ULONG height) (A0, A1, A2, A3, D0, D1, D2, D3)
111 void BeginRefresh(struct Window *window) (A0)
112 struct Window *BuildSysRequest(struct Window *window, struct IntuiText *bodytext, struct IntuiText *postext, struct IntuiText *negtext, ULONG IDCMPFlags, WORD width, WORD height) (A0, A1, A2, A3, D0, D2, D3)
113 void EndRefresh(struct Window *window, BOOL complete) (A0, D0)
114 void FreeSysRequest(struct Window *window) (A0)
115 LONG MakeScreen(struct Screen *screen) (A0)
116 LONG RemakeDisplay() ()
117 LONG RethinkDisplay() ()
118 APTR AllocRemember(struct Remember **rememberKey, ULONG size, ULONG flags) (A0, D0, D1)
119 void AlohaWorkbench(struct MsgPort *wbmsgport) (A0)
120 void FreeRemember(struct Remember **rememberKey, LONG reallyForget) (A0, D0)
121 ULONG LockIBase(ULONG What) (D0)
122 void UnlockIBase(ULONG ibLock) (A0)
124 LONG GetScreenData(APTR buffer, ULONG size, ULONG type, struct Screen *screen) (A0, D0, D1, A1)
125 void RefreshGList(struct Gadget *gadgets, struct Window *window, struct Requester *requester, LONG numGad) (A0, A1, A2, D0)
126 UWORD AddGList(struct Window *window, struct Gadget *gadget, ULONG position, LONG numGad, struct Requester *requester) (A0, A1, D0, D1, A2)
127 UWORD RemoveGList(struct Window *remPtr, struct Gadget *gadget, LONG numGad) (A0, A1, D0)
128 void ActivateWindow(struct Window *window) (A0)
129 void RefreshWindowFrame(struct Window *window) (A0)
130 BOOL ActivateGadget(struct Gadget *gadget, struct Window *window, struct Requester *requester) (A0, A1, A2)
131 void NewModifyProp(struct Gadget *gadget, struct Window *window, struct Requester *requester, ULONG flags, ULONG horizPot, ULONG vertPot, ULONG horizBody, ULONG vertBody, LONG numGad) (A0, A1, A2, D0, D1, D2, D3, D4, D5)
133 LONG QueryOverscan(ULONG displayid, struct Rectangle *rect, WORD oscantype) (A0, A1, D0)
134 void MoveWindowInFrontOf(struct Window *window, struct Window *behindwindow) (A0, A1)
135 void ChangeWindowBox(struct Window *window, LONG left, LONG top, LONG width, LONG height) (A0, D0, D1, D2, D3)
136 struct Hook *SetEditHook(struct Hook *hook) (A0)
137 LONG SetMouseQueue(struct Window *window, UWORD queuelength) (A0, D0)
138 void ZipWindow(struct Window *window) (A0)
139 struct Screen *LockPubScreen(CONST_STRPTR name) (A0)
140 void UnlockPubScreen(UBYTE *name, struct Screen *screen) (A0, A1)
141 struct List *LockPubScreenList() ()
142 void UnlockPubScreenList() ()
143 UBYTE *NextPubScreen(struct Screen *screen, UBYTE *namebuff) (A0, A1)
144 void SetDefaultPubScreen(UBYTE *name) (A0)
145 UWORD SetPubScreenModes(UWORD modes) (D0)
146 UWORD PubScreenStatus(struct Screen *Scr, UWORD StatusFlags) (A0, D0)
147 struct RastPort *ObtainGIRPort(struct GadgetInfo *gInfo) (A0)
148 void ReleaseGIRPort(struct RastPort *rp) (A0)
149 void GadgetMouse(struct Gadget *gadget, struct GadgetInfo *ginfo, WORD *mousepoint) (A0, A1, A2)
150 ULONG SetIPrefs(APTR data, ULONG length, ULONG type) (A0, D0, D1)
151 struct Screen *GetDefaultPubScreen(UBYTE *nameBuffer) (A0)
152 LONG EasyRequestArgs(struct Window *window, struct EasyStruct *easyStruct, ULONG *IDCMP_ptr, RAWARG argList) (A0, A1, A2, A3)
154 struct Window *BuildEasyRequestArgs(struct Window *RefWindow, struct EasyStruct *easyStruct, ULONG IDCMP, RAWARG Args) (A0, A1, D0, A3)
156 LONG SysReqHandler(struct Window *window, ULONG *IDCMPFlagsPtr, BOOL WaitInput) (A0, A1, D0)
157 struct Window *OpenWindowTagList(struct NewWindow *newWindow, struct TagItem *tagList) (A0, A1)
158 struct Screen *OpenScreenTagList(struct NewScreen *newScreen, struct TagItem *tagList) (A0, A1)
159 void DrawImageState(struct RastPort *rp, struct Image *image, LONG leftOffset, LONG topOffset, ULONG state, struct DrawInfo *drawInfo) (A0, A1, D0, D1, D2, A2)
160 BOOL PointInImage(ULONG point, struct Image *image) (D0, A0)
161 void EraseImage(struct RastPort *rp, struct Image *image, LONG leftOffset, LONG topOffset) (A0, A1, D0, D1)
162 APTR NewObjectA(struct IClass *classPtr, UBYTE *classID, struct TagItem *tagList) (A0, A1, A2)
163 void DisposeObject(APTR object) (A0)
164 IPTR SetAttrsA(APTR object, struct TagItem *tagList) (A0, A1)
165 ULONG GetAttr(ULONG attrID, Object *object, IPTR *storagePtr) (D0, A0, A1)
166 IPTR SetGadgetAttrsA(struct Gadget *gadget, struct Window *window, struct Requester *requester, struct TagItem *tagList) (A0, A1, A2, A3)
167 APTR NextObject(APTR objectPtrPtr) (A0)
168 struct IClass *FindClass(ClassID classID) (A0)
169 struct IClass *MakeClass(ClassID classID, ClassID superClassID, struct IClass *superClassPtr, ULONG instanceSize, ULONG flags) (A0, A1, A2, D0, D1)
170 void AddClass(struct IClass *classPtr) (A0)
171 struct DrawInfo *GetScreenDrawInfo(struct Screen *screen) (A0)
172 void FreeScreenDrawInfo(struct Screen *screen, struct DrawInfo *drawInfo) (A0, A1)
173 BOOL ResetMenuStrip(struct Window *window, struct Menu *menu) (A0, A1)
174 void RemoveClass(struct IClass *classPtr) (A0)
175 BOOL FreeClass(struct IClass *iclass) (A0)
176 .skip 1 # AmigaOS 2.1 private: lockPubClass()()
177 .skip 1 # AmigaOS 2.1 private: unlockPubClass()()
180 struct ScreenBuffer *AllocScreenBuffer(struct Screen *screen, struct BitMap *bitmap, ULONG flags) (A0, A1, D0)
181 void FreeScreenBuffer(struct Screen *screen, struct ScreenBuffer *screenbuffer) (A0, A1)
182 ULONG ChangeScreenBuffer(struct Screen *screen, struct ScreenBuffer *screenbuffer) (A0, A1)
183 void ScreenDepth(struct Screen *screen, ULONG flags, APTR reserved) (A0, D0, A1)
184 void ScreenPosition(struct Screen *screen, ULONG flags, LONG x1, LONG y1, LONG x2, LONG y2) (A0, D0, D1, D2, D3, D4)
185 void ScrollWindowRaster(struct Window *win, WORD dx, WORD dy, WORD xmin, WORD ymin, WORD xmax, WORD ymax) (A1, D0, D1, D2, D3, D4, D5)
186 void LendMenus(struct Window *fromwindow, struct Window *towindow) (A0, A1)
187 IPTR DoGadgetMethodA(struct Gadget *gad, struct Window *win, struct Requester *req, Msg msg) (A0, A1, A2, A3)
188 void SetWindowPointerA(struct Window *window, struct TagItem *taglist) (A0, A1)
189 BOOL TimedDisplayAlert(ULONG alertnumber, UBYTE *string, UWORD height, ULONG time) (D0, A0, D1, A1)
190 void HelpControl(struct Window *window, ULONG flags) (A0, D0)
192 LONG IsWindowVisible(struct Window *window) (A0)
193 BOOL ShowWindow(struct Window *window, struct Window *other) (A0, A1)
194 BOOL HideWindow(struct Window *window) (A0)
196 struct Region *ChangeWindowShape(struct Window *window, struct Region *newshape, struct Hook *callback) (A0, A1, A2)
197 void SetDefaultScreenFont(struct TextFont *textfont) (A0)
198 IPTR DoNotify(Class *cl, Object *o, struct ICData *ic, struct opUpdate *msg) (A0, A1, A2, A3)
199 void FreeICData(struct ICData *icdata) (A0)
201 struct IntuiMessage *AllocIntuiMessage(struct Window *window) (A0)
202 void FreeIntuiMessage(struct IntuiMessage *imsg) (A0)
203 .skip 1 # MorphOS: Still reserved as LateIntuiInit() but not implemented
204 void SendIntuiMessage(struct Window *window, struct IntuiMessage *imsg) (A0, A1)
205 void ChangeDecoration(ULONG ID, struct NewDecorator *decor) (D0, A0) # MorphOS: Private diagnostic DumpIntuiState()
206 .skip 1 # MorphOS: GetSkinInfoAttrA(drawinfo,attr,taglist)(a0,d0,a1)
207 APTR StartScreenNotifyTagList(struct TagItem *tags) (A0)
208 BOOL EndScreenNotify(APTR notify) (A0)
209 IPTR GetDrawInfoAttr(struct DrawInfo *drawInfo, ULONG attrID, IPTR *errorPtr) (A0, D0, A1)
210 void WindowAction(struct Window *window, ULONG action, struct TagItem *tags) (A0, D0, A1)
211 .skip 1 # MorphOS: TransparencyControl(window,method,tags)(a0,d0,a1)
212 void ScrollWindowRasterNoFill(struct Window *win, WORD dx, WORD dy, WORD xmin, WORD ymin, WORD xmax, WORD ymax) (A1, D0, D1, D2, D3, D4, D5)
213 ULONG SetPointerBounds(struct Screen *screen, struct Rectangle *rect, ULONG reserved, struct TagItem *tags) (A0, A1, D0, A2)
214 Object **GetMonitorList(struct TagItem *tags) (A1)
215 void FreeMonitorList(Object **list) (A1)
216 # MorphOS: ScreenbarControlA(tags)(a1)
225 classdatatype struct ICData
248 classdatatype struct ModelData
267 classdatatype struct Image
287 classdatatype struct FrameIData
305 classdatatype struct SysIData
318 basename FillRectClass
320 classid FILLRECTCLASS
322 classdatatype struct FillRectData
343 # IM_DRAWFRAME (not implemented)
353 classdatatype struct GadgetData
364 .function GadgetClass__One
368 .function GadgetClass__Zero
371 .function GadgetClass_NoReuse
382 basename ButtonGClass
385 classptr_field windowsysiclass
403 basename FrButtonClass
404 classid FRBUTTONCLASS
405 superclass BUTTONGCLASS
424 classdatatype struct PropGData
445 classdatatype struct StrGData
467 classdatatype struct GroupGData
487 basename DragBarClass
491 classptr_field dragbarclass
492 classdatatype struct dragbar_data
500 .function DragBarClass__NOP
510 basename SizeButtonClass
514 classptr_field sizebuttonclass
515 classdatatype struct sizebutton_data
522 .function DragBarClass__NOP
531 basename MenuBarLabelClass
533 classid MENUBARLABELCLASS
535 classdatatype struct MenuBarLabelData
548 basename PointerClass
551 classptr_field pointerclass
552 classdatatype struct PointerData
564 basename WinDecorClass
566 classid WINDECORCLASS
568 classdatatype struct windecor_data
574 WDM_GETDEFSIZE_SYSIMAGE
577 WDM_LAYOUT_BORDERGADGETS
578 WDM_DRAW_BORDERPROPBACK
579 WDM_DRAW_BORDERPROPKNOB
588 basename ScrDecorClass
590 classid SCRDECORCLASS
592 classdatatype struct scrdecor_data
600 SDM_GETDEFSIZE_SYSIMAGE
603 SDM_LAYOUT_SCREENGADGETS
609 basename MenuDecorClass
611 classid MENUDECORCLASS
613 classdatatype struct menudecor_data
619 MDM_GETDEFSIZE_SYSIMAGE
630 basename MonitorClass
634 classptr_field monitorclass
635 classdatatype struct IMonitorNode
645 MM_GetDefaultGammaTables
646 MM_GetDefaultPixelFormat
649 MM_EnterPowerSaveMode
651 MM_SetDefaultGammaTables
652 MM_GetCompositionFlags
668 classptr_field screenclass
669 classdatatype struct IntScreen