{ 3/31/93 - changed last field of 'Gadget' }
{ 3/31/93 - changed format (looks nice but slows down compiles) }
{$ifndef INTUITION_INTUITION_H}
const INTUITION_INTUITION_H = TRUE;
{$ifndef GRAPHICS_GFX_H; include "graphics/gfx.h"; endif}
{$ifndef GRAPHICS_CLIP_H; include "graphics/clip.h"; endif}
{$ifndef GRAPHICS_VIEW_H; include "graphics/view.h"; endif}
{$ifndef GRAPHICS_RASTPORT_H; include "graphics/rastport.h"; endif}
{$ifndef GRAPHICS_LAYERS_H; include "graphics/layers.h"; endif}
{$ifndef GRAPHICS_TEXT_H; include "graphics/text.h"; endif}
{$ifndef EXEC_PORTS_H; include "exec/ports.h";endif}

const MENUENABLED = $0001;
      MIDRAWN = $0100;
      CHECKIT = $0001;
      ITEMTEXT = $0002;
      COMMSEQ = $0004;
      MENUTOGGLE = $0008;
      ITEMENABLED = $0010;
      HIGHFLAGS = $00C0;
      HIGHIMAGE = $0000;
      HIGHCOMP = $0040;
      HIGHBOX = $0080;
      HIGHNONE = $00C0;
      CHECKED = $0100;
      ISDRAWN = $1000;
      HIGHITEM = $2000;
      MENUTOGGLED = $4000;
      POINTREL = $0001;
      PREDRAWN = $0002;
      NOISYREQ = $0004;
      REQOFFWINDOW = $1000;
      REQACTIVE = $2000;
      SYSREQUEST = $4000;
      DEFERREFRESH = $8000;
      GADGHIGHBITS = $0003;
      GADGHCOMP = $0000;
      GADGHBOX = $0001;
      GADGHIMAGE = $0002;
      GADGHNONE = $0003;
      GADGIMAGE = $0004;
      GRELBOTTOM = $0008;
      GRELRIGHT = $0010;
      GRELWIDTH = $0020;
      GRELHEIGHT = $0040;
      SELECTED = $0080;
      GADGDISABLED = $0100;
      RELVERIFY = $0001;
      GADGIMMEDIATE = $0002;
      ENDGADGET = $0004;
      FOLLOWMOUSE = $0008;
      RIGHTBORDER = $0010;
      LEFTBORDER = $0020;
      TOPBORDER = $0040;
      BOTTOMBORDER = $0080;
      TOGGLESELECT = $0100;
      STRINGCENTER = $0200;
      STRINGRIGHT = $0400;
      LONGINT = $0800;
      ALTKEYMAP = $1000;
      BOOLEXTEND = $2000;
      GADGETTYPE = $FC00;
      SYSGADGET = $8000;
      SCRGADGET = $4000;
      GZZGADGET = $2000;
      REQGADGET = $1000;
      SIZING = $0010;
      WDRAGGING = $0020;
      SDRAGGING = $0030;
      WUPFRONT = $0040;
      SUPFRONT = $0050;
      WDOWNBACK = $0060;
      SDOWNBACK = $0070;
      fCLOSE = $0080;
      BOOLGADGET = $0001;
      GADGET0002 = $0002;
      PROPGADGET = $0003;
      STRGADGET = $0004;
      BOOLMASK = $0001;
      AUTOKNOB = $0001;
      FREEHORIZ = $0002;
      FREEVERT = $0004;
      PROPBORDERLESS = $0008;
      KNOBHIT = $0100;
      KNOBHMIN = 6;
      KNOBVMIN = 4;
      MAXBODY = $FFFF;
      MAXPOT = $FFFF;
      SIZEVERIFY = $00000001;
      NEWSIZE = $00000002;
      REFRESHWINDOW = $00000004;
      MOUSEBUTTONS = $00000008;
      MOUSEMOVE = $00000010;
      GADGETDOWN = $00000020;
      GADGETUP = $00000040;
      REQSET = $00000080;
      MENUPICK = $00000100;
      _CLOSEWINDOW = $00000200;
      RAWKEY = $00000400;
      REQVERIFY = $00000800;
      REQCLEAR = $00001000;
      MENUVERIFY = $00002000;
      NEWPREFS = $00004000;
      DISKINSERTED = $00008000;
      DISKREMOVED = $00010000;
      WBENCHMESSAGE = $00020000;
      ACTIVEWINDOW = $00040000;
      INACTIVEWINDOW = $00080000;
      DELTAMOVE = $00100000;
      VANILLAKEY = $00200000;
      INTUITICKS = $00400000;
      LONELYMESSAGE = $80000000;
      MENUHOT = $0001;
      MENUCANCEL = $0002;
      MENUWAITING = $0003;
      OKOK = MENUHOT;
      OKABORT = $0004;
      OKCANCEL = MENUCANCEL;
      WBENCHOPEN = $0001;
      WBENCHCLOSE = $0002;
      WINDOWSIZING = $0001;
      WINDOWDRAG = $0002;
      WINDOWDEPTH = $0004;
      WINDOWCLOSE = $0008;
      SIZEBRIGHT = $0010;
      SIZEBBOTTOM = $0020;
      REFRESHBITS = $00C0;
      SMART_REFRESH = $0000;
      SIMPLE_REFRESH = $0040;
      SUPER_BITMAP = $0080;
      OTHER_REFRESH = $00C0;
      BACKDROP = $0100;
      _REPORTMOUSE = $0200;
      GIMMEZEROZERO = $0400;
      BORDERLESS = $0800;
      ACTIVATE = $1000;
      WINDOWACTIVE = $2000;
      INREQUEST = $4000;
      MENUSTATE = $8000;
      RMBTRAP = $00010000;
      NOCAREREFRESH = $00020000;
      WINDOWREFRESH = $01000000;
      WBENCHWINDOW = $02000000;
      WINDOWTICKED = $04000000;
      SUPER_UNUSED = $FCFC0000;
      NOMENU = $001F;
      NOITEM = $003F;
      NOSUB = $001F;
      MENUNULL = $FFFF;
      CHECKWIDTH = 19;
      COMMWIDTH = 27;
      LOWCHECKWIDTH = 13;
      LOWCOMMWIDTH = 16;
      ALERT_TYPE = $80000000;
      RECOVERY_ALERT = $00000000;
      DEADEND_ALERT = $80000000;
      AUTOFRONTPEN = 0;
      AUTOBACKPEN = 1;
      AUTODRAWMODE = JAM2
      AUTOLEFTEDGE = 6;
      AUTOTOPEDGE = 3;

Type p_Menu = ^Menu;
     p_MenuItem = ^MenuItem;
     p_Requester = ^Requester;
     p_Gadget = ^Gadget;
     p_IntuiText = ^IntuiText;
     p_Border = ^Border;
     p_Image = ^Image;
     p_Window = ^Window;
{$ifndef INTUITION_SCREENS_H; incl"intuition/screens.h"; endif}
     Menu = record
              NextMenu: p_Menu;
              LeftEdge, TopEdge: integer;
              Width, Height: integer;
              Flags: Word;
              MenuName: stryng;
              FirstItem: p_MenuItem;
              JazzX, JazzY, BeatX, BeatY: integer
            end;
     MenuItem = record
                  NextItem: p_MenuItem;
                  LeftEdge, TopEdge, Width, Height: integer;
                  Flags: Word;
                  MutualExclude: Long;
                  ItemFill, SelectFill: Ptr;
                  Command: Char;
                  SubItem: p_MenuItem;
                  NextSelect: Word
                end;
     Requester = record
                   OlderRequest: p_Requester;
                   LeftEdge, TopEdge, Width, Height, RelLeft, RelTop: integer;
                   ReqGadget: p_Gadget;
                   ReqBorder: p_Border;
                   ReqText: p_IntuiText;
                   Flags: Word;
                   BackFill: Byte;
                   ReqLayer: p_Layer;
                   ReqPad1: String[32];
                   ImageBMap: p_BitMap;
                   RWindow: p_Window;
                   ReqPad2: string[36]
                 end;
     Gadget = record
                NextGadget: p_Gadget;
                LeftEdge, TopEdge, Width, Height: integer;
                Flags, Activation, GadgetType: Word;
                GadgetRender, SelectRender: Ptr;
                GadgetText: p_IntuiText;
                MutualExclude: Long;
                SpecialInfo: Ptr;
                GadgetID: integer;
                UserData: Ptr           { was 'Long' - changed 3/31/93 }
              end;
     p_BoolInfo = ^BoolInfo;
     BoolInfo = record
                  Flags: Word;
                  Mask: ^Word;
                  Reserved: Long
                end;
     p_PropInfo = ^PropInfo;
     PropInfo = record
                  Flags, HorizPot, VertPot,
                  HorizBody, VertBody, CWidth, CHeight: Word;
                  HPotRes, VPotRes, LeftBorder, TopBorder: Word
                end;
     p_StringInfo = ^StringInfo;
     StringInfo = record
                    Buffer, UndoBuffer: stryng;
                    BufferPos, MaxChars, DispPos, UndoPos: integer;
                    NumChars, DispCount, CLeft, CTop: integer;
                    LayerPtr: p_Layer;
                    LongInt: Long;
                    AltKeyMap: Ptr
                  end;
     IntuiText = record
                   FrontPen, BackPen, DrawMode: Byte;
                   LeftEdge, TopEdge: integer;
                   ITextFont: p_TextAttr;
                   IText: stryng;
                   NextText: p_IntuiText
                 end;
     Border = record
                LeftEdge, TopEdge: integer;
                FrontPen, BackPen, DrawMode: Byte;
                Count: Short;
                XY: Ptr;
                NextBorder: p_Border
             end;
     Image = record
               LeftEdge, TopEdge, Width, Height, Depth: integer;
               ImageData: Ptr;
               PlanePick, PlaneOnOff: Byte;
               NextImage: p_Image
             end;
      p_IntuiMessage = ^IntuiMessage;
      IntuiMessage = record
                       ExecMessage: Message;
                       Class: Long;
                       Code, Qualifier: Word;
                       IAddress: Ptr;
                       MouseX, MouseY: integer;
                       Seconds, Micros: Long;
                       IDCMPWindow: p_Window;
                       SpecialLink: p_IntuiMessage
                     end;
     Window = record
                NextWindow: p_Window;
                LeftEdge, TopEdge, Width, Height: integer;
                MouseY, MouseX, MinWidth, MinHeight: integer;
                MaxWidth, MaxHeight: Word;
                Flags: Long;
                MenuStrip: p_Menu;
                Title: stryng;
                FirstRequest, DMRequest: p_Requester;
                ReqCount: integer;
                WScreen: p_Screen;
                RPort: p_RastPort;
                BorderLeft, BorderTop, BorderRight, BorderBottom: Short;
                BorderRPort: p_RastPort;
                FirstGadget: p_Gadget;
                Parent, Descendant: p_Window;
                Pointer: Ptr;
                PtrHeight, PtrWidth, XOffset, YOffset: Short;
                IDCMPFlags: Long;
                UserPort, WindowPort: p_MsgPort;
                MessageKey: p_IntuiMessage;
                DetailPen, BlockPen: Byte;
                CheckMark: p_Image;
                ScreenTitle: stryng;
                GZZMouseX, GZZMouseY, GZZWidth, GZZHeight: integer;
                ExtData: Ptr;
                UserData: Ptr;
                WLayer: p_Layer;
                IFont: p_TextFont;
              end;
     p_NewWindow = ^NewWindow;
     NewWindow = record
                   LeftEdge, TopEdge, Width, Height: integer;
                   DetailPen, BlockPen: Byte;
                   IDCMPFlags, Flags: Long;
                   FirstGadget: p_Gadget;
                   CheckMark: p_Image;
                   Title: stryng;
                   Screen: p_Screen;
                   BitMap: p_BitMap;
                   MinWidth, MinHeight: integer;
                   MaxWidth, MaxHeight, _Type: Word
                 end;
     p_Remember = ^Remember;
     Remember = record
                  NextRemember: p_Remember;
                  RememberSize: Long;
                  Memory: Ptr
                end;
{$endif}
