home *** CD-ROM | disk | FTP | other *** search
- #ifndef INTUITION_PREFERENCES_H
- #define INTUITION_PREFERENCES_H TRUE
- /*
- ** $Filename: intuition/preferences.h $
- ** $Release: 2.04 Includes, V37.4 $
- ** $Revision: 36.8 $
- ** $Date: 91/05/08 $
- **
- ** Structure definition for old-style preferences
- **
- ** (C) Copyright 1985-1991 Commodore-Amiga, Inc.
- ** All Rights Reserved
- */
-
- #ifndef EXEC_TYPES_H
- #include <exec/types.h>
- #endif
-
- #ifndef DEVICES_TIMER_H
- #include <devices/timer.h>
- #endif
-
- /* ======================================================================== */
- /* === Preferences ======================================================== */
- /* ======================================================================== */
-
- /* these are the definitions for the printer configurations */
- #define FILENAME_SIZE 30 /* Filename size */
-
- #define POINTERSIZE (1 + 16 + 1) * 2 /* Size of Pointer data buffer */
-
- /* These defines are for the default font size. These actually describe the
- * height of the defaults fonts. The default font type is the topaz
- * font, which is a fixed width font that can be used in either
- * eighty-column or sixty-column mode. The Preferences structure reflects
- * which is currently selected by the value found in the variable FontSize,
- * which may have either of the values defined below. These values actually
- * are used to select the height of the default font. By changing the
- * height, the resolution of the font changes as well.
- */
- #define TOPAZ_EIGHTY 8
- #define TOPAZ_SIXTY 9
-
- struct Preferences
- {
- /* the default font height */
- BYTE FontHeight; /* height for system default font */
-
- /* constant describing what's hooked up to the port */
- UBYTE PrinterPort; /* printer port connection */
-
- /* the baud rate of the port */
- UWORD BaudRate; /* baud rate for the serial port */
-
- /* various timing rates */
- struct timeval KeyRptSpeed; /* repeat speed for keyboard */
- struct timeval KeyRptDelay; /* Delay before keys repeat */
- struct timeval DoubleClick; /* Interval allowed between clicks */
-
- /* Intuition Pointer data */
- UWORD PointerMatrix[POINTERSIZE]; /* Definition of pointer sprite */
- BYTE XOffset; /* X-Offset for active 'bit' */
- BYTE YOffset; /* Y-Offset for active 'bit' */
- UWORD color17; /***********************************/
- UWORD color18; /* Colours for sprite pointer */
- UWORD color19; /***********************************/
- UWORD PointerTicks; /* Sensitivity of the pointer */
-
- /* Workbench Screen colors */
- UWORD color0; /***********************************/
- UWORD color1; /* Standard default colours */
- UWORD color2; /* Used in the Workbench */
- UWORD color3; /***********************************/
-
- /* positioning data for the Intuition View */
- BYTE ViewXOffset; /* Offset for top lefthand corner */
- BYTE ViewYOffset; /* X and Y dimensions */
- WORD ViewInitX, ViewInitY; /* View initial offset values */
-
- BOOL EnableCLI; /* CLI availability switch */
-
- /* printer configurations */
- UWORD PrinterType; /* printer type */
- UBYTE PrinterFilename[FILENAME_SIZE];/* file for printer */
-
- /* print format and quality configurations */
- UWORD PrintPitch; /* print pitch */
- UWORD PrintQuality; /* print quality */
- UWORD PrintSpacing; /* number of lines per inch */
- UWORD PrintLeftMargin; /* left margin in characters */
- UWORD PrintRightMargin; /* right margin in characters */
- UWORD PrintImage; /* positive or negative */
- UWORD PrintAspect; /* horizontal or vertical */
- UWORD PrintShade; /* b&w, half-tone, or color */
- WORD PrintThreshold; /* darkness ctrl for b/w dumps */
-
- /* print paper descriptors */
- UWORD PaperSize; /* paper size */
- UWORD PaperLength; /* paper length in number of lines */
- UWORD PaperType; /* continuous or single sheet */
-
- /* Serial device settings: These are six nibble-fields in three bytes */
- /* (these look a little strange so the defaults will map out to zero) */
- UBYTE SerRWBits; /* upper nibble = (8-number of read bits) */
- /* lower nibble = (8-number of write bits) */
- UBYTE SerStopBuf; /* upper nibble = (number of stop bits - 1) */
- /* lower nibble = (table value for BufSize) */
- UBYTE SerParShk; /* upper nibble = (value for Parity setting) */
- /* lower nibble = (value for Handshake mode) */
- UBYTE LaceWB; /* if workbench is to be interlaced */
-
- UBYTE WorkName[FILENAME_SIZE]; /* temp file for printer */
-
- BYTE RowSizeChange; /* affect NormalDisplayRows/Columns */
- BYTE ColumnSizeChange;
-
- UWORD PrintFlags; /* user preference flags */
- UWORD PrintMaxWidth; /* max width of printed picture in 10ths/in */
- UWORD PrintMaxHeight; /* max height of printed picture in 10ths/in */
- UBYTE PrintDensity; /* print density */
- UBYTE PrintXOffset; /* offset of printed picture in 10ths/inch */
-
- UWORD wb_Width; /* override default workbench width */
- UWORD wb_Height; /* override default workbench height */
- UBYTE wb_Depth; /* override default workbench depth */
-
- UBYTE ext_size; /* extension information -- do not touch! */
- /* extension size in blocks of 64 bytes */
- };
-
-
- /* Workbench Interlace (use one bit) */
- #define LACEWB (1<< 0)
- #define LW_RESERVED 1 /* internal use only */
-
- /* Enable_CLI */
- #define SCREEN_DRAG (1<<14)
- #define MOUSE_ACCEL (1L<<15)
-
- /* PrinterPort */
- #define PARALLEL_PRINTER 0x00
- #define SERIAL_PRINTER 0x01
-
- /* BaudRate */
- #define BAUD_110 0x00
- #define BAUD_300 0x01
- #define BAUD_1200 0x02
- #define BAUD_2400 0x03
- #define BAUD_4800 0x04
- #define BAUD_9600 0x05
- #define BAUD_19200 0x06
- #define BAUD_MIDI 0x07
-
- /* PaperType */
- #define FANFOLD 0x00
- #define SINGLE 0x80
-
- /* PrintPitch */
- #define PICA 0x000
- #define ELITE 0x400
- #define FINE 0x800
-
- /* PrintQuality */
- #define DRAFT 0x000
- #define LETTER 0x100
-
- /* PrintSpacing */
- #define SIX_LPI 0x000
- #define EIGHT_LPI 0x200
-
- /* Print Image */
- #define IMAGE_POSITIVE 0x00
- #define IMAGE_NEGATIVE 0x01
-
- /* PrintAspect */
- #define ASPECT_HORIZ 0x00
- #define ASPECT_VERT 0x01
-
- /* PrintShade */
- #define SHADE_BW 0x00
- #define SHADE_GREYSCALE 0x01
- #define SHADE_COLOR 0x02
-
- /* PaperSize */
- #define US_LETTER 0x00
- #define US_LEGAL 0x10
- #define N_TRACTOR 0x20
- #define W_TRACTOR 0x30
- #define CUSTOM 0x40
-
- /* New PaperSizes for V36: */
- #define EURO_A0 0x50 /* European size A0: 841 x 1189 */
- #define EURO_A1 0x60 /* European size A1: 594 x 841 */
- #define EURO_A2 0x70 /* European size A2: 420 x 594 */
- #define EURO_A3 0x80 /* European size A3: 297 x 420 */
- #define EURO_A4 0x90 /* European size A4: 210 x 297 */
- #define EURO_A5 0xA0 /* European size A5: 148 x 210 */
- #define EURO_A6 0xB0 /* European size A6: 105 x 148 */
- #define EURO_A7 0xC0 /* European size A7: 74 x 105 */
- #define EURO_A8 0xD0 /* European size A8: 52 x 74 */
-
-
- /* PrinterType */
- #define CUSTOM_NAME 0x00
- #define ALPHA_P_101 0x01
- #define BROTHER_15XL 0x02
- #define CBM_MPS1000 0x03
- #define DIAB_630 0x04
- #define DIAB_ADV_D25 0x05
- #define DIAB_C_150 0x06
- #define EPSON 0x07
- #define EPSON_JX_80 0x08
- #define OKIMATE_20 0x09
- #define QUME_LP_20 0x0A
- /* new printer entries, 3 October 1985 */
- #define HP_LASERJET 0x0B
- #define HP_LASERJET_PLUS 0x0C
-
- /* Serial Input Buffer Sizes */
- #define SBUF_512 0x00
- #define SBUF_1024 0x01
- #define SBUF_2048 0x02
- #define SBUF_4096 0x03
- #define SBUF_8000 0x04
- #define SBUF_16000 0x05
-
- /* Serial Bit Masks */
- #define SREAD_BITS 0xF0 /* for SerRWBits */
- #define SWRITE_BITS 0x0F
-
- #define SSTOP_BITS 0xF0 /* for SerStopBuf */
- #define SBUFSIZE_BITS 0x0F
-
- #define SPARITY_BITS 0xF0 /* for SerParShk */
- #define SHSHAKE_BITS 0x0F
-
- /* Serial Parity (upper nibble, after being shifted by
- * macro SPARNUM() )
- */
- #define SPARITY_NONE 0
- #define SPARITY_EVEN 1
- #define SPARITY_ODD 2
- /* New parity definitions for V36: */
- #define SPARITY_MARK 3
- #define SPARITY_SPACE 4
-
- /* Serial Handshake Mode (lower nibble, after masking using
- * macro SHANKNUM() )
- */
- #define SHSHAKE_XON 0
- #define SHSHAKE_RTS 1
- #define SHSHAKE_NONE 2
-
- /* new defines for PrintFlags */
-
- #define CORRECT_RED 0x0001 /* color correct red shades */
- #define CORRECT_GREEN 0x0002 /* color correct green shades */
- #define CORRECT_BLUE 0x0004 /* color correct blue shades */
-
- #define CENTER_IMAGE 0x0008 /* center image on paper */
-
- #define IGNORE_DIMENSIONS 0x0000 /* ignore max width/height settings */
- #define BOUNDED_DIMENSIONS 0x0010 /* use max width/height as boundaries */
- #define ABSOLUTE_DIMENSIONS 0x0020 /* use max width/height as absolutes */
- #define PIXEL_DIMENSIONS 0x0040 /* use max width/height as prt pixels */
- #define MULTIPLY_DIMENSIONS 0x0080 /* use max width/height as multipliers */
-
- #define INTEGER_SCALING 0x0100 /* force integer scaling */
-
- #define ORDERED_DITHERING 0x0000 /* ordered dithering */
- #define HALFTONE_DITHERING 0x0200 /* halftone dithering */
- #define FLOYD_DITHERING 0x0400 /* Floyd-Steinberg dithering */
-
- #define ANTI_ALIAS 0x0800 /* anti-alias image */
- #define GREY_SCALE2 0x1000 /* for use with hi-res monitor */
-
- /* masks used for checking bits */
-
- #define CORRECT_RGB_MASK (CORRECT_RED|CORRECT_GREEN|CORRECT_BLUE)
- #define DIMENSIONS_MASK (BOUNDED_DIMENSIONS|ABSOLUTE_DIMENSIONS|PIXEL_DIMENSIONS|MULTIPLY_DIMENSIONS)
- #define DITHERING_MASK (HALFTONE_DITHERING|FLOYD_DITHERING)
-
- #endif
-