yRslRg
#include <PrintTraps.h>
typedef struct TGetRslBlk { Size Offset Description short iOpCode; 2 0 4 = opcode for GetRslData
short iError; 2 2 0=noErr; 1=noSuchRsl;
2=opNotImpl
long lReserved; 4 4 (not used )
short iRgType; 2 8 Range type; 1= ImageWriter,
TRslRg XRslRg; 4 10 Ptr to record of Min and Max X resolution
TRslRg YRslRg; 4 14 Ptr to record of Min and Max Y resolution
short iRslRecCnt; 2 16 Number of resolution records to
follow
TRslRec rgRslRec[27]; 108 18 Array of printer's resolution abilities
and, in fact, constitute the TGnlData record. Once the application knows what resolutions the printer supports, it can
then use SetRsl to pick among the various choices available, as specified in
the array of resolution records rgRslRec.
Laser printers, with their variable resolution, use the XRslRg and YRslRg
fields ( pointed to by TRslRg) to show the different minimum and maximum dot densities they can achieve in both the X and Y axes. Dot matrix printers,
like the ImageWriter, are called discrete-resolution printers because only
specific resolutions can be stipulated and return zeros in the X and Y
resolution range fields.
For resolution records ( pointed to by TRslRec) a LaserWriter will show only one (300 x 300) while an ImageWriter will go ahead and give a
resolution record for each of the discrete physical resolutions it can achieve
(72 x 72; 144 x 144; 80 x 72; and 160 x 144)