home *** CD-ROM | disk | FTP | other *** search
/ Meeting Pearls 3 / Meeting_Pearls_III.iso / Pearls / texmf / source / driver / util / iff / ilbmapp.h < prev    next >
C/C++ Source or Header  |  1993-02-27  |  3KB  |  98 lines

  1.  
  2. /* ilbmapp.h
  3.  * - definition of ILBMInfo structure
  4.  * - inclusion of includes needed by modules and application
  5.  * - application-specific definitions
  6.  *
  7.  * 07/03/91 - added ilbm->stags for screen.c
  8.  * 07/92 - added 32-bit-per-gun variables
  9.  * 09/92 - flags for bestfit and usermodeid
  10.  */
  11. #ifndef ILBMAPP_H
  12. #define ILBMAPP_H
  13.  
  14. #include "ilbm.h"
  15.  
  16. struct ILBMInfo {
  17.     /* general parse.c related */
  18.     struct  ParseInfo ParseInfo;
  19.  
  20.     /* The following variables are for
  21.      * programs using the ILBM-related modules.
  22.      * They may be removed or replaced for
  23.      * programs parsing other forms.
  24.      */
  25.     /* ILBM */
  26.     BitMapHeader Bmhd;        /* filled in by load and save ops */
  27.     ULONG    camg;            /* filled in by load and save ops */
  28.     Color4    *colortable;        /* allocated by getcolors */
  29.     ULONG    ctabsize;        /* size of colortable in bytes */
  30.     USHORT    ncolors;        /* number of color registers loaded */
  31.     USHORT  Reserved1;
  32.  
  33.     /* for getbitmap.c */
  34.     struct BitMap *brbitmap;    /* for loaded brushes only */
  35.  
  36.     /* for screen.c */
  37.     struct Screen *scr;        /* screen of loaded display   */
  38.     struct Window *win;        /* window of loaded display   */
  39.     struct ViewPort *vp;        /* viewport of loaded display */
  40.     struct RastPort    *srp;        /* screen's rastport */
  41.     struct RastPort *wrp;        /* window's rastport */
  42.     BOOL TBState;            /* state of titlebar hiddenness */
  43.  
  44.     /* caller preferences */
  45.     struct NewWindow *windef;    /* definition for window */
  46.     UBYTE *stitle;        /* screen title */
  47.     LONG stype;        /* additional screen types */
  48.     WORD ucliptype;        /* overscan display clip type */
  49.     BOOL EHB;        /* default to EHB for 6-plane/NoCAMG */
  50.     BOOL Video;        /* Max Video Display Clip (non-adjustable) */
  51.     BOOL Autoscroll;    /* Enable Autoscroll of screens */
  52.     BOOL Notransb;        /* Borders not transparent to genlock */
  53.     ULONG *stags;        /* Additional screen tags for 2.0 screens  */
  54.     ULONG IFFPFlags;    /* For CBM-designated use by IFFP modules  */
  55.     VOID  *IFFPData;    /* For CBM-designated use by IFFP modules  */
  56.     ULONG UserFlags;    /* For use by applications for any purpose */
  57.     VOID  *UserData;    /* For use by applications for any purpose */
  58.     /* --- New --- */
  59.     WORD  *colorrecord;    /* Passed to LoadRGB32 (ncolors,firstreg,table) */
  60.     Color32 *colortable32;    /* 32-bit-per-gun representation of colors      */
  61.     ULONG crecsize;        /* Bytes allocated including extra WORDs        */
  62.  
  63.     ULONG usermodeid;
  64.     ULONG Reserved[7];
  65.     /* -------------------------------- */
  66.     /* Application-specific variables may go here - but this may move!!!
  67.      * If this moves, you will have to recompile all of your modules.
  68.      * If you want something that won't move, use the UserData above.
  69.       */
  70.     };
  71.  
  72. /* Flags for IFFPFlags */
  73.  
  74. /* Don't allocate or use a 32-bit-per-gun Color Table under V39 or above */
  75. #define IFFPB_NOCOLOR32    0
  76. #define IFFPF_NOCOLOR32    (1L << IFFPB_NOCOLOR32)
  77. /* Force use of ilbm->usermodeid if mode is available */
  78. #define IFFPB_USERMODE    1
  79. #define IFFPF_USERMODE    (1L << IFFPB_USERMODE)
  80. /* Force use of BestFit() under V39 only */
  81. #define IFFPB_BESTFIT    2
  82. #define IFFPF_BESTFIT    (1L << IFFPB_BESTFIT)
  83. /* Disable centering */
  84. #define IFFPB_NOCENTER    3
  85. #define IFFPF_NOCENTER    (1L << IFFPB_NOCENTER)
  86.  
  87. /* Disable auto 4->8 bit CMAP conversion on apparently shifted 4-bit guns */
  88. #define IFFPB_CMAPOK    7
  89. #define IFFPF_CMAPOK    (1L << IFFPB_CMAPOK)
  90.  
  91. /* referenced by modules */
  92.  
  93. extern struct Library *IFFParseBase;
  94.  
  95. /* protos for application module(s) */
  96.  
  97. #endif
  98.