Topic : TOS - The Operating System Author : Version : tos.hyp (December 19, 2008) Subject : Programmieren/Atari Nodes : 3010 Index Size : 93790 HCP-Version : 5 Compiled on : Atari @charset : atarist @lang : @default : Title @help : @options : +g -i -s +x +zz -t4 @width : 70 View Ref-File8.22.35 PRN_SETTINGS TOS typedef struct _prn_settings { int32_t magic; /* 'pset' */ int32_t length; /* (+) Structure length */ int32_t format; /* Structure type */ int32_t reserved; /* Reserved */ int32_t page_flags; /* (+) Flags, inc. even/odd pages: 0x0001 = Only pages with even number 0x0002 = Only pages with odd number*/ int16_t first_page; /* (+) First page to print (min. 1) */ int16_t last_page; /* (+) Last page to print (max. 9999) */ int16_t no_copies; /* (+) Number of copies */ int16_t orientation; /* (+) Page orientation: 0x0000 = Orientation unknown and not adjustable 0x0001 = Output in portrait format 0x0002 = Output in landscape format*/ int32_t scale; /* (+) Scaling: 0x10000L = 100% */ int16_t driver_id; /* (+) VDI device number */ int16_t driver_type; /* Type of the selected driver */ int32_t driver_mode; /* Flags, inc. for background printing */ int32_t reserved1; /* Reserved */ int32_t reserved2; /* Reserved */ int32_t printer_id; /* Printer ID number */ int32_t mode_id; /* Mode ID number */ int16_t mode_hdpi; /* Horizontal resolution in dpi */ int16_t mode_vdpi; /* Vertical resolution in dpi */ int32_t quality_id; /* Printing mode (hardware-dependent quality, e.g. Microweave or Econofast)*/ int32_t color_mode; /* Colour mode */ int32_t plane_flags; /* Flags for colour planes to be output (e.g. cyan only) */ int32_t dither_mode; /* Rasterizing (dithering) process */ int32_t dither_value; /* Parameter for the dithering process */ int32_t size_id; /* Paper format */ int32_t type_id; /* Paper type (normal, glossy) */ int32_t input_id; /* Paper feed tray */ int32_t output_id; /* Paper output tray */ int32_t contrast; /* Contrast: 0x10000L = normal */ int32_t brightness; /* Brightness: 0x1000L = normal */ int32_t reserved3; /* Reserved */ int32_t reserved4; /* Reserved */ int32_t reserved5; /* Reserved */ int32_t reserved6; /* Reserved */ int32_t reserved7; /* Reserved */ int32_t reserved8; /* Reserved */ int8_t device[128]; /* Filename for the printout */ #ifdef __PRINTING__ TPrint mac_settings; /* Setting of the Mac printer driver */ #else struct { uint8_t inside[120]; } mac_settings; #endif } PRN_SETTINGS; Note: The structure elements marked with (+) can be read out by the application. All other entries should not be accessed. Data such as the printer resolution or number of colours should not be taken from the setting structure, but inquired for from the printer at the start of the printout (it would be possible, for instance, that due to a memory shortage the printer driver is forced to use a lower resolution compared to that entered in PRN_SETTINGS). See Also: Print dialogs pdlg_open