home *** CD-ROM | disk | FTP | other *** search
/ Gold Fish 3 / goldfish_volume_3.bin / files / gfx / misc / imagefx_sdk / include / scan / prefs.h < prev    next >
Encoding:
C/C++ Source or Header  |  1995-02-18  |  6.9 KB  |  172 lines

  1. /*
  2.  * ImageFX Development Header File
  3.  * Copyright © 1991-1995 Nova Design, Inc.
  4.  * Written by Thomas Krehbiel
  5.  *
  6.  * User Preferences.
  7.  *
  8.  */
  9.  
  10. #ifndef SCAN_PREFS_H
  11.  
  12.  
  13. #ifndef SCAN_REQ_H
  14. #include <scan/req.h>      /* for FileInfo struct */
  15. #endif
  16.  
  17. /*
  18.  * UserPrefs:
  19.  *
  20.  * Preferences settings that the user can change.  These settings
  21.  * are saved to disk when requested.  These should all be considered
  22.  * READ ONLY!
  23.  */
  24. struct UserPrefs {
  25.    struct FileInfo   LoadPath;
  26.    struct FileInfo   SavePath;
  27.    struct FileInfo   RendPath;
  28. #ifdef OLD
  29.    struct FileInfo   BruLoadPath;
  30.    struct FileInfo   BruSavePath;
  31.    struct FileInfo   AlphaLoadPath;
  32.    struct FileInfo   AlphaSavePath;
  33. #else
  34.    struct FileInfo   BrushPath;
  35.    struct FileInfo   TexturePath;
  36.    struct FileInfo   AlphaPath;
  37.    struct FileInfo   fiReserved;
  38. #define BruLoadPath     BrushPath      /* ancient compatibility, do not use */
  39. #define BruSavePath     TexturePath
  40. #define AlphaLoadPath   AlphaPath
  41. #define AlphaSavePath   fiReserved
  42. #endif
  43.    struct FileInfo   ConvolvePath;
  44.    struct FileInfo   TransformPath;
  45.    struct FileInfo   ScannerMod;
  46.    struct FileInfo   PreviewMod;
  47.    struct FileInfo   RenderMod;
  48.    struct FileInfo   VMemPath;
  49.    struct FileInfo   ArexxPath;
  50.    struct FileInfo   HookPath;
  51.    struct FileInfo   FontPath;
  52.    struct FileInfo   PalettePath;
  53.    struct FileInfo   PrinterMod;
  54.    struct FileInfo   SepPath;
  55.    struct FileInfo   QuantizeMod;
  56.    struct FileInfo   MaskPath;
  57.    unsigned short    Palette[4];       /* Screen palette */
  58.    char              SerDevice[32];    /* Serial device (OBSOLETE) */
  59.    long              SerUnit;          /* Serial unit (OBSOLETE) */
  60.    long              SerBaud;          /* Serial baud rate (OBSOLETE) */
  61.  
  62.    short             PanelDepth;       /* menu screen depth (2.0) */
  63.  
  64.    char              LoadReq,          /* 0=asl, 1=thumbnail (2.0) */
  65.                      SaveReq,
  66.                      MiscReq,
  67.                      BufReq,
  68.                      reqpad[2];
  69.  
  70.    ULONG             PanelMode;        /* panel screenmode (2.0) */
  71.    ULONG             FreqMode;         /* thumbnail requester mode (2.0) */
  72.    short             FreqDepth;        /* thumbnail requester depth (2.0) */
  73.    short             reserved3;
  74.  
  75.    LONG              Version;          /* preferences version */
  76.    WORD              TLE, TTE, TW, TH; /* thumbnail leftedge, topedge */
  77.    long              reserved;         /* used to be parallel device & unit */
  78.  
  79.    long              Flags;            /* Various Flags (see below) */
  80.    short             DitherLimit;      /* Dither limiting value (OBSOLETE) */
  81.    short             VPageSize;        /* VMem page size (OBSOLETE) */
  82.    short             VMaxPages;        /* VMem max pages in memory (OBSOLETE) */
  83.    short             VMinThresh;       /* Minimum memory threshold (OBSOLETE) */
  84.    char              CurMode;          /* Default starting panel mode (OBSOLETE) */
  85.    char              Units;            /* Display units (see below) */
  86.    char              ColorSpace;       /* Palette colorspace */
  87.    char              Colors;           /* Palette colors - 1 */
  88.    char              pr_DrawTool;      /* Drawing tool */
  89.    char              FileReq;          /* File requester of choice */
  90.    char              UseVMem;          /* When to use virtual memory */
  91.    char              FontReq;          /* Font requester of choice */
  92.    short             UndoLevels;       /* maximum undo levels */
  93.    ULONG             VMaxRAM;          /* max RAM used by VMEM */
  94.    ULONG             VMaxBuf;          /* max buffer size for VMEM */
  95.    short             LE, TE, W, H;     /* EGS: left,top,width,height */
  96.    char              ScreenMode[66];   /* EGS: screenmode */
  97.    short             ScreenDepth;      /* EGS: screendepth */
  98.    short             MLE, MTE, MW, MH; /* EGS: preview position */
  99.    short             PLE, PTE, PW, PH; /* EGS: palette position */
  100.    ULONG             EWindFlags;       /* EGS: window open flags */
  101.    short             CLE, CTE;         /* EGS: coords window */
  102.    ULONG             ValidFlags;       /* prefs struct validity flags */
  103. };
  104.  
  105. #define PREF_VERSION    0x12340020     /* = Version 2.0 */
  106.  
  107. /* values for EWindFlags: */
  108. #define EWF_TOOLBOX     0x00000001
  109. #define EWF_PALETTE     0x00000002
  110. #define EWF_PREVIEW     0x00000004
  111.  
  112. /*
  113.  * Validity Flags
  114.  */
  115. #define VFF_THUMBSIZE      0x0000001L     /* TLE, TTE, TW, TH are valid */
  116.  
  117. /*
  118.  * Values for the Flags field.
  119.  */
  120.  
  121. #define PFF_CLOSEWB        0x0000002L     /* Close Workbench */
  122. #define PFF_LACEPANEL      0x0000004L     /* Use interlaced menu panel */
  123. #define PFF_NOUNDO         0x0000080L     /* Disable Undo */
  124. #define PFF_COORDS         0x0000200L     /* Show coordinates */
  125. #define PFF_ICONS          0x0000400L     /* Save icons with files */
  126. #define PFF_KEEPPAL        0x0002000L     /* Keep palette on toolbox screen */
  127. #define PFF_USEHEX         0x0004000L     /* Use hex for palette numbers */
  128. #define PFF_METRIC         0x0008000L     /* Use metric instead of english */
  129. #define PFF_POSTREND       0x0010000L     /* Call post render macro? */
  130. #define PFF_NOCHECK        0x0020000L     /* Disable "are you sure?" requesters */
  131. #define PFF_NOROLL         0x0040000L     /* Don't "roll" - snap instantly */
  132. #define PFF_OPAQUE         0x0080000L     /* Use "opaque" menu panel */
  133. #define PFF_CORRECTASPECT  0x0100000L     /* Use "correct aspect" preview! */
  134. #define PFF_PRESSURE       0x0200000L     /* Enable pressure sensitivity? */
  135. #define PFF_CUSTOMSCR      0x0400000L     /* Open on custom screen (EGS) */
  136. #define PFF_SAVENAILS      0x0800000L     /* Save thumbnails with files (2.0) */
  137. #define PFF_USENAILS       0x1000000L     /* Use thumbnails onscreen (2.0) */
  138.  
  139. /*
  140.  * For ancient compatibility, do not use:
  141.  */
  142. #define PFF_ADGAMMA        0x000001L      /* Use coarse adjustment (obsolete) */
  143. #define PFF_TODISK         0x000008L      /* Scan to disk (obsolete) */
  144. #define PFF_HIRESPREV      0x000010L      /* Hires Preview (obsolete) */
  145.  
  146. #define PFF_COARSE         0x000001L      /* Use coarse adjustment (obsolete) */
  147. #define PFF_AUTOPREV       0x000010L      /* AutoScale preview (obsolete) */
  148. #define PFF_DITHERPREV     0x000020L      /* Dither Preview (obsolete) */
  149. #define PFF_GREYPREV       0x000040L      /* Grey Preview (obsolete) */
  150. #define PFF_AUTOBACK       0x000100L      /* Auto brush background (obsolete) */
  151. #define PFF_ALLVMEM        0x000800L      /* Always use VMem buffers (obsolete) */
  152. #define PFF_NOBUFFER       0x001000L      /* Create empty startup buffer (obsolete) */
  153.  
  154.  
  155. /*
  156.  * Units values:
  157.  */
  158. #define UN_PIXELS       (0)
  159. #define UN_INCHES       (1)
  160. #define UN_METRIC       (2)
  161.  
  162. /*
  163.  * Defines for the Prefs.UseVMem field
  164.  */
  165. #define VMEM_NEVER      (0)               /* never use vmem (disabled) */
  166. #define VMEM_ASK        (1)               /* ask before using */
  167. #define VMEM_DONTASK    (2)               /* use when needed without asking */
  168. #define VMEM_ALWAYS     (3)               /* always use whether needed or not */
  169.  
  170. #define SCAN_PREFS_H
  171. #endif
  172.