home *** CD-ROM | disk | FTP | other *** search
/ BCI NET 2 / BCI NET 2.iso / archives / programming / languages / obrn-a_1.5_lib.lha / oberon-a / source2.lha / source / amiga / Prefs.mod < prev    next >
Encoding:
Text File  |  1995-01-26  |  21.9 KB  |  832 lines

  1. (*************************************************************************
  2.  
  3.      $RCSfile: Prefs.mod $
  4.   Description: Interface to new Preferences
  5.  
  6.    Created by: fjc (Frank Copeland)
  7.     $Revision: 3.6 $
  8.       $Author: fjc $
  9.         $Date: 1995/01/26 02:39:55 $
  10.  
  11.   Includes Release 40.15
  12.  
  13.   (C) Copyright 1991-1993 Commodore-Amiga, Inc.
  14.       All Rights Reserved
  15.  
  16.   Oberon-A Interface Copyright © 1994-1995, Frank Copeland.
  17.   This file is part of the Oberon-A Interface.
  18.   See Oberon-A.doc for conditions of use and distribution.
  19.  
  20. *************************************************************************)
  21.  
  22. <* STANDARD- *> <* INITIALISE- *> <* MAIN- *>
  23. <*$ CaseChk-  IndexChk- LongVars+ NilChk-  *>
  24. <*$ RangeChk- StackChk- TypeChk-  OvflChk- *>
  25.  
  26. MODULE [2] Prefs;
  27.  
  28. IMPORT e := Exec, t := Timer, gfx := Graphics, i := Intuition, s := Sets;
  29.  
  30. (*
  31. **      $VER: prefhdr.h 38.1 (19.6.91)
  32. **
  33. **      File format for preferences header
  34. *)
  35.  
  36. (************************************************************************)
  37.  
  38. CONST
  39.  
  40.   idPREF * = 050524546H; (* MAKE_ID('P','R','E','F') *)
  41.   idPRHD * = 050524844H; (* MAKE_ID('P','R','H','D') *)
  42.  
  43. TYPE
  44.  
  45.   PrefHeaderPtr * = POINTER TO PrefHeader;
  46.   PrefHeader * = RECORD
  47.     version * : SHORTINT;  (* version of following data *)
  48.     type *    : SHORTINT;  (* type of following data    *)
  49.     flags *   : s.SET32;   (* always set to 0 for now   *)
  50.   END;
  51.  
  52.  
  53. (************************************************************************)
  54.  
  55. (*
  56. **      $VER: font.h 38.2 (27.9.91)
  57. **
  58. **      File format for font preferences
  59. *)
  60.  
  61. (************************************************************************)
  62.  
  63. CONST
  64.  
  65.   idFONT * = 0464F4E53H; (* MAKE_ID('F','O','N','T') *)
  66.  
  67.  
  68.   fontNameSize * = 128;
  69.  
  70. TYPE
  71.  
  72.   FontPrefsPtr * = POINTER TO FontPrefs;
  73.   FontPrefs * = RECORD
  74.     reserved *  : ARRAY 3 OF LONGINT;
  75.     reserved2 * : e.UWORD;
  76.     type *      : e.UWORD;
  77.     frontPen *  : SHORTINT;
  78.     backPen *   : SHORTINT;
  79.     drawMode *  : SHORTINT;
  80.     textAttr *  : gfx.TextAttr;
  81.     name *      : ARRAY fontNameSize OF CHAR;
  82.   END;
  83.  
  84. CONST
  85.  
  86. (* constants for FontPrefs.fp_Type *)
  87.   wbFont * = 0;
  88.   sysFont * = 1;
  89.   screenFont * = 2;
  90.  
  91. (************************************************************************)
  92.  
  93. (*
  94. **      $VER: icontrol.h 39.1 (1.10.92)
  95. **
  96. **      File format for intuition control preferences
  97. *)
  98.  
  99. (************************************************************************)
  100.  
  101. CONST
  102.  
  103.   idICTL * = 04943534CH; (* MAKE_ID('I','C','T','L') *)
  104.  
  105. TYPE
  106.  
  107.   IControlPrefs * = RECORD
  108.     reserved *    : ARRAY 4 OF LONGINT; (* System reserved              *)
  109.     timeOut *     : e.UWORD;            (* Verify timeout               *)
  110.     metaDrag *    : INTEGER;            (* Meta drag mouse event        *)
  111.     flags *       : s.SET32;            (* IControl flags (see below)   *)
  112.     wBtoFront *   : CHAR;               (* CKey: WB to front            *)
  113.     frontToBack * : CHAR;               (* CKey: front screen to back   *)
  114.     reqTrue *     : CHAR;               (* CKey: Requester TRUE         *)
  115.     reqFalse *    : CHAR;               (* CKey: Requester FALSE        *)
  116.   END;
  117.  
  118. CONST
  119.  
  120. (* flags for IControlPrefs.ic_Flags *)
  121.   coerceColors * = 0;
  122.   coerceLace * = 1;
  123.   strGadFilter * = 2;
  124.   menuSnap * = 3;
  125.   modePromote * = 4;
  126.  
  127. (************************************************************************)
  128.  
  129. (*
  130. **      $VER: input.h 38.2 (28.6.91)
  131. **
  132. **      File format for input preferences
  133. *)
  134.  
  135. (************************************************************************)
  136.  
  137. CONST
  138.  
  139.   idINPT * = 0494E5054H; (* MAKE_ID('I','N','P','T'); *)
  140.  
  141. TYPE
  142.  
  143.   InputPrefsPtr * = POINTER TO InputPrefs;
  144.   InputPrefs * = RECORD
  145.     keymap *       : ARRAY 16 OF CHAR;
  146.     pointerTicks * : e.UWORD;
  147.     doubleClick *  : t.TimeVal;
  148.     keyRptDelay *  : t.TimeVal;
  149.     keyRptSpeed *  : t.TimeVal;
  150.     mouseAccel *   : INTEGER;
  151.   END;
  152.  
  153.  
  154. (************************************************************************)
  155.  
  156. (*
  157. **      $VER: locale.h 38.4 (5.12.91)
  158. **
  159. **      File format for locale preferences
  160. *)
  161.  
  162. (************************************************************************)
  163.  
  164. CONST
  165.  
  166.   idLCLE * = 04C434C45H; (* MAKE_ID('L','C','L','E') *)
  167.   idCTRY * = 043545259H; (* MAKE_ID('C','T','R','Y') *)
  168.  
  169. TYPE
  170.  
  171.   CountryPrefsPtr * = POINTER TO CountryPrefs;
  172.   CountryPrefs * = RECORD
  173.     reserved *            : ARRAY 4 OF e.ULONG;
  174.     countryCode *         : e.ULONG;
  175.     telephoneCode *       : e.ULONG;
  176.     measuringSystem *     : SHORTINT;
  177.  
  178.     dateTimeFormat *      : ARRAY 80 OF CHAR;
  179.     dateFormat *          : ARRAY 40 OF CHAR;
  180.     timeFormat *          : ARRAY 40 OF CHAR;
  181.  
  182.     shortDateTimeFormat * : ARRAY 80 OF CHAR;
  183.     shortDateFormat *     : ARRAY 40 OF CHAR;
  184.     shortTimeFormat *     : ARRAY 40 OF CHAR;
  185.  
  186.     (* for numeric values *)
  187.     decimalPoint *        : ARRAY 10 OF CHAR;
  188.     groupSeparator *      : ARRAY 10 OF CHAR;
  189.     fracGroupSeparator *  : ARRAY 10 OF CHAR;
  190.     grouping *            : ARRAY 10 OF SHORTINT;
  191.     fracGrouping *        : ARRAY 10 OF SHORTINT;
  192.  
  193.     (* for monetary values *)
  194.     monDecimalPoint *     : ARRAY 10 OF CHAR;
  195.     monGroupSeparator *   : ARRAY 10 OF CHAR;
  196.     monFracGroupSeparator * : ARRAY 10 OF CHAR;
  197.     monGrouping *         : ARRAY 10 OF SHORTINT;
  198.     monFracGrouping *     : ARRAY 10 OF SHORTINT;
  199.     monFracDigits *       : SHORTINT;
  200.     monIntFracDigits *    : SHORTINT;
  201.  
  202.     (* for currency symbols *)
  203.     monCS *               : ARRAY 10 OF CHAR;
  204.     monSmallCS *          : ARRAY 10 OF CHAR;
  205.     monIntCS *            : ARRAY 10 OF CHAR;
  206.  
  207.     (* for positive monetary values *)
  208.     monPositiveSign *     : ARRAY 10 OF CHAR;
  209.     monPositiveSpaceSep * : SHORTINT;
  210.     monPositiveSignPos *  : SHORTINT;
  211.     monPositiveCSPos *    : SHORTINT;
  212.  
  213.     (* for negative monetary values *)
  214.     monNegativeSign *     : ARRAY 10 OF CHAR;
  215.     monNegativeSpaceSep * : SHORTINT;
  216.     monNegativeSignPos *  : SHORTINT;
  217.     monNegativeCSPos *    : SHORTINT;
  218.  
  219.     calendarType *        : SHORTINT;
  220.   END;
  221.  
  222. TYPE
  223.  
  224.   LocalePrefsPtr * = POINTER TO LocalePrefs;
  225.   LocalePrefs * = RECORD
  226.     reserved *           : ARRAY 4 OF e.ULONG;
  227.     countryName *        : ARRAY 32 OF CHAR;
  228.     preferredLanguages * : ARRAY 10,30 OF CHAR;
  229.     gmtOffset *          : LONGINT;
  230.     flags *              : s.SET32;
  231.     countryData *        : CountryPrefs;
  232.   END;
  233.  
  234.  
  235. (************************************************************************)
  236.  
  237. (*
  238. **      $VER: overscan.h 38.4 (22.10.92)
  239. **
  240. **      File format for overscan preferences
  241. *)
  242.  
  243. (************************************************************************)
  244.  
  245. CONST
  246.  
  247.   idOSCN * = 04F53434EH; (* MAKE_ID('O','S','C','N') *)
  248.  
  249.   oscanMagic * = 0FEDCBA89H;
  250.  
  251. TYPE
  252.  
  253.   OverscanPrefsPtr * = POINTER TO OverscanPrefs;
  254.   OverscanPrefs * = RECORD
  255.     reserved *  : e.ULONG;
  256.     magic *     : e.ULONG;
  257.     hStart *    : e.UWORD;
  258.     hStop *     : e.UWORD;
  259.     vStart *    : e.UWORD;
  260.     vStop *     : e.UWORD;
  261.     displayID * : e.ULONG;
  262.     viewPos *   : gfx.Point;
  263.     text *      : gfx.Point;
  264.     standard *  : gfx.Rectangle;
  265.   END;
  266.  
  267. (* os_HStart, os_HStop, os_VStart, os_VStop can only be looked at if
  268.  * os_Magic equals OSCAN_MAGIC. If os_Magic is set to any other value,
  269.  * these four fields are undefined
  270.  *)
  271.  
  272.  
  273. (************************************************************************)
  274.  
  275. (*
  276. **      $VER: palette.h 39.2 (15.6.92)
  277. **
  278. **      File format for palette preferences
  279. *)
  280.  
  281.  
  282. (************************************************************************)
  283.  
  284. CONST
  285.  
  286.   idPALT * = 050414C54H; (* MAKE_ID('P','A','L','T') *)
  287.  
  288. TYPE
  289.  
  290.   PalettePrefsPtr * = POINTER TO PalettePrefs;
  291.   PalettePrefs * = RECORD
  292.     reserved *       : ARRAY 4 OF LONGINT;    (* System reserved                *)
  293.     pap4ColorPens *  : ARRAY 32 OF e.UWORD;
  294.     pap8ColorPens *  : ARRAY 32 OF e.UWORD;
  295.     colors *         : ARRAY 32 OF i.ColorSpec; (* Used as full 16-bit RGB values *)
  296.   END;
  297.  
  298.  
  299. (************************************************************************)
  300.  
  301. (*
  302. **      $VER: pointer.h 39.2 (9.6.92)
  303. **
  304. **      File format for pointer preferences
  305. *)
  306.  
  307. (************************************************************************)
  308.  
  309. CONST
  310.  
  311.   idPNTR * = 0504E5452H; (* MAKE_ID('P','N','T','R') *)
  312.  
  313. (************************************************************************)
  314.  
  315. TYPE
  316.  
  317.   PointerPrefsPtr * = POINTER TO PointerPrefs;
  318.   PointerPrefs * = RECORD
  319.     reserved * : ARRAY 4 OF e.ULONG;
  320.     which *    : e.UWORD;            (* 0=NORMAL, 1=BUSY *)
  321.     size *     : e.UWORD;            (* see <intuition/pointerclass.h> *)
  322.     width *    : e.UWORD;            (* Width in pixels *)
  323.     height *   : e.UWORD;            (* Height in pixels *)
  324.     depth *    : e.UWORD;            (* Depth *)
  325.     ySize *    : e.UWORD;            (* YSize *)
  326.     x *, y *   : e.UWORD;            (* Hotspot *)
  327.  
  328.     (* Color Table: numEntries = (1 << pp_Depth) - 1 *)
  329.  
  330.     (* Data follows *)
  331.   END;
  332.  
  333. (************************************************************************)
  334.  
  335. CONST
  336.  
  337. (* constants for PointerPrefs.which *)
  338.   normal * = 0;
  339.   busy * = 1;
  340.  
  341. (************************************************************************)
  342.  
  343. TYPE
  344.  
  345.   RGBTablePtr * = POINTER TO RGBTable;
  346.   RGBTable * = RECORD
  347.     red *   : SHORTINT;
  348.     green * : SHORTINT;
  349.     blue *  : SHORTINT;
  350.   END;
  351.  
  352. (************************************************************************)
  353.  
  354. (*
  355. **      $VER: printergfx.h 38.2 (3.7.91)
  356. **
  357. **      File format for graphics printer preferences
  358. *)
  359.  
  360.  
  361. (************************************************************************)
  362.  
  363. CONST
  364.  
  365.   idPGFX * = 050474658H; (* MAKE_ID('P','G','F','X') *)
  366.  
  367. TYPE
  368.  
  369.   PrinterGfxPrefsPtr * = POINTER TO PrinterGfxPrefs;
  370.   PrinterGfxPrefs * = RECORD
  371.     reserved *       : ARRAY 4 OF LONGINT;
  372.     aspect *         : e.UWORD;
  373.     shade *          : e.UWORD;
  374.     image *          : e.UWORD;
  375.     threshold *      : INTEGER;
  376.     colorCorrect *   : SHORTINT;
  377.     dimensions *     : SHORTINT;
  378.     dithering *      : SHORTINT;
  379.     graphicFlags *   : s.SET16;
  380.     printDensity *   : SHORTINT;          (* Print density 1 - 7 *)
  381.     printMaxWidth *  : e.UWORD;
  382.     printMaxHeight * : e.UWORD;
  383.     printXOffset *   : SHORTINT;
  384.     printYOffset *   : SHORTINT;
  385.   END;
  386.  
  387. CONST
  388.  
  389. (* constants for PrinterGfxPrefs.pg_Aspect *)
  390.   horizontal * = 0;
  391.   vertical * = 1;
  392.  
  393. (* constants for PrinterGfxPrefs.pg_Shade *)
  394.   psBW * = 0;
  395.   greyScale * = 1;
  396.   color * = 2;
  397.   greyScale2 * = 3;
  398.  
  399. (* constants for PrinterGfxPrefs.pg_Image *)
  400.   positive * = 0;
  401.   negative * = 1;
  402.  
  403. (* flags for PrinterGfxPrefs.pg_ColorCorrect *)
  404.   red * = 1;        (* color correct red shades   *)
  405.   green * = 2;      (* color correct green shades *)
  406.   blue * = 3;       (* color correct blue shades  *)
  407.  
  408. (* constants for PrinterGfxPrefs.pg_Dimensions *)
  409.   ignore * = 0;      (* ignore max width/height settings *)
  410.   bounded * = 1;     (* use max w/h as boundaries        *)
  411.   absolute * = 2;    (* use max w/h as absolutes         *)
  412.   pixel * = 3;       (* use max w/h as prt pixels        *)
  413.   multiply * = 4;    (* use max w/h as multipliers       *)
  414.  
  415. (* constants for PrinterGfxPrefs.pg_Dithering *)
  416.   ordered * = 0;         (* ordered dithering *)
  417.   halfTone * = 1;        (* halftone dithering        *)
  418.   floyd * = 2;           (* Floyd-Steinberg dithering *)
  419.  
  420. (* flags for PrinterGfxPrefs.pg_GraphicsFlags *)
  421.   centerImage * = 0;                (* center image on paper *)
  422.   integerScaling * = 1;             (* force integer scaling *)
  423.   antiAlias * = 2;                  (* anti-alias image      *)
  424.  
  425.  
  426. (************************************************************************)
  427.  
  428. (*
  429. **      $VER: printerps.h 38.6 (6.5.93)
  430. **
  431. **      File format for PostScript printer preferences
  432. *)
  433.  
  434.  
  435. (************************************************************************)
  436.  
  437. CONST
  438.  
  439.   idPSPD * = 050535044H; (* MAKE_ID('P','S','P','D') *)
  440.  
  441. TYPE
  442.  
  443.   PrinterPSPrefsPtr * = POINTER TO PrinterPSPrefs;
  444.   PrinterPSPrefs * = RECORD
  445.     reserved *      : ARRAY 4 OF LONGINT;   (* System reserved *)
  446.  
  447.     (* Global printing attributes *)
  448.     driverMode *    : SHORTINT;
  449.     paperFormat *   : SHORTINT;
  450.     reserved1 *     : ARRAY 2 OF e.UBYTE;
  451.     copies *        : LONGINT;
  452.     paperWidth *    : LONGINT;
  453.     paperHeight *   : LONGINT;
  454.     horizontalDPI * : LONGINT;
  455.     verticalDPI *   : LONGINT;
  456.  
  457.     (* Text Options *)
  458.     font *          : SHORTINT;
  459.     pitch *         : SHORTINT;
  460.     orientation *   : SHORTINT;
  461.     tab *           : SHORTINT;
  462.     reserved2 *     : ARRAY 8 OF e.UBYTE;
  463.  
  464.     (* Text Dimensions *)
  465.     leftMargin *    : LONGINT;
  466.     rightMargin *   : LONGINT;
  467.     topMargin *     : LONGINT;
  468.     bottomMargin *  : LONGINT;
  469.     fontPointSize * : LONGINT;
  470.     leading *       : LONGINT;
  471.     reserved3 *     : ARRAY 8 OF e.UBYTE;
  472.  
  473.     (* Graphics Options *)
  474.     leftEdge *      : LONGINT;
  475.     topEdge *       : LONGINT;
  476.     width *         : LONGINT;
  477.     height *        : LONGINT;
  478.     image *         : SHORTINT;
  479.     shading *       : SHORTINT;
  480.     dithering *     : SHORTINT;
  481.     reserved4 *     : ARRAY 8 OF e.UBYTE;
  482.  
  483.     (* Graphics Scaling *)
  484.     aspect *        : SHORTINT;
  485.     scalingType *   : SHORTINT;
  486.     reserved5 *     : SHORTINT;
  487.     centering *     : SHORTINT;
  488.     reserved6 *     : ARRAY 8 OF e.UBYTE;
  489.   END;
  490.  
  491. CONST
  492.  
  493. (* All measurements are in Millipoints which is 1/1000 of a point, or
  494.  * in other words 1/72000 of an inch
  495.  *)
  496.  
  497. (* constants for PrinterPSPrefs.ps_DriverMode *)
  498.   postScript * = 0;
  499.   passThrough * = 1;
  500.  
  501. (* constants for PrinterPSPrefs.ps_PaperFormat *)
  502.   usLetter * = 0;
  503.   usLegal * = 1;
  504.   a4 * = 2;
  505.   custom * = 3;
  506.  
  507. (* constants for PrinterPSPrefs.ps_Font *)
  508.   courier * = 0;
  509.   times * = 1;
  510.   helvetica * = 2;
  511.   helvNarrow * = 3;
  512.   avantGarde * = 4;
  513.   bookman * = 5;
  514.   newCent * = 6;
  515.   palatino * = 7;
  516.   zapfChancery * = 8;
  517.  
  518. (* constants for PrinterPSPrefs.ps_Pitch *)
  519.   pitchNormal * = 0;
  520.   pitchCompressed * = 1;
  521.   pitchExpanded * = 2;
  522.  
  523. (* constants for PrinterPSPrefs.ps_Orientation *)
  524.   portrait * = 0;
  525.   landscape * = 1;
  526.  
  527. (* constants for PrinterPSPrefs.ps_Tab *)
  528.   tab4 * = 0;
  529.   tab8 * = 1;
  530.   tabQuart * = 2;
  531.   tabHalf * = 3;
  532.   tabInch * = 4;
  533.  
  534. (* constants for PrinterPSPrefs.ps_Image *)
  535.   (* positive * = 0; *) (* same values as for printergfx *)
  536.   (* negative * = 1; *)
  537.  
  538. (* constants for PrinterPSPrefs.ps_Shading *)
  539.   shadBW * = 0;
  540.   shadGreyScale * = 1;
  541.   shadColor * = 2;
  542.  
  543. (* constants for PrinterPSPrefs.ps_Dithering *)
  544.   default * = 0;
  545.   dotty * = 1;
  546.   vert * = 2;
  547.   horiz * = 3;
  548.   diag * = 4;
  549.  
  550. (* constants for PrinterPSPrefs.ps_Aspect *)
  551.   aspHoriz * = 0;
  552.   aspVert * = 1;
  553.  
  554. (* constants for PrinterPSPrefs.ps_ScalingType *)
  555.   aspectAsis * = 0;
  556.   aspectWide * = 1;
  557.   aspectTall * = 2;
  558.   aspectBoth * = 3;
  559.   fitsWide * = 4;
  560.   fitsTall * = 5;
  561.   fitsBoth * = 6;
  562.  
  563. (* constants for PrinterPSPrefs.ps_Centering *)
  564.   centNone * = 0;
  565.   centHoriz * = 1;
  566.   centVert * = 2;
  567.   centBoth * = 3;
  568.  
  569.  
  570. (************************************************************************)
  571.  
  572. (*
  573. **      $VER: printertxt.h 38.2 (1.7.91)
  574. **
  575. **      File format for text printer preferences
  576. *)
  577.  
  578. (************************************************************************)
  579.  
  580. CONST
  581.  
  582.   idPTXT * = 050545854H; (* MAKE_ID('P','T','X','T') *)
  583.   idPUNT * = 050554E54H; (* MAKE_ID('P','U','N','T') *)
  584.  
  585.  
  586.   driverNameSize * = 30;                (* Filename size     *)
  587.   deviceNameSize * = 32;                  (* .device name size *)
  588.  
  589. TYPE
  590.  
  591.   PrinterTxtPrefsPtr * = POINTER TO PrinterTxtPrefs;
  592.   PrinterTxtPrefs * = RECORD
  593.     reserved *    : ARRAY 4 OF LONGINT; (* System reserved            *)
  594.     driver *      : ARRAY driverNameSize OF SHORTINT; (* printer driver filename    *)
  595.     port *        : SHORTINT;           (* printer port connection    *)
  596.  
  597.     paperType *   : e.UWORD;
  598.     paperSize *   : e.UWORD;
  599.     paperLength * : e.UWORD;            (* Paper length in # of lines *)
  600.  
  601.     pitch *       : e.UWORD;
  602.     spacing *     : e.UWORD;
  603.     leftMargin *  : e.UWORD;            (* Left margin                *)
  604.     rightMargin * : e.UWORD;            (* Right margin       *)
  605.     quality *     : e.UWORD;
  606.   END;
  607.  
  608. CONST
  609.  
  610. (* constants for PrinterTxtPrefs.pt_Port *)
  611.   parallel * = 0;
  612.   serial * = 1;
  613.  
  614. (* constants for PrinterTxtPrefs.pt_PaperType *)
  615.   fanfold * = 0;
  616.   single * = 1;
  617.  
  618. (* constants for PrinterTxtPrefs.pt_PaperSize *)
  619.   psUSLetter * = 0;
  620.   psUSLegal * = 1;
  621.   psNTractor * = 2;
  622.   psWTractor * = 3;
  623.   psCustom * = 4;
  624.   psEuroA0 * = 5;                       (* European size A0: 841 x 1189 *)
  625.   psEuroA1 * = 6;                       (* European size A1: 594 x 841  *)
  626.   psEuroA2 * = 7;                       (* European size A2: 420 x 594  *)
  627.   psEuroA3 * = 8;                       (* European size A3: 297 x 420  *)
  628.   psEuroA4 * = 9;                       (* European size A4: 210 x 297  *)
  629.   psEuroA5 * = 10;                      (* European size A5: 148 x 210  *)
  630.   psEuroA6 * = 11;                      (* European size A6: 105 x 148  *)
  631.   psEuroA7 * = 12;                      (* European size A7: 74 x 105   *)
  632.   psEuroA8 * = 13;                      (* European size A8: 52 x 74    *)
  633.  
  634. (* constants for PrinterTxtPrefs.pt_PrintPitch *)
  635.   pica * = 0;
  636.   elite * = 1;
  637.   fine * = 2;
  638.  
  639. (* constants for PrinterTxtPrefs.pt_PrintSpacing *)
  640.   sixLPI * = 0;
  641.   eightLPI * = 1;
  642.  
  643. (* constants for PrinterTxtPrefs.pt_PrintQuality *)
  644.   draft * = 0;
  645.   letter * = 1;
  646.  
  647. TYPE
  648.  
  649.   PrinterUnitPrefsPtr * = POINTER TO PrinterUnitPrefs;
  650.   PrinterUnitPrefs * = RECORD
  651.     reserved *        : ARRAY 4 OF LONGINT; (* System reserved           *)
  652.     unitNum *         : LONGINT;         (* Unit number for OpenDevice() *)
  653.     openDeviceFlags * : s.SET32;         (* Flags for OpenDevice()       *)
  654.     deviceName *      : ARRAY deviceNameSize OF SHORTINT;
  655.                                          (* Name for OpenDevice()        *)
  656.   END;
  657.  
  658.  
  659. (************************************************************************)
  660.  
  661. (*
  662. **      $VER: screenmode.h 38.4 (25.6.92)
  663. **
  664. **      File format for screen mode preferences
  665. *)
  666.  
  667. (************************************************************************)
  668.  
  669. CONST
  670.  
  671.   idSCRM * = 05343524DH; (* MAKE_ID('S','C','R','M') *)
  672.  
  673. TYPE
  674.  
  675.   ScreenModePrefsPtr * = POINTER TO ScreenModePrefs;
  676.   ScreenModePrefs * = RECORD
  677.     reserved *  : ARRAY 4 OF e.ULONG;
  678.     displayID * : e.ULONG;
  679.     width *     : e.UWORD;
  680.     height *    : e.UWORD;
  681.     depth *     : e.UWORD;
  682.     control *   : e.UWORD;
  683.   END;
  684.  
  685. CONST
  686.  
  687. (* flags for ScreenModePrefs.smp_Control *)
  688.   autoScroll * = 1;
  689.  
  690.  
  691. (************************************************************************)
  692.  
  693. (*
  694. **      $VER: serial.h 38.2 (10.7.91)
  695. **
  696. **      File format for serial preferences
  697. *)
  698.  
  699. (************************************************************************)
  700.  
  701. CONST
  702.  
  703.   idSERL * = 05345524CH; (* MAKE_ID('S','E','R','L'); *)
  704.  
  705. TYPE
  706.  
  707.   SerialPrefsPtr * = POINTER TO SerialPrefs;
  708.   SerialPrefs * = RECORD
  709.     reserved *        : ARRAY 3 OF LONGINT; (* System reserved           *)
  710.     unit0Map *        : e.ULONG;     (* What unit 0 really refers to     *)
  711.     baudRate *        : e.ULONG;     (* Baud rate                        *)
  712.  
  713.     inputBuffer *     : e.ULONG;     (* Input buffer: 0 - 65536          *)
  714.     outputBuffer *    : e.ULONG;     (* Future: Output: 0 - 65536        *)
  715.  
  716.     inputHandshake *  : SHORTINT;    (* Input handshaking                *)
  717.     outputHandshake * : SHORTINT;    (* Future: Output handshaking       *)
  718.  
  719.     parity *          : SHORTINT;    (* Parity                           *)
  720.     bitsPerChar *     : SHORTINT;    (* I/O bits per character           *)
  721.     stopBits *        : SHORTINT;    (* Stop bits                        *)
  722.   END;
  723.  
  724. CONST
  725.  
  726. (* constants for SerialPrefs.sp_Parity *)
  727.   parityNone * = 0;
  728.   parityEven * = 1;
  729.   parityOdd * = 2;
  730.   parityMark * = 3;                     (* Future enhancement *)
  731.   paritySpace * = 4;                    (* Future enhancement *)
  732.  
  733. (* constants for SerialPrefs.sp_Input/OutputHandshaking *)
  734.   hshakeXON * = 0;
  735.   hshakeRTS * = 1;
  736.   hshakeNone * = 2;
  737.  
  738.  
  739. (************************************************************************)
  740.  
  741. (*
  742. **      $VER: sound.h 38.2 (20.6.91)
  743. **
  744. **      File format for sound preferences
  745. *)
  746.  
  747. (************************************************************************)
  748.  
  749. CONST
  750.  
  751.   idSOND * = 0534F4E44H; (* MAKE_ID('S','O','N','D') *)
  752.  
  753. TYPE
  754.  
  755.   SoundPrefsPtr * = POINTER TO SoundPrefs;
  756.   SoundPrefs * = RECORD
  757.     reserved *      : ARRAY 4 OF LONGINT; (* System reserved            *)
  758.     displayQueue *  : BOOLEAN;            (* Flash the display?         *)
  759.     audioQueue *    : BOOLEAN;            (* Make some sound?           *)
  760.     audioType *     : e.UWORD;            (* Type of sound, see below   *)
  761.     audioVolume *   : e.UWORD;            (* Volume of sound, 0..64     *)
  762.     audioPeriod *   : e.UWORD;            (* Period of sound, 127..2500 *)
  763.     audioDuration * : e.UWORD;            (* Length of simple beep      *)
  764.     audioFileName * : ARRAY 256 OF CHAR;  (* Filename of 8SVX file      *)
  765.   END;
  766.  
  767. CONST
  768.  
  769. (* constants for SoundPrefs.sop_AudioType *)
  770.   beep * = 0;              (* simple beep sound *)
  771.   sample * = 1;            (* sampled sound     *)
  772.  
  773.  
  774. (************************************************************************)
  775.  
  776. (*
  777. **      $VER: wbpattern.h 39.4 (11.6.92)
  778. **
  779. **      File format for wbpattern preferences
  780. *)
  781.  
  782. (************************************************************************)
  783.  
  784. CONST
  785.  
  786.   idPTRN * = 05054524EH; (* MAKE_ID('P','T','R','N') *)
  787.  
  788. (************************************************************************)
  789.  
  790. TYPE
  791.  
  792.   WBPatternPrefsPtr * = POINTER TO WBPatternPrefs;
  793.   WBPatternPrefs * = RECORD
  794.     reserved *   : ARRAY 4 OF e.ULONG;
  795.     which *      : e.UWORD;            (* Which pattern is it *)
  796.     flags *      : s.SET16;
  797.     revision *   : SHORTINT;           (* Must be set to zero *)
  798.     depth *      : SHORTINT;           (* Depth of pattern *)
  799.     dataLength * : e.UWORD;            (* Length of following data *)
  800.   END;
  801.  
  802. (************************************************************************)
  803.  
  804. CONST
  805.  
  806. (* constants for WBPatternPrefs.wbp_Which *)
  807.   root * = 0;
  808.   drawer * = 1;
  809.   screen * = 2;
  810.  
  811. (* wbp_Flags values *)
  812.   pattern * = 0;
  813.     (* Data contains a pattern *)
  814.  
  815.   noRemap * = 4;
  816.     (* Don't remap the pattern *)
  817.  
  818. (************************************************************************)
  819.  
  820. CONST
  821.  
  822.   maxDepth * = 3;                (*  Max depth supported (8 colors) *)
  823.   defPatDepth * = 2;              (*  Depth of default patterns *)
  824.  
  825. (*  Pattern width & height: *)
  826.   patWidth * = 16;
  827.   patHeight * = 16;
  828.  
  829. (************************************************************************)
  830.  
  831. END Prefs.
  832.