home *** CD-ROM | disk | FTP | other *** search
/ Amiga ISO Collection / AmigaUtilCD2.iso / Programming / Misc / M2V11-1.LHA / modula / amiga / Prefs.def < prev    next >
Encoding:
Text File  |  1994-09-28  |  20.3 KB  |  729 lines

  1. DEFINITION FOR C MODULE Prefs ;
  2.  
  3. (*  CountryPrefs &  PrinterPSPrefs suffer from array bugs!!        *)
  4. (*  also LocalePrefs depends on country prefs , so needs to be checked  *)
  5.  
  6. FROM SYSTEM    IMPORT ADDRESS, LONGSET, SHORTSET, MAKEID ;
  7. FROM Timer    IMPORT TimeVal ;
  8. FROM Graphics    IMPORT Point, TextAttr, Rectangle ;
  9. FROM Intuition    IMPORT ColorSpec ;
  10.  
  11. TYPE
  12.   FontPrefsPtr        = POINTER TO FontPrefs ;
  13.   IControlPrefsPtr    = POINTER TO IControlPrefs ;
  14.   InputPrefsPtr        = POINTER TO InputPrefs ;
  15.   CountryPrefsPtr    = POINTER TO CountryPrefs ;
  16.   LocalePrefsPtr    = POINTER TO LocalePrefs ;
  17.   OverscanPrefsPtr    = POINTER TO OverscanPrefs ;
  18.   PalettePrefsPtr    = POINTER TO PalettePrefs ;
  19.   PointerPrefsPtr    = POINTER TO PointerPrefs ;
  20.   RGBTablePtr        = POINTER TO RGBTable ;
  21.   PrefHeaderPtr        = POINTER TO PrefHeader ;
  22.   PrinterGfxPrefsPtr    = POINTER TO PrinterGfxPrefs ;
  23.   PrinterPSPrefsPtr    = POINTER TO PrinterPSPrefs ;
  24.   PrinterTxtPrefsPtr    = POINTER TO PrinterTxtPrefs ;
  25.   PrinterUnitPrefsPtr    = POINTER TO PrinterUnitPrefs ;
  26.   ScreenModePrefsPtr    = POINTER TO ScreenModePrefs ;
  27.   SerialPrefsPtr    = POINTER TO SerialPrefs ;
  28.   SoundPrefsPtr        = POINTER TO SoundPrefs ;
  29.   WBPatternPrefsPtr    = POINTER TO WBPatternPrefs ;
  30.  
  31. (******************************************************************************)
  32. (*                                          *)
  33. (*             File format for font preferences               *)
  34. (*                                          *)
  35. (******************************************************************************)
  36.  
  37. CONST
  38.   ID_FONT = MAKEID("FONT") ;
  39.  
  40.   FONTNAMESIZE    = 128 ;
  41.  
  42. TYPE
  43.   FontPrefs = RECORD
  44.     fp_Reserved     : ARRAY [0..2] OF LONGINT ;
  45.     fp_Reserved2 : CARDINAL ;
  46.     fp_Type     : BITSET ;
  47.     fp_FrontPen     : SHORTCARD ;
  48.     fp_BackPen     : SHORTCARD ;
  49.     fp_DrawMode  : SHORTSET ;
  50.     fp_TextAttr  : TextAttr ;
  51.     fp_Name     : ARRAY [0..FONTNAMESIZE-1] OF CHAR ;
  52.   END ;
  53.  
  54.  
  55. (* constants for FontPrefs.fp_Type *)
  56. CONST
  57.   FP_WBFONT     = 0 ;
  58.   FP_SYSFONT    = 1 ;
  59.   FP_SCREENFONT = 2 ;
  60.  
  61. (* File format for intuition control preferences *)
  62.  
  63. CONST
  64.   ID_ICTL = MAKEID("ICTL") ;
  65.  
  66. TYPE
  67.   IControlPrefs = RECORD
  68.     ic_Reserved       : ARRAY [0..3] OF LONGINT ;
  69.                      (* System reserved        *)
  70.     ic_TimeOut       : CARDINAL  ; (* Verify timeout        *)
  71.     ic_MetaDrag       : INTEGER   ; (* Meta drag mouse event    *)
  72.     ic_Flags       : LONGSET   ; (* IControl flags (see below)    *)
  73.     ic_WBtoFront   : SHORTCARD ; (* CKey: WB to front        *)
  74.     ic_FrontToBack : SHORTCARD ; (* CKey: front screen to back    *)
  75.     ic_ReqTrue       : SHORTCARD ; (* CKey: Requester TRUE    *)
  76.     ic_ReqFalse       : SHORTCARD ; (* CKey: Requester FALSE    *)
  77.   END ;
  78.  
  79. (* flags for IControlPrefs.ic_Flags *)
  80. CONST
  81.   ICB_COERCE_COLORS = 0 ;
  82.   ICB_COERCE_LACE   = 1 ;
  83.   ICB_STRGAD_FILTER = 2 ;
  84.   ICB_MENUSNAP        = 3 ;
  85.   ICB_MODEPROMOTE   = 4 ;
  86.  
  87.   ICF_COERCE_COLORS = {0} ;
  88.   ICF_COERCE_LACE   = {1} ;
  89.   ICF_STRGAD_FILTER = {2} ;
  90.   ICF_MENUSNAP        = {3} ;
  91.   ICF_MODEPROMOTE   = {4} ;
  92.  
  93.  
  94. (******************************************************************************)
  95. (*                                          *)
  96. (*            File format for input preferences              *)
  97. (*                                          *)
  98. (******************************************************************************)
  99.  
  100. CONST
  101.   ID_INPT = MAKEID("INPT") ;
  102.  
  103.  
  104. TYPE
  105.   InputPrefs = RECORD
  106.     ip_Keymap        : ARRAY [0..15] OF CHAR ;
  107.     ip_PointerTicks : CARDINAL ;
  108.     ip_DoubleClick  : TimeVal ;
  109.     ip_KeyRptDelay  : TimeVal ;
  110.     ip_KeyRptSpeed  : TimeVal ;
  111.     ip_MouseAccel   : INTEGER ;
  112.   END ;
  113.  
  114.  
  115. (******************************************************************************)
  116. (*                                          *)
  117. (*            File format for locale preferences              *)
  118. (*                                          *)
  119. (******************************************************************************)
  120.  
  121.  
  122. CONST
  123.   ID_LCLE = MAKEID("LCLE") ;
  124.   ID_CTRY = MAKEID("CTRY") ;
  125.  
  126.  
  127. TYPE
  128.   CountryPrefs = RECORD
  129.     cp_Reserved            : ARRAY [0..3] OF LONGINT ;
  130.     cp_CountryCode        : LONGINT ;
  131.     cp_TelephoneCode        : LONGINT ;
  132.     cp_MeasuringSystem        : SHORTCARD ;
  133.  
  134.     cp_DateTimeFormat        : ARRAY [0..79] OF CHAR ;
  135.     cp_DateFormat        : ARRAY [0..39] OF CHAR ;
  136.     cp_TimeFormat        : ARRAY [0..39] OF CHAR ;
  137.  
  138.     cp_ShortDateTimeFormat     : ARRAY [0..79] OF CHAR ;
  139.     cp_ShortDateFormat        : ARRAY [0..39] OF CHAR ;
  140.     cp_ShortTimeFormat        : ARRAY [0..39] OF CHAR ;
  141.  
  142.     (* for numeric values *)
  143.     cp_DecimalPoint        : ARRAY [0..9] OF CHAR ;
  144.     cp_GroupSeparator        : ARRAY [0..9] OF CHAR ;
  145.     cp_FracGroupSeparator     : ARRAY [0..9] OF CHAR ;
  146.     cp_Grouping            : ARRAY [0..9] OF CHAR ;
  147.     cp_FracGrouping         : ARRAY [0..9] OF CHAR ;
  148.  
  149.     (* for monetary values *)
  150.     cp_MonDecimalPoint        : ARRAY [0..9] OF CHAR ;
  151.     cp_MonGroupSeparator     : ARRAY [0..9] OF CHAR ;
  152.     cp_MonFracGroupSeparator     : ARRAY [0..9] OF CHAR ;
  153.     cp_MonGrouping        : ARRAY [0..9] OF SHORTCARD ;
  154.     cp_MonFracGrouping        : ARRAY [0..9] OF SHORTCARD ;
  155.     cp_MonFracDigits        : SHORTCARD ;
  156.     cp_MonIntFracDigits        : SHORTCARD ;
  157.  
  158.     (* for currency symbols *)
  159.     cp_MonCS            : ARRAY [0..9] OF CHAR ;
  160.     cp_MonSmallCS        : ARRAY [0..9] OF CHAR ;
  161.     cp_MonIntCS            : ARRAY [0..9] OF CHAR ;
  162.  
  163.     (* for positive monetary values *)
  164.     cp_MonPositiveSign        : ARRAY [0..9] OF CHAR ;
  165.     cp_MonPositiveSpaceSep     : SHORTCARD ;
  166.     cp_MonPositiveSignPos     : SHORTCARD ;
  167.     cp_MonPositiveCSPos     : SHORTCARD ;
  168.  
  169.     (* for negative monetary values *)
  170.     cp_MonNegativeSign        : ARRAY [0..9] OF CHAR ;
  171.     cp_MonNegativeSpaceSep     : SHORTCARD ;
  172.     cp_MonNegativeSignPos     : SHORTCARD ;
  173.     cp_MonNegativeCSPos     : SHORTCARD ;
  174.  
  175.     cp_CalendarType         : SHORTCARD ;
  176.   END ;
  177.  
  178.  
  179. TYPE
  180.   LocalePrefs = RECORD
  181.     lp_Reserved          : ARRAY [0..03] OF LONGINT ;
  182.     lp_CountryName      : ARRAY [0..31] OF CHAR ;
  183.     lp_PreferredLanguages : ARRAY [0..9],[0..29] OF CHAR ;
  184.     lp_GMTOffset      : LONGINT ;
  185.     lp_Flags          : LONGSET ;
  186.     lp_CountryData      : CountryPrefs ;
  187.   END ;
  188.  
  189.  
  190. (******************************************************************************)
  191. (*                                          *)
  192. (*            File format for overscan preferences              *)
  193. (*                                          *)
  194. (******************************************************************************)
  195.  
  196. CONST
  197.   ID_OSCN = MAKEID("OSCN") ;
  198.  
  199.   OSCAN_MAGIC  = 0FEDCBA89H ;
  200.  
  201.  
  202. TYPE
  203.   OverscanPrefs = RECORD
  204.     os_Reserved  : LONGINT  ;
  205.     os_Magic     : LONGINT  ;
  206.     os_HStart     : CARDINAL ;
  207.     os_HStop     : CARDINAL ;
  208.     os_VStart     : CARDINAL ;
  209.     os_VStop     : CARDINAL ;
  210.     os_DisplayID : LONGINT  ;
  211.     os_ViewPos   : Point    ;
  212.     os_Text     : Point    ;
  213.     os_Standard  : Rectangle;
  214.   END ;
  215.  
  216. (* os_HStart, os_HStop, os_VStart, os_VStop can only be looked at if    *)
  217. (* os_Magic equals OSCAN_MAGIC. If os_Magic is set to any other value,    *)
  218. (* these four fields are undefined                    *)
  219.  
  220.  
  221.  
  222. (******************************************************************************)
  223. (*                                          *)
  224. (*            File format for palette preferences              *)
  225. (*                                          *)
  226. (******************************************************************************)
  227.  
  228. CONST
  229.   ID_PALT = MAKEID("PALT") ;
  230.  
  231. TYPE
  232.   PalettePrefs = RECORD
  233.     pap_Reserved   : ARRAY [0..03] OF LONGINT   ; (* System reserved *)
  234.     pap_4ColorPens : ARRAY [0..31] OF CARDINAL  ;
  235.     pap_8ColorPens : ARRAY [0..31] OF CARDINAL  ;
  236.     pap_Colors       : ARRAY [0..31] OF ColorSpec ;
  237.                 (* Used as full 16-bit RGB values *)
  238.   END ;
  239.  
  240.  
  241. (******************************************************************************)
  242. (*                                          *)
  243. (*            File format for pointer preferences              *)
  244. (*                                          *)
  245. (******************************************************************************)
  246.  
  247. CONST
  248.   ID_PNTR = MAKEID("PNTR") ;
  249.  
  250. TYPE
  251.   PointerPrefs = RECORD
  252.     pp_Reserved : ARRAY [0..3] OF LONGINT ;
  253.     pp_Which    : CARDINAL ; (* 0=NORMAL, 1=BUSY        *)
  254.     pp_Size     : CARDINAL ; (* see <intuition/pointerclass.h>  *)
  255.     pp_Width    : CARDINAL ; (* Width in pixels            *)
  256.     pp_Height   : CARDINAL ; (* Height in pixels        *)
  257.     pp_Depth    : CARDINAL ; (* Depth                *)
  258.     pp_YSize    : CARDINAL ; (* YSize                *)
  259.     pp_X, pp_Y  : CARDINAL ; (* Hotspot                *)
  260.  
  261.     (* Color Table:  numEntries = (1 << pp_Depth) - 1 *)
  262.  
  263.     (* Data follows *)
  264.   END ;
  265.  
  266. (* constants for PointerPrefs.pp_Which *)
  267.  
  268. CONST
  269.   WBP_NORMAL    = 0 ;
  270.   WBP_BUSY    = 1 ;
  271.  
  272. TYPE
  273.   RGBTable = RECORD
  274.     t_Red   : SHORTCARD ;
  275.     t_Green : SHORTCARD ;
  276.     t_Blue  : SHORTCARD ;
  277.   END ;
  278.  
  279. (******************************************************************************)
  280. (*                                          *)
  281. (*            File format for preferences header              *)
  282. (*                                          *)
  283. (******************************************************************************)
  284.  
  285. CONST
  286.   ID_PREF = MAKEID("PREF") ;
  287.   ID_PRHD = MAKEID("PRHD") ;
  288.  
  289.  
  290. TYPE
  291.   PrefHeader = RECORD
  292.     ph_Version : SHORTCARD ; (* version of following data *)
  293.     ph_Type    : SHORTCARD ; (* type of following data    *)
  294.     ph_Flags   : LONGSET   ; (* always set to 0 for now   *)
  295.   END ;
  296.  
  297.  
  298. (******************************************************************************)
  299. (*                                          *)
  300. (*        File format for graphics printer preferences              *)
  301. (*                                          *)
  302. (******************************************************************************)
  303.  
  304. CONST
  305.   ID_PGFX = MAKEID("PGFX") ;
  306.  
  307.  
  308. TYPE
  309.   PrinterGfxPrefs = RECORD
  310.     pg_Reserved        : ARRAY [0..3] OF LONGINT ;
  311.     pg_Aspect        : CARDINAL ;
  312.     pg_Shade        : CARDINAL ;
  313.     pg_Image        : CARDINAL ;
  314.     pg_Threshold    : INTEGER ;
  315.     pg_ColorCorrect    : SHORTSET ;
  316.     pg_Dimensions    : SHORTCARD  ;
  317.     pg_Dithering    : SHORTCARD ;
  318.     pg_GraphicFlags    : BITSET ;
  319.     pg_PrintDensity    : SHORTCARD ;        (* Print density 1 - 7 *)
  320.     pg_PrintMaxWidth    : CARDINAL ;
  321.     pg_PrintMaxHeight    : CARDINAL ;
  322.     pg_PrintXOffset    : SHORTCARD ;
  323.     pg_PrintYOffset    : SHORTCARD ;
  324.   END ;
  325.  
  326. (* constants for PrinterGfxPrefs.pg_Aspect *)
  327. CONST
  328.   PA_HORIZONTAL = 0 ;
  329.   PA_VERTICAL   = 1 ;
  330.  
  331. (* constants for PrinterGfxPrefs.pg_Shade *)
  332.   PS_BW         = 0 ;
  333.   PS_GREYSCALE     = 1 ;
  334.   PS_COLOR     = 2 ;
  335.   PS_GREY_SCALE2 = 3 ;
  336.  
  337. (* constants for PrinterGfxPrefs.pg_Image *)
  338.   PI_POSITIVE = 0 ;
  339.   PI_NEGATIVE = 1 ;
  340.  
  341. (* flags for PrinterGfxPrefs.pg_ColorCorrect *)
  342.   PCCB_RED   = 1 ;    (* color correct red shades   *)
  343.   PCCB_GREEN = 2 ;    (* color correct green shades *)
  344.   PCCB_BLUE  = 3 ;    (* color correct blue shades  *)
  345.  
  346.   PCCF_RED   = {0} ;
  347.   PCCF_GREEN = {1} ;
  348.   PCCF_BLUE  = {2} ;
  349.  
  350. (* constants for PrinterGfxPrefs.pg_Dimensions *)
  351.   PD_IGNORE   = 0 ;  (* ignore max width/height settings   *)
  352.   PD_BOUNDED  = 1 ;  (* use max w/h as boundaries       *)
  353.   PD_ABSOLUTE = 2 ;  (* use max w/h as absolutes       *)
  354.   PD_PIXEL    = 3 ;  (* use max w/h as prt pixels       *)
  355.   PD_MULTIPLY = 4 ;  (* use max w/h as multipliers       *)
  356.  
  357. (* constants for PrinterGfxPrefs.pg_Dithering *)
  358.   PD_ORDERED    = 0 ;  (* ordered dithering        *)
  359.   PD_HALFTONE    = 1 ;  (* halftone dithering        *)
  360.   PD_FLOYD    = 2 ;  (* Floyd-Steinberg dithering    *)
  361.  
  362. (* flags for PrinterGfxPrefs.pg_GraphicsFlags *)
  363.   PGFB_CENTER_IMAGE    = 0 ; (* center image on paper        *)
  364.   PGFB_INTEGER_SCALING    = 1 ; (* force integer scaling        *)
  365.   PGFB_ANTI_ALIAS    = 2 ; (* anti-alias image        *)
  366.  
  367.   PGFF_CENTER_IMAGE    = {0} ;
  368.   PGFF_INTEGER_SCALING    = {1} ;
  369.   PGFF_ANTI_ALIAS    = {2} ;
  370.  
  371.  
  372. (******************************************************************************)
  373. (*                                          *)
  374. (*        File format for PostScript printer preferences              *)
  375. (*                                          *)
  376. (******************************************************************************)
  377.  
  378. CONST
  379.   ID_PSPD = MAKEID("PSPD") ;
  380.  
  381. TYPE
  382.   PrinterPSPrefs = RECORD
  383.     ps_Reserved        : ARRAY [0..3] OF LONGINT ;    (* System reserved *)
  384.  
  385.     (* Global printing attributes *)
  386.     ps_DriverMode    : SHORTCARD ;
  387.     ps_PaperFormat    : SHORTCARD ;
  388.     ps_Reserved1    : ARRAY [0..1] OF SHORTCARD ;
  389.     ps_Copies        : LONGINT ;
  390.     ps_PaperWidth    : LONGINT ;
  391.     ps_PaperHeight    : LONGINT ;
  392.     ps_HorizontalDPI    : LONGINT ;
  393.     ps_VerticalDPI    : LONGINT ;
  394.  
  395.     (* Text Options *)
  396.     ps_Font        : SHORTCARD ;
  397.     ps_Pitch        : SHORTCARD ;
  398.     ps_Orientation    : SHORTCARD ;
  399.     ps_Tab        : SHORTCARD ;
  400.     ps_Reserved2    : ARRAY [0..7] OF SHORTCARD ;
  401.  
  402.     (* Text Dimensions *)
  403.     ps_LeftMargin    : LONGINT ;
  404.     ps_RightMargin    : LONGINT ;
  405.     ps_TopMargin    : LONGINT ;
  406.     ps_BottomMargin    : LONGINT ;
  407.     ps_FontPointSize    : LONGINT ;
  408.     ps_Leading        : LONGINT ;
  409.     ps_Reserved3    : ARRAY [0..7] OF SHORTCARD ;
  410.  
  411.     (* Graphics Options *)
  412.     ps_LeftEdge        : LONGINT ;
  413.     ps_TopEdge        : LONGINT ;
  414.     ps_Width        : LONGINT ;
  415.     ps_Height        : LONGINT ;
  416.     ps_Image        : SHORTCARD ;
  417.     ps_Shading        : SHORTCARD ;
  418.     ps_Dithering    : SHORTCARD ;
  419.     ps_Reserved4    : ARRAY [0..8] OF SHORTCARD ;
  420.  
  421.     (* Graphics Scaling *)
  422.     ps_Aspect        : SHORTCARD ;
  423.     ps_ScalingType    : SHORTCARD ;
  424.     ps_Reserved5    : SHORTCARD ;
  425.     ps_Centering    : SHORTCARD ;
  426.     ps_Reserved6    : ARRAY [0..7] OF SHORTCARD ;
  427.   END ;
  428.  
  429. (* All measurements are in Millipoints which is 1/1000 of a point, or    *)
  430. (* in other words 1/72000 of an inch                    *)
  431.  
  432. (* constants for PrinterPSPrefs.ps_DriverMode *)
  433. CONST
  434.   DM_POSTSCRIPT    = 0 ;
  435.   DM_PASSTHROUGH   = 1 ;
  436.  
  437. (* constants for PrinterPSPrefs.ps_PaperFormat *)
  438.   PF_USLETTER       = 0 ;
  439.   PF_USLEGAL       = 1 ;
  440.   PF_A4           = 2 ;
  441.   PF_CUSTOM       = 3 ;
  442.  
  443. (* constants for PrinterPSPrefs.ps_Font *)
  444.   FONT_COURIER       = 0 ;
  445.   FONT_TIMES       = 1 ;
  446.   FONT_HELVETICA   = 2 ;
  447.   FONT_HELV_NARROW = 3 ;
  448.   FONT_AVANTGARDE  = 4 ;
  449.   FONT_BOOKMAN       = 5 ;
  450.   FONT_NEWCENT       = 6 ;
  451.   FONT_PALATINO       = 7 ;
  452.   FONT_ZAPFCHANCERY= 8 ;
  453.  
  454. (* constants for PrinterPSPrefs.ps_Pitch *)
  455.   PITCH_NORMAL       = 0 ;
  456.   PITCH_COMPRESSED = 1 ;
  457.   PITCH_EXPANDED   = 2 ;
  458.  
  459. (* constants for PrinterPSPrefs.ps_Orientation *)
  460.   ORIENT_PORTRAIT  = 0 ;
  461.   ORIENT_LANDSCAPE = 1 ;
  462.  
  463. (* constants for PrinterPSPrefs.ps_Tab *)
  464.   TAB_4           = 0 ;
  465.   TAB_8           = 1 ;
  466.   TAB_QUART       = 2 ;
  467.   TAB_HALF       = 3 ;
  468.   TAB_INCH       = 4 ;
  469.  
  470. (* constants for PrinterPSPrefs.ps_Image *)
  471.   IM_POSITIVE       = 0 ;
  472.   IM_NEGATIVE       = 1 ;
  473.  
  474. (* constants for PrinterPSPrefs.ps_Shading *)
  475.   SHAD_BW          = 0 ;
  476.   SHAD_GREYSCALE   = 1 ;
  477.   SHAD_COLOR       = 2 ;
  478.  
  479. (* constants for PrinterPSPrefs.ps_Dithering *)
  480.   DITH_DEFAULT       = 0 ;
  481.   DITH_DOTTY       = 1 ;
  482.   DITH_VERT       = 2 ;
  483.   DITH_HORIZ       = 3 ;
  484.   DITH_DIAG       = 4 ;
  485.  
  486. (* constants for PrinterPSPrefs.ps_Aspect *)
  487.   ASP_HORIZ       = 0 ;
  488.   ASP_VERT       = 1 ;
  489.  
  490. (* constants for PrinterPSPrefs.ps_ScalingType *)
  491.   ST_ASPECT_ASIS   = 0 ;
  492.   ST_ASPECT_WIDE   = 1 ;
  493.   ST_ASPECT_TALL   = 2 ;
  494.   ST_ASPECT_BOTH   = 3 ;
  495.   ST_FITS_WIDE       = 4 ;
  496.   ST_FITS_TALL       = 5 ;
  497.   ST_FITS_BOTH       = 6 ;
  498.  
  499. (* constants for PrinterPSPrefs.ps_Centering *)
  500.   CENT_NONE       = 0 ;
  501.   CENT_HORIZ       = 1 ;
  502.   CENT_VERT       = 2 ;
  503.   CENT_BOTH       = 3 ;
  504.  
  505.  
  506. (*****************************************************************************)
  507. (*                                         *)
  508. (*            File format for text printer preferences         *)
  509. (*                                         *)
  510. (*****************************************************************************)
  511.  
  512. CONST
  513.   ID_PTXT = MAKEID("PTXT") ;
  514.   ID_PUNT = MAKEID("PUNT") ;
  515.  
  516.  
  517.   DRIVERNAMESIZE = 30 ;    (* Filename size     *)
  518.   DEVICENAMESIZE = 32 ;    (* .device name size *)
  519.  
  520.  
  521. TYPE
  522.   PrinterTxtPrefs = RECORD
  523.     pt_Reserved        : ARRAY [0..3] OF LONGINT ;
  524.                     (* System reserved        *)
  525.     pt_Driver        : ARRAY [0..DRIVERNAMESIZE-1] OF CHAR ;
  526.                     (* printer driver filename      *)
  527.     pt_Port        : SHORTCARD ;    (* printer port connection    *)
  528.  
  529.     pt_PaperType    : CARDINAL ;
  530.     pt_PaperSize    : CARDINAL ;
  531.     pt_PaperLength    : CARDINAL ;    (* Paper length in # of lines    *)
  532.  
  533.     pt_Pitch        : CARDINAL ;
  534.     pt_Spacing        : CARDINAL ;
  535.     pt_LeftMargin    : CARDINAL ;    (* Left margin            *)
  536.     pt_RightMargin    : CARDINAL ;    (* Right margin            *)
  537.     pt_Quality        : CARDINAL ;
  538.   END ;
  539.  
  540. (* constants for PrinterTxtPrefs.pt_Port *)
  541. CONST
  542.   PP_PARALLEL    = 0 ;
  543.   PP_SERIAL    = 1 ;
  544.  
  545. (* constants for PrinterTxtPrefs.pt_PaperType *)
  546.   PT_FANFOLD    = 0 ;
  547.   PT_SINGLE    = 1 ;
  548.  
  549. (* constants for PrinterTxtPrefs.pt_PaperSize *)
  550.   PS_US_LETTER    =  0 ;
  551.   PS_US_LEGAL    =  1 ;
  552.   PS_N_TRACTOR    =  2 ;
  553.   PS_W_TRACTOR    =  3 ;
  554.   PS_CUSTOM    =  4 ;
  555.   PS_EURO_A0    =  5 ;    (* European size A0: 841 x 1189 *)
  556.   PS_EURO_A1    =  6 ;    (* European size A1: 594 x 841    *)
  557.   PS_EURO_A2    =  7 ;    (* European size A2: 420 x 594    *)
  558.   PS_EURO_A3    =  8 ;    (* European size A3: 297 x 420    *)
  559.   PS_EURO_A4    =  9 ;    (* European size A4: 210 x 297    *)
  560.   PS_EURO_A5    = 10 ;    (* European size A5: 148 x 210    *)
  561.   PS_EURO_A6    = 11 ;    (* European size A6: 105 x 148    *)
  562.   PS_EURO_A7    = 12 ;    (* European size A7: 74 x 105    *)
  563.   PS_EURO_A8    = 13 ;    (* European size A8: 52 x 74    *)
  564.  
  565. (* constants for PrinterTxtPrefs.pt_PrintPitch *)
  566.   PP_PICA    = 0 ;
  567.   PP_ELITE    = 1 ;
  568.   PP_FINE    = 2 ;
  569.  
  570. (* constants for PrinterTxtPrefs.pt_PrintSpacing *)
  571.   PS_SIX_LPI      = 0 ;
  572.   PS_EIGHT_LPI    = 1 ;
  573.  
  574. (* constants for PrinterTxtPrefs.pt_PrintQuality *)
  575.   PQ_DRAFT    = 0 ;
  576.   PQ_LETTER    = 1 ;
  577.  
  578.  
  579. TYPE
  580.   PrinterUnitPrefs = RECORD
  581.     pu_Reserved        : ARRAY [0..3] OF LONGINT ;
  582.                         (* System reserved            *)
  583.     pu_UnitNum        : LONGINT ; (* Unit number for OpenDevice() *)
  584.     pu_OpenDeviceFlags    : LONGSET ; (* Flags for OpenDevice()        *)
  585.     pu_DeviceName    : ARRAY [0..DEVICENAMESIZE-1] OF CHAR ;
  586.                     (* Name for OpenDevice()        *)
  587.   END ;
  588.  
  589.  
  590. (******************************************************************************)
  591. (*                                          *)
  592. (*        File format for screen mode preferences                  *)
  593. (*                                          *)
  594. (******************************************************************************)
  595.  
  596. CONST
  597.   ID_SCRM = MAKEID("SCRM") ;
  598.  
  599. TYPE
  600.   ScreenModePrefs = RECORD
  601.     smp_Reserved  : ARRAY [0..3] OF LONGINT ;
  602.     smp_DisplayID : LONGINT  ;
  603.     smp_Width      : CARDINAL ;
  604.     smp_Height      : CARDINAL ;
  605.     smp_Depth      : CARDINAL ;
  606.     smp_Control      : BITSET   ;
  607.   END ;
  608.  
  609. (* flags for ScreenModePrefs.smp_Control *)
  610. CONST
  611.   SMB_AUTOSCROLL =  1  ;
  612.   SMF_AUTOSCROLL = {0} ;
  613.  
  614.  
  615. (******************************************************************************)
  616. (*                                          *)
  617. (*            File format for serial preferences              *)
  618. (*                                          *)
  619. (******************************************************************************)
  620.  
  621. CONST
  622.   ID_SERL = MAKEID("SERL") ;
  623.  
  624. TYPE
  625.   SerialPrefs = RECORD
  626.     sp_Reserved        : ARRAY [0..2] OF LONGINT ;
  627.                         (* System reserved            *)
  628.     sp_Unit0Map        : LONGINT ;    (* What unit 0 really refers to     *)
  629.     sp_BaudRate        : LONGINT ;    (* Baud rate                *)
  630.  
  631.     sp_InputBuffer    : LONGINT ;    (* Input buffer: 0 - 65536        *)
  632.     sp_OutputBuffer    : LONGINT ;    (* Future: Output: 0 - 65536        *)
  633.  
  634.     sp_InputHandshake    : SHORTCARD ;    (* Input handshaking            *)
  635.     sp_OutputHandshake    : SHORTCARD ;    (* Future: Output handshaking        *)
  636.  
  637.     sp_Parity        : SHORTCARD ;    (* Parity                *)
  638.     sp_BitsPerChar    : SHORTCARD ;    (* I/O bits per character        *)
  639.     sp_StopBits        : SHORTSET  ;    (* Stop bits                *)
  640.   END ;
  641.  
  642. (* constants for SerialPrefs.sp_Parity *)
  643. CONST
  644.   PARITY_NONE    = 0 ;
  645.   PARITY_EVEN    = 1 ;
  646.   PARITY_ODD    = 2 ;
  647.   PARITY_MARK    = 3 ;        (* Future enhancement *)
  648.   PARITY_SPACE    = 4 ;        (* Future enhancement *)
  649.  
  650. (* constants for SerialPrefs.sp_Input/OutputHandshaking *)
  651.   HSHAKE_XON    = 0 ;
  652.   HSHAKE_RTS    = 1 ;
  653.   HSHAKE_NONE    = 2 ;
  654.  
  655.  
  656. (******************************************************************************)
  657. (*                                          *)
  658. (*            File format for sound preferences              *)
  659. (*                                          *)
  660. (******************************************************************************)
  661.  
  662. CONST
  663.   ID_SOND = MAKEID("SOND") ;
  664.  
  665.  
  666. TYPE
  667.   SoundPrefs = RECORD
  668.     sop_Reserved    : ARRAY [0..3] OF LONGINT ;
  669.                         (* System reserved          *)
  670.     sop_DisplayQueue    : INTEGER ;    (* Flash the display?          *)
  671.     sop_AudioQueue    : INTEGER ;    (* Make some sound?          *)
  672.     sop_AudioType    : CARDINAL ;    (* Type of sound, see below   *)
  673.     sop_AudioVolume    : CARDINAL ;    (* Volume of sound, 0..64     *)
  674.     sop_AudioPeriod    : CARDINAL ;    (* Period of sound, 127..2500 *)
  675.     sop_AudioDuration    : CARDINAL ;    (* Length of simple beep      *)
  676.     sop_AudioFileName    : ARRAY [0..255] OF CHAR ;
  677.                         (* Filename of 8SVX file      *)
  678.   END ;
  679.  
  680.  
  681. (* constants for SoundPrefs.sop_AudioType *)
  682. CONST
  683.   SPTYPE_BEEP    = 0 ;    (* simple beep sound *)
  684.   SPTYPE_SAMPLE    = 1 ;    (* sampled sound     *)
  685.  
  686.  
  687. (*****************************************************************************)
  688. (*                                         *)
  689. (*            File format for wbpattern preferences             *)
  690. (*                                         *)
  691. (*****************************************************************************)
  692.  
  693. CONST
  694.   ID_PTRN = MAKEID("PTRN") ;
  695.  
  696. TYPE
  697.   WBPatternPrefs = RECORD
  698.     wbp_Reserved    : ARRAY [0..3] OF LONGINT ;
  699.     wbp_Which        : CARDINAL ; (* Which pattern is it     *)
  700.     wbp_Flags        : BITSET   ;
  701.     wbp_Revision    : SHORTINT ; (* Must be set to zero     *)
  702.     wbp_Depth        : SHORTINT ; (* Depth of pattern     *)
  703.     wbp_DataLength    : CARDINAL ; (* Length of following data *)
  704.   END ;
  705.  
  706. CONST
  707. (* constants for WBPatternPrefs.wbp_Which *)
  708.   WBP_ROOT    = 0 ;
  709.   WBP_DRAWER    = 1 ;
  710.   WBP_SCREEN    = 2 ;
  711.  
  712. (* wbp_Flags values *)
  713.  
  714.   WBPF_PATTERN    = {0} ;
  715.  
  716. (* Data contains a pattern *)
  717.  
  718.   WBPF_NOREMAP    = {4} ;
  719. (* Don't remap the pattern *)
  720.  
  721.   MAXDEPTH    = 3 ;    (*  Max depth supported (8 colors) *)
  722.   DEFPATDEPTH    = 2 ;    (*  Depth of default patterns       *)
  723.  
  724. (*  Pattern width & height: *)
  725.   PAT_WIDTH    = 16 ;
  726.   PAT_HEIGHT    = 16 ;
  727.  
  728. END Prefs.
  729.