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>
21 #include <proto/alib.h>
24 /* Prototypes for stubs in amiga.lib */
28 IPTR DoGadgetMethod (struct Gadget * gad, struct Window * win,
29 struct Requester * req, ULONG MethodID, ...);
30 IPTR SetGadgetAttrs (struct Gadget * gad, struct Window * win,
31 struct Requester * req, Tag tag1, ...);
32 IPTR SetAttrs (APTR obj, Tag tag1, ...) __stackparm;
33 APTR NewObject (Class * classPtr, UBYTE * classID, Tag tag1, ...) __stackparm;
34 struct Window * OpenWindowTags (struct NewWindow * newWindow, Tag tag1, ...);
35 struct Screen * OpenScreenTags (struct NewScreen * newScreen, Tag tag1, ...);
36 LONG EasyRequest (struct Window * window, struct EasyStruct * easyStruct, ULONG * idcmpPtr, ...);
47 #include <intuition/icclass.h>
48 #include <intuition/imageclass.h>
49 #include <intuition/monitorclass.h>
51 #include "intuition_intern.h"
52 #include "monitorclass_intern.h"
53 #include "monitorclass_private.h"
54 #include "strgadgets.h"
58 .skip 1 # AmigaOS private: OpenIntuition()()
59 .skip 1 # AmigaOS private: Intuition(iEvent) (A0)
60 UWORD AddGadget(struct Window *window, struct Gadget *gadget, ULONG position) (A0, A1, D0)
61 BOOL ClearDMRequest(struct Window *window) (A0)
62 void ClearMenuStrip(struct Window *window) (A0)
63 void ClearPointer(struct Window *window) (A0)
64 BOOL CloseScreen(struct Screen *screen) (A0)
65 void CloseWindow(struct Window *window) (A0)
66 LONG CloseWorkBench() ()
67 void CurrentTime(ULONG *seconds, ULONG *micros) (A0, A1)
68 BOOL DisplayAlert(ULONG alertnumber, UBYTE *string, UWORD height) (D0, A0, D1)
69 void DisplayBeep(struct Screen *screen) (A0)
70 BOOL DoubleClick(ULONG sSeconds, ULONG sMicros, ULONG cSeconds, ULONG cMicros) (D0, D1, D2, D3)
71 void DrawBorder(struct RastPort *rp, struct Border *border, LONG leftOffset, LONG topOffset) (A0, A1, D0, D1)
72 void DrawImage(struct RastPort *rp, struct Image *image, LONG leftOffset, LONG topOffset) (A0, A1, D0, D1)
73 void EndRequest(struct Requester *requester, struct Window *window) (A0, A1)
74 struct Preferences *GetDefPrefs(struct Preferences *prefbuffer, WORD size) (A0, D0)
75 struct Preferences *GetPrefs(struct Preferences *prefbuffer, WORD size) (A0, D0)
76 void InitRequester(struct Requester *requester) (A0)
77 struct MenuItem *ItemAddress(struct Menu *menustrip, UWORD menunumber) (A0, D0)
78 BOOL ModifyIDCMP(struct Window *window, ULONG flags) (A0, D0)
79 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)
80 void MoveScreen(struct Screen *screen, LONG dx, LONG dy) (A0, D0, D1)
81 void MoveWindow(struct Window *window, LONG dx, LONG dy) (A0, D0, D1)
82 void OffGadget(struct Gadget *gadget, struct Window *window, struct Requester *requester) (A0, A1, A2)
83 void OffMenu(struct Window *window, UWORD menunumber) (A0, D0)
84 void OnGadget(struct Gadget *gadget, struct Window *window, struct Requester *requester) (A0, A1, A2)
85 void OnMenu(struct Window *window, UWORD menunumber) (A0, D0)
86 struct Screen *OpenScreen(struct NewScreen *newScreen) (A0)
87 struct Window *OpenWindow(struct NewWindow *newWindow) (A0)
88 IPTR OpenWorkBench() ()
89 void PrintIText(struct RastPort *rp, struct IntuiText *iText, LONG leftOffset, LONG topOffset) (A0, A1, D0, D1)
90 void RefreshGadgets(struct Gadget *gadgets, struct Window *window, struct Requester *requester) (A0, A1, A2)
91 UWORD RemoveGadget(struct Window *window, struct Gadget *gadget) (A0, A1)
92 void ReportMouse(LONG flag, struct Window *window) (D0, A0)
93 BOOL Request(struct Requester *requester, struct Window *window) (A0, A1)
94 void ScreenToBack(struct Screen *screen) (A0)
95 void ScreenToFront(struct Screen *screen) (A0)
96 BOOL SetDMRequest(struct Window *window, struct Requester *dmrequest) (A0, A1)
97 BOOL SetMenuStrip(struct Window *window, struct Menu *menu) (A0, A1)
98 void SetPointer(struct Window *window, const UWORD *pointer, LONG height, LONG width, LONG xOffset, LONG yOffset) (A0, A1, D0, D1, D2, D3)
99 void SetWindowTitles(struct Window *window, CONST_STRPTR windowTitle, CONST_STRPTR screenTitle) (A0, A1, A2)
100 void ShowTitle(struct Screen *screen, BOOL ShowIt) (A0, D0)
101 void SizeWindow(struct Window *window, LONG dx, LONG dy) (A0, D0, D1)
102 struct View *ViewAddress() ()
103 struct ViewPort *ViewPortAddress(struct Window *Window) (A0)
104 void WindowToBack(struct Window *window) (A0)
105 void WindowToFront(struct Window *window) (A0)
106 BOOL WindowLimits(struct Window *window, WORD MinWidth, WORD MinHeight, UWORD MaxWidth, UWORD MaxHeight) (A0, D0, D1, D2, D3)
107 struct Preferences *SetPrefs(struct Preferences *prefbuffer, LONG size, BOOL inform) (A0, D0, D1)
108 LONG IntuiTextLength(struct IntuiText *iText) (A0)
109 BOOL WBenchToBack() ()
110 BOOL WBenchToFront() ()
111 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)
112 void BeginRefresh(struct Window *window) (A0)
113 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)
114 void EndRefresh(struct Window *window, BOOL complete) (A0, D0)
115 void FreeSysRequest(struct Window *window) (A0)
116 LONG MakeScreen(struct Screen *screen) (A0)
117 LONG RemakeDisplay() ()
118 LONG RethinkDisplay() ()
119 APTR AllocRemember(struct Remember **rememberKey, ULONG size, ULONG flags) (A0, D0, D1)
120 void AlohaWorkbench(struct MsgPort *wbmsgport) (A0)
121 void FreeRemember(struct Remember **rememberKey, LONG reallyForget) (A0, D0)
122 ULONG LockIBase(ULONG What) (D0)
123 void UnlockIBase(ULONG ibLock) (A0)
125 LONG GetScreenData(APTR buffer, ULONG size, ULONG type, struct Screen *screen) (A0, D0, D1, A1)
126 void RefreshGList(struct Gadget *gadgets, struct Window *window, struct Requester *requester, LONG numGad) (A0, A1, A2, D0)
127 UWORD AddGList(struct Window *window, struct Gadget *gadget, ULONG position, LONG numGad, struct Requester *requester) (A0, A1, D0, D1, A2)
128 UWORD RemoveGList(struct Window *remPtr, struct Gadget *gadget, LONG numGad) (A0, A1, D0)
129 void ActivateWindow(struct Window *window) (A0)
130 void RefreshWindowFrame(struct Window *window) (A0)
131 BOOL ActivateGadget(struct Gadget *gadget, struct Window *window, struct Requester *requester) (A0, A1, A2)
132 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)
134 LONG QueryOverscan(ULONG displayid, struct Rectangle *rect, WORD oscantype) (A0, A1, D0)
135 void MoveWindowInFrontOf(struct Window *window, struct Window *behindwindow) (A0, A1)
136 void ChangeWindowBox(struct Window *window, LONG left, LONG top, LONG width, LONG height) (A0, D0, D1, D2, D3)
137 struct Hook *SetEditHook(struct Hook *hook) (A0)
138 LONG SetMouseQueue(struct Window *window, UWORD queuelength) (A0, D0)
139 void ZipWindow(struct Window *window) (A0)
140 struct Screen *LockPubScreen(CONST_STRPTR name) (A0)
141 void UnlockPubScreen(UBYTE *name, struct Screen *screen) (A0, A1)
142 struct List *LockPubScreenList() ()
143 void UnlockPubScreenList() ()
144 UBYTE *NextPubScreen(struct Screen *screen, UBYTE *namebuff) (A0, A1)
145 void SetDefaultPubScreen(UBYTE *name) (A0)
146 UWORD SetPubScreenModes(UWORD modes) (D0)
147 UWORD PubScreenStatus(struct Screen *Scr, UWORD StatusFlags) (A0, D0)
148 struct RastPort *ObtainGIRPort(struct GadgetInfo *gInfo) (A0)
149 void ReleaseGIRPort(struct RastPort *rp) (A0)
150 void GadgetMouse(struct Gadget *gadget, struct GadgetInfo *ginfo, WORD *mousepoint) (A0, A1, A2)
151 ULONG SetIPrefs(APTR data, ULONG length, ULONG type) (A0, D0, D1)
152 struct Screen *GetDefaultPubScreen(UBYTE *nameBuffer) (A0)
153 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)
155 LONG SysReqHandler(struct Window *window, ULONG *IDCMPFlagsPtr, BOOL WaitInput) (A0, A1, D0)
156 struct Window *OpenWindowTagList(struct NewWindow *newWindow, struct TagItem *tagList) (A0, A1)
157 struct Screen *OpenScreenTagList(struct NewScreen *newScreen, struct TagItem *tagList) (A0, A1)
158 void DrawImageState(struct RastPort *rp, struct Image *image, LONG leftOffset, LONG topOffset, ULONG state, struct DrawInfo *drawInfo) (A0, A1, D0, D1, D2, A2)
159 BOOL PointInImage(ULONG point, struct Image *image) (D0, A0)
160 void EraseImage(struct RastPort *rp, struct Image *image, LONG leftOffset, LONG topOffset) (A0, A1, D0, D1)
161 APTR NewObjectA(struct IClass *classPtr, UBYTE *classID, struct TagItem *tagList) (A0, A1, A2)
162 void DisposeObject(APTR object) (A0)
163 IPTR SetAttrsA(APTR object, struct TagItem *tagList) (A0, A1)
164 ULONG GetAttr(ULONG attrID, Object *object, IPTR *storagePtr) (D0, A0, A1)
165 IPTR SetGadgetAttrsA(struct Gadget *gadget, struct Window *window, struct Requester *requester, struct TagItem *tagList) (A0, A1, A2, A3)
166 APTR NextObject(APTR objectPtrPtr) (A0)
167 struct IClass *FindClass(ClassID classID) (A0)
168 struct IClass *MakeClass(ClassID classID, ClassID superClassID, struct IClass *superClassPtr, ULONG instanceSize, ULONG flags) (A0, A1, A2, D0, D1)
169 void AddClass(struct IClass *classPtr) (A0)
170 struct DrawInfo *GetScreenDrawInfo(struct Screen *screen) (A0)
171 void FreeScreenDrawInfo(struct Screen *screen, struct DrawInfo *drawInfo) (A0, A1)
172 BOOL ResetMenuStrip(struct Window *window, struct Menu *menu) (A0, A1)
173 void RemoveClass(struct IClass *classPtr) (A0)
174 BOOL FreeClass(struct IClass *iclass) (A0)
175 .skip 1 # AmigaOS 2.1 private: lockPubClass()()
176 .skip 1 # AmigaOS 2.1 private: unlockPubClass()()
179 struct ScreenBuffer *AllocScreenBuffer(struct Screen *screen, struct BitMap *bitmap, ULONG flags) (A0, A1, D0)
180 void FreeScreenBuffer(struct Screen *screen, struct ScreenBuffer *screenbuffer) (A0, A1)
181 ULONG ChangeScreenBuffer(struct Screen *screen, struct ScreenBuffer *screenbuffer) (A0, A1)
182 void ScreenDepth(struct Screen *screen, ULONG flags, APTR reserved) (A0, D0, A1)
183 void ScreenPosition(struct Screen *screen, ULONG flags, LONG x1, LONG y1, LONG x2, LONG y2) (A0, D0, D1, D2, D3, D4)
184 void ScrollWindowRaster(struct Window *win, WORD dx, WORD dy, WORD xmin, WORD ymin, WORD xmax, WORD ymax) (A1, D0, D1, D2, D3, D4, D5)
185 void LendMenus(struct Window *fromwindow, struct Window *towindow) (A0, A1)
186 IPTR DoGadgetMethodA(struct Gadget *gad, struct Window *win, struct Requester *req, Msg msg) (A0, A1, A2, A3)
187 void SetWindowPointerA(struct Window *window, struct TagItem *taglist) (A0, A1)
188 BOOL TimedDisplayAlert(ULONG alertnumber, UBYTE *string, UWORD height, ULONG time) (D0, A0, D1, A1)
189 void HelpControl(struct Window *window, ULONG flags) (A0, D0)
191 LONG IsWindowVisible(struct Window *window) (A0)
192 BOOL ShowWindow(struct Window *window, struct Window *other) (A0, A1)
193 BOOL HideWindow(struct Window *window) (A0)
195 struct Region *ChangeWindowShape(struct Window *window, struct Region *newshape, struct Hook *callback) (A0, A1, A2)
196 void SetDefaultScreenFont(struct TextFont *textfont) (A0)
197 IPTR DoNotify(Class *cl, Object *o, struct ICData *ic, struct opUpdate *msg) (A0, A1, A2, A3)
198 void FreeICData(struct ICData *icdata) (A0)
200 struct IntuiMessage *AllocIntuiMessage(struct Window *window) (A0)
201 void FreeIntuiMessage(struct IntuiMessage *imsg) (A0)
202 .skip 1 # MorphOS: Still reserved as LateIntuiInit() but not implemented
203 void SendIntuiMessage(struct Window *window, struct IntuiMessage *imsg) (A0, A1)
204 void ChangeDecoration(ULONG ID, struct NewDecorator *decor) (D0, A0) # MorphOS: Private diagnostic DumpIntuiState()
205 .skip 1 # MorphOS: GetSkinInfoAttrA(drawinfo,attr,taglist)(a0,d0,a1)
206 APTR StartScreenNotifyTagList(struct TagItem *tags) (A0)
207 BOOL EndScreenNotify(APTR notify) (A0)
208 IPTR GetDrawInfoAttr(struct DrawInfo *drawInfo, ULONG attrID, IPTR *errorPtr) (A0, D0, A1)
209 void WindowAction(struct Window *window, ULONG action, struct TagItem *tags) (A0, D0, A1)
210 .skip 1 # MorphOS: TransparencyControl(window,method,tags)(a0,d0,a1)
211 void ScrollWindowRasterNoFill(struct Window *win, WORD dx, WORD dy, WORD xmin, WORD ymin, WORD xmax, WORD ymax) (A1, D0, D1, D2, D3, D4, D5)
212 ULONG SetPointerBounds(struct Screen *screen, struct Rectangle *rect, ULONG reserved, struct TagItem *tags) (A0, A1, D0, A2)
213 Object **GetMonitorList(struct TagItem *tags) (A1)
214 void FreeMonitorList(Object **list) (A1)
215 # MorphOS: ScreenbarControlA(tags)(a1)
224 classdatatype struct ICData
247 classdatatype struct ModelData
266 classdatatype struct Image
286 classdatatype struct FrameIData
304 classdatatype struct SysIData
317 basename FillRectClass
319 classid FILLRECTCLASS
321 classdatatype struct FillRectData
342 # IM_DRAWFRAME (not implemented)
352 classdatatype struct GadgetData
363 .function GadgetClass__One
367 .function GadgetClass__Zero
370 .function GadgetClass_NoReuse
381 basename ButtonGClass
384 classptr_field windowsysiclass
402 basename FrButtonClass
403 classid FRBUTTONCLASS
404 superclass BUTTONGCLASS
423 classdatatype struct PropGData
444 classdatatype struct StrGData
466 classdatatype struct GroupGData
486 basename DragBarClass
490 classptr_field dragbarclass
491 classdatatype struct dragbar_data
499 .function DragBarClass__NOP
509 basename SizeButtonClass
513 classptr_field sizebuttonclass
514 classdatatype struct sizebutton_data
521 .function DragBarClass__NOP
530 basename MenuBarLabelClass
532 classid MENUBARLABELCLASS
534 classdatatype struct MenuBarLabelData
547 basename PointerClass
550 classptr_field pointerclass
551 classdatatype struct PointerData
563 basename WinDecorClass
565 classid WINDECORCLASS
567 classdatatype struct windecor_data
573 WDM_GETDEFSIZE_SYSIMAGE
576 WDM_LAYOUT_BORDERGADGETS
577 WDM_DRAW_BORDERPROPBACK
578 WDM_DRAW_BORDERPROPKNOB
587 basename ScrDecorClass
589 classid SCRDECORCLASS
591 classdatatype struct scrdecor_data
599 SDM_GETDEFSIZE_SYSIMAGE
602 SDM_LAYOUT_SCREENGADGETS
608 basename MenuDecorClass
610 classid MENUDECORCLASS
612 classdatatype struct menudecor_data
618 MDM_GETDEFSIZE_SYSIMAGE
629 basename MonitorClass
633 classptr_field monitorclass
634 classdatatype struct IMonitorNode
644 MM_GetDefaultGammaTables
645 MM_GetDefaultPixelFormat
648 MM_EnterPowerSaveMode
650 MM_SetDefaultGammaTables
651 MM_GetCompositionFlags
667 classptr_field screenclass
668 classdatatype struct IntScreen