home *** CD-ROM | disk | FTP | other *** search
/ Amiga ISO Collection / AmigaUtilCD2.iso / Programming / C / BC_DICE2.DMS / in.adf / INCLUDE / libraries / gadtools.h < prev    next >
Encoding:
C/C++ Source or Header  |  1995-01-10  |  4.8 KB  |  265 lines

  1. #ifndef LIBRARIES_GADTOOLS_H
  2. #define LIBRARIES_GADTOOLS_H
  3. /*
  4. ** $Filename: libraries/gadtools.h $
  5. ** $Release: 2.04 Includes, V37.4 $
  6. ** $Revision: 36.18 $
  7. ** $Date: 91/10/09 $
  8. **
  9. ** gadtools.library definitions
  10. **
  11. ** (C) Copyright 1989-1991 Commodore-Amiga, Inc.
  12. ** All Rights Reserved
  13. */
  14.  
  15.  
  16.  
  17. #ifndef EXEC_TYPES_H
  18. #include <exec/types.h>
  19. #endif
  20.  
  21. #ifndef UTILITY_TAGITEM_H
  22. #include <utility/tagitem.h>
  23. #endif
  24.  
  25. #ifndef INTUITION_INTUITION_H
  26. #include <intuition/intuition.h>
  27. #endif
  28.  
  29.  
  30.  
  31.  
  32.  
  33. #define GENERIC_KIND 0
  34. #define BUTTON_KIND 1
  35. #define CHECKBOX_KIND 2
  36. #define INTEGER_KIND 3
  37. #define LISTVIEW_KIND 4
  38. #define MX_KIND 5
  39. #define NUMBER_KIND 6
  40. #define CYCLE_KIND 7
  41. #define PALETTE_KIND 8
  42. #define SCROLLER_KIND 9
  43.  
  44. #define SLIDER_KIND 11
  45. #define STRING_KIND 12
  46. #define TEXT_KIND 13
  47.  
  48. #define NUM_KINDS 14
  49.  
  50.  
  51.  
  52.  
  53. #define GADTOOLBIT (0x8000)
  54.  
  55. #define GADTOOLMASK (~GADTOOLBIT)
  56.  
  57.  
  58.  
  59.  
  60.  
  61. #define ARROWIDCMP (IDCMP_GADGETUP | IDCMP_GADGETDOWN |\
  62.  IDCMP_INTUITICKS | IDCMP_MOUSEBUTTONS)
  63.  
  64. #define BUTTONIDCMP (IDCMP_GADGETUP)
  65. #define CHECKBOXIDCMP (IDCMP_GADGETUP)
  66. #define INTEGERIDCMP (IDCMP_GADGETUP)
  67. #define LISTVIEWIDCMP (IDCMP_GADGETUP | IDCMP_GADGETDOWN |\
  68.  IDCMP_MOUSEMOVE | ARROWIDCMP)
  69.  
  70. #define MXIDCMP (IDCMP_GADGETDOWN)
  71. #define NUMBERIDCMP (NULL)
  72. #define CYCLEIDCMP (IDCMP_GADGETUP)
  73. #define PALETTEIDCMP (IDCMP_GADGETUP)
  74.  
  75.  
  76. #define SCROLLERIDCMP (IDCMP_GADGETUP | IDCMP_GADGETDOWN | IDCMP_MOUSEMOVE)
  77. #define SLIDERIDCMP (IDCMP_GADGETUP | IDCMP_GADGETDOWN | IDCMP_MOUSEMOVE)
  78. #define STRINGIDCMP (IDCMP_GADGETUP)
  79.  
  80. #define TEXTIDCMP (NULL)
  81.  
  82.  
  83.  
  84.  
  85. #define INTERWIDTH 8
  86. #define INTERHEIGHT 4
  87.  
  88.  
  89.  
  90.  
  91.  
  92. struct NewGadget
  93.  {
  94.  WORD ng_LeftEdge, ng_TopEdge; 
  95.  WORD ng_Width, ng_Height; 
  96.  UBYTE *ng_GadgetText; 
  97.  struct TextAttr *ng_TextAttr; 
  98.  UWORD ng_GadgetID; 
  99.  ULONG ng_Flags; 
  100.  APTR ng_VisualInfo; 
  101.  APTR ng_UserData; 
  102.  };
  103.  
  104.  
  105.  
  106.  
  107. #define PLACETEXT_LEFT 0x0001 
  108. #define PLACETEXT_RIGHT 0x0002 
  109. #define PLACETEXT_ABOVE 0x0004 
  110. #define PLACETEXT_BELOW 0x0008 
  111. #define PLACETEXT_IN 0x0010 
  112.  
  113. #define NG_HIGHLABEL 0x0020 
  114.  
  115.  
  116.  
  117.  
  118.  
  119. struct NewMenu
  120.  {
  121.  UBYTE nm_Type; 
  122.  
  123.  STRPTR nm_Label; 
  124.  STRPTR nm_CommKey; 
  125.  UWORD nm_Flags; 
  126.  LONG nm_MutualExclude; 
  127.  APTR nm_UserData; 
  128.  };
  129.  
  130.  
  131. #define NM_TITLE 1
  132. #define NM_ITEM 2
  133. #define NM_SUB 3
  134. #define NM_END 0
  135.  
  136. #define MENU_IMAGE 128
  137.  
  138.  
  139. #define IM_ITEM (NM_ITEM | MENU_IMAGE)
  140. #define IM_SUB (NM_SUB | MENU_IMAGE)
  141.  
  142.  
  143. #define NM_BARLABEL ((STRPTR)-1)
  144.  
  145.  
  146.  
  147. #define NM_MENUDISABLED MENUENABLED
  148. #define NM_ITEMDISABLED ITEMENABLED
  149.  
  150.  
  151. #define NM_FLAGMASK (~(COMMSEQ | ITEMTEXT | HIGHFLAGS))
  152.  
  153.  
  154.  
  155.  
  156.  
  157. #define GTMENU_USERDATA(menu) (* ( (APTR *)(((struct Menu *)menu)+1) ) )
  158. #define GTMENUITEM_USERDATA(menuitem) (* ( (APTR *)(((struct MenuItem *)menuitem)+1) ) )
  159.  
  160.  
  161. #define MENU_USERDATA(menuitem) (* ( (APTR *)(menuitem+1) ) )
  162.  
  163.  
  164. #define GTMENU_TRIMMED 0x00000001 
  165. #define GTMENU_INVALID 0x00000002 
  166. #define GTMENU_NOMEM 0x00000003 
  167.  
  168.  
  169.  
  170.  
  171.  
  172. #define GT_TagBase TAG_USER + 0x80000
  173.  
  174. #define GTVI_NewWindow GT_TagBase+1 
  175. #define GTVI_NWTags GT_TagBase+2 
  176.  
  177. #define GT_Private0 GT_TagBase+3 
  178.  
  179. #define GTCB_Checked GT_TagBase+4 
  180.  
  181. #define GTLV_Top GT_TagBase+5 
  182. #define GTLV_Labels GT_TagBase+6 
  183. #define GTLV_ReadOnly GT_TagBase+7 
  184. #define GTLV_ScrollWidth GT_TagBase+8 
  185.  
  186. #define GTMX_Labels GT_TagBase+9 
  187. #define GTMX_Active GT_TagBase+10 
  188.  
  189. #define GTTX_Text GT_TagBase+11 
  190. #define GTTX_CopyText GT_TagBase+12 
  191.  
  192. #define GTNM_Number GT_TagBase+13 
  193.  
  194. #define GTCY_Labels GT_TagBase+14 
  195. #define GTCY_Active GT_TagBase+15 
  196.  
  197. #define GTPA_Depth GT_TagBase+16 
  198. #define GTPA_Color GT_TagBase+17 
  199. #define GTPA_ColorOffset GT_TagBase+18 
  200. #define GTPA_IndicatorWidth GT_TagBase+19 
  201. #define GTPA_IndicatorHeight GT_TagBase+20 
  202.  
  203. #define GTSC_Top GT_TagBase+21 
  204. #define GTSC_Total GT_TagBase+22 
  205. #define GTSC_Visible GT_TagBase+23 
  206. #define GTSC_Overlap GT_TagBase+24 
  207.  
  208.  
  209.  
  210. #define GTSL_Min GT_TagBase+38 
  211. #define GTSL_Max GT_TagBase+39 
  212. #define GTSL_Level GT_TagBase+40 
  213. #define GTSL_MaxLevelLen GT_TagBase+41 
  214. #define GTSL_LevelFormat GT_TagBase+42 
  215. #define GTSL_LevelPlace GT_TagBase+43 
  216. #define GTSL_DispFunc GT_TagBase+44 
  217.  
  218. #define GTST_String GT_TagBase+45 
  219. #define GTST_MaxChars GT_TagBase+46 
  220.  
  221. #define GTIN_Number GT_TagBase+47 
  222. #define GTIN_MaxChars GT_TagBase+48 
  223.  
  224. #define GTMN_TextAttr GT_TagBase+49 
  225. #define GTMN_FrontPen GT_TagBase+50 
  226.  
  227. #define GTBB_Recessed GT_TagBase+51 
  228.  
  229. #define GT_VisualInfo GT_TagBase+52 
  230.  
  231. #define GTLV_ShowSelected GT_TagBase+53 
  232. #define GTLV_Selected GT_TagBase+54 
  233. #define GT_Reserved1 GT_TagBase+56 
  234.  
  235. #define GTTX_Border GT_TagBase+57 
  236. #define GTNM_Border GT_TagBase+58 
  237.  
  238. #define GTSC_Arrows GT_TagBase+59 
  239.  
  240. #define GTMN_Menu GT_TagBase+60 
  241. #define GTMX_Spacing GT_TagBase+61 
  242.  
  243.  
  244. #define GTMN_FullMenu GT_TagBase+62 
  245. #define GTMN_SecondaryError GT_TagBase+63 
  246. #define GT_Underscore GT_TagBase+64 
  247. #define GTST_EditHook GT_TagBase+55 
  248.  
  249.  
  250.  
  251.  
  252. #define GT_Reserved0 GTST_EditHook
  253.  
  254.  
  255.  
  256.  
  257. #define NWAY_KIND CYCLE_KIND
  258. #define NWAYIDCMP CYCLEIDCMP
  259. #define GTNW_Labels GTCY_Labels
  260. #define GTNW_Active GTCY_Active
  261.  
  262.  
  263.  
  264. #endif 
  265.