home *** CD-ROM | disk | FTP | other *** search
/ Frozen Fish 1: Amiga / FrozenFish-Apr94.iso / bbs / alib / d5xx / d547 / powersource.lha / PowerSource / source.lzh / source / defs.h < prev    next >
C/C++ Source or Header  |  1991-09-15  |  7KB  |  245 lines

  1. /*----------------------------------------------------------------------*
  2.   defs.h version 3.0 -  © Copyright 1990-91 Jaba Development
  3.  
  4.   Author : Jan van den Baard
  5.   Purpose: headerfile for making a pre-copiled symbol file (Aztec V5.0a)
  6.  *----------------------------------------------------------------------*/
  7. #include <exec/types.h>
  8. #include <exec/memory.h>
  9. #include <intuition/intuition.h>
  10. #include <intuition/intuitionbase.h>
  11. #include <libraries/dos.h>
  12. #include <libraries/dosextens.h>
  13. #include <workbench/workbench.h>
  14. #include <workbench/startup.h>
  15. #include <workbench/icon.h>
  16. #include <functions.h>
  17. #include <tool.h>                     /* tool.library V8++ !!! */
  18.  
  19. #define AND     &&
  20. #define OR      ||
  21.  
  22. #define Alloc(c,s)    AllocItem(c,(ULONG)s,MEMF_PUBLIC|MEMF_CLEAR)
  23.  
  24. struct BitMapHeader {
  25.     UWORD   w,h;
  26.     WORD    x,y;
  27.     UBYTE   nPlanes;
  28.     UBYTE   masking;
  29.     UBYTE   compression;
  30.     UBYTE   pad1;
  31.     UWORD   transparentColor;
  32.     UBYTE   xAspect, yAspect;
  33.     WORD    pageWidth, pageHeight;
  34. };
  35.  
  36. struct FORMChunk {
  37.     ULONG   fc_Type;
  38.     ULONG   fc_Length;
  39.     ULONG   fc_SubType;
  40. };
  41.  
  42. struct IFFChunk {
  43.     ULONG   ic_Type;
  44.     ULONG   ic_Length;
  45. };
  46.  
  47. #define bpr(w)  (((w+15)>>4)<<1)
  48.  
  49. #define RENDER  0
  50. #define SELECT  1
  51. #define STDPRP  2
  52.  
  53. #define TXT_ADD     0
  54. #define TXT_MOVE    1
  55. #define TXT_MODIFY  2
  56. #define TXT_DELETE  3
  57.  
  58. #define TITLE ((UBYTE *)"PowerSource V3.0")
  59.  
  60. #define TYPE      ((ULONG)'PWSR')
  61.  
  62. struct ge_prefs {
  63.     BOOL    skip_zero_planes;
  64.     BOOL    auto_size;
  65.     BOOL    image_copy;
  66.     BOOL    text_copy;
  67.     BOOL    static_structures;
  68.     BOOL    no_flags;
  69.     BOOL    os2_hborder;
  70.     UWORD   flag_bits;
  71. };
  72.  
  73. #define     GP_COORDS       0x0001
  74.  
  75. /*
  76.  * FOR THE BINARY FILE STRUCTURE!!!
  77.  */
  78. #define GE_VERSION  4
  79.  
  80. struct BinHeader {
  81.     ULONG   FileType;
  82.     USHORT  Version;
  83.     USHORT  ScrDepth;
  84.     USHORT  Colors[32];
  85.     USHORT  FPen;
  86.     USHORT  BPen;
  87.     USHORT  BackFill;
  88.     USHORT  WDBackFill;
  89.     USHORT  LightSide;
  90.     USHORT  DarkSide;
  91.     ULONG   FlagsBits;
  92.     ULONG   SpareFlags;
  93.     UWORD   Spare[6];
  94. };
  95.  
  96. #define BH_WORKBENCH    0x0001
  97. #define BH_REQUESTER    0x0002
  98.  
  99. #define GADGETOFF       0x0001
  100. #define BORDERONLY      0x0002
  101. #define NOSIGNAL        0x0004
  102. #define IMAGEONLY       0x0008      /* not yet implemented! */
  103. #define NOBORDER        0x0010
  104. #define OS20BORDER      0x0020
  105. #define USERLABEL       0x0040
  106. #define OS20HIGHBORDER  0x0080
  107. #define SHAREDBORDER    0x0100
  108.  
  109. /*
  110.  * reserved bits ->
  111.  * GZZGADGET 0x2000 in SpecialFlags!
  112.  */
  113.  
  114. #define MAXLABEL        32
  115.  
  116. struct MyGadget {
  117.     struct MyGadget     *Succ;
  118.     struct MyGadget     *Pred;
  119.     struct Gadget        Gadget;
  120.     USHORT               SpecialFlags;
  121.     UBYTE                GadgetLabel[MAXLABEL];
  122.     UWORD                RenderAccount;
  123.     UWORD                SelectAccount;
  124.     UWORD                BorderAccount;
  125.     UWORD                HBorderAccount;
  126. };
  127.  
  128. struct GadgetList {
  129.     struct MyGadget     *Head;
  130.     struct MyGadget     *Tail;
  131.     struct MyGadget     *TailPred;
  132. };
  133.  
  134. struct SharedImage {
  135.     struct SharedImage  *Succ;
  136.     struct SharedImage  *Pred;
  137.     struct Image        *Image;
  138.     UWORD                UseCount;
  139.     ULONG                CheckSum;
  140.     UWORD                Colors[32];
  141. };
  142.  
  143. struct SharedList {
  144.     struct SharedImage  *Head;
  145.     struct SharedImage  *Tail;
  146.     struct SharedImage  *TailPred;
  147. };
  148.  
  149. struct MyMenu {
  150.     /*** standard menu structure ***/
  151.     struct MyMenu       *NextMenu;
  152.     WORD                 LeftEdge, TopEdge, Width, Height;
  153.     UWORD                Flags;
  154.     BYTE                *MenuName;
  155.     struct MyMenuItem   *FirstItem;
  156.     WORD                 JazzX, JazzY, BeatX, BeatY;
  157.  
  158.     UWORD                SpecialFlags;      /* flags (see below)  */
  159.     BYTE                 TheMenuName[32];   /* the menu it's name */
  160.     struct ListItem     *ItsListItem;
  161. };
  162.  
  163. #define USERFORMAT      0x0001  /* user specified format */
  164.  
  165. struct MyMenuItem {
  166.     /*** standard MenuItem structure ***/
  167.     struct MyMenuItem   *NextItem;
  168.     WORD                 LeftEdge, TopEdge, Width, Height;
  169.     UWORD                Flags;
  170.     LONG                 MutualExclude;
  171.     APTR                 ItemFill;
  172.     APTR                 SelectFill;
  173.     BYTE                 Command;
  174.     BYTE                 KludgeFill0;
  175.     struct MyMenuItem   *SubItem;
  176.     UWORD                NextSelect;
  177.  
  178.     UWORD                SpecialFlags;  /* flags (see above)      */
  179.     UWORD                RenderAccount; /* image account          */
  180.     UWORD                SelectAccount; /* selected image account */
  181.     struct ListItem     *ItsListItem;
  182. };
  183.  
  184. struct ListItem {
  185.     struct MenuItem      AItem;         /* just a stupid item           */
  186.     struct IntuiText     Text;          /* and its stupid text          */
  187.     UBYTE                Letters[10];   /* and room for the stupid text */
  188.     struct MyMenu       *Menu;          /* the menu                     */
  189.     struct MyMenuItem   *Item;          /* the item (if (sub)itemlist)  */
  190.     struct MyMenuItem   *SubItem;       /* the subitem (if sublist)     */
  191. };
  192.  
  193. struct SharedBorder {
  194.     struct SharedBorder *Succ;
  195.     struct SharedBorder *Pred;
  196.     struct Border       *Border;
  197.     UWORD                UseCount;
  198.     UWORD                SpecialFlags;
  199. };
  200.  
  201. #define SB_HIGHBORDER   0x0001
  202. #define SB_BORDERONLY   0x0002
  203.  
  204. struct BorderList {
  205.     struct SharedBorder *Head;
  206.     struct SharedBorder *Tail;
  207.     struct SharedBorder *TailPred;
  208. };
  209.  
  210. #ifdef  FileRequester
  211. #define FileSelector    FileRequester
  212. #endif
  213.  
  214. #define RETURN_MAIN_MENU    0
  215. #define RETURN_MENU_MENU    1
  216. #define RETURN_ITEM_MENU    2
  217.  
  218. #define TEXT_WIDTH(r,t)      (TextLength(r,(char *)t,strlen((char *)t)))
  219. #define TEXT_HEIGHT(r)       (r->Font->tf_YSize)
  220.  
  221. #define MENUED              0
  222. #define ITEMED              1
  223. #define SUBED               2
  224.  
  225. #define MENUSPACING         16
  226. #define ITEMSPACING         1
  227. #define TEXTSPACING         4
  228.  
  229. #define IDCMP_NM    NEWSIZE|GADGETUP|GADGETDOWN|INACTIVEWINDOW|ACTIVEWINDOW|MENUPICK|RAWKEY|MOUSEBUTTONS|CLOSEWINDOW|MOUSEMOVE
  230. #define FLAGS_NM    WINDOWSIZING|WINDOWDRAG|WINDOWCLOSE|WINDOWDEPTH|NOCAREREFRESH|SMART_REFRESH+ACTIVATE
  231. #define FLAGS_RQ    WINDOWSIZING|WINDOWDRAG|NOCAREREFRESH|SMART_REFRESH|ACTIVATE|SIZEBRIGHT|SIZEBBOTTOM|GIMMEZEROZERO|BORDERLESS
  232.  
  233. #define ESC         0x45
  234. #define F1          0x50
  235. #define F2          0x51
  236. #define F3          0x52
  237. #define F4          0x53
  238. #define F5          0x54
  239. #define F6          0x55
  240. #define F7          0x56
  241. #define F8          0x57
  242. #define F9          0x58
  243. #define F10         0x59
  244. #define HELP        0x5F
  245.