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

  1. #ifndef INTUITION_INTUITION_H
  2. #define INTUITION_INTUITION_H TRUE
  3. /*
  4. ** $Filename: intuition/intuition.h $
  5. ** $Release: 2.04 Includes, V37.4 $
  6. ** $Revision: 36.51 $
  7. ** $Date: 91/03/28 $
  8. **
  9. ** Interface definitions for Intuition applications.
  10. **
  11. ** (C) Copyright 1985-1991 Commodore-Amiga, Inc.
  12. ** All Rights Reserved
  13. */
  14.  
  15. #ifndef EXEC_TYPES_H
  16. #include <exec/types.h>
  17. #endif
  18.  
  19. #ifndef GRAPHICS_GFX_H
  20. #include <graphics/gfx.h>
  21. #endif
  22.  
  23. #ifndef GRAPHICS_CLIP_H
  24. #include <graphics/clip.h>
  25. #endif
  26.  
  27. #ifndef GRAPHICS_VIEW_H
  28. #include <graphics/view.h>
  29. #endif
  30.  
  31. #ifndef GRAPHICS_RASTPORT_H
  32. #include <graphics/rastport.h>
  33. #endif
  34.  
  35. #ifndef GRAPHICS_LAYERS_H
  36. #include <graphics/layers.h>
  37. #endif
  38.  
  39. #ifndef GRAPHICS_TEXT_H
  40. #include <graphics/text.h>
  41. #endif
  42.  
  43. #ifndef EXEC_PORTS_H
  44. #include <exec/ports.h>
  45. #endif
  46.  
  47. #ifndef DEVICES_INPUTEVENT_H
  48. #include <devices/inputevent.h>
  49. #endif
  50.  
  51. #ifndef UTILITY_TAGITEM_H
  52. #include <utility/tagitem.h>
  53. #endif
  54.  
  55.  
  56.  
  57.  
  58.  
  59.  
  60. struct Menu
  61. {
  62.  struct Menu *NextMenu; 
  63.  WORD LeftEdge, TopEdge; 
  64.  WORD Width, Height; 
  65.  UWORD Flags; 
  66.  BYTE *MenuName; 
  67.  struct MenuItem *FirstItem; 
  68.  
  69.  
  70.  WORD JazzX, JazzY, BeatX, BeatY;
  71. };
  72.  
  73.  
  74.  
  75. #define MENUENABLED 0x0001 
  76.  
  77.  
  78. #define MIDRAWN 0x0100 
  79.  
  80.  
  81.  
  82.  
  83.  
  84.  
  85.  
  86.  
  87.  
  88. struct MenuItem
  89. {
  90.  struct MenuItem *NextItem; 
  91.  WORD LeftEdge, TopEdge; 
  92.  WORD Width, Height; 
  93.  UWORD Flags; 
  94.  
  95.  LONG MutualExclude; 
  96.  
  97.  APTR ItemFill; 
  98.  
  99.  
  100.  APTR SelectFill; 
  101.  
  102.  BYTE Command; 
  103.  
  104.  struct MenuItem *SubItem; 
  105.  
  106.  
  107.  UWORD NextSelect;
  108. };
  109.  
  110.  
  111.  
  112. #define CHECKIT 0x0001 
  113. #define ITEMTEXT 0x0002 
  114. #define COMMSEQ 0x0004 
  115. #define MENUTOGGLE 0x0008 
  116. #define ITEMENABLED 0x0010 
  117.  
  118.  
  119. #define HIGHFLAGS 0x00C0 
  120. #define HIGHIMAGE 0x0000 
  121. #define HIGHCOMP 0x0040 
  122. #define HIGHBOX 0x0080 
  123. #define HIGHNONE 0x00C0 
  124.  
  125.  
  126. #define CHECKED 0x0100 
  127.  
  128.  
  129. #define ISDRAWN 0x1000 
  130. #define HIGHITEM 0x2000 
  131. #define MENUTOGGLED 0x4000 
  132.  
  133.  
  134.  
  135.  
  136.  
  137.  
  138.  
  139.  
  140. struct Requester
  141. {
  142.  struct Requester *OlderRequest;
  143.  WORD LeftEdge, TopEdge; 
  144.  WORD Width, Height; 
  145.  WORD RelLeft, RelTop; 
  146.  
  147.  struct Gadget *ReqGadget; 
  148.  struct Border *ReqBorder; 
  149.  struct IntuiText *ReqText; 
  150.  UWORD Flags; 
  151.  
  152.  
  153.  UBYTE BackFill;
  154.  
  155.  struct Layer *ReqLayer;
  156.  
  157.  UBYTE ReqPad1[32];
  158.  
  159.  
  160.  struct BitMap *ImageBMap; 
  161.  struct Window *RWindow; 
  162.  
  163.  struct Image *ReqImage; 
  164.  
  165.  UBYTE ReqPad2[32];
  166. };
  167.  
  168.  
  169.  
  170. #define POINTREL 0x0001
  171.  
  172. #define PREDRAWN 0x0002
  173.  
  174. #define NOISYREQ 0x0004
  175.  
  176. #define SIMPLEREQ 0x0010
  177.  
  178.  
  179.  
  180. #define USEREQIMAGE 0x0020
  181.  
  182. #define NOREQBACKFILL 0x0040
  183.  
  184.  
  185.  
  186.  
  187. #define REQOFFWINDOW 0x1000 
  188. #define REQACTIVE 0x2000 
  189. #define SYSREQUEST 0x4000 
  190. #define DEFERREFRESH 0x8000 
  191.  
  192.  
  193.  
  194.  
  195.  
  196.  
  197.  
  198.  
  199.  
  200. struct Gadget
  201. {
  202.  struct Gadget *NextGadget; 
  203.  
  204.  WORD LeftEdge, TopEdge; 
  205.  WORD Width, Height; 
  206.  
  207.  UWORD Flags; 
  208.  
  209.  UWORD Activation; 
  210.  
  211.  UWORD GadgetType; 
  212.  
  213.  
  214.  APTR GadgetRender;
  215.  
  216.  
  217.  APTR SelectRender;
  218.  
  219.  struct IntuiText *GadgetText; 
  220.  
  221.  
  222.  LONG MutualExclude; 
  223.  
  224.  
  225.  APTR SpecialInfo;
  226.  
  227.  UWORD GadgetID; 
  228.  APTR UserData; 
  229. };
  230.  
  231.  
  232.  
  233.  
  234. #define GFLG_GADGHIGHBITS 0x0003
  235. #define GFLG_GADGHCOMP 0x0000 
  236. #define GFLG_GADGHBOX 0x0001 
  237. #define GFLG_GADGHIMAGE 0x0002 
  238. #define GFLG_GADGHNONE 0x0003 
  239.  
  240. #define GFLG_GADGIMAGE 0x0004 
  241.  
  242.  
  243. #define GFLG_RELBOTTOM 0x0008 
  244. #define GFLG_RELRIGHT 0x0010 
  245. #define GFLG_RELWIDTH 0x0020 
  246. #define GFLG_RELHEIGHT 0x0040 
  247.  
  248. #define GFLG_SELECTED 0x0080 
  249.  
  250.  
  251. #define GFLG_DISABLED 0x0100
  252.  
  253.  
  254.  
  255. #define GFLG_LABELMASK 0x3000
  256. #define GFLG_LABELITEXT 0x0000 
  257. #define GFLG_LABELSTRING 0x1000 
  258. #define GFLG_LABELIMAGE 0x2000 
  259.  
  260.  
  261. #define GFLG_TABCYCLE 0x0200 
  262.  
  263. #define GFLG_STRINGEXTEND 0x0400 
  264.  
  265.  
  266.  
  267. #define GACT_RELVERIFY 0x0001
  268.  
  269.  
  270. #define GACT_IMMEDIATE 0x0002
  271.  
  272.  
  273. #define GACT_ENDGADGET 0x0004
  274.  
  275.  
  276. #define GACT_FOLLOWMOUSE 0x0008
  277.  
  278.  
  279. #define GACT_RIGHTBORDER 0x0010
  280. #define GACT_LEFTBORDER 0x0020
  281. #define GACT_TOPBORDER 0x0040
  282. #define GACT_BOTTOMBORDER 0x0080
  283. #define GACT_BORDERSNIFF 0x8000 
  284.  
  285. #define GACT_TOGGLESELECT 0x0100 
  286. #define GACT_BOOLEXTEND 0x2000 
  287.  
  288.  
  289. #define GACT_STRINGLEFT 0x0000 
  290. #define GACT_STRINGCENTER 0x0200
  291. #define GACT_STRINGRIGHT 0x0400
  292. #define GACT_LONGINT 0x0800 
  293. #define GACT_ALTKEYMAP 0x1000 
  294. #define GACT_STRINGEXTEND 0x2000 
  295.  
  296.  
  297. #define GACT_ACTIVEGADGET 0x4000 
  298.  
  299.  
  300.  
  301.  
  302.  
  303. #define GTYP_GADGETTYPE 0xFC00 
  304. #define GTYP_SYSGADGET 0x8000 
  305. #define GTYP_SCRGADGET 0x4000 
  306. #define GTYP_GZZGADGET 0x2000 
  307. #define GTYP_REQGADGET 0x1000 
  308.  
  309. #define GTYP_SIZING 0x0010
  310. #define GTYP_WDRAGGING 0x0020
  311. #define GTYP_SDRAGGING 0x0030
  312. #define GTYP_WUPFRONT 0x0040
  313. #define GTYP_SUPFRONT 0x0050
  314. #define GTYP_WDOWNBACK 0x0060
  315. #define GTYP_SDOWNBACK 0x0070
  316. #define GTYP_CLOSE 0x0080
  317.  
  318. #define GTYP_BOOLGADGET 0x0001
  319. #define GTYP_GADGET0002 0x0002
  320. #define GTYP_PROPGADGET 0x0003
  321. #define GTYP_STRGADGET 0x0004
  322. #define GTYP_CUSTOMGADGET 0x0005
  323. #define GTYP_GTYPEMASK 0x0007 
  324.  
  325.  
  326.  
  327.  
  328.  
  329.  
  330.  
  331. struct BoolInfo
  332. {
  333.  UWORD Flags; 
  334.  UWORD *Mask; 
  335.  ULONG Reserved; 
  336. };
  337.  
  338.  
  339. #define BOOLMASK 0x0001 
  340.  
  341.  
  342.  
  343.  
  344.  
  345. struct PropInfo
  346. {
  347.  UWORD Flags; 
  348.  
  349.  
  350.  UWORD HorizPot; 
  351.  UWORD VertPot; 
  352.  
  353.  
  354.  UWORD HorizBody; 
  355.  UWORD VertBody; 
  356.  
  357.  
  358.  UWORD CWidth; 
  359.  UWORD CHeight; 
  360.  UWORD HPotRes, VPotRes; 
  361.  UWORD LeftBorder; 
  362.  UWORD TopBorder; 
  363. };
  364.  
  365.  
  366.  
  367. #define AUTOKNOB 0x0001 
  368.  
  369.  
  370. #define FREEHORIZ 0x0002 
  371. #define FREEVERT 0x0004 
  372. #define PROPBORDERLESS 0x0008 
  373. #define KNOBHIT 0x0100 
  374. #define PROPNEWLOOK 0x0010 
  375.  
  376. #define KNOBHMIN 6 
  377. #define KNOBVMIN 4 
  378. #define MAXBODY 0xFFFF 
  379. #define MAXPOT 0xFFFF 
  380.  
  381.  
  382.  
  383.  
  384.  
  385.  
  386. struct StringInfo
  387. {
  388.  
  389.  UBYTE *Buffer; 
  390.  UBYTE *UndoBuffer; 
  391.  WORD BufferPos; 
  392.  WORD MaxChars; 
  393.  WORD DispPos; 
  394.  
  395.  
  396.  WORD UndoPos; 
  397.  WORD NumChars; 
  398.  WORD DispCount; 
  399.  WORD CLeft, CTop; 
  400.  
  401.  
  402.  
  403.  struct StringExtend *Extension;
  404.  
  405.  
  406.  LONG LongInt;
  407.  
  408.  
  409.  struct KeyMap *AltKeyMap;
  410. };
  411.  
  412.  
  413.  
  414.  
  415.  
  416. struct IntuiText
  417. {
  418.  UBYTE FrontPen, BackPen; 
  419.  UBYTE DrawMode; 
  420.  WORD LeftEdge; 
  421.  WORD TopEdge; 
  422.  struct TextAttr *ITextFont; 
  423.  UBYTE *IText; 
  424.  struct IntuiText *NextText; 
  425. };
  426.  
  427.  
  428.  
  429.  
  430.  
  431.  
  432.  
  433.  
  434.  
  435.  
  436. struct Border
  437. {
  438.  WORD LeftEdge, TopEdge; 
  439.  UBYTE FrontPen, BackPen; 
  440.  UBYTE DrawMode; 
  441.  BYTE Count; 
  442.  WORD *XY; 
  443.  struct Border *NextBorder; 
  444. };
  445.  
  446.  
  447.  
  448.  
  449.  
  450.  
  451.  
  452.  
  453.  
  454.  
  455. struct Image
  456. {
  457.  WORD LeftEdge; 
  458.  WORD TopEdge; 
  459.  WORD Width; 
  460.  WORD Height;
  461.  WORD Depth; 
  462.  UWORD *ImageData; 
  463.  
  464.  
  465.  UBYTE PlanePick, PlaneOnOff;
  466.  
  467.  
  468.  struct Image *NextImage;
  469. };
  470.  
  471.  
  472.  
  473.  
  474.  
  475.  
  476.  
  477.  
  478.  
  479. struct IntuiMessage
  480. {
  481.  struct Message ExecMessage;
  482.  
  483.  
  484.  ULONG Class;
  485.  
  486.  
  487.  UWORD Code;
  488.  
  489.  
  490.  UWORD Qualifier;
  491.  
  492.  
  493.  APTR IAddress;
  494.  
  495.  
  496.  WORD MouseX, MouseY;
  497.  
  498.  
  499.  ULONG Seconds, Micros;
  500.  
  501.  
  502.  struct Window *IDCMPWindow;
  503.  
  504.  
  505.  struct IntuiMessage *SpecialLink;
  506. };
  507.  
  508.  
  509.  
  510.  
  511. #define IDCMP_SIZEVERIFY 0x00000001
  512. #define IDCMP_NEWSIZE 0x00000002
  513. #define IDCMP_REFRESHWINDOW 0x00000004
  514. #define IDCMP_MOUSEBUTTONS 0x00000008
  515. #define IDCMP_MOUSEMOVE 0x00000010
  516. #define IDCMP_GADGETDOWN 0x00000020
  517. #define IDCMP_GADGETUP 0x00000040
  518. #define IDCMP_REQSET 0x00000080
  519. #define IDCMP_MENUPICK 0x00000100
  520. #define IDCMP_CLOSEWINDOW 0x00000200
  521. #define IDCMP_RAWKEY 0x00000400
  522. #define IDCMP_REQVERIFY 0x00000800
  523. #define IDCMP_REQCLEAR 0x00001000
  524. #define IDCMP_MENUVERIFY 0x00002000
  525. #define IDCMP_NEWPREFS 0x00004000
  526. #define IDCMP_DISKINSERTED 0x00008000
  527. #define IDCMP_DISKREMOVED 0x00010000
  528. #define IDCMP_WBENCHMESSAGE 0x00020000 
  529. #define IDCMP_ACTIVEWINDOW 0x00040000
  530. #define IDCMP_INACTIVEWINDOW 0x00080000
  531. #define IDCMP_DELTAMOVE 0x00100000
  532. #define IDCMP_VANILLAKEY 0x00200000
  533. #define IDCMP_INTUITICKS 0x00400000
  534.  
  535. #define IDCMP_IDCMPUPDATE 0x00800000 
  536.  
  537. #define IDCMP_MENUHELP 0x01000000 
  538.  
  539. #define IDCMP_CHANGEWINDOW 0x02000000 
  540.  
  541.  
  542.  
  543.  
  544. #define IDCMP_LONELYMESSAGE 0x80000000
  545.  
  546.  
  547.  
  548.  
  549. #define MENUHOT 0x0001 
  550. #define MENUCANCEL 0x0002 
  551. #define MENUWAITING 0x0003 
  552.  
  553.  
  554. #define OKOK MENUHOT 
  555. #define OKABORT 0x0004 
  556. #define OKCANCEL MENUCANCEL 
  557.  
  558.  
  559. #define WBENCHOPEN 0x0001
  560. #define WBENCHCLOSE 0x0002
  561.  
  562.  
  563.  
  564. struct IBox {
  565.  WORD Left;
  566.  WORD Top;
  567.  WORD Width;
  568.  WORD Height;
  569.  };
  570.  
  571.  
  572.  
  573.  
  574.  
  575.  
  576. struct Window
  577. {
  578.  struct Window *NextWindow; 
  579.  
  580.  WORD LeftEdge, TopEdge; 
  581.  WORD Width, Height; 
  582.  
  583.  WORD MouseY, MouseX; 
  584.  
  585.  WORD MinWidth, MinHeight; 
  586.  UWORD MaxWidth, MaxHeight; 
  587.  
  588.  ULONG Flags; 
  589.  
  590.  struct Menu *MenuStrip; 
  591.  
  592.  UBYTE *Title; 
  593.  
  594.  struct Requester *FirstRequest; 
  595.  
  596.  struct Requester *DMRequest; 
  597.  
  598.  WORD ReqCount; 
  599.  
  600.  struct Screen *WScreen; 
  601.  struct RastPort *RPort; 
  602.  
  603.  
  604.  BYTE BorderLeft, BorderTop, BorderRight, BorderBottom;
  605.  struct RastPort *BorderRPort;
  606.  
  607.  
  608.  
  609.  struct Gadget *FirstGadget;
  610.  
  611.  
  612.  struct Window *Parent, *Descendant;
  613.  
  614.  
  615.  UWORD *Pointer; 
  616.  BYTE PtrHeight; 
  617.  BYTE PtrWidth; 
  618.  BYTE XOffset, YOffset; 
  619.  
  620.  
  621.  ULONG IDCMPFlags; 
  622.  struct MsgPort *UserPort, *WindowPort;
  623.  struct IntuiMessage *MessageKey;
  624.  
  625.  UBYTE DetailPen, BlockPen; 
  626.  
  627.  
  628.  struct Image *CheckMark;
  629.  
  630.  UBYTE *ScreenTitle; 
  631.  
  632.  
  633.  WORD GZZMouseX;
  634.  WORD GZZMouseY;
  635.  
  636.  WORD GZZWidth;
  637.  WORD GZZHeight;
  638.  
  639.  UBYTE *ExtData;
  640.  
  641.  BYTE *UserData; 
  642.  
  643.  
  644.  struct Layer *WLayer;
  645.  
  646.  
  647.  struct TextFont *IFont;
  648.  
  649.  
  650.  ULONG MoreFlags;
  651.  
  652.  
  653. };
  654.  
  655.  
  656.  
  657. #define WFLG_SIZEGADGET 0x00000001 
  658. #define WFLG_DRAGBAR 0x00000002 
  659. #define WFLG_DEPTHGADGET 0x00000004 
  660. #define WFLG_CLOSEGADGET 0x00000008 
  661.  
  662. #define WFLG_SIZEBRIGHT 0x00000010 
  663. #define WFLG_SIZEBBOTTOM 0x00000020 
  664.  
  665.  
  666.  
  667. #define WFLG_REFRESHBITS 0x000000C0
  668. #define WFLG_SMART_REFRESH 0x00000000
  669. #define WFLG_SIMPLE_REFRESH 0x00000040
  670. #define WFLG_SUPER_BITMAP 0x00000080
  671. #define WFLG_OTHER_REFRESH 0x000000C0
  672.  
  673. #define WFLG_BACKDROP 0x00000100 
  674.  
  675. #define WFLG_REPORTMOUSE 0x00000200 
  676.  
  677. #define WFLG_GIMMEZEROZERO 0x00000400 
  678.  
  679. #define WFLG_BORDERLESS 0x00000800 
  680.  
  681. #define WFLG_ACTIVATE 0x00001000 
  682.  
  683.  
  684.  
  685. #define WFLG_WINDOWACTIVE 0x00002000 
  686. #define WFLG_INREQUEST 0x00004000 
  687. #define WFLG_MENUSTATE 0x00008000 
  688.  
  689.  
  690. #define WFLG_RMBTRAP 0x00010000 
  691. #define WFLG_NOCAREREFRESH 0x00020000 
  692.  
  693.  
  694. #define WFLG_WINDOWREFRESH 0x01000000 
  695. #define WFLG_WBENCHWINDOW 0x02000000 
  696. #define WFLG_WINDOWTICKED 0x04000000 
  697.  
  698.  
  699.  
  700. #define WFLG_NW_EXTENDED 0x00040000 
  701.  
  702.  
  703.  
  704. #define WFLG_VISITOR 0x08000000 
  705. #define WFLG_ZOOMED 0x10000000 
  706. #define WFLG_HASZOOM 0x20000000 
  707.  
  708.  
  709. #define DEFAULTMOUSEQUEUE (5) 
  710.  
  711.  
  712.  
  713.  
  714.  
  715.  
  716.  
  717.  
  718.  
  719.  
  720. struct NewWindow
  721. {
  722.  WORD LeftEdge, TopEdge; 
  723.  WORD Width, Height; 
  724.  
  725.  UBYTE DetailPen, BlockPen; 
  726.  
  727.  ULONG IDCMPFlags; 
  728.  
  729.  ULONG Flags; 
  730.  
  731.  
  732.  struct Gadget *FirstGadget;
  733.  
  734.  
  735.  struct Image *CheckMark;
  736.  
  737.  UBYTE *Title; 
  738.  
  739.  
  740.  struct Screen *Screen;
  741.  
  742.  
  743.  struct BitMap *BitMap;
  744.  
  745.  
  746.  WORD MinWidth, MinHeight; 
  747.  UWORD MaxWidth, MaxHeight; 
  748.  
  749.  
  750.  UWORD Type;
  751.  
  752. };
  753.  
  754.  
  755. struct ExtNewWindow
  756. {
  757.  WORD LeftEdge, TopEdge;
  758.  WORD Width, Height;
  759.  
  760.  UBYTE DetailPen, BlockPen;
  761.  ULONG IDCMPFlags;
  762.  ULONG Flags;
  763.  struct Gadget *FirstGadget;
  764.  
  765.  struct Image *CheckMark;
  766.  
  767.  UBYTE *Title;
  768.  struct Screen *Screen;
  769.  struct BitMap *BitMap;
  770.  
  771.  WORD MinWidth, MinHeight;
  772.  UWORD MaxWidth, MaxHeight;
  773.  
  774.  
  775.  UWORD Type;
  776.  
  777.  
  778.  struct TagItem *Extension;
  779. };
  780.  
  781.  
  782.  
  783. #define WA_Dummy (TAG_USER + 99) 
  784.  
  785.  
  786. #define WA_Left (WA_Dummy + 0x01)
  787. #define WA_Top (WA_Dummy + 0x02)
  788. #define WA_Width (WA_Dummy + 0x03)
  789. #define WA_Height (WA_Dummy + 0x04)
  790. #define WA_DetailPen (WA_Dummy + 0x05)
  791. #define WA_BlockPen (WA_Dummy + 0x06)
  792. #define WA_IDCMP (WA_Dummy + 0x07)
  793.  
  794. #define WA_Flags (WA_Dummy + 0x08)
  795. #define WA_Gadgets (WA_Dummy + 0x09)
  796. #define WA_Checkmark (WA_Dummy + 0x0A)
  797. #define WA_Title (WA_Dummy + 0x0B)
  798.  
  799. #define WA_ScreenTitle (WA_Dummy + 0x0C)
  800. #define WA_CustomScreen (WA_Dummy + 0x0D)
  801. #define WA_SuperBitMap (WA_Dummy + 0x0E)
  802.  
  803. #define WA_MinWidth (WA_Dummy + 0x0F)
  804. #define WA_MinHeight (WA_Dummy + 0x10)
  805. #define WA_MaxWidth (WA_Dummy + 0x11)
  806. #define WA_MaxHeight (WA_Dummy + 0x12)
  807.  
  808.  
  809.  
  810. #define WA_InnerWidth (WA_Dummy + 0x13)
  811. #define WA_InnerHeight (WA_Dummy + 0x14)
  812.  
  813.  
  814. #define WA_PubScreenName (WA_Dummy + 0x15)
  815.  
  816. #define WA_PubScreen (WA_Dummy + 0x16)
  817.  
  818. #define WA_PubScreenFallBack (WA_Dummy + 0x17)
  819.  
  820. #define WA_WindowName (WA_Dummy + 0x18)
  821.  
  822. #define WA_Colors (WA_Dummy + 0x19)
  823.  
  824. #define WA_Zoom (WA_Dummy + 0x1A)
  825.  
  826. #define WA_MouseQueue (WA_Dummy + 0x1B)
  827.  
  828. #define WA_BackFill (WA_Dummy + 0x1C)
  829.  
  830. #define WA_RptQueue (WA_Dummy + 0x1D)
  831.  
  832.  
  833.  
  834. #define WA_SizeGadget (WA_Dummy + 0x1E)
  835. #define WA_DragBar (WA_Dummy + 0x1F)
  836. #define WA_DepthGadget (WA_Dummy + 0x20)
  837. #define WA_CloseGadget (WA_Dummy + 0x21)
  838. #define WA_Backdrop (WA_Dummy + 0x22)
  839. #define WA_ReportMouse (WA_Dummy + 0x23)
  840. #define WA_NoCareRefresh (WA_Dummy + 0x24)
  841. #define WA_Borderless (WA_Dummy + 0x25)
  842. #define WA_Activate (WA_Dummy + 0x26)
  843. #define WA_RMBTrap (WA_Dummy + 0x27)
  844. #define WA_WBenchWindow (WA_Dummy + 0x28) 
  845. #define WA_SimpleRefresh (WA_Dummy + 0x29)
  846.  
  847. #define WA_SmartRefresh (WA_Dummy + 0x2A)
  848.  
  849. #define WA_SizeBRight (WA_Dummy + 0x2B)
  850. #define WA_SizeBBottom (WA_Dummy + 0x2C)
  851.  
  852.  
  853. #define WA_AutoAdjust (WA_Dummy + 0x2D)
  854.  
  855.  
  856. #define WA_GimmeZeroZero (WA_Dummy + 0x2E)
  857.  
  858.  
  859.  
  860. #define WA_MenuHelp (WA_Dummy + 0x2F)
  861.  
  862.  
  863.  
  864.  
  865. #ifndef INTUITION_SCREENS_H
  866. #include <intuition/screens.h>
  867. #endif
  868.  
  869. #ifndef INTUITION_PREFERENCES_H
  870. #include <intuition/preferences.h>
  871. #endif
  872.  
  873.  
  874.  
  875.  
  876.  
  877. struct Remember
  878. {
  879.  struct Remember *NextRemember;
  880.  ULONG RememberSize;
  881.  UBYTE *Memory;
  882. };
  883.  
  884.  
  885.  
  886.  
  887. struct ColorSpec {
  888.  WORD ColorIndex; 
  889.  UWORD Red; 
  890.  UWORD Green; 
  891.  UWORD Blue; 
  892. };
  893.  
  894.  
  895.  
  896.  
  897. struct EasyStruct {
  898.  ULONG es_StructSize; 
  899.  ULONG es_Flags; 
  900.  UBYTE *es_Title; 
  901.  UBYTE *es_TextFormat; 
  902.  UBYTE *es_GadgetFormat; 
  903. };
  904.  
  905.  
  906.  
  907.  
  908.  
  909.  
  910.  
  911.  
  912. #define MENUNUM(n) (n & 0x1F)
  913. #define ITEMNUM(n) ((n >> 5) & 0x003F)
  914. #define SUBNUM(n) ((n >> 11) & 0x001F)
  915.  
  916. #define SHIFTMENU(n) (n & 0x1F)
  917. #define SHIFTITEM(n) ((n & 0x3F) << 5)
  918. #define SHIFTSUB(n) ((n & 0x1F) << 11)
  919.  
  920. #define FULLMENUNUM( menu, item, sub ) \
  921.  ( SHIFTSUB(sub) | SHIFTITEM(item) | SHIFTMENU(menu) )
  922.  
  923. #define SRBNUM(n) (0x08 - (n >> 4)) 
  924. #define SWBNUM(n) (0x08 - (n & 0x0F))
  925. #define SSBNUM(n) (0x01 + (n >> 4)) 
  926. #define SPARNUM(n) (n >> 4) 
  927. #define SHAKNUM(n) (n & 0x0F) 
  928.  
  929.  
  930.  
  931. #define NOMENU 0x001F
  932. #define NOITEM 0x003F
  933. #define NOSUB 0x001F
  934. #define MENUNULL 0xFFFF
  935.  
  936.  
  937.  
  938. #define FOREVER for(;;)
  939. #define SIGN(x) ( ((x) > 0) - ((x) < 0) )
  940. #define NOT !
  941.  
  942.  
  943. #define CHECKWIDTH 19
  944. #define COMMWIDTH 27
  945. #define LOWCHECKWIDTH 13
  946. #define LOWCOMMWIDTH 16
  947.  
  948.  
  949.  
  950. #define ALERT_TYPE 0x80000000
  951. #define RECOVERY_ALERT 0x00000000 
  952. #define DEADEND_ALERT 0x80000000 
  953.  
  954.  
  955.  
  956. #define AUTOFRONTPEN 0
  957. #define AUTOBACKPEN 1
  958. #define AUTODRAWMODE JAM2
  959. #define AUTOLEFTEDGE 6
  960. #define AUTOTOPEDGE 3
  961. #define AUTOITEXTFONT NULL
  962. #define AUTONEXTTEXT NULL
  963.  
  964.  
  965.  
  966. #define SELECTUP (IECODE_LBUTTON | IECODE_UP_PREFIX)
  967. #define SELECTDOWN (IECODE_LBUTTON)
  968. #define MENUUP (IECODE_RBUTTON | IECODE_UP_PREFIX)
  969. #define MENUDOWN (IECODE_RBUTTON)
  970. #define MIDDLEDOWN (IECODE_MBUTTON)
  971. #define MIDDLEUP (IECODE_MBUTTON | IECODE_UP_PREFIX)
  972. #define ALTLEFT (IEQUALIFIER_LALT)
  973. #define ALTRIGHT (IEQUALIFIER_RALT)
  974. #define AMIGALEFT (IEQUALIFIER_LCOMMAND)
  975. #define AMIGARIGHT (IEQUALIFIER_RCOMMAND)
  976. #define AMIGAKEYS (AMIGALEFT | AMIGARIGHT)
  977.  
  978. #define CURSORUP 0x4C
  979. #define CURSORLEFT 0x4F
  980. #define CURSORRIGHT 0x4E
  981. #define CURSORDOWN 0x4D
  982. #define KEYCODE_Q 0x10
  983. #define KEYCODE_Z 0x31
  984. #define KEYCODE_X 0x32
  985. #define KEYCODE_V 0x34
  986. #define KEYCODE_B 0x35
  987. #define KEYCODE_N 0x36
  988. #define KEYCODE_M 0x37
  989. #define KEYCODE_LESS 0x38
  990. #define KEYCODE_GREATER 0x39
  991.  
  992.  
  993. #ifndef INTUITION_IOBSOLETE_H
  994. #include <intuition/iobsolete.h>
  995. #endif
  996.  
  997. #endif
  998.