1 #ifndef LIBRARIES_GADTOOLS_H 2 #define LIBRARIES_GADTOOLS_H 3 4 /* 5 gadtools.library include 6 7 Copyright © 2002 The MorphOS Development Team, All Rights Reserved. 8 */ 9 10 #ifndef EXEC_TYPES_H 11 # include <exec/types.h> 12 #endif 13 14 #ifndef UTILITY_TAGITEM_H 15 # include <utility/tagitem.h> 16 #endif 17 18 #ifndef INTUITION_INTUITION_H 19 # include <intuition/intuition.h> 20 #endif 21 22 #ifndef INTUITION_GADGETCLASS_H 23 # include <intuition/gadgetclass.h> 24 #endif 25 26 #pragma pack(2) 27 28 29 #define GENERIC_KIND 0 30 #define BUTTON_KIND 1 31 #define CHECKBOX_KIND 2 32 #define INTEGER_KIND 3 33 #define LISTVIEW_KIND 4 34 #define MX_KIND 5 35 #define NUMBER_KIND 6 36 #define CYCLE_KIND 7 37 #define PALETTE_KIND 8 38 #define SCROLLER_KIND 9 39 40 #define SLIDER_KIND 11 41 #define STRING_KIND 12 42 #define TEXT_KIND 13 43 44 #define NUM_KINDS 14 45 46 47 #define ARROWIDCMP (IDCMP_GADGETUP | IDCMP_GADGETDOWN | IDCMP_INTUITICKS | IDCMP_MOUSEBUTTONS) 48 49 #define BUTTONIDCMP (IDCMP_GADGETUP) 50 #define CHECKBOXIDCMP (IDCMP_GADGETUP) 51 #define INTEGERIDCMP (IDCMP_GADGETUP) 52 #define LISTVIEWIDCMP (IDCMP_GADGETUP | IDCMP_GADGETDOWN | IDCMP_MOUSEMOVE | ARROWIDCMP) 53 54 #define MXIDCMP (IDCMP_GADGETDOWN) 55 #define NUMBERIDCMP (0L) 56 #define CYCLEIDCMP (IDCMP_GADGETUP) 57 #define PALETTEIDCMP (IDCMP_GADGETUP) 58 59 #define SCROLLERIDCMP (IDCMP_GADGETUP | IDCMP_GADGETDOWN | IDCMP_MOUSEMOVE) 60 #define SLIDERIDCMP (IDCMP_GADGETUP | IDCMP_GADGETDOWN | IDCMP_MOUSEMOVE) 61 #define STRINGIDCMP (IDCMP_GADGETUP) 62 63 #define TEXTIDCMP (0L) 64 65 struct NewGadget 66 { 67 WORD ng_LeftEdge, ng_TopEdge; 68 WORD ng_Width, ng_Height; 69 UBYTE *ng_GadgetText; 70 struct TextAttr *ng_TextAttr; 71 UWORD ng_GadgetID; 72 ULONG ng_Flags; 73 APTR ng_VisualInfo; 74 APTR ng_UserData; 75 }; 76 77 78 #define PLACETEXT_LEFT 0x0001 79 #define PLACETEXT_RIGHT 0x0002 80 #define PLACETEXT_ABOVE 0x0004 81 #define PLACETEXT_BELOW 0x0008 82 #define PLACETEXT_IN 0x0010 83 84 #define NG_HIGHLABEL 0x0020 85 86 87 struct NewMenu 88 { 89 UBYTE nm_Type; 90 91 STRPTR nm_Label; 92 STRPTR nm_CommKey; 93 UWORD nm_Flags; 94 LONG nm_MutualExclude; 95 APTR nm_UserData; 96 }; 97 98 99 #define MENU_IMAGE 128 100 101 #define NM_TITLE 1 102 #define NM_ITEM 2 103 #define NM_SUB 3 104 105 #define IM_ITEM (NM_ITEM | MENU_IMAGE) 106 #define IM_SUB (NM_SUB | MENU_IMAGE) 107 108 #define NM_END 0 109 110 #define NM_IGNORE 64 111 112 #define NM_BARLABEL ((STRPTR)-1) 113 114 #define NM_MENUDISABLED MENUENABLED 115 #define NM_ITEMDISABLED ITEMENABLED 116 117 #define NM_COMMANDSTRING COMMSEQ 118 119 #define NM_FLAGMASK (~(COMMSEQ | ITEMTEXT | HIGHFLAGS)) 120 #define NM_FLAGMASK_V39 (~(ITEMTEXT | HIGHFLAGS)) 121 122 123 #define GTMENU_USERDATA(menu) (*((APTR *)(((struct Menu *)menu) + 1))) 124 #define GTMENUITEM_USERDATA(menuitem) (*((APTR *)(((struct MenuItem *)menuitem) + 1))) 125 126 #define MENU_USERDATA(menuitem) (*((APTR *)(menuitem + 1))) 127 128 #define GTMENU_TRIMMED 0x00000001 129 #define GTMENU_INVALID 0x00000002 130 #define GTMENU_NOMEM 0x00000003 131 132 133 #define MX_WIDTH 17 134 #define MX_HEIGHT 9 135 136 #define CHECKBOX_WIDTH 26 137 #define CHECKBOX_HEIGHT 11 138 139 140 #define GT_TagBase (TAG_USER + 0x80000) 141 142 #define GTVI_NewWindow (GT_TagBase + 1) 143 #define GTVI_NWTags (GT_TagBase + 2) 144 145 #define GT_Private0 (GT_TagBase + 3) 146 147 #define GTCB_Checked (GT_TagBase + 4) 148 149 #define GTLV_Top (GT_TagBase + 5) 150 #define GTLV_Labels (GT_TagBase + 6) 151 #define GTLV_ReadOnly (GT_TagBase + 7) 152 153 #define GTLV_ScrollWidth (GT_TagBase + 8) 154 155 #define GTMX_Labels (GT_TagBase + 9) 156 #define GTMX_Active (GT_TagBase + 10) 157 158 #define GTTX_Text (GT_TagBase + 11) 159 #define GTTX_CopyText (GT_TagBase + 12) 160 161 #define GTNM_Number (GT_TagBase + 13) 162 163 #define GTCY_Labels (GT_TagBase + 14) 164 #define GTCY_Active (GT_TagBase + 15) 165 166 #define GTPA_Depth (GT_TagBase + 16) 167 #define GTPA_Color (GT_TagBase + 17) 168 #define GTPA_ColorOffset (GT_TagBase + 18) 169 #define GTPA_IndicatorWidth (GT_TagBase + 19) 170 #define GTPA_IndicatorHeight (GT_TagBase + 20) 171 172 #define GTSC_Top (GT_TagBase + 21) 173 #define GTSC_Total (GT_TagBase + 22) 174 #define GTSC_Visible (GT_TagBase + 23) 175 #define GTSC_Overlap (GT_TagBase + 24) 176 177 #define GTSL_Min (GT_TagBase + 38) 178 #define GTSL_Max (GT_TagBase + 39) 179 #define GTSL_Level (GT_TagBase + 40) 180 #define GTSL_MaxLevelLen (GT_TagBase + 41) 181 #define GTSL_LevelFormat (GT_TagBase + 42) 182 #define GTSL_LevelPlace (GT_TagBase + 43) 183 #define GTSL_DispFunc (GT_TagBase + 44) 184 185 #define GTST_String (GT_TagBase + 45) 186 #define GTST_MaxChars (GT_TagBase + 46) 187 188 #define GTIN_Number (GT_TagBase + 47) 189 #define GTIN_MaxChars (GT_TagBase + 48) 190 191 #define GTMN_TextAttr (GT_TagBase + 49) 192 #define GTMN_FrontPen (GT_TagBase + 50) 193 194 #define GTBB_Recessed (GT_TagBase + 51) 195 196 #define GT_VisualInfo (GT_TagBase + 52) 197 198 #define GTLV_ShowSelected (GT_TagBase + 53) 199 200 #define GTLV_Selected (GT_TagBase + 54) 201 202 #define GTST_EditHook (GT_TagBase + 55) 203 #define GTIN_EditHook (GTST_EditHook) 204 205 #define GT_Reserved0 (GTST_EditHook) /*** OBSOLETE ***/ 206 #define GT_Reserved1 (GT_TagBase + 56) 207 208 #define GTTX_Border (GT_TagBase + 57) 209 210 #define GTNM_Border (GT_TagBase + 58) 211 212 #define GTSC_Arrows (GT_TagBase + 59) 213 214 #define GTMN_Menu (GT_TagBase + 60) 215 216 #define GTMX_Spacing (GT_TagBase + 61) 217 218 #define GTMN_FullMenu (GT_TagBase + 62) 219 220 #define GTMN_SecondaryError (GT_TagBase + 63) 221 222 #define GT_Underscore (GT_TagBase + 64) 223 224 #define GTMN_Checkmark (GT_TagBase + 65) 225 #define GTMN_AmigaKey (GT_TagBase + 66) 226 #define GTMN_NewLookMenus (GT_TagBase + 67) 227 228 #define GTCB_Scaled (GT_TagBase + 68) 229 #define GTMX_Scaled (GT_TagBase + 69) 230 231 #define GTPA_NumColors (GT_TagBase + 70) 232 233 #define GTMX_TitlePlace (GT_TagBase + 71) 234 235 #define GTTX_FrontPen (GT_TagBase + 72) 236 #define GTTX_BackPen (GT_TagBase + 73) 237 #define GTTX_Justification (GT_TagBase + 74) 238 239 #define GTNM_FrontPen (GT_TagBase + 72) 240 #define GTNM_BackPen (GT_TagBase + 73) 241 #define GTNM_Justification (GT_TagBase + 74) 242 #define GTNM_Format (GT_TagBase + 75) 243 #define GTNM_MaxNumberLen (GT_TagBase + 76) 244 245 #define GTBB_FrameType (GT_TagBase + 77) 246 247 #define GTLV_MakeVisible (GT_TagBase + 78) 248 #define GTLV_ItemHeight (GT_TagBase + 79) 249 250 #define GTSL_MaxPixelLen (GT_TagBase + 80) 251 #define GTSL_Justification (GT_TagBase + 81) 252 253 #define GTPA_ColorTable (GT_TagBase + 82) 254 255 #define GTLV_CallBack (GT_TagBase + 83) 256 #define GTLV_MaxPen (GT_TagBase + 84) 257 258 #define GTTX_Clipped (GT_TagBase + 85) 259 #define GTNM_Clipped (GTTX_Clipped) 260 261 262 #define GTJ_LEFT 0 263 #define GTJ_RIGHT 1 264 #define GTJ_CENTER 2 265 266 267 #define BBFT_BUTTON 1 268 #define BBFT_RIDGE 2 269 #define BBFT_ICONDROPBOX 3 270 271 272 #define INTERWIDTH 8 273 #define INTERHEIGHT 4 274 275 276 #define NWAY_KIND CYCLE_KIND 277 #define NWAYIDCMP CYCLEIDCMP 278 #define GTNW_Labels GTCY_Labels 279 #define GTNW_Active GTCY_Active 280 281 282 #define GADTOOLBIT (0x8000) 283 #define GADTOOLMASK (~GADTOOLBIT) 284 285 286 #define LV_DRAW 0x202L 287 288 #define LVCB_OK 0 289 #define LVCB_UNKNOWN 1 290 291 #define LVR_NORMAL 0 292 #define LVR_SELECTED 1 293 #define LVR_NORMALDISABLED 2 294 #define LVR_SELECTEDDISABLED 8 295 296 struct LVDrawMsg 297 { 298 ULONG lvdm_MethodID; 299 struct RastPort *lvdm_RastPort; 300 struct DrawInfo *lvdm_DrawInfo; 301 struct Rectangle lvdm_Bounds; 302 ULONG lvdm_State; 303 }; 304 305 306 #pragma pack() 307 308 #endif /* LIBRARIES_GADTOOLS_H */