1 #ifndef INTUITION_EXTENSIONS_H 2 #define INTUITION_EXTENSIONS_H 3 4 /* 5 intuition v50 definitions 6 7 Copyright © 2002-2008 The MorphOS Development Team, All Rights Reserved. 8 */ 9 10 #ifndef INTUITION_DIATTR_H 11 #include <intuition/diattr.h> 12 #endif 13 14 #ifndef INTUITION_SCREENS_H 15 #include <intuition/screens.h> 16 #endif 17 18 #ifndef INTUITION_INTUITION_H 19 #include <intuition/intuition.h> 20 #endif 21 22 #ifndef INTUITION_POINTERCLASS_H 23 #include <intuition/pointerclass.h> 24 #endif 25 26 #pragma pack(2) 27 28 29 /* new SYSIA_Which values (added some padding there) */ 30 31 #define ICONIFYIMAGE (0x12L) 32 #define LOCKIMAGE (0x13L) 33 #define MUIIMAGE (0x14L) 34 #define POPUPIMAGE (0x15L) 35 #define SNAPSHOTIMAGE (0x16L) 36 #define JUMPIMAGE (0x17L) 37 #define MENUTOGGLEIMAGE (0x19L) 38 #define SUBMENUIMAGE (0x1AL) 39 40 41 /* Flags for ExtraTitlebarGadgets!!! */ 42 #define ETG_ICONIFY (0x1L) /* MUI iconify gadget */ 43 #define ETG_LOCK (0x2L) /* lock gadget from Magellan */ 44 #define ETG_MUI (0x4L) /* MUI prefs gadget */ 45 #define ETG_POPUP (0x8L) /* popup menu gadget */ 46 #define ETG_SNAPSHOT (0x10L) /* MUI snapshot gadget */ 47 #define ETG_JUMP (0x20L) /* MUI screen jump gadget */ 48 49 /* Extra gadget ID's */ 50 #define ETI_Dummy (0xFFD0)/* you can change this base with WA_ExtraGadgetsStartID! */ 51 #define ETI_Iconify (ETI_Dummy) 52 #define ETI_Lock (ETI_Dummy + 1) 53 #define ETI_MUI (ETI_Dummy + 2) 54 #define ETI_PopUp (ETI_Dummy + 3) 55 #define ETI_Snapshot (ETI_Dummy + 4) 56 #define ETI_Jump (ETI_Dummy + 5) 57 58 /* for use with custom ETI_Dummy base... */ 59 #define ETD_Iconify 0 60 #define ETD_Lock 1 61 #define ETD_MUI 2 62 #define ETD_PopUp 3 63 #define ETD_Snapshot 4 64 #define ETD_Jump 5 65 66 /* GetSkinInfo defines */ 67 68 #define SI_Dummy (0x8000000) 69 70 /* Window border size */ 71 #define SI_BorderTop (SI_Dummy + 1) 72 #define SI_BorderTopTitle (SI_Dummy + 2) /* when you want a window with title/titlebar gadgets */ 73 #define SI_BorderLeft (SI_Dummy + 3) 74 #define SI_BorderRight (SI_Dummy + 4) /* std size of window border */ 75 #define SI_BorderRightSize (SI_Dummy + 5) /* border with size gadgets */ 76 #define SI_BorderBottom (SI_Dummy + 6) 77 #define SI_BorderBottomSize (SI_Dummy + 7) 78 #define SI_ScreenTitlebarHeight (SI_Dummy + 8) /* real height of screen titlebar (no need to add 1 pixel there!) 79 ** please use this instead of reading from struct Screen 80 ** do note that this returns 0 for invisible or disappearing 81 ** titlebars so it may not be what you need */ 82 83 /* Titlebar gadgets positions/sizes */ 84 #define SI_RightPropWidth (SI_Dummy + 10) 85 #define SI_BottomPropHeight (SI_Dummy + 11) 86 #define SI_RightArrowBox (SI_Dummy + 12) /* space used by arrows on right titlebar */ 87 #define SI_BottomArrowBox (SI_Dummy + 13) 88 89 /* Other Information */ 90 #define SI_Shadows (SI_Dummy + 14) /* returns TRUE if the skin supports window shadows */ 91 92 93 94 /* window action methods, see the autodoc for detailed descriptions */ 95 96 #define WAC_DUMMY (0x0001) 97 #define WAC_HIDEWINDOW (WAC_DUMMY) 98 #define WAC_SHOWWINDOW (WAC_DUMMY + 1) 99 #define WAC_SENDIDCMPCLOSE (WAC_DUMMY + 2) 100 #define WAC_MOVEWINDOW (WAC_DUMMY + 3) 101 #define WAC_SIZEWINDOW (WAC_DUMMY + 4) 102 #define WAC_CHANGEWINDOWBOX (WAC_DUMMY + 5) 103 #define WAC_WINDOWTOFRONT (WAC_DUMMY + 6) 104 #define WAC_WINDOWTOBACK (WAC_DUMMY + 7) 105 #define WAC_ZIPWINDOW (WAC_DUMMY + 8) 106 #define WAC_MOVEWINDOWINFRONTOF (WAC_DUMMY + 9) 107 #define WAC_ACTIVATEWINDOW (WAC_DUMMY + 10) 108 /* V51 */ 109 #define WAC_MAXIMIZEWINDOW (WAC_DUMMY + 11) 110 #define WAC_MINIMIZEWINDOW (WAC_DUMMY + 12) 111 #define WAC_RESTOREINITIALSIZEPOS (WAC_DUMMY + 13) 112 #define WAC_OPENMENU (WAC_DUMMY + 14) 113 #define WAC_FAMILYTOFRONT (WAC_DUMMY + 15) 114 #define WAC_FAMILYTOBACK (WAC_DUMMY + 16) 115 116 /* window action tags */ 117 118 #define WAT_DUMMY TAG_USER 119 #define WAT_MOVEWINDOWX (WAT_DUMMY + 1) 120 #define WAT_MOVEWINDOWY (WAT_DUMMY + 2) 121 #define WAT_SIZEWINDOWX (WAT_DUMMY + 3) 122 #define WAT_SIZEWINDOWY (WAT_DUMMY + 4) 123 #define WAT_WINDOWBOXLEFT (WAT_DUMMY + 5) 124 #define WAT_WINDOWBOXTOP (WAT_DUMMY + 6) 125 #define WAT_WINDOWBOXWIDTH (WAT_DUMMY + 7) 126 #define WAT_WINDOWBOXHEIGHT (WAT_DUMMY + 8) 127 #define WAT_MOVEWBEHINDWINDOW (WAT_DUMMY + 9) 128 129 /* window transparency */ 130 131 struct TransparencyMessage 132 { 133 struct Layer *Layer; /* the layer you're asked to provide transparency for */ 134 struct Region *Region; /* create transparency in this region */ 135 struct Rectangle *NewBounds; /* current layer boundaries */ 136 struct Rectangle *OldBounds; /* old layer boundaries, useful after layer resize */ 137 }; 138 139 /* TransparencyControl tags and methods */ 140 #define TRANSPCONTROLMETHOD_INSTALLREGION 0x1 141 /* Installs a new region, requires that you pass TRANSPCONTROL_REGION in tags. Setting this tag 142 ** to NULL or not passing it at all removes currently installed. Passing TRANSPCONTROL_OLDREGION 143 ** will write old region address to storagePtr passed in tag->ti_Data. Installing a region removes 144 ** regionhook! 145 */ 146 147 #define TRANSPCONTROLMETHOD_INSTALLREGIONHOOK 0x2 148 /* Similar to TRANSPCONTROLMETHOD_INSTALLREGION */ 149 150 #define TRANSPCONTROLMETHOD_UPDATETRANSPARENCY 0x3 151 /* Calls your transparency hook to allow you to change the transparency whenever you want. 152 ** This has no effect with transparency region installed. 153 */ 154 155 #define TRANSPCONTROL_DUMMY TAG_USER 156 #define TRANSPCONTROL_REGION (TRANSPCONTROL_DUMMY + 1) 157 #define TRANSPCONTROL_REGIONHOOK (TRANSPCONTROL_DUMMY + 2) 158 #define TRANSPCONTROL_OLDREGION (TRANSPCONTROL_DUMMY + 3) 159 #define TRANSPCONTROL_OLDREGIONHOOK (TRANSPCONTROL_DUMMY + 4) 160 161 /* requester extensions */ 162 /* please pass this structure to EasyRequestArgs or BuildEasyRequest 163 ** Note that the extended structure is recognised by es_StructSize field! 164 ** You MUST set it to sizeof(struct ExtEasyStruct) in order to use the tag 165 ** field, setting size to NULL or sizeof(struct EasyStruct) disables the use 166 ** of this extension! 167 ** 168 ** please also note that no logos are displayed on CLUT screens (<=8 bitplanes) 169 */ 170 171 struct ExtEasyStruct 172 { 173 ULONG es_StructSize; 174 ULONG es_Flags; 175 UBYTE *es_Title; 176 UBYTE *es_TextFormat; 177 UBYTE *es_GadgetFormat; 178 struct TagItem *es_Tags; 179 }; 180 181 #define EES_Dummy TAG_USER 182 #define EES_ActiveButton (EES_Dummy + 1) /* the button which will be hilighted when requester pops up, uses 1,2,..,n,0 numbering! */ 183 #define EES_DosLogo (EES_Dummy + 2) 184 #define EES_DiskBased (EES_Dummy + 3) /* if TRUE, the requesters may use diskbased components. if FALSE, no I/O will be done when displaying the requester. defaults to TRUE */ 185 186 #define DOSLOGO_DISKINSERT 1 187 #define DOSLOGO_DISKNOTVALIDATED 2 188 #define DOSLOGO_DISKPROTECTED 3 189 #define DOSLOGO_DISKFULL 4 190 #define DOSLOGO_NOTADOSDISK 5 191 #define DOSLOGO_NODISK 6 192 #define DOSLOGO_DISKBUSY 7 193 #define DOSLOGO_DISKERROR 8 194 #define LOGO_CRASH 9 195 196 /* GetMonitorList tags */ 197 198 #define GMLA_Dummy (TAG_USER + 0x4000) 199 200 /* ULONG, finds the monitor related to the given display ID, only the 201 ** monitor(s) matching the provided DisplayIDs will be added to the list */ 202 #define GMLA_DisplayID (GMLA_Dummy + 1) 203 204 #pragma pack() 205 206 #endif /* INTUITION_EXTENSIONS_H */