[Contents] [Index] [Help] [Retrace] [Browse <] [Browse >]

The Preferences structure in 1.3 and earlier versions of the OS is a
static 232 byte data structure defined in <intuition/preferences.h> as
follows:


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 (OBSOLETE)*/

    /* 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 6 nibble-fields in 3 bytes      */
    /* (these look a little strange so the defaults will map out to 0)   */
    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   */
};