1 #ifndef DATATYPES_DATATYPESCLASS_H 2 #define DATATYPES_DATATYPESCLASS_H 3 4 /* 5 datatypes object definitions (V45) 6 7 Copyright © 2002 The MorphOS Development Team, All Rights Reserved. 8 */ 9 10 #ifndef UTILITY_TAGITEM_H 11 # include <utility/tagitem.h> 12 #endif 13 14 #ifndef DATATYPES_DATATYPES_H 15 # include <datatypes/datatypes.h> 16 #endif 17 18 #ifndef INTUITION_INTUITION_H 19 # include <intuition/intuition.h> 20 #endif 21 22 #ifndef DEVICES_PRINTER_H 23 # include <devices/printer.h> 24 #endif 25 26 #ifndef DEVICES_PRTBASE_H 27 # include <devices/prtbase.h> 28 #endif 29 30 #pragma pack(2) 31 32 33 #define DATATYPESCLASS "datatypesclass" 34 35 36 /* Generic attributes */ 37 38 #define DTA_Dummy (TAG_USER + 0x1000) 39 #define DTA_TextAttr (DTA_Dummy + 10) 40 #define DTA_TopVert (DTA_Dummy + 11) 41 #define DTA_VisibleVert (DTA_Dummy + 12) 42 #define DTA_TotalVert (DTA_Dummy + 13) 43 #define DTA_VertUnit (DTA_Dummy + 14) 44 #define DTA_TopHoriz (DTA_Dummy + 15) 45 #define DTA_VisibleHoriz (DTA_Dummy + 16) 46 #define DTA_TotalHoriz (DTA_Dummy + 17) 47 #define DTA_HorizUnit (DTA_Dummy + 18) 48 #define DTA_NodeName (DTA_Dummy + 19) 49 #define DTA_Title (DTA_Dummy + 20) 50 #define DTA_TriggerMethods (DTA_Dummy + 21) 51 #define DTA_Data (DTA_Dummy + 22) 52 #define DTA_TextFont (DTA_Dummy + 23) 53 #define DTA_Methods (DTA_Dummy + 24) 54 #define DTA_PrinterStatus (DTA_Dummy + 25) 55 #define DTA_PrinterProc (DTA_Dummy + 26) 56 #define DTA_LayoutProc (DTA_Dummy + 27) 57 #define DTA_Busy (DTA_Dummy + 28) 58 #define DTA_Sync (DTA_Dummy + 29) 59 #define DTA_BaseName (DTA_Dummy + 30) 60 #define DTA_GroupID (DTA_Dummy + 31) 61 #define DTA_ErrorLevel (DTA_Dummy + 32) 62 #define DTA_ErrorNumber (DTA_Dummy + 33) 63 #define DTA_ErrorString (DTA_Dummy + 34) 64 #define DTA_Conductor (DTA_Dummy + 35) 65 #define DTA_ControlPanel (DTA_Dummy + 36) 66 #define DTA_Immediate (DTA_Dummy + 37) 67 #define DTA_Repeat (DTA_Dummy + 38) 68 69 /*** V44 ***/ 70 71 #define DTA_SourceAddress (DTA_Dummy + 39) 72 #define DTA_SourceSize (DTA_Dummy + 40) 73 #define DTA_Reserved (DTA_Dummy + 41) 74 75 /*** V45 ***/ 76 77 #define DTA_Progressive (DTA_Dummy + 60) 78 #define DTA_CurrentLevel (DTA_Dummy + 61) 79 #define DTA_Class (DTA_Dummy + 62) 80 81 82 /* DTObject attributes */ 83 84 #define DTA_Name (DTA_Dummy + 100) 85 #define DTA_SourceType (DTA_Dummy + 101) 86 #define DTA_Handle (DTA_Dummy + 102) 87 #define DTA_DataType (DTA_Dummy + 103) 88 #define DTA_Domain (DTA_Dummy + 104) 89 90 /*** DO NOT USE ***/ 91 #define DTA_Left (DTA_Dummy + 105) 92 #define DTA_Top (DTA_Dummy + 106) 93 #define DTA_Width (DTA_Dummy + 107) 94 #define DTA_Height (DTA_Dummy + 108) 95 96 #define DTA_ObjName (DTA_Dummy + 109) 97 #define DTA_ObjAuthor (DTA_Dummy + 110) 98 #define DTA_ObjAnnotation (DTA_Dummy + 111) 99 #define DTA_ObjCopyright (DTA_Dummy + 112) 100 #define DTA_ObjVersion (DTA_Dummy + 113) 101 #define DTA_ObjectID (DTA_Dummy + 114) 102 #define DTA_UserData (DTA_Dummy + 115) 103 #define DTA_FrameInfo (DTA_Dummy + 116) 104 105 /*** DO NOT USE ***/ 106 #define DTA_RelRight (DTA_Dummy + 117) 107 #define DTA_RelBottom (DTA_Dummy + 118) 108 #define DTA_RelWidth (DTA_Dummy + 119) 109 #define DTA_RelHeight (DTA_Dummy + 120) 110 111 #define DTA_SelectDomain (DTA_Dummy + 121) 112 #define DTA_TotalPVert (DTA_Dummy + 122) 113 #define DTA_TotalPHoriz (DTA_Dummy + 123) 114 #define DTA_NominalVert (DTA_Dummy + 124) 115 #define DTA_NominalHoriz (DTA_Dummy + 125) 116 117 118 /* Printing attributes */ 119 120 #define DTA_DestCols (DTA_Dummy + 400) 121 #define DTA_DestRows (DTA_Dummy + 401) 122 #define DTA_Special (DTA_Dummy + 402) 123 #define DTA_RastPort (DTA_Dummy + 403) 124 #define DTA_ARexxPortName (DTA_Dummy + 404) 125 126 127 #define DTST_RAM 1 128 #define DTST_FILE 2 129 #define DTST_CLIPBOARD 3 130 #define DTST_HOTLINK 4 131 132 /*** V44 ***/ 133 134 #define DTST_MEMORY 5 135 136 137 struct DTSpecialInfo 138 { 139 struct SignalSemaphore si_Lock; 140 ULONG si_Flags; 141 142 LONG si_TopVert; 143 LONG si_VisVert; 144 LONG si_TotVert; 145 LONG si_OTopVert; 146 LONG si_VertUnit; 147 148 LONG si_TopHoriz; 149 LONG si_VisHoriz; 150 LONG si_TotHoriz; 151 LONG si_OTopHoriz; 152 LONG si_HorizUnit; 153 }; 154 155 156 #define DTSIF_LAYOUT (1<<0) 157 #define DTSIF_NEWSIZE (1<<1) 158 #define DTSIF_DRAGGING (1<<2) 159 #define DTSIF_DRAGSELECT (1<<3) 160 #define DTSIF_HIGHLIGHT (1<<4) 161 #define DTSIF_PRINTING (1<<5) 162 #define DTSIF_LAYOUTPROC (1<<6) 163 164 165 struct DTMethod 166 { 167 STRPTR dtm_Label; 168 STRPTR dtm_Command; 169 ULONG dtm_Method; 170 }; 171 172 173 #define DTM_Dummy (0x600) 174 #define DTM_FRAMEBOX (DTM_Dummy + 1) 175 #define DTM_PROCLAYOUT (DTM_Dummy + 2) 176 #define DTM_ASYNCLAYOUT (DTM_Dummy + 3) 177 #define DTM_REMOVEDTOBJECT (DTM_Dummy + 4) 178 #define DTM_SELECT (DTM_Dummy + 5) 179 #define DTM_CLEARSELECTED (DTM_Dummy + 6) 180 #define DTM_COPY (DTM_Dummy + 7) 181 #define DTM_PRINT (DTM_Dummy + 8) 182 #define DTM_ABORTPRINT (DTM_Dummy + 9) 183 184 #define DTM_NEWMEMBER (DTM_Dummy + 16) 185 #define DTM_DISPOSEMEMBER (DTM_Dummy + 17) 186 187 #define DTM_GOTO (DTM_Dummy + 48) 188 #define DTM_TRIGGER (DTM_Dummy + 49) 189 190 #define DTM_OBTAINDRAWINFO (DTM_Dummy + 64) 191 #define DTM_DRAW (DTM_Dummy + 65) 192 #define DTM_RELEASEDRAWINFO (DTM_Dummy + 66) 193 194 #define DTM_WRITE (DTM_Dummy + 80) 195 196 197 struct FrameInfo 198 { 199 ULONG fri_PropertyFlags; 200 Point fri_Resolution; 201 202 UBYTE fri_RedBits; 203 UBYTE fri_GreenBits; 204 UBYTE fri_BlueBits; 205 206 struct 207 { 208 ULONG Width; 209 ULONG Height; 210 ULONG Depth; 211 } fri_Dimensions; 212 213 struct Screen *fri_Screen; 214 struct ColorMap *fri_ColorMap; 215 216 ULONG fri_Flags; 217 }; 218 219 220 #define FIF_SCALABLE 0x1 221 #define FIF_SCROLLABLE 0x2 222 #define FIF_REMAPPABLE 0x4 223 224 225 struct dtGeneral 226 { 227 ULONG MethodID; 228 struct GadgetInfo *dtg_GInfo; 229 }; 230 231 struct dtSelect 232 { 233 ULONG MethodID; 234 struct GadgetInfo *dts_GInfo; 235 struct Rectangle dts_Select; 236 }; 237 238 struct dtFrameBox 239 { 240 ULONG MethodID; 241 struct GadgetInfo *dtf_GInfo; 242 struct FrameInfo *dtf_ContentsInfo; 243 struct FrameInfo *dtf_FrameInfo; 244 ULONG dtf_SizeFrameInfo; 245 ULONG dtf_FrameFlags; 246 }; 247 248 #ifndef FRAMEF_SPECIFY 249 # define FRAMEF_SPECIFY (1<<0) 250 #endif 251 252 struct dtGoto 253 { 254 ULONG MethodID; 255 struct GadgetInfo *dtg_GInfo; 256 STRPTR dtg_NodeName; 257 struct TagItem *dtg_AttrList; 258 }; 259 260 struct dtTrigger 261 { 262 ULONG MethodID; 263 struct GadgetInfo *dtt_GInfo; 264 ULONG dtt_Function; 265 APTR dtt_Data; 266 }; 267 268 269 #define STMF_METHOD_MASK (0x0000FFFF) 270 #define STMF_DATA_MASK (0x00FF0000) 271 #define STMF_RESERVED_MASK (0xFF000000) 272 273 #define STMD_VOID (0x00010000) 274 #define STMD_ULONG (0x00020000) 275 #define STMD_STRPTR (0x00030000) 276 #define STMD_TAGLIST (0x00040000) 277 278 #define STM_DONE 0 279 #define STM_END 0 280 #define STM_PAUSE 1 281 #define STM_PLAY 2 282 #define STM_CONTENTS 3 283 #define STM_INDEX 4 284 #define STM_RETRACE 5 285 #define STM_BROWSE_PREV 6 286 #define STM_BROWSE_NEXT 7 287 #define STM_NEXT_FIELD 8 288 #define STM_PREV_FIELD 9 289 #define STM_ACTIVATE_FIELD 10 290 #define STM_COMMAND 11 291 #define STM_REWIND 12 292 #define STM_FASTFORWARD 13 293 #define STM_STOP 14 294 #define STM_RESUME 15 295 #define STM_LOCATE 16 296 297 /*** V50 ***/ 298 299 #define STM_HELP 17 300 #define STM_SEARCH 18 301 #define STM_SEARCH_NEXT 19 302 #define STM_SEARCH_PREV 20 303 304 /*** V45 ***/ 305 306 #define STM_USER 100 307 308 309 union printerIO 310 { 311 struct IOStdReq ios; 312 struct IODRPReq iodrp; 313 struct IOPrtCmdReq iopc; 314 }; 315 316 struct dtPrint 317 { 318 ULONG MethodID; 319 struct GadgetInfo *dtp_GInfo; 320 union printerIO *dtp_PIO; 321 struct TagItem *dtp_AttrList; 322 }; 323 324 struct dtDraw 325 { 326 ULONG MethodID; 327 struct RastPort *dtd_RPort; 328 LONG dtd_Left; 329 LONG dtd_Top; 330 LONG dtd_Width; 331 LONG dtd_Height; 332 LONG dtd_TopHoriz; 333 LONG dtd_TopVert; 334 struct TagItem *dtd_AttrList; 335 }; 336 337 struct dtReleaseDrawInfo 338 { 339 ULONG MethodID; 340 APTR dtr_Handle; 341 }; 342 343 struct dtWrite 344 { 345 ULONG MethodID; 346 struct GadgetInfo *dtw_GInfo; 347 BPTR dtw_FileHandle; 348 ULONG dtw_Mode; 349 struct TagItem *dtw_AttrList; 350 }; 351 352 353 #define DTWM_IFF 0 354 #define DTWM_RAW 1 355 356 357 #pragma pack() 358 359 #endif /* DATATYPES_DATATYPESCLASS_H */