1 #ifndef INTUITION_IMAGECLASS_H 2 #define INTUITION_IMAGECLASS_H 3 4 /* 5 intuition image class definitions (V50) 6 7 Copyright © 2002-2008 The MorphOS Development Team, All Rights Reserved. 8 */ 9 10 #ifndef INTUITION_INTUITION_H 11 # include <intuition/intuition.h> 12 #endif 13 14 #pragma pack(2) 15 16 17 #define CUSTOMIMAGEDEPTH (-1) 18 19 20 #define GADGET_BOX(g) ((struct IBox *) &((struct Gadget *)(g))->LeftEdge) 21 #define IM_BOX(im) ((struct IBox *) &((struct Image *)(im))->LeftEdge) 22 #define IM_FGPEN(im) ((im)->PlanePick) 23 #define IM_BGPEN(im) ((im)->PlaneOnOff) 24 25 26 #define IA_Dummy (TAG_USER + 0x20000) 27 #define IA_Left (IA_Dummy + 1) 28 #define IA_Top (IA_Dummy + 2) 29 #define IA_Width (IA_Dummy + 3) 30 #define IA_Height (IA_Dummy + 4) 31 #define IA_FGPen (IA_Dummy + 5) 32 #define IA_BGPen (IA_Dummy + 6) 33 #define IA_Data (IA_Dummy + 7) 34 #define IA_LineWidth (IA_Dummy + 8) 35 36 #define SYSIA_Size (IA_Dummy + 11) 37 #define SYSIA_Depth (IA_Dummy + 12) 38 #define SYSIA_Which (IA_Dummy + 13) 39 40 #define IA_Pens (IA_Dummy + 14) 41 #define IA_Resolution (IA_Dummy + 15) 42 43 #define IA_APattern (IA_Dummy + 16) 44 #define IA_APatSize (IA_Dummy + 17) 45 #define IA_Mode (IA_Dummy + 18) 46 #define IA_Font (IA_Dummy + 19) 47 #define IA_Outline (IA_Dummy + 20) 48 #define IA_Recessed (IA_Dummy + 21) 49 #define IA_DoubleEmboss (IA_Dummy + 22) 50 #define IA_EdgesOnly (IA_Dummy + 23) 51 52 #define SYSIA_DrawInfo (IA_Dummy + 24) 53 54 #define SYSIA_ReferenceFont (IA_Dummy + 25) 55 56 #define IA_SupportsDisable (IA_Dummy + 26) 57 #define IA_FrameType (IA_Dummy + 27) 58 59 /*** V44 ***/ 60 61 #define IA_Underscore (IA_Dummy + 28) 62 #define IA_Scalable (IA_Dummy + 29) 63 #define IA_ActivateKey (IA_Dummy + 30) 64 #define IA_Screen (IA_Dummy + 31) 65 #define IA_Precision (IA_Dummy + 32) 66 67 /*** V50 ***/ 68 69 #define SYSIA_WithBorder (IA_FGPen) 70 #define SYSIA_Style (IA_BGPen) 71 72 #define SYSISTYLE_NORMAL 0 73 #define SYSISTYLE_GADTOOLS 1 74 75 76 /*** OBSOLETE ***/ 77 78 #define SYSIA_Pens (IA_Pens) 79 #define IA_ShadowPen (IA_Dummy + 9) 80 #define IA_HighlightPen (IA_Dummy + 10) 81 82 83 #define SYSISIZE_MEDRES (0) 84 #define SYSISIZE_LOWRES (1) 85 #define SYSISIZE_HIRES (2) 86 87 88 #define DEPTHIMAGE (0x00) 89 #define ZOOMIMAGE (0x01) 90 #define SIZEIMAGE (0x02) 91 #define CLOSEIMAGE (0x03) 92 #define SDEPTHIMAGE (0x05) 93 #define LEFTIMAGE (0x0A) 94 #define UPIMAGE (0x0B) 95 #define RIGHTIMAGE (0x0C) 96 #define DOWNIMAGE (0x0D) 97 #define CHECKIMAGE (0x0E) 98 #define MXIMAGE (0x0F) 99 #define MENUCHECK (0x10) 100 #define AMIGAKEY (0x11) 101 102 103 #define FRAME_DEFAULT 0 104 #define FRAME_BUTTON 1 105 #define FRAME_RIDGE 2 106 #define FRAME_ICONDROPBOX 3 107 108 109 #define IM_DRAW 0x202 110 #define IM_HITTEST 0x203 111 #define IM_ERASE 0x204 112 #define IM_MOVE 0x205 113 114 #define IM_DRAWFRAME 0x206 115 #define IM_FRAMEBOX 0x207 116 #define IM_HITFRAME 0x208 117 #define IM_ERASEFRAME 0x209 118 #define IM_DOMAINFRAME 0x20A 119 120 121 #define IDS_NORMAL (0L) 122 #define IDS_SELECTED (1L) 123 #define IDS_DISABLED (2L) 124 #define IDS_BUSY (3L) 125 #define IDS_INDETERMINATE (4L) 126 #define IDS_INACTIVENORMAL (5L) 127 #define IDS_INACTIVESELECTED (6L) 128 #define IDS_INACTIVEDISABLED (7L) 129 #define IDS_SELECTEDDISABLED (8L) 130 131 /* Typo fix */ 132 133 #define IDS_INDETERMINANT IDS_INDETERMINATE 134 135 136 struct impFrameBox 137 { 138 ULONG MethodID; 139 struct IBox *imp_ContentsBox; 140 struct IBox *imp_FrameBox; 141 struct DrawInfo *imp_DrInfo; 142 ULONG imp_FrameFlags; 143 }; 144 145 #define FRAMEF_SPECIFY (1<<0) 146 147 148 struct impDraw 149 { 150 ULONG MethodID; 151 struct RastPort *imp_RPort; 152 153 struct 154 { 155 WORD X; 156 WORD Y; 157 } imp_Offset; 158 159 ULONG imp_State; 160 struct DrawInfo *imp_DrInfo; 161 162 struct 163 { 164 WORD Width; 165 WORD Height; 166 } imp_Dimensions; 167 }; 168 169 struct impErase 170 { 171 ULONG MethodID; 172 struct RastPort *imp_RPort; 173 174 struct 175 { 176 WORD X; 177 WORD Y; 178 } imp_Offset; 179 180 struct 181 { 182 WORD Width; 183 WORD Height; 184 } imp_Dimensions; 185 }; 186 187 struct impHitTest 188 { 189 ULONG MethodID; 190 191 struct 192 { 193 WORD X; 194 WORD Y; 195 } imp_Point; 196 197 struct 198 { 199 WORD Width; 200 WORD Height; 201 } imp_Dimensions; 202 }; 203 204 205 struct impDomainFrame 206 { 207 ULONG MethodID; 208 struct DrawInfo *imp_DrInfo; 209 struct RastPort *imp_RPort; 210 LONG imp_Which; 211 struct IBox imp_Domain; 212 struct TagItem *imp_Attrs; 213 }; 214 215 216 #define IDOMAIN_MINIMUM (0) 217 #define IDOMAIN_NOMINAL (1) 218 #define IDOMAIN_MAXIMUM (2) 219 220 221 #pragma pack() 222 223 #ifndef INTUITION_IOBSOLETE_H 224 # include <intuition/iobsolete.h> 225 #endif 226 227 #endif /* INTUITION_IMAGECLASS_H */