~ubuntu-branches/ubuntu/dapper/fpc/dapper

« back to all changes in this revision

Viewing changes to packages/extra/amunits/units/prefs.pas

  • Committer: Bazaar Package Importer
  • Author(s): Carlos Laviola
  • Date: 2004-08-12 16:29:37 UTC
  • mfrom: (1.2.1 upstream) (2.1.1 warty)
  • Revision ID: james.westby@ubuntu.com-20040812162937-moo8ulvysp1ln771
Tags: 1.9.4-5
fp-compiler: needs ld, adding dependency on binutils.  (Closes: #265265)

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
{
 
2
    This file is part of the Free Pascal run time library.
 
3
 
 
4
    A file in Amiga system run time library.
 
5
    Copyright (c) 1998-2002 by Nils Sjoholm
 
6
    member of the Amiga RTL development team.
 
7
 
 
8
    See the file COPYING.FPC, included in this distribution,
 
9
    for details about the copyright.
 
10
 
 
11
    This program is distributed in the hope that it will be useful,
 
12
    but WITHOUT ANY WARRANTY; without even the implied warranty of
 
13
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 
14
 
 
15
 **********************************************************************}
 
16
{
 
17
    History:
 
18
    
 
19
    Update for AmigaOS 3.9.
 
20
    Added some const and a few records.
 
21
    Added reaction and workbench.
 
22
    31 Jan 2003.
 
23
    
 
24
    Changed integer > smallint.
 
25
    09 Feb 2003.
 
26
    
 
27
    nils.sjoholm@mailbox.swipnet.se Nils Sjoholm
 
28
    
 
29
}
 
30
 
 
31
    
 
32
unit prefs;
 
33
 
 
34
INTERFACE
 
35
uses exec, iffparse, graphics, timer, intuition;
 
36
 
 
37
 
 
38
{ Asl }
 
39
 
 
40
const
 
41
   ID_ASL = $41534C20;
 
42
 
 
43
{ These members correspond directly to the associated
 
44
           members of the 'AslSemaphore' data structure defined
 
45
           in the <libraries/asl.h> header file by the same names.
 
46
          }
 
47
 
 
48
  type
 
49
     PAslPrefs = ^tAslPrefs;
 
50
     tAslPrefs = record
 
51
          ap_Reserved : array[0..3] of LONG;
 
52
          ap_SortBy : UBYTE;
 
53
          ap_SortDrawers : UBYTE;
 
54
          ap_SortOrder : UBYTE;
 
55
          ap_SizePosition : UBYTE;
 
56
          ap_RelativeLeft : WORD;
 
57
          ap_RelativeTop : WORD;
 
58
          ap_RelativeWidth : UBYTE;
 
59
          ap_RelativeHeight : UBYTE;
 
60
       end;
 
61
 
 
62
 
 
63
{ Font }
 
64
{***************************************************************************}
 
65
 
 
66
const
 
67
 ID_FONT = 1179602516;
 
68
 
 
69
 
 
70
 FONTNAMESIZE = 128;
 
71
 
 
72
type
 
73
 pFontPrefs = ^tFontPrefs;
 
74
 tFontPrefs = record
 
75
    fp_Reserved     : Array[0..2] of Longint;
 
76
    fp_Reserved2    : WORD;
 
77
    fp_Type         : WORD;
 
78
    fp_FrontPen,
 
79
    fp_BackPen,
 
80
    fp_DrawMode     : Byte;
 
81
    fp_TextAttr     : tTextAttr;
 
82
    fp_Name         : Array[0..FONTNAMESIZE-1] of Char;
 
83
 end;
 
84
 
 
85
const
 
86
{ constants for FontPrefs.fp_Type }
 
87
 FP_WBFONT     = 0;
 
88
 FP_SYSFONT    = 1;
 
89
 FP_SCREENFONT = 2;
 
90
 
 
91
 
 
92
{***************************************************************************}
 
93
 
 
94
{ IControl }
 
95
{***************************************************************************}
 
96
 
 
97
const
 
98
 ID_ICTL = 1229149260;
 
99
 
 
100
Type
 
101
 pIControlPrefs = ^tIControlPrefs;
 
102
 tIControlPrefs = record
 
103
    ic_Reserved     : Array[0..3] Of Longint;       { System reserved              }
 
104
    ic_TimeOut      : WORD;                         { Verify timeout               }
 
105
    ic_MetaDrag     : smallint;                      { Meta drag mouse event        }
 
106
    ic_Flags        : ULONG;                        { IControl flags (see below)   }
 
107
    ic_WBtoFront,                                   { CKey: WB to front            }
 
108
    ic_FrontToBack,                                 { CKey: front screen to back   }
 
109
    ic_ReqTrue,                                     { CKey: Requester TRUE         }
 
110
    ic_ReqFalse     : Byte;                         { CKey: Requester FALSE        }
 
111
 end;
 
112
 
 
113
const
 
114
{ flags for IControlPrefs.ic_Flags }
 
115
 ICB_COERCE_COLORS = 0;
 
116
 ICB_COERCE_LACE   = 1;
 
117
 ICB_STRGAD_FILTER = 2;
 
118
 ICB_MENUSNAP      = 3;
 
119
 ICB_MODEPROMOTE   = 4;
 
120
 ICB_SQUARE_RATIO  = 5;
 
121
 
 
122
 ICF_COERCE_COLORS = 1;
 
123
 ICF_COERCE_LACE   = 2;
 
124
 ICF_STRGAD_FILTER = 4;
 
125
 ICF_MENUSNAP      = 8;
 
126
 ICF_MODEPROMOTE   = 16;
 
127
 ICF_SQUARE_RATIO  = (1 shl 5);
 
128
 
 
129
{***************************************************************************}
 
130
 
 
131
  {      File format for input preferences     }
 
132
 
 
133
 
 
134
const
 
135
 ID_INPT = 1229869140;
 
136
 
 
137
Type
 
138
 pInputPrefs = ^tInputPrefs;
 
139
 tInputPrefs = record
 
140
    ip_Keymap      : Array[0..15] of Char;
 
141
    ip_PointerTicks : WORD;
 
142
    ip_DoubleClick,
 
143
    ip_KeyRptDelay,
 
144
    ip_KeyRptSpeed : tTimeVal;
 
145
    ip_MouseAccel  : smallint;
 
146
 end;
 
147
 
 
148
 {      File format for locale preferences }
 
149
 
 
150
const
 
151
 ID_LCLE = 1279478853;
 
152
 ID_CTRY = 1129599577;
 
153
 
 
154
 
 
155
Type
 
156
 pCountryPrefs = ^tCountryPrefs;
 
157
 tCountryPrefs = record
 
158
    cp_Reserved     : Array[0..3] of ULONG;
 
159
    cp_CountryCode  : ULONG;
 
160
    cp_TelephoneCode: ULONG;
 
161
    cp_MeasuringSystem : Byte;
 
162
 
 
163
    cp_DateTimeFormat  : Array[0..79] of Char;
 
164
    cp_DateFormat      : Array[0..39] of Char;
 
165
    cp_TimeFormat      : Array[0..39] of Char;
 
166
 
 
167
    cp_ShortDateTimeFormat  : Array[0..79] of Char;
 
168
    cp_ShortDateFormat      : Array[0..39] of Char;
 
169
    cp_ShortTimeFormat      : Array[0..39] of Char;
 
170
 
 
171
    { for numeric values }
 
172
    cp_DecimalPoint,
 
173
    cp_GroupSeparator,
 
174
    cp_FracGroupSeparator   : Array[0..9] of Char;
 
175
    cp_Grouping,
 
176
    cp_FracGrouping         : Array[0..9] of Byte;
 
177
 
 
178
    { for monetary values }
 
179
    cp_MonDecimalPoint,
 
180
    cp_MonGroupSeparator,
 
181
    cp_MonFracGroupSeparator   : Array[0..9] of Char;
 
182
    cp_MonGrouping,
 
183
    cp_MonFracGrouping         : Array[0..9] of Byte;
 
184
    cp_MonFracDigits,
 
185
    cp_MonIntFracDigits        : Byte;
 
186
 
 
187
    { for currency symbols }
 
188
    cp_MonCS,
 
189
    cp_MonSmallCS,
 
190
    cp_MonIntCS                : Array[0..9] of Char;
 
191
 
 
192
    { for positive monetary values }
 
193
    cp_MonPositiveSign         : Array[0..9] of Char;
 
194
    cp_MonPositiveSpaceSep,
 
195
    cp_MonPositiveSignPos,
 
196
    cp_MonPositiveCSPos        : Byte;
 
197
 
 
198
    { for negative monetary values }
 
199
    cp_MonNegativeSign         : Array[0..9] of Char;
 
200
    cp_MonNegativeSpaceSep,
 
201
    cp_MonNegativeSignPos,
 
202
    cp_MonNegativeCSPos        : Byte;
 
203
 
 
204
    cp_CalendarType            : Byte;
 
205
 end;
 
206
 
 
207
 pLocalePrefs = ^tLocalePrefs;
 
208
 tLocalePrefs = record
 
209
    lp_Reserved         : Array[0..3] of ULONG;
 
210
    lp_CountryName      : Array[0..31] of Char;
 
211
    lp_PreferredLanguages : Array[0..9] of Array[0..29] of Char;
 
212
    lp_GMTOffset        : Longint;
 
213
    lp_Flags            : ULONG;
 
214
    lp_CountryData      : tCountryPrefs;
 
215
 end;
 
216
 
 
217
   {   File format for overscan preferences  }
 
218
 
 
219
const
 
220
    ID_OSCN = 1330856782;
 
221
    OSCAN_MAGIC = $FEDCBA89;
 
222
 
 
223
 
 
224
Type
 
225
 pOverscanPrefs = ^tOverscanPrefs;
 
226
 tOverscanPrefs = record
 
227
    os_Reserved,
 
228
    os_Magic         : ULONG;
 
229
    os_HStart,
 
230
    os_HStop,
 
231
    os_VStart,
 
232
    os_VStop         : WORD;
 
233
    os_DisplayID     : ULONG;
 
234
    os_ViewPos,
 
235
    os_Text          : tPoint;
 
236
    os_Standard      : tRectangle;
 
237
 end;
 
238
 
 
239
{ os_HStart, os_HStop, os_VStart, os_VStop can only be looked at if
 
240
 * os_Magic equals OSCAN_MAGIC. If os_Magic is set to any other value,
 
241
 * these four fields are undefined
 
242
 }
 
243
 
 
244
 
 
245
{***************************************************************************}
 
246
 
 
247
  {      File format for palette preferences    }
 
248
 
 
249
 
 
250
const
 
251
    ID_PALT = 1346456660;
 
252
 
 
253
Type
 
254
 pPalettePrefs = ^tPalettePrefs;
 
255
 tPalettePrefs = record
 
256
    pap_Reserved     : Array[0..3] of Longint;    { System reserved                }
 
257
    pap_4ColorPens   : Array[1..32] of WORD;
 
258
    pap_8ColorPens   : Array[1..32] of WORD;
 
259
    pap_Colors       : Array[1..32] of tColorSpec;     { Used as full 16-bit RGB values }
 
260
 end;
 
261
 
 
262
 
 
263
{***************************************************************************}
 
264
 
 
265
 
 
266
 {      File format for pointer preferences }
 
267
 
 
268
const
 
269
      ID_PNTR = 1347310674;
 
270
 
 
271
 
 
272
Type
 
273
 pPointerPrefs = ^tPointerPrefs;
 
274
 tPointerPrefs = record
 
275
    pp_Reserved : Array[0..3] of ULONG;
 
276
    pp_Which,                             { 0=NORMAL, 1=BUSY }
 
277
    pp_Size,                              { see <intuition/pointerclass.h> }
 
278
    pp_Width,                             { Width in pixels }
 
279
    pp_Height,                            { Height in pixels }
 
280
    pp_Depth,                             { Depth }
 
281
    pp_YSize,                             { YSize }
 
282
    pp_X, pp_Y  : WORD;                   { Hotspot }
 
283
 
 
284
    { Color Table:  numEntries = (1 << pp_Depth) - 1 }
 
285
 
 
286
    { Data follows }
 
287
 end;
 
288
 
 
289
{***************************************************************************}
 
290
 
 
291
Const
 
292
{ constants for PointerPrefs.pp_Which }
 
293
 WBP_NORMAL    =  0;
 
294
 WBP_BUSY      =  1;
 
295
 
 
296
{***************************************************************************}
 
297
 
 
298
Type
 
299
 pRGBTable = ^tRGBTable;
 
300
 tRGBTable = record
 
301
    t_Red,
 
302
    t_Green,
 
303
    t_Blue  : Byte;
 
304
 end;
 
305
 
 
306
{***************************************************************************}
 
307
 
 
308
  {    File format for preferences header }
 
309
 
 
310
const
 
311
 ID_PREF = 1347568966;
 
312
 ID_PRHD = 1347569732;
 
313
 
 
314
Type
 
315
 pPrefHeader = ^tPrefHeader;
 
316
 tPrefHeader = record
 
317
    ph_Version,             { version of following data }
 
318
    ph_Type     : Byte;     { type of following data    }
 
319
    ph_Flags    : ULONG;    { always set to 0 for now   }
 
320
 end;
 
321
 
 
322
  {     File format for graphics printer preferences }
 
323
 
 
324
const
 
325
 ID_PGFX = 1346848344;
 
326
 
 
327
Type
 
328
 pPrinterGfxPrefs = ^tPrinterGfxPrefs;
 
329
 tPrinterGfxPrefs = record
 
330
    pg_Reserved     : Array[0..3] of Longint;
 
331
    pg_Aspect,
 
332
    pg_Shade,
 
333
    pg_Image        : Word;
 
334
    pg_Threshold    : smallint;
 
335
    pg_ColorCorrect,
 
336
    pg_Dimensions,
 
337
    pg_Dithering    : Byte;
 
338
    pg_GraphicFlags : WORD;
 
339
    pg_PrintDensity : Byte;              { Print density 1 - 7 }
 
340
    pg_PrintMaxWidth,
 
341
    pg_PrintMaxHeight : WORD;
 
342
    pg_PrintXOffset,
 
343
    pg_PrintYOffset : Byte;
 
344
 end;
 
345
 
 
346
const
 
347
{ constants for PrinterGfxPrefs.pg_Aspect }
 
348
 PA_HORIZONTAL = 0;
 
349
 PA_VERTICAL   = 1;
 
350
 
 
351
{ constants for PrinterGfxPrefs.pg_Shade }
 
352
 PS_BW          = 0;
 
353
 PS_GREYSCALE   = 1;
 
354
 PS_COLOR       = 2;
 
355
 PS_GREY_SCALE2 = 3;
 
356
 
 
357
{ constants for PrinterGfxPrefs.pg_Image }
 
358
 PI_POSITIVE = 0;
 
359
 PI_NEGATIVE = 1;
 
360
 
 
361
{ flags for PrinterGfxPrefs.pg_ColorCorrect }
 
362
 PCCB_RED   = 1;    { color correct red shades   }
 
363
 PCCB_GREEN = 2;    { color correct green shades }
 
364
 PCCB_BLUE  = 3;    { color correct blue shades  }
 
365
 
 
366
 PCCF_RED   = 1;
 
367
 PCCF_GREEN = 2;
 
368
 PCCF_BLUE  = 4;
 
369
 
 
370
{ constants for PrinterGfxPrefs.pg_Dimensions }
 
371
 PD_IGNORE   = 0;  { ignore max width/height settings }
 
372
 PD_BOUNDED  = 1;  { use max w/h as boundaries        }
 
373
 PD_ABSOLUTE = 2;  { use max w/h as absolutes         }
 
374
 PD_PIXEL    = 3;  { use max w/h as prt pixels        }
 
375
 PD_MULTIPLY = 4;  { use max w/h as multipliers       }
 
376
 
 
377
{ constants for PrinterGfxPrefs.pg_Dithering }
 
378
 PD_ORDERED     = 0;  { ordered dithering }
 
379
 PD_HALFTONE    = 1;  { halftone dithering        }
 
380
 PD_FLOYD       = 2;  { Floyd-Steinberg dithering }
 
381
 
 
382
{ flags for PrinterGfxPrefs.pg_GraphicsFlags }
 
383
 PGFB_CENTER_IMAGE      = 0;       { center image on paper }
 
384
 PGFB_INTEGER_SCALING   = 1;       { force integer scaling }
 
385
 PGFB_ANTI_ALIAS        = 2;       { anti-alias image      }
 
386
 
 
387
 PGFF_CENTER_IMAGE      = 1;
 
388
 PGFF_INTEGER_SCALING   = 2;
 
389
 PGFF_ANTI_ALIAS        = 4;
 
390
 
 
391
 
 
392
 {      File format for PostScript printer preferences   }
 
393
 
 
394
const
 
395
 ID_PSPD = 1347637316;
 
396
 
 
397
Type
 
398
 pPrinterPSPrefs = ^tPrinterPSPrefs;
 
399
 tPrinterPSPrefs = record
 
400
    ps_Reserved     : Array[0..3] of Longint;               { System reserved }
 
401
 
 
402
    { Global printing attributes }
 
403
    ps_DriverMode,
 
404
    ps_PaperFormat  : Byte;
 
405
    ps_Reserved1    : Array[0..1] of Byte;
 
406
    ps_Copies,
 
407
    ps_PaperWidth,
 
408
    ps_PaperHeight,
 
409
    ps_HorizontalDPI,
 
410
    ps_VerticalDPI  : Longint;
 
411
 
 
412
    { Text Options }
 
413
    ps_Font,
 
414
    ps_Pitch,
 
415
    ps_Orientation,
 
416
    ps_Tab          : Byte;
 
417
    ps_Reserved2    : Array[0..7] of Byte;
 
418
 
 
419
    { Text Dimensions }
 
420
    ps_LeftMargin,
 
421
    ps_RightMargin,
 
422
    ps_TopMargin,
 
423
    ps_BottomMargin,
 
424
    ps_FontPointSize,
 
425
    ps_Leading      : Longint;
 
426
    ps_Reserved3    : Array[0..7] of Byte;
 
427
 
 
428
    { Graphics Options }
 
429
    ps_LeftEdge,
 
430
    ps_TopEdge,
 
431
    ps_Width,
 
432
    ps_Height       : Longint;
 
433
    ps_Image,
 
434
    ps_Shading,
 
435
    ps_Dithering    : Byte;
 
436
    ps_Reserved4    : Array[0..8] of Byte;
 
437
 
 
438
    { Graphics Scaling }
 
439
    ps_Aspect,
 
440
    ps_ScalingType,
 
441
    ps_Reserved5,
 
442
    ps_Centering    : Byte;
 
443
    ps_Reserved6    : Array[0..7] of byte;
 
444
 end;
 
445
 
 
446
const
 
447
{ All measurements are in Millipoints which is 1/1000 of a point, or
 
448
 * in other words 1/72000 of an inch
 
449
 }
 
450
 
 
451
{ constants for PrinterPSPrefs.ps_DriverMode }
 
452
 DM_POSTSCRIPT  = 0;
 
453
 DM_PASSTHROUGH = 1;
 
454
 
 
455
{ constants for PrinterPSPrefs.ps_PaperFormat }
 
456
 PF_USLETTER = 0;
 
457
 PF_USLEGAL  = 1;
 
458
 PF_A4       = 2;
 
459
 PF_CUSTOM   = 3;
 
460
 
 
461
{ constants for PrinterPSPrefs.ps_Font }
 
462
 FONT_COURIER      = 0;
 
463
 FONT_TIMES        = 1;
 
464
 FONT_HELVETICA    = 2;
 
465
 FONT_HELV_NARROW  = 3;
 
466
 FONT_AVANTGARDE   = 4;
 
467
 FONT_BOOKMAN      = 5;
 
468
 FONT_NEWCENT      = 6;
 
469
 FONT_PALATINO     = 7;
 
470
 FONT_ZAPFCHANCERY = 8;
 
471
 
 
472
{ constants for PrinterPSPrefs.ps_Pitch }
 
473
 PITCH_NORMAL     = 0;
 
474
 PITCH_COMPRESSED = 1;
 
475
 PITCH_EXPANDED   = 2;
 
476
 
 
477
{ constants for PrinterPSPrefs.ps_Orientation }
 
478
 ORIENT_PORTRAIT  = 0;
 
479
 ORIENT_LANDSCAPE = 1;
 
480
 
 
481
{ constants for PrinterPSPrefs.ps_Tab }
 
482
 TAB_4     = 0;
 
483
 TAB_8     = 1;
 
484
 TAB_QUART = 2;
 
485
 TAB_HALF  = 3;
 
486
 TAB_INCH  = 4;
 
487
 
 
488
{ constants for PrinterPSPrefs.ps_Image }
 
489
 IM_POSITIVE = 0;
 
490
 IM_NEGATIVE = 1;
 
491
 
 
492
{ constants for PrinterPSPrefs.ps_Shading }
 
493
 SHAD_BW        = 0;
 
494
 SHAD_GREYSCALE = 1;
 
495
 SHAD_COLOR     = 2;
 
496
 
 
497
{ constants for PrinterPSPrefs.ps_Dithering }
 
498
 DITH_DEFAULT = 0;
 
499
 DITH_DOTTY   = 1;
 
500
 DITH_VERT    = 2;
 
501
 DITH_HORIZ   = 3;
 
502
 DITH_DIAG    = 4;
 
503
 
 
504
{ constants for PrinterPSPrefs.ps_Aspect }
 
505
 ASP_HORIZ = 0;
 
506
 ASP_VERT  = 1;
 
507
 
 
508
{ constants for PrinterPSPrefs.ps_ScalingType }
 
509
 ST_ASPECT_ASIS    = 0;
 
510
 ST_ASPECT_WIDE    = 1;
 
511
 ST_ASPECT_TALL    = 2;
 
512
 ST_ASPECT_BOTH    = 3;
 
513
 ST_FITS_WIDE      = 4;
 
514
 ST_FITS_TALL      = 5;
 
515
 ST_FITS_BOTH      = 6;
 
516
 
 
517
{ constants for PrinterPSPrefs.ps_Centering }
 
518
 CENT_NONE  = 0;
 
519
 CENT_HORIZ = 1;
 
520
 CENT_VERT  = 2;
 
521
 CENT_BOTH  = 3;
 
522
 
 
523
 
 
524
   {   File format for text printer preferences }
 
525
 
 
526
const
 
527
 ID_PTXT = 1347704916;
 
528
 ID_PUNT = 1347767892;
 
529
 ID_PDEV = $50444556;
 
530
 
 
531
 DRIVERNAMESIZE = 30;               { Filename size     }
 
532
 DEVICENAMESIZE = 32;               { .device name size }
 
533
 UNITNAMESIZE   = 32;
 
534
 
 
535
Type
 
536
 pPrinterTxtPrefs = ^tPrinterTxtPrefs;
 
537
 tPrinterTxtPrefs = record
 
538
    pt_Reserved     : Array[0..3] of Longint;               { System reserved            }
 
539
    pt_Driver       : Array[0..DRIVERNAMESIZE-1] of Char;   { printer driver filename    }
 
540
    pt_Port         : Byte;                                 { printer port connection    }
 
541
 
 
542
    pt_PaperType,
 
543
    pt_PaperSize,
 
544
    pt_PaperLength,               { Paper length in # of lines }
 
545
 
 
546
    pt_Pitch,
 
547
    pt_Spacing,
 
548
    pt_LeftMargin,                { Left margin                }
 
549
    pt_RightMargin,               { Right margin       }
 
550
    pt_Quality      : WORD;
 
551
 end;
 
552
 
 
553
const
 
554
{ constants for PrinterTxtPrefs.pt_Port }
 
555
 PP_PARALLEL = 0;
 
556
 PP_SERIAL   = 1;
 
557
 
 
558
{ constants for PrinterTxtPrefs.pt_PaperType }
 
559
 PT_FANFOLD  = 0;
 
560
 PT_SINGLE   = 1;
 
561
 
 
562
{ constants for PrinterTxtPrefs.pt_PaperSize }
 
563
 PS_US_LETTER   = 0 ;
 
564
 PS_US_LEGAL    = 1 ;
 
565
 PS_N_TRACTOR   = 2 ;
 
566
 PS_W_TRACTOR   = 3 ;
 
567
 PS_CUSTOM      = 4 ;
 
568
 PS_EURO_A0     = 5 ;              { European size A0: 841 x 1189 }
 
569
 PS_EURO_A1     = 6 ;              { European size A1: 594 x 841  }
 
570
 PS_EURO_A2     = 7 ;              { European size A2: 420 x 594  }
 
571
 PS_EURO_A3     = 8 ;              { European size A3: 297 x 420  }
 
572
 PS_EURO_A4     = 9 ;              { European size A4: 210 x 297  }
 
573
 PS_EURO_A5     = 10;              { European size A5: 148 x 210  }
 
574
 PS_EURO_A6     = 11;              { European size A6: 105 x 148  }
 
575
 PS_EURO_A7     = 12;              { European size A7: 74 x 105   }
 
576
 PS_EURO_A8     = 13;              { European size A8: 52 x 74    }
 
577
 
 
578
{ constants for PrinterTxtPrefs.pt_PrintPitch }
 
579
 PP_PICA  = 0;
 
580
 PP_ELITE = 1;
 
581
 PP_FINE  = 2;
 
582
 
 
583
{ constants for PrinterTxtPrefs.pt_PrintSpacing }
 
584
 PS_SIX_LPI   = 0;
 
585
 PS_EIGHT_LPI = 1;
 
586
 
 
587
{ constants for PrinterTxtPrefs.pt_PrintQuality }
 
588
 PQ_DRAFT  = 0;
 
589
 PQ_LETTER = 1;
 
590
 
 
591
 
 
592
{ PrinterUnitPrefs is used from printer.device to open
 
593
   the connection device
 
594
}
 
595
 
 
596
Type
 
597
 pPrinterUnitPrefs = ^tPrinterUnitPrefs;
 
598
 tPrinterUnitPrefs = record
 
599
    pu_Reserved         : Array[0..3] of Longint;              { System reserved              }
 
600
    pu_UnitNum          : Longint;                             { Unit number for OpenDevice() }
 
601
    pu_OpenDeviceFlags  : ULONG;                               { Flags for OpenDevice()       }
 
602
    pu_DeviceName       : Array[0..DEVICENAMESIZE-1] of Char;  { Name for OpenDevice()        }
 
603
 end;
 
604
 
 
605
 
 
606
  { PrinterDeviceUnitPrefs is used as descriptor for printer device
 
607
     units.
 
608
   }
 
609
     PPrinterDeviceUnitPrefs = ^tPrinterDeviceUnitPrefs;
 
610
     tPrinterDeviceUnitPrefs = record
 
611
          pd_Reserved : array[0..3] of LONG;   { System reserved                   }
 
612
          pd_UnitNum : LONG;                   { Unit number for OpenDevice()      }
 
613
          pd_UnitName : array[0..(UNITNAMESIZE)-1] of UBYTE;  { Symbolic name of the unit  }
 
614
       end;
 
615
 
 
616
{ Reaction }
 
617
  const
 
618
 
 
619
     ID_RACT = $52414354;
 
620
 
 
621
 
 
622
  type
 
623
     PReactionPrefs = ^tReactionPrefs;
 
624
     tReactionPrefs = record
 
625
          rp_BevelType : UWORD;
 
626
          rp_GlyphType : UWORD;
 
627
          rp_LayoutSpacing : UWORD;
 
628
          rp_3DProp : BOOL;
 
629
          rp_LabelPen : UWORD;
 
630
          rp_LabelPlace : UWORD;
 
631
          rp_3DLabel : BOOL;
 
632
          rp_SimpleRefresh : BOOL;
 
633
          rp_3DLook : BOOL;
 
634
          rp_FallbackAttr : tTextAttr;
 
635
          rp_LabelAttr : tTextAttr;
 
636
          rp_FallbackName : array[0..(FONTNAMESIZE)-1] of UBYTE;
 
637
          rp_LabelName : array[0..(FONTNAMESIZE)-1] of UBYTE;
 
638
          rp_Pattern : array[0..255] of UBYTE;
 
639
       end;
 
640
 
 
641
 
 
642
  {     File format for screen mode preferences }
 
643
 
 
644
const
 
645
 ID_SCRM = 1396920909;
 
646
 
 
647
 
 
648
Type
 
649
 pScreenModePrefs = ^tScreenModePrefs;
 
650
 tScreenModePrefs = record
 
651
    smp_Reserved        : Array[0..3] of ULONG;
 
652
    smp_DisplayID       : ULONG;
 
653
    smp_Width,
 
654
    smp_Height,
 
655
    smp_Depth,
 
656
    smp_Control         : Word;
 
657
 end;
 
658
 
 
659
const
 
660
{ flags for ScreenModePrefs.smp_Control }
 
661
 SMB_AUTOSCROLL = 1;
 
662
 
 
663
 SMF_AUTOSCROLL = 1;
 
664
 
 
665
 {      File format for serial preferences }
 
666
 
 
667
const
 
668
 ID_SERL = 1397051980;
 
669
 
 
670
 
 
671
Type
 
672
 pSerialPrefs = ^tSerialPrefs;
 
673
 tSerialPrefs = record
 
674
    sp_Reserved     : Array[0..2] of Longint;               { System reserved                  }
 
675
    sp_Unit0Map,                  { What unit 0 really refers to     }
 
676
    sp_BaudRate,                  { Baud rate                        }
 
677
 
 
678
    sp_InputBuffer,               { Input buffer: 0 - 65536          }
 
679
    sp_OutputBuffer : ULONG;      { Future: Output: 0 - 65536        }
 
680
 
 
681
    sp_InputHandshake,            { Input handshaking                }
 
682
    sp_OutputHandshake,           { Future: Output handshaking       }
 
683
 
 
684
    sp_Parity,                    { Parity                           }
 
685
    sp_BitsPerChar,               { I/O bits per character           }
 
686
    sp_StopBits     : Byte;       { Stop bits                        }
 
687
 end;
 
688
 
 
689
const
 
690
{ constants for SerialPrefs.sp_Parity }
 
691
 PARITY_NONE     = 0;
 
692
 PARITY_EVEN     = 1;
 
693
 PARITY_ODD      = 2;
 
694
 PARITY_MARK     = 3;               { Future enhancement }
 
695
 PARITY_SPACE    = 4;               { Future enhancement }
 
696
 
 
697
{ constants for SerialPrefs.sp_Input/OutputHandshaking }
 
698
 HSHAKE_XON      = 0;
 
699
 HSHAKE_RTS      = 1;
 
700
 HSHAKE_NONE     = 2;
 
701
 
 
702
    {   File format for sound preferences  }
 
703
 
 
704
const
 
705
 ID_SOND = 1397706308;
 
706
 
 
707
Type
 
708
 pSoundPrefs = ^tSoundPrefs;
 
709
 tSoundPrefs = record
 
710
    sop_Reserved        : Array[0..3] of Longint;            { System reserved            }
 
711
    sop_DisplayQueue,               { Flash the display?         }
 
712
    sop_AudioQueue      : Boolean;  { Make some sound?           }
 
713
    sop_AudioType,                  { Type of sound, see below   }
 
714
    sop_AudioVolume,                { Volume of sound, 0..64     }
 
715
    sop_AudioPeriod,                { Period of sound, 127..2500 }
 
716
    sop_AudioDuration   : WORD;     { Length of simple beep      }
 
717
    sop_AudioFileName   : Array[0..255] of Char;     { Filename of 8SVX file      }
 
718
 end;
 
719
 
 
720
const
 
721
{ constants for SoundPrefs.sop_AudioType }
 
722
 SPTYPE_BEEP    = 0;       { simple beep sound }
 
723
 SPTYPE_SAMPLE  = 1;       { sampled sound     }
 
724
 
 
725
   {   File format for wbpattern preferences  }
 
726
 
 
727
const
 
728
 ID_PTRN = 1347703374;
 
729
 
 
730
Type
 
731
 pWBPatternPrefs = ^tWBPatternPrefs;
 
732
 tWBPatternPrefs = record
 
733
    wbp_Reserved    : Array[0..3] of ULONG;
 
734
    wbp_Which,                     { Which pattern is it }
 
735
    wbp_Flags       : WORD;
 
736
    wbp_Revision,                  { Must be set to zero }
 
737
    wbp_Depth       : Byte;        { Depth of pattern }
 
738
    wbp_DataLength  : WORD;        { Length of following data }
 
739
 end;
 
740
 
 
741
const
 
742
{ constants for WBPatternPrefs.wbp_Which }
 
743
 WBP_ROOT       = 0;
 
744
 WBP_DRAWER     = 1;
 
745
 WBP_SCREEN     = 2;
 
746
 
 
747
{ wbp_Flags values }
 
748
 WBPF_PATTERN   = $0001;
 
749
    { Data contains a pattern }
 
750
 
 
751
 WBPF_NOREMAP   = $0010;
 
752
    { Don't remap the pattern }
 
753
  { PDTA_DitherQuality: see pictureclass.h  }
 
754
     WBPF_DITHER_MASK = $0300;
 
755
  { DitherQuality: Default  }
 
756
     WBPF_DITHER_DEF = $0000;
 
757
  { DitherQuality: 0  }
 
758
     WBPF_DITHER_BAD = $0100;
 
759
  { DitherQuality: 2  }
 
760
     WBPF_DITHER_GOOD = $0200;
 
761
  { DitherQuality: 4  }
 
762
     WBPF_DITHER_BEST = $0300;
 
763
  { OBP_Precision: see pictureclass.h  }
 
764
     WBPF_PRECISION_MASK = $0C00;
 
765
     WBPF_PRECISION_DEF = $0000;
 
766
     WBPF_PRECISION_ICON = $0400;
 
767
     WBPF_PRECISION_IMAGE = $0800;
 
768
     WBPF_PRECISION_EXACT = $0C00;
 
769
     WBPF_PLACEMENT_MASK = $3000;
 
770
     WBPF_PLACEMENT_TILE = $0000;
 
771
     WBPF_PLACEMENT_CENTER = $1000;
 
772
     WBPF_PLACEMENT_SCALE = $2000;
 
773
     WBPF_PLACEMENT_SCALEGOOD = $3000;
 
774
 
 
775
{***************************************************************************}
 
776
 
 
777
 MAXDEPTH       = 3;       {  Max depth supported (8 colors) }
 
778
 DEFPATDEPTH    = 2;       {  Depth of default patterns }
 
779
 
 
780
{  Pattern width & height: }
 
781
 PAT_WIDTH      = 16;
 
782
 PAT_HEIGHT     = 16;
 
783
 
 
784
{ Workbench }
 
785
 
 
786
 ID_WBNC = $57424E43;
 
787
 
 
788
 type
 
789
     PWorkbenchPrefs = ^tWorkbenchPrefs;
 
790
     tWorkbenchPrefs = record
 
791
          { settings from workbench.library }
 
792
          wbp_DefaultStackSize : ULONG;
 
793
          wbp_TypeRestartTime : ULONG;
 
794
          { settings from icon.library }
 
795
          wbp_IconPrecision : ULONG;
 
796
          wbp_EmbossRect : tRectangle;
 
797
          wbp_Borderless : BOOL;
 
798
          wbp_MaxNameLength : LONG;
 
799
          wbp_NewIconsSupport : BOOL;
 
800
          wbp_ColorIconSupport : BOOL;
 
801
           { new for V45 }
 
802
          wbp_ImageMemType : ULONG;
 
803
          wbp_LockPens : BOOL;
 
804
          wbp_NoTitleBar : BOOL;
 
805
          wbp_NoGauge : BOOL;
 
806
       end;
 
807
 
 
808
     PWorkbenchHiddenDevicePrefs = ^tWorkbenchHiddenDevicePrefs;
 
809
     tWorkbenchHiddenDevicePrefs = record
 
810
          whdp_Name : array[0..0] of UBYTE;  { C String including NULL char  }
 
811
       end;
 
812
 
 
813
const
 
814
     ID_WBHD = $57424844;
 
815
 
 
816
IMPLEMENTATION
 
817
 
 
818
END.
 
819
 
 
820
{
 
821
  $Log: prefs.pas,v $
 
822
  Revision 1.4  2003/02/10 17:59:46  nils
 
823
  *  fixes for delphi mode
 
824
 
 
825
  Revision 1.3  2003/02/07 20:45:08  nils
 
826
  * update for amigaos 3.9
 
827
 
 
828
  Revision 1.2  2002/11/19 18:48:39  nils
 
829
    * missing semicolon
 
830
 
 
831
}
 
832
 
 
833
 
 
834
 
 
835
 
 
836
 
 
837
 
 
838
 
 
839
 
 
840
 
 
841
 
 
842
 
 
843
 
 
844
 
 
845