home *** CD-ROM | disk | FTP | other *** search
/ Otherware / Otherware_1_SB_Development.iso / amiga / comms / network / grn1asrc.lha / system.h < prev    next >
C/C++ Source or Header  |  1992-05-20  |  3KB  |  114 lines

  1. #include    <exec/types.h>
  2. #include    <intuition/intuitionbase.h>
  3. #include    <libraries/gadtools.h>
  4. #include    <intuition/gadgetclass.h>
  5. #include    <graphics/displayinfo.h>
  6. #include    <exec/types.h>
  7. #include    <exec/nodes.h>
  8. #include    <exec/lists.h>
  9. #include    <dos/dos.h>
  10. #include    <dos/dosextens.h>
  11. #include    <stdlib.h>
  12. #include    <ctype.h>
  13. #include    <stdio.h>
  14. #include    <fcntl.h>
  15. #include    <string.h>
  16. #include    <clib/exec_protos.h>
  17. #include    <clib/dos_protos.h>
  18. #include    <clib/intuition_protos.h>
  19. #include    <clib/diskfont_protos.h>
  20. #include    <clib/graphics_protos.h>
  21. #include    <clib/gadtools_protos.h>
  22. #include    <clib/asl_protos.h>
  23. #include    <clib/alib_protos.h>
  24.  
  25. #define    O_READ    (O_RDONLY)
  26. #define    O_WRITE    (O_WRONLY|O_CREAT|O_TRUNC)
  27.  
  28. typedef struct Library        LIBRARY;
  29. typedef struct TagItem        TAGS;
  30. typedef struct List        LIST;
  31. typedef struct Node        NODE;
  32. typedef struct VisualInfo    VINFO;
  33. typedef struct Gadget        GADGET;
  34. typedef struct NewGadget    NEWGAD;
  35. typedef struct Screen        SCREEN;
  36. typedef struct Window        WINDOW;
  37. typedef struct ViewPort        VPORT;
  38. typedef struct RastPort        RPORT;
  39. typedef struct IntuiMessage    IMSG;
  40. typedef struct TextAttr        TATTR;
  41. typedef struct StringInfo    STRINGINFO;
  42. typedef struct Rectangle    RECT;
  43. typedef struct TextFont        FONT;
  44. typedef struct FileInfoBlock    FIB;
  45. typedef BPTR            LOCK;
  46. typedef struct Process        PROCESS;
  47. typedef struct FontRequester    FONTREQ;
  48. typedef struct FileRequester    FILEREQ;
  49. typedef struct MsgPort        MPORT;
  50. typedef struct IntuitionBase    IBASE;
  51.  
  52.  
  53. /*
  54.  * By making an Array of these, you can write a short routine to open
  55.  * and close the libraries.  This saves memory and makes it easy to
  56.  * open an additional library/base.  I tried to use LIBRARY ** intead
  57.  * of APTR *, but the compiler complained.
  58.  */
  59. typedef struct {
  60.     char    *name;
  61.     APTR    *base;
  62. } LIBDEFS;
  63.  
  64. /*
  65.  * By making an Array of these, you can use a simple/short routine to
  66.  * create GadTools gadgets.  These fields are copied into the NewGadget
  67.  * structure.
  68.  */
  69. typedef struct GADDEF {
  70.     TAGS    *tags;
  71.     ULONG    kind;
  72.     UWORD    left,top,width,height;
  73.     ULONG    flags;
  74.     char    *text;
  75. } GADDEF;
  76.  
  77. /*
  78.  * IDCMP flags.  GADIDCMP are those for GadTools, MYIDCMP are the ones I personally want.
  79.  */
  80. #define    GADIDCMP    (SLIDERIDCMP|STRINGIDCMP|BUTTONIDCMP|CYCLEIDCMP|LISTVIEWIDCMP)
  81. #define    MYIDCMP        (IDCMP_VANILLAKEY|IDCMP_RAWKEY|IDCMP_REFRESHWINDOW)|GADIDCMP|CLOSEWINDOW
  82.  
  83. extern char    prefFontName[];        // name of preference font (defaults to grn.font)
  84. extern UWORD    prefFontSize;        // defaults to 8 
  85. extern UWORD    prefWidth, prefHeight;    // 640x400 or whatever is in tooltypes
  86. extern UWORD    prefTop, prefLeft;    // defaults to right edge of screen!
  87.  
  88. extern short    screenHeight, screenWidth, screenTop;
  89. extern RECT    oscanRect;
  90.  
  91. extern IBASE    *IntuitionBase;
  92. extern LIBRARY    *GfxBase;
  93. extern LIBRARY    *DiskfontBase;
  94. extern LIBRARY    *AslBase;
  95. extern LIBRARY    *GadToolsBase;
  96. extern LIBRARY    *WorkbenchBase;
  97. extern LIBRARY    *IconBase;
  98. extern LIBRARY    *CxBase;
  99.  
  100. extern VINFO    *vi;
  101. extern SCREEN    *screen;
  102. extern VPORT    *vp;
  103. extern RPORT    *rp;
  104.  
  105. extern FONT    *defaultFont, *topaz80Font;
  106. extern RPORT    *topazRP;
  107.  
  108. GADGET    *CreateGadgets();
  109. short    TextLen();
  110. void    t_printf();
  111. void    InitSystem(), CloseSystem();
  112. WINDOW    *CreateWindow();
  113. void    EventHandler();
  114.