#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






#define FILENAME_SIZE 30 

#define POINTERSIZE (1 + 16 + 1) * 2 


#define TOPAZ_EIGHTY 8
#define TOPAZ_SIXTY 9

struct Preferences
{
 
 BYTE FontHeight; 

 
 UBYTE PrinterPort; 

 
 UWORD BaudRate; 

 
 struct timeval KeyRptSpeed; 
 struct timeval KeyRptDelay; 
 struct timeval DoubleClick; 

 
 UWORD PointerMatrix[POINTERSIZE]; 
 BYTE XOffset; 
 BYTE YOffset; 
 UWORD color17; 
 UWORD color18; 
 UWORD color19; 
 UWORD PointerTicks; 

 
 UWORD color0; 
 UWORD color1; 
 UWORD color2; 
 UWORD color3; 

 
 BYTE ViewXOffset; 
 BYTE ViewYOffset; 
 WORD ViewInitX, ViewInitY; 

 BOOL EnableCLI; 

 
 UWORD PrinterType; 
 UBYTE PrinterFilename[FILENAME_SIZE];

 
 UWORD PrintPitch; 
 UWORD PrintQuality; 
 UWORD PrintSpacing; 
 UWORD PrintLeftMargin; 
 UWORD PrintRightMargin; 
 UWORD PrintImage; 
 UWORD PrintAspect; 
 UWORD PrintShade; 
 WORD PrintThreshold; 

 
 UWORD PaperSize; 
 UWORD PaperLength; 
 UWORD PaperType; 

 
 
 UBYTE SerRWBits; 
 
 UBYTE SerStopBuf; 
 
 UBYTE SerParShk; 
 
 UBYTE LaceWB; 

 UBYTE WorkName[FILENAME_SIZE]; 

 BYTE RowSizeChange; 
 BYTE ColumnSizeChange;

 UWORD PrintFlags; 
 UWORD PrintMaxWidth; 
 UWORD PrintMaxHeight; 
 UBYTE PrintDensity; 
 UBYTE PrintXOffset; 

 UWORD wb_Width; 
 UWORD wb_Height; 
 UBYTE wb_Depth; 

 UBYTE ext_size; 
 
};



#define LACEWB (1<< 0)
#define LW_RESERVED 1 


#define SCREEN_DRAG (1<<14)
#define MOUSE_ACCEL (1L<<15)


#define PARALLEL_PRINTER 0x00
#define SERIAL_PRINTER 0x01


#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


#define FANFOLD 0x00
#define SINGLE 0x80


#define PICA 0x000
#define ELITE 0x400
#define FINE 0x800


#define DRAFT 0x000
#define LETTER 0x100


#define SIX_LPI 0x000
#define EIGHT_LPI 0x200


#define IMAGE_POSITIVE 0x00
#define IMAGE_NEGATIVE 0x01


#define ASPECT_HORIZ 0x00
#define ASPECT_VERT 0x01


#define SHADE_BW 0x00
#define SHADE_GREYSCALE 0x01
#define SHADE_COLOR 0x02


#define US_LETTER 0x00
#define US_LEGAL 0x10
#define N_TRACTOR 0x20
#define W_TRACTOR 0x30
#define CUSTOM 0x40


#define EURO_A0 0x50 
#define EURO_A1 0x60 
#define EURO_A2 0x70 
#define EURO_A3 0x80 
#define EURO_A4 0x90 
#define EURO_A5 0xA0 
#define EURO_A6 0xB0 
#define EURO_A7 0xC0 
#define EURO_A8 0xD0 



#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

#define HP_LASERJET 0x0B
#define HP_LASERJET_PLUS 0x0C


#define SBUF_512 0x00
#define SBUF_1024 0x01
#define SBUF_2048 0x02
#define SBUF_4096 0x03
#define SBUF_8000 0x04
#define SBUF_16000 0x05


#define SREAD_BITS 0xF0 
#define SWRITE_BITS 0x0F

#define SSTOP_BITS 0xF0 
#define SBUFSIZE_BITS 0x0F

#define SPARITY_BITS 0xF0 
#define SHSHAKE_BITS 0x0F


#define SPARITY_NONE 0
#define SPARITY_EVEN 1
#define SPARITY_ODD 2

#define SPARITY_MARK 3
#define SPARITY_SPACE 4


#define SHSHAKE_XON 0
#define SHSHAKE_RTS 1
#define SHSHAKE_NONE 2



#define CORRECT_RED 0x0001 
#define CORRECT_GREEN 0x0002 
#define CORRECT_BLUE 0x0004 

#define CENTER_IMAGE 0x0008 

#define IGNORE_DIMENSIONS 0x0000 
#define BOUNDED_DIMENSIONS 0x0010 
#define ABSOLUTE_DIMENSIONS 0x0020 
#define PIXEL_DIMENSIONS 0x0040 
#define MULTIPLY_DIMENSIONS 0x0080 

#define INTEGER_SCALING 0x0100 

#define ORDERED_DITHERING 0x0000 
#define HALFTONE_DITHERING 0x0200 
#define FLOYD_DITHERING 0x0400 

#define ANTI_ALIAS 0x0800 
#define GREY_SCALE2 0x1000 



#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
