Ich zitiere noch den Hitchhikers Guide to GEOS:
ZitatAlles anzeigenFunction: Get printer resolution.
Parameters: none.
Returns:
a $00 = printer has graphics and text modes; $FF = printer only has text modes (e.g., daisy wheel printers).
x PGWIDTH — page width in cards: number of 8x8 cards that will fit horizontally on a page (1-80, standard value is 80 but some printers only handle 60, 72, or 75).
y PGHEIGHT — page height in cards: number of 8x8 cards that will fit vertically on a page (1-255, usually 94).
The width and height return values are typically based on an 8.5" x 11" page with a 0.25" margin on all sides, leaving an 8" x 10.5" usable print area.
Destroys: nothing.
Description: GetDimensions returns the printable page size in cards. At each call to PrintBuffer, the printer driver will expect at least PGWIDTH cards of graphic data in the 640-byte print buffer. To print an entire page, the application will need to call PrintBuffer PGHEIGHT times.
Most dot-matrix printers have a horizontal resolution of 80 dots-per-inch and an eight-inch print width. Eight inches at 80 dpi gives 640 addressable dots per printed line, and 640/8 equals 80 cards per line. GEOS assumes an 80-dpi output device.
Drivers for printers with a different horizontal resolution will usually return a PGWIDTH value that reflects some even multiple of the dpi. For example, a lower resolution 72 dpi printer can only fit 72*8 = 560 dots per line, and 560 dots reduces to 72 cards. PGWIDTH in this case would come back as 72.
A 300-dpi laser printer, however, can accommodate 2,400 dots on an eight-inch line. To scale 80dpi data to 300 dpi, each pixel is expanded to four times its normal width. If the printer driver tried to print the full 640 possible dots at this expanded width, it would lose the last 160 dots because the printer itself can only handle 2,400 dots in an eight-inch space and 640*4 = 2,560.
To alleviate this problem the printer driver truncates the width at the card boundary nearest to 2,400 dots, which happens to be 75 cards. Hence, in this case, PGWIDTH would come back as 75.
The size, PGHEIGHT, reflects the number of card rows to send through PrintBuffer to fill a fullpage. If more rows are sent, then (depending on the printer and the driver) the printing will usually continue onto the next page (printing over the perforation on z-fold paper). The application will usually keep an internal card-row counter and call StopPrint to advance to the next page.
Note: It is not necessary to call GetDimensions when printing ASCII text. GEOS printer drivers always assume 80-columns by 66 lines.
Da werden die Werte im Prinzip auch bestätigt (94 Zeilen, 80 Cards, Abhängig vom Drucker).