home *** CD-ROM | disk | FTP | other *** search
/ Amiga ISO Collection / AmigaUtilCD1.iso / GFX / Converter / DC-PGS21.DMS / in.adf / Extras / DevDocs.LHA / DeveloperDocs / include / photogenics / gio.h < prev    next >
Encoding:
C/C++ Source or Header  |  1996-06-03  |  4.1 KB  |  175 lines

  1. /* extended for V2 */
  2.  
  3.  
  4. #ifndef GRAPHICS_GFXBASE_H
  5. #include <graphics/gfxbase.h>
  6. #endif
  7.  
  8. #ifndef INTUITION_INTUITIONBASE_H
  9. #include <intuition/intuitionbase.h>
  10. #endif
  11.  
  12. #define GIOF_LOADER8            1
  13. #define GIOF_LOADER24        2
  14. #define GIOF_SAVER8            4
  15. #define GIOF_SAVER24            8
  16. #define GIOF_LOADFILE        16
  17. #define GIOF_SAVEFILE        32
  18. #define GIOF_PLANAR            64            // data is loaded in planar format
  19. #define GIOF_NOID                128        // not able to identify file
  20.                                                 // (skip in universial loader search)
  21. #define GIOF_NOFILEOPEN        256        // do file access internally
  22.                                                 // (giodata->Data and
  23.                                                 // giodata->Filehandle are not set up)
  24.  
  25. // 512 - obsolete
  26.  
  27. #define GIOF_LOADNOPROGRESS    1024
  28. #define GIOF_SAVENOPROGRESS    2048
  29. #define GIOF_EXTENDED        4096        // extended features available
  30. #define GIOF_SAVEPREFS        8192        // has prefs for loading
  31. #define GIOF_LOADPREFS        16384        // has prefs for saving
  32.  
  33. // 32768 - obsolete
  34.  
  35. #define GIOF_AREXX            65536        // gio supports Arexx command parsing
  36. #define GIOF_LOADTRANS        131072    // loads transparency (paintlayer)
  37. #define GIOF_SAVETRANS        262144    // saves transparency (paintlayer)
  38.  
  39. struct GIOData
  40. {
  41.     struct    GIOData *Next;
  42.     struct    GIOData *Prev;
  43.     char    *    Filename;
  44.     UBYTE        Data[64];
  45.     BPTR        Filehandle;
  46.     ULONG        Width;
  47.     ULONG        Height;
  48.     ULONG        Depth;
  49.     ULONG    prv1;
  50.     ULONG        prv2;
  51.     ULONG        prv3;
  52.     ULONG        prv4;
  53.     ULONG        VP_mode;
  54.     UWORD        Aspect_x;
  55.     UWORD        Aspect_y;
  56.     struct     BitMap *Bitmap;
  57.     LONG         prv5;
  58.    LONG        prv6;
  59.     UBYTE    *    Palette;
  60.     ULONG        Flags;
  61.     ULONG        Headerlength;
  62.     ULONG        Error;
  63.     ULONG        UserData;
  64.     ULONG        UserData2;
  65.     ULONG        UserData3;
  66.     struct    Library *PgsBase;
  67.     ULONG        SkipBytes;
  68.     struct    Library *DOSBase;
  69.     struct    GfxBase *GfxBase;
  70.     struct    IntuitionBase *IntuitionBase;
  71.     struct    Library *UtilityBase;
  72.     struct    Library *GadToolsBase;
  73.     struct    Library *AslBase;
  74.     struct    Library *ColorwheelBase;
  75.     ULONG        extendedid;
  76.     struct    Screen  *PgsScreen;
  77.    LONG        prv7;
  78.    LONG        prv8;
  79.    LONG        prv9;
  80.     UWORD        WindX;
  81.     UWORD        WindY;
  82.     UWORD        WindWidth;
  83.     UWORD        WindHeight;
  84.     UWORD        DestWidth;
  85.     UWORD        DestHeight;
  86.     UWORD        SecondWidth;
  87.     UWORD        SecondHeight;
  88.     UWORD        AlphaWidth;
  89.     UWORD        AlphaHeight;
  90.     UWORD        DestDepth;
  91.     UWORD        SecondDepth;
  92.     UWORD        AlphaDepth;
  93.     UBYTE    *    DestPalette;
  94.     UBYTE    *    SecondPalette;
  95.     UBYTE    *    AlphaPalette;
  96.     struct    Library *PgsrexxBase;
  97.     char *    ArexxString;
  98.     ULONG     Language;
  99.     LONG        prv10;
  100.     struct    TagList *Extensions;            // for specific extensions to gios.
  101.     ULONG     ArexxError;
  102.     UBYTE        Red;                                // current R for selected colour
  103.     UBYTE        Green;                            // current G for selected colour
  104.     UBYTE        Blue;                                // current B for selected colour
  105.     UBYTE        pad0;                                // pad value
  106.    LONG        prv11;
  107.    LONG         prv12;
  108.    LONG        prv13;
  109.    LONG        prv14;
  110.     ULONG     Channels;                        // channels for buffer (efx use)
  111.     UBYTE*    PreviewData;
  112.     UWORD        PreviewWidth;
  113.     UWORD        PreviewHeight;
  114.     struct     Library    *cyberbase;            // erk!
  115.    ULONG        rendermode;
  116.     ULONG        autosave;
  117.    LONG        prv15;
  118.    LONG        prv16;
  119.     LONG        prv17;
  120.    LONG        prv18;
  121. };
  122.  
  123. // for giodata->Language field.. Check this field to see what language you
  124. // should use in your requesters.
  125.  
  126. #define    LANG_ENGLISH    0
  127. #define    LANG_GERMAN        1
  128. #define    LANG_FRENCH        2
  129. #define    LANG_ITALIAN    3
  130. #define    LANG_SPANISH    4
  131. #define    LANG_DUTCH        5
  132. #define    LANG_POLISH        6
  133. #define    LANG_PORTUGESE    7
  134. #define    LANG_AMERICAN    8
  135. #define    LANG_NORWEGIAN    9
  136. #define    LANG_SWEDISH    10
  137. #define    LANG_DANISH        11
  138. #define    LANG_FINNISH    12
  139. #define     LANG_SCOTCH        13
  140. #define  LANG_MANDARIN  14
  141. #define  LANG_THP            15
  142. #define  LANG_LATIN     16
  143. #define  LANG_ESPERANTO 17
  144. #define    LANG_ARABIC        18
  145.  
  146. // error msgs for gios & efx.
  147.  
  148. #define GIO_OK                    0
  149. #define GIO_RAMERR            1
  150. #define GIO_FILEERR            2
  151. #define GIO_WRONGTYPE        3
  152. #define GIO_SYSERR            4
  153. #define GIO_ABORTED            5
  154. #define GIO_UNAVAILABLE        6
  155. #define GIO_AREXXERROR        7
  156.  
  157. // flags to OR with y value in GetSrcLine, etc...
  158.  
  159. #define PGVM_READONLY 0x01000000
  160. #define PGVM_WRITEONLY 0x02000000
  161. #define PGVM_NOCACHE 0x04000000
  162.  
  163. #define    PCLONG    ULONG
  164. #define    PCWORD    UWORD
  165.  
  166. // Doubt you'll need these. Not even sure if we still do!
  167.  
  168. #define PGTAG_LISTMIN 0x81910050
  169. #define PGTAG_LISTMAX 0x81910060
  170. #define PGTAG_ENTRY 0x81900a0
  171. #define PGTAG_ENTRYID 0x81900b0
  172. #define PGTAG_ENTRYTEXT 0x81900c0
  173. #define PGTAG_ENTRYEND 0x81900e0
  174. #define PGTAG_END 0x8191ffff
  175.