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 * idcmpPtr, ...);
45 #include <intuition/icclass.h>
46 #include <intuition/imageclass.h>
47 #include <intuition/monitorclass.h>
49 #include "intuition_intern.h"
50 #include "monitorclass_intern.h"
51 #include "monitorclass_private.h"
52 #include "strgadgets.h"
56 .skip 1 # AmigaOS private: OpenIntuition()()
57 .skip 1 # AmigaOS private: Intuition(iEvent) (A0)
58 UWORD AddGadget(struct Window *window, struct Gadget *gadget, ULONG position) (A0, A1, D0)
59 BOOL ClearDMRequest(struct Window *window) (A0)
60 void ClearMenuStrip(struct Window *window) (A0)
61 void ClearPointer(struct Window *window) (A0)
62 BOOL CloseScreen(struct Screen *screen) (A0)
63 void CloseWindow(struct Window *window) (A0)
64 LONG CloseWorkBench() ()
65 void CurrentTime(ULONG *seconds, ULONG *micros) (A0, A1)
66 BOOL DisplayAlert(ULONG alertnumber, UBYTE *string, UWORD height) (D0, A0, D1)
67 void DisplayBeep(struct Screen *screen) (A0)
68 BOOL DoubleClick(ULONG sSeconds, ULONG sMicros, ULONG cSeconds, ULONG cMicros) (D0, D1, D2, D3)
69 void DrawBorder(struct RastPort *rp, struct Border *border, LONG leftOffset, LONG topOffset) (A0, A1, D0, D1)
70 void DrawImage(struct RastPort *rp, struct Image *image, LONG leftOffset, LONG topOffset) (A0, A1, D0, D1)
71 void EndRequest(struct Requester *requester, struct Window *window) (A0, A1)
72 struct Preferences *GetDefPrefs(struct Preferences *prefbuffer, WORD size) (A0, D0)
73 struct Preferences *GetPrefs(struct Preferences *prefbuffer, WORD size) (A0, D0)
74 void InitRequester(struct Requester *requester) (A0)
75 struct MenuItem *ItemAddress(struct Menu *menustrip, UWORD menunumber) (A0, D0)
76 BOOL ModifyIDCMP(struct Window *window, ULONG flags) (A0, D0)
77 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)
78 void MoveScreen(struct Screen *screen, LONG dx, LONG dy) (A0, D0, D1)
79 void MoveWindow(struct Window *window, LONG dx, LONG dy) (A0, D0, D1)
80 void OffGadget(struct Gadget *gadget, struct Window *window, struct Requester *requester) (A0, A1, A2)
81 void OffMenu(struct Window *window, UWORD menunumber) (A0, D0)
82 void OnGadget(struct Gadget *gadget, struct Window *window, struct Requester *requester) (A0, A1, A2)
83 void OnMenu(struct Window *window, UWORD menunumber) (A0, D0)
84 struct Screen *OpenScreen(struct NewScreen *newScreen) (A0)
85 struct Window *OpenWindow(struct NewWindow *newWindow) (A0)
86 IPTR OpenWorkBench() ()
87 void PrintIText(struct RastPort *rp, struct IntuiText *iText, LONG leftOffset, LONG topOffset) (A0, A1, D0, D1)
88 void RefreshGadgets(struct Gadget *gadgets, struct Window *window, struct Requester *requester) (A0, A1, A2)
89 UWORD RemoveGadget(struct Window *window, struct Gadget *gadget) (A0, A1)
90 void ReportMouse(LONG flag, struct Window *window) (D0, A0)
91 BOOL Request(struct Requester *requester, struct Window *window) (A0, A1)
92 void ScreenToBack(struct Screen *screen) (A0)
93 void ScreenToFront(struct Screen *screen) (A0)
94 BOOL SetDMRequest(struct Window *window, struct Requester *dmrequest) (A0, A1)
95 BOOL SetMenuStrip(struct Window *window, struct Menu *menu) (A0, A1)
96 void SetPointer(struct Window *window, const UWORD *pointer, LONG height, LONG width, LONG xOffset, LONG yOffset) (A0, A1, D0, D1, D2, D3)
97 void SetWindowTitles(struct Window *window, CONST_STRPTR windowTitle, CONST_STRPTR screenTitle) (A0, A1, A2)
98 void ShowTitle(struct Screen *screen, BOOL ShowIt) (A0, D0)
99 void SizeWindow(struct Window *window, LONG dx, LONG dy) (A0, D0, D1)
100 struct View *ViewAddress() ()
101 struct ViewPort *ViewPortAddress(struct Window *Window) (A0)
102 void WindowToBack(struct Window *window) (A0)
103 void WindowToFront(struct Window *window) (A0)
104 BOOL WindowLimits(struct Window *window, WORD MinWidth, WORD MinHeight, UWORD MaxWidth, UWORD MaxHeight) (A0, D0, D1, D2, D3)
105 struct Preferences *SetPrefs(struct Preferences *prefbuffer, LONG size, BOOL inform) (A0, D0, D1)
106 LONG IntuiTextLength(struct IntuiText *iText) (A0)
107 BOOL WBenchToBack() ()
108 BOOL WBenchToFront() ()
109 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)
110 void BeginRefresh(struct Window *window) (A0)
111 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)
112 void EndRefresh(struct Window *window, BOOL complete) (A0, D0)
113 void FreeSysRequest(struct Window *window) (A0)
114 LONG MakeScreen(struct Screen *screen) (A0)
115 LONG RemakeDisplay() ()
116 LONG RethinkDisplay() ()
117 APTR AllocRemember(struct Remember **rememberKey, ULONG size, ULONG flags) (A0, D0, D1)
118 void AlohaWorkbench(struct MsgPort *wbmsgport) (A0)
119 void FreeRemember(struct Remember **rememberKey, LONG reallyForget) (A0, D0)
120 ULONG LockIBase(ULONG What) (D0)
121 void UnlockIBase(ULONG ibLock) (A0)
123 LONG GetScreenData(APTR buffer, ULONG size, ULONG type, struct Screen *screen) (A0, D0, D1, A1)
124 void RefreshGList(struct Gadget *gadgets, struct Window *window, struct Requester *requester, LONG numGad) (A0, A1, A2, D0)
125 UWORD AddGList(struct Window *window, struct Gadget *gadget, ULONG position, LONG numGad, struct Requester *requester) (A0, A1, D0, D1, A2)
126 UWORD RemoveGList(struct Window *remPtr, struct Gadget *gadget, LONG numGad) (A0, A1, D0)
127 void ActivateWindow(struct Window *window) (A0)
128 void RefreshWindowFrame(struct Window *window) (A0)
129 BOOL ActivateGadget(struct Gadget *gadget, struct Window *window, struct Requester *requester) (A0, A1, A2)
130 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)
132 LONG QueryOverscan(ULONG displayid, struct Rectangle *rect, WORD oscantype) (A0, A1, D0)
133 void MoveWindowInFrontOf(struct Window *window, struct Window *behindwindow) (A0, A1)
134 void ChangeWindowBox(struct Window *window, LONG left, LONG top, LONG width, LONG height) (A0, D0, D1, D2, D3)
135 struct Hook *SetEditHook(struct Hook *hook) (A0)
136 LONG SetMouseQueue(struct Window *window, UWORD queuelength) (A0, D0)
137 void ZipWindow(struct Window *window) (A0)
138 struct Screen *LockPubScreen(CONST_STRPTR name) (A0)
139 void UnlockPubScreen(UBYTE *name, struct Screen *screen) (A0, A1)
140 struct List *LockPubScreenList() ()
141 void UnlockPubScreenList() ()
142 UBYTE *NextPubScreen(struct Screen *screen, UBYTE *namebuff) (A0, A1)
143 void SetDefaultPubScreen(UBYTE *name) (A0)
144 UWORD SetPubScreenModes(UWORD modes) (D0)
145 UWORD PubScreenStatus(struct Screen *Scr, UWORD StatusFlags) (A0, D0)
146 struct RastPort *ObtainGIRPort(struct GadgetInfo *gInfo) (A0)
147 void ReleaseGIRPort(struct RastPort *rp) (A0)
148 void GadgetMouse(struct Gadget *gadget, struct GadgetInfo *ginfo, WORD *mousepoint) (A0, A1, A2)
149 ULONG SetIPrefs(APTR data, ULONG length, ULONG type) (A0, D0, D1)
150 struct Screen *GetDefaultPubScreen(UBYTE *nameBuffer) (A0)
151 LONG EasyRequestArgs(struct Window *window, struct EasyStruct *easyStruct, ULONG *IDCMP_ptr, RAWARG argList) (A0, A1, A2, A3)
152 struct Window *BuildEasyRequestArgs(struct Window *RefWindow, struct EasyStruct *easyStruct, ULONG IDCMP, RAWARG Args) (A0, A1, D0, A3)
153 LONG SysReqHandler(struct Window *window, ULONG *IDCMPFlagsPtr, BOOL WaitInput) (A0, A1, D0)
154 struct Window *OpenWindowTagList(struct NewWindow *newWindow, struct TagItem *tagList) (A0, A1)
155 struct Screen *OpenScreenTagList(struct NewScreen *newScreen, struct TagItem *tagList) (A0, A1)
156 void DrawImageState(struct RastPort *rp, struct Image *image, LONG leftOffset, LONG topOffset, ULONG state, struct DrawInfo *drawInfo) (A0, A1, D0, D1, D2, A2)
157 BOOL PointInImage(ULONG point, struct Image *image) (D0, A0)
158 void EraseImage(struct RastPort *rp, struct Image *image, LONG leftOffset, LONG topOffset) (A0, A1, D0, D1)
159 APTR NewObjectA(struct IClass *classPtr, UBYTE *classID, struct TagItem *tagList) (A0, A1, A2)
160 void DisposeObject(APTR object) (A0)
161 IPTR SetAttrsA(APTR object, struct TagItem *tagList) (A0, A1)
162 ULONG GetAttr(ULONG attrID, Object *object, IPTR *storagePtr) (D0, A0, A1)
163 IPTR SetGadgetAttrsA(struct Gadget *gadget, struct Window *window, struct Requester *requester, struct TagItem *tagList) (A0, A1, A2, A3)
164 APTR NextObject(APTR objectPtrPtr) (A0)
165 struct IClass *FindClass(ClassID classID) (A0)
166 struct IClass *MakeClass(ClassID classID, ClassID superClassID, struct IClass *superClassPtr, ULONG instanceSize, ULONG flags) (A0, A1, A2, D0, D1)
167 void AddClass(struct IClass *classPtr) (A0)
168 struct DrawInfo *GetScreenDrawInfo(struct Screen *screen) (A0)
169 void FreeScreenDrawInfo(struct Screen *screen, struct DrawInfo *drawInfo) (A0, A1)
170 BOOL ResetMenuStrip(struct Window *window, struct Menu *menu) (A0, A1)
171 void RemoveClass(struct IClass *classPtr) (A0)
172 BOOL FreeClass(struct IClass *iclass) (A0)
173 .skip 1 # AmigaOS 2.1 private: lockPubClass()()
174 .skip 1 # AmigaOS 2.1 private: unlockPubClass()()
177 struct ScreenBuffer *AllocScreenBuffer(struct Screen *screen, struct BitMap *bitmap, ULONG flags) (A0, A1, D0)
178 void FreeScreenBuffer(struct Screen *screen, struct ScreenBuffer *screenbuffer) (A0, A1)
179 ULONG ChangeScreenBuffer(struct Screen *screen, struct ScreenBuffer *screenbuffer) (A0, A1)
180 void ScreenDepth(struct Screen *screen, ULONG flags, APTR reserved) (A0, D0, A1)
181 void ScreenPosition(struct Screen *screen, ULONG flags, LONG x1, LONG y1, LONG x2, LONG y2) (A0, D0, D1, D2, D3, D4)
182 void ScrollWindowRaster(struct Window *win, WORD dx, WORD dy, WORD xmin, WORD ymin, WORD xmax, WORD ymax) (A1, D0, D1, D2, D3, D4, D5)
183 void LendMenus(struct Window *fromwindow, struct Window *towindow) (A0, A1)
184 IPTR DoGadgetMethodA(struct Gadget *gad, struct Window *win, struct Requester *req, Msg msg) (A0, A1, A2, A3)
185 void SetWindowPointerA(struct Window *window, struct TagItem *taglist) (A0, A1)
186 BOOL TimedDisplayAlert(ULONG alertnumber, UBYTE *string, UWORD height, ULONG time) (D0, A0, D1, A1)
187 void HelpControl(struct Window *window, ULONG flags) (A0, D0)
189 LONG IsWindowVisible(struct Window *window) (A0)
190 BOOL ShowWindow(struct Window *window, struct Window *other) (A0, A1)
191 BOOL HideWindow(struct Window *window) (A0)
193 struct Region *ChangeWindowShape(struct Window *window, struct Region *newshape, struct Hook *callback) (A0, A1, A2)
194 void SetDefaultScreenFont(struct TextFont *textfont) (A0)
195 IPTR DoNotify(Class *cl, Object *o, struct ICData *ic, struct opUpdate *msg) (A0, A1, A2, A3)
196 void FreeICData(struct ICData *icdata) (A0)
198 struct IntuiMessage *AllocIntuiMessage(struct Window *window) (A0)
199 void FreeIntuiMessage(struct IntuiMessage *imsg) (A0)
200 .skip 1 # MorphOS: Still reserved as LateIntuiInit() but not implemented
201 void SendIntuiMessage(struct Window *window, struct IntuiMessage *imsg) (A0, A1)
202 void ChangeDecoration(ULONG ID, struct NewDecorator *decor) (D0, A0) # MorphOS: Private diagnostic DumpIntuiState()
203 .skip 1 # MorphOS: GetSkinInfoAttrA(drawinfo,attr,taglist)(a0,d0,a1)
204 APTR StartScreenNotifyTagList(struct TagItem *tags) (A0)
205 BOOL EndScreenNotify(APTR notify) (A0)
206 IPTR GetDrawInfoAttr(struct DrawInfo *drawInfo, ULONG attrID, IPTR *errorPtr) (A0, D0, A1)
207 void WindowAction(struct Window *window, ULONG action, struct TagItem *tags) (A0, D0, A1)
208 .skip 1 # MorphOS: TransparencyControl(window,method,tags)(a0,d0,a1)
209 void ScrollWindowRasterNoFill(struct Window *win, WORD dx, WORD dy, WORD xmin, WORD ymin, WORD xmax, WORD ymax) (A1, D0, D1, D2, D3, D4, D5)
210 ULONG SetPointerBounds(struct Screen *screen, struct Rectangle *rect, ULONG reserved, struct TagItem *tags) (A0, A1, D0, A2)
211 Object **GetMonitorList(struct TagItem *tags) (A1)
212 void FreeMonitorList(Object **list) (A1)
213 # MorphOS: ScreenbarControlA(tags)(a1)
222 classdatatype struct ICData
245 classdatatype struct ModelData
264 classdatatype struct Image
284 classdatatype struct FrameIData
302 classdatatype struct SysIData
315 basename FillRectClass
317 classid FILLRECTCLASS
319 classdatatype struct FillRectData
340 # IM_DRAWFRAME (not implemented)
350 classdatatype struct GadgetData
361 .function GadgetClass__One
365 .function GadgetClass__Zero
368 .function GadgetClass_NoReuse
379 basename ButtonGClass
382 classptr_field windowsysiclass
400 basename FrButtonClass
401 classid FRBUTTONCLASS
402 superclass BUTTONGCLASS
421 classdatatype struct PropGData
442 classdatatype struct StrGData
464 classdatatype struct GroupGData
484 basename DragBarClass
488 classptr_field dragbarclass
489 classdatatype struct dragbar_data
497 .function DragBarClass__NOP
507 basename SizeButtonClass
511 classptr_field sizebuttonclass
512 classdatatype struct sizebutton_data
519 .function DragBarClass__NOP
528 basename MenuBarLabelClass
530 classid MENUBARLABELCLASS
532 classdatatype struct MenuBarLabelData
545 basename PointerClass
548 classptr_field pointerclass
549 classdatatype struct PointerData
561 basename WinDecorClass
563 classid WINDECORCLASS
565 classdatatype struct windecor_data
571 WDM_GETDEFSIZE_SYSIMAGE
574 WDM_LAYOUT_BORDERGADGETS
575 WDM_DRAW_BORDERPROPBACK
576 WDM_DRAW_BORDERPROPKNOB
585 basename ScrDecorClass
587 classid SCRDECORCLASS
589 classdatatype struct scrdecor_data
597 SDM_GETDEFSIZE_SYSIMAGE
600 SDM_LAYOUT_SCREENGADGETS
606 basename MenuDecorClass
608 classid MENUDECORCLASS
610 classdatatype struct menudecor_data
616 MDM_GETDEFSIZE_SYSIMAGE
627 basename MonitorClass
631 classptr_field monitorclass
632 classdatatype struct IMonitorNode
642 MM_GetDefaultGammaTables
643 MM_GetDefaultPixelFormat
646 MM_EnterPowerSaveMode
648 MM_SetDefaultGammaTables
649 MM_GetCompositionFlags
665 classptr_field screenclass
666 classdatatype struct IntScreen