1 #ifndef INTUITION_CLASSUSR_H 2 #define INTUITION_CLASSUSR_H 3 4 /* 5 intuition class user definitions 6 7 Copyright © 2002-2008 The MorphOS Development Team, All Rights Reserved. 8 */ 9 10 #ifndef UTILITY_HOOKS_H 11 # include <utility/hooks.h> 12 #endif 13 14 #pragma pack(2) 15 16 /* 17 NOTE: Please note that in order to allow Objective-C compatibility, we 18 had to rename Object to Boopsiobject in our includes. When not building 19 in Obj-C mode, Boopsiobject gets typedef'ed to Object for backwards 20 compatibility with C sources. 21 */ 22 23 typedef ULONG Boopsiobject; 24 25 #if !defined(__OBJC__) 26 typedef Boopsiobject Object; 27 #endif 28 29 typedef UBYTE *ClassID; 30 31 typedef struct _Msg_ 32 { 33 ULONG MethodID; 34 } *Msg; 35 36 37 #define ROOTCLASS "rootclass" 38 #define IMAGECLASS "imageclass" 39 #define FRAMEICLASS "frameiclass" 40 #define SYSICLASS "sysiclass" 41 #define FILLRECTCLASS "fillrectclass" 42 #define GADGETCLASS "gadgetclass" 43 #define PROPGCLASS "propgclass" 44 #define STRGCLASS "strgclass" 45 #define BUTTONGCLASS "buttongclass" 46 #define FRBUTTONCLASS "frbuttonclass" 47 #define GROUPGCLASS "groupgclass" 48 #define ICCLASS "icclass" 49 #define MODELCLASS "modelclass" 50 #define ITEXTICLASS "itexticlass" 51 #define POINTERCLASS "pointerclass" 52 53 54 #define OM_Dummy (0x100) 55 #define OM_NEW (OM_Dummy + 1) 56 #define OM_DISPOSE (OM_Dummy + 2) 57 #define OM_SET (OM_Dummy + 3) 58 #define OM_GET (OM_Dummy + 4) 59 #define OM_ADDTAIL (OM_Dummy + 5) 60 #define OM_REMOVE (OM_Dummy + 6) 61 #define OM_NOTIFY (OM_Dummy + 7) 62 #define OM_UPDATE (OM_Dummy + 8) 63 #define OM_ADDMEMBER (OM_Dummy + 9) 64 #define OM_REMMEMBER (OM_Dummy + 10) 65 66 /* This increases the BOOPSI object's usage counter. If you create a new object, 67 ** and send it an OM_RETAIN, you will need to call OM_RELEASE (or OM_DISPOSE!) 68 ** twice for the object to be disposed. This implies that OM_DISPOSE and 69 ** OM_RELEASE are interchangeable. 70 ** NOTE: the same rules apply to MUI objects - they accept OM_RETAIN/OM_RELEASE 71 ** and MUI_DisposeObject is interchangeable with an OM_RETAIN 72 */ 73 #define OM_RETAIN (OM_Dummy + 11) 74 #define OM_RELEASE (OM_Dummy + 12) 75 76 77 struct opSet 78 { 79 ULONG MethodID; 80 struct TagItem *ops_AttrList; 81 struct GadgetInfo *ops_GInfo; 82 }; 83 84 struct opUpdate 85 { 86 ULONG MethodID; 87 struct TagItem *opu_AttrList; 88 struct GadgetInfo *opu_GInfo; 89 ULONG opu_Flags; 90 }; 91 92 #define OPUF_INTERIM (1<<0) 93 94 struct opGet 95 { 96 ULONG MethodID; 97 ULONG opg_AttrID; 98 ULONG *opg_Storage; 99 }; 100 101 struct opAddTail 102 { 103 ULONG MethodID; 104 struct List *opat_List; 105 }; 106 107 struct opMember 108 { 109 ULONG MethodID; 110 Boopsiobject *opam_Object; 111 }; 112 113 114 #define opAddMember opMember 115 116 117 #pragma pack() 118 119 #endif /* INTUITION_CLASSUSR_H */