IDLgrPrinter objects have the following properties in addition to properties inherited from any superclasses. Properties with the word “Yes” in the “Get” column of the property table can be retrieved via IDLgrPrinter::GetProperty. Properties with the word “Yes” in the “Init” column of the property table can be set via IDLgrPrinter::Init. Properties with the word “Yes” in the “Set” column in the property table can be set via IDLgrPrinter::SetProperty.

Note: For a discussion of the property description tables shown below, see Modifying Object Properties.

Objects of this class have the following properties.

ALL

An anonymous structure containing the values of all of the properties associated with the state of this object. State information about the object includes things like color, range, tick direction, etc., but not image, vertex, or connectivity data, or user values.

Note: The fields of this structure may change in subsequent releases of IDL.

Property Type

Structure

Name String

not displayed

Get: Yes

Set: No

Init: No

Registered: No

COLOR_MODEL

An integer value or an enumerated list item that determines the color model to be used for the printer buffer:

Value

Property Sheet Value

Description

0

RGB

RGB (default)

1

Indexed

Color Index

 

Property Type

ENUMLIST

Name String

Color model

Get: Yes

Set: No

Init: Yes

Registered: Yes

DIMENSIONS

A two-element integer vector of the form [width, height] specifying the overall drawable area that may be printed on a page. By default, the dimensions are measured in device units (refer to the UNITS property).

Property Type

Integer vector

Name String

not displayed

Get: Yes

Set: No

Init: No

Registered: No

FONT_SCALE

A scalar value specifying the relative size of the text. The default value is 1.0. All text drawn to the device is rescaled by its value. Setting FONT_SCALE to 2.0 draws the font twice as large as the default; 0.5 half as large.

Property Type

FONT_SCALE

Name String

not displayed

Get: Yes

Set: Yes

Init: Yes

Registered: No

GAMMA

An object reference to an IDLgrPalette object whose entries will be used as the gamma correction table for color printing. Gamma correction only applies if COLOR_MODEL=1 (Indexed).

When the color palette (specified via the PALETTE property) is loaded for the printer, if a gamma correction table is provided, then each of the [R,G,B] entries in the color palette will be translated through the gamma correction table. For example, at color index i:

correctedRed[i] = gammaRed[paletteRed[i]]
correctedGreen[i] = gammaGreen[paletteGreen[i]]
correctedBlue[i] = gammaBlue[paletteBlue[i]]

Note: Objects specified via this property are not automatically cleaned up when the IDLgrPrinter object is destroyed.

Property Type

Object reference

Name String

not displayed

Get: Yes

Set: Yes

Init: Yes

Registered: No

GRAPHICS_TREE

An object reference of type IDLgrScene, IDLgrViewgroup, or IDLgrView that specifies the graphics tree of this object. If this property is set to a valid object reference, calling the Draw method on the destination object with no arguments will cause the object reference associated with this property to be drawn. If this object is valid and the destination object is destroyed, this object reference will be destroyed as well. By default the GRAPHICS_TREE property is set equal to the null-object.

Property Type

Object reference

Name String

not displayed

Get: Yes

Set: Yes

Init: Yes

Registered: No

LANDSCAPE

A Boolean value that indicates whether to produce hardcopy output in landscape mode. The default value of zero indicates Portrait mode.

Note: The printer driver may not support the LANDSCAPE option; in general, it is best to use the printer dialogs to set orientation.

Property Type

Boolean

Name String

not displayed

Get: Yes

Set: Yes

Init: Yes

Registered: No

LINE_QUALITY

An integer value indicating the rendering quality of lines with a thickness greater than one pixel.

Valid values are:

Value Description
0 Low quality - this setting will result in faster performance, but it may introduce minor defects in the lines.
1 (default) High quality - this setting produces lines with clean joins at corners and intersections, but it may result in slower performance.

N_COLORS

An integer value that indicates the number of colors (between 2 and 256) to be used if the COLOR_MODEL is set to Indexed (1). This property is ignored if the COLOR_MODEL is set to RGB (0).

Property Type

Integer

Name String

Number of colors

Get: Yes

Set: No

Init: Yes

Registered: Yes

N_COPIES

An integer that determines the number of copies of print data to be generated. The default is 1 copy.

Note: Your specific printer driver may not support the N_COPIES option. You can also use the printer dialogs to set the number of copies.

Property Type

Integer

Name String

not displayed

Get: Yes

Set: Yes

Init: Yes

Registered: No

NAME

A string giving the human-readable name of this object. This property is initialized to the network name of the printer unless another value is set during initialization.

Property Type

String

Name String

not displayed

Get: Yes

Set: Yes

Init: Yes

Registered: No

PALETTE

An object reference to a palette object (an instance of the IDLgrPalette object class) to specify the red, green, and blue values that are to be loaded into the graphics destination’s color lookup table if the Indexed color model is used.

Note: Objects specified via this property are not automatically cleaned up when the IDLgrPrinter object is destroyed.

This property is registered as a user-defined property, but it is hidden by default.

Property Type

USERDEF

Name String

Color palette

Get: Yes

Set: Yes

Init: Yes

Registered: Yes

PRINT_QUALITY

An integer value indicating the print quality at which graphics are to be drawn to the printer. Note that the print quality is independent of the rendering quality (as set by the QUALITY property). Valid values are:

  • 0 = Low
  • 1 = Normal (this is the default)
  • 2 = High

Generally, setting the print quality to a lower value will increase the speed of the printing job, but decrease the resolution; setting it to a higher value will cause the printing job to take more time, but will increase the resolution.

Note: Some printer drivers may not be able to support different printing qualities. In these cases, the setting of the PRINT_QUALITY property will be quietly ignored.

Property Type

Integer

Name String

not displayed

Get: Yes

Set: Yes

Init: Yes

Registered: No

PRINTER_NAME

A string containing the network name of the printer, (e.g.,'\\BORG\HpJet').

Property Type

String

Name String

not displayed

Get: Yes

Set: No

Init: No

Registered: No

QUALITY

An integer value or enumerated list item that indicates the rendering quality at which graphics are to be drawn to this destination. Note that the rendering quality is independent of the print quality (as set by the PRINT_QUALITY property). Valid values are:

Value

Property Sheet Value

Description

0

Low

Low quality

1

Medium

Medium quality

2

High

High quality (the default)

 

Property Type

ENUMLIST

Name String

Draw quality

Get: Yes

Set: Yes

Init: Yes

Registered: Yes

REGISTER_PROPERTIES

A Boolean value that determines whether to register properties available for this object. If this property is set, all properties marked in this properties section as “Registered: Yes” will be registered for display in a property sheet. This property is useful mainly when creating iTools. By default, no properties are registered.

Property Type

Boolean

Name String

not displayed

Get: No

Set: No

Init: Yes

Registered: No

RESOLUTION

A floating-point vector of the form [xres, yres] defining the pixel resolution, measured in centimeters per pixel. This value is stored in double precision.

Property Type

FLOAT

Name String

Resolution

Get: Yes

Set: No

Init: No

Registered: Yes

UNITS

An integer value that indicates the units of measure for the DIMENSIONS property. Valid values are:

  • 0 = Device (default)
  • 1 = Inches
  • 2 = Centimeters
  • 3 = Normalized: relative to the drawable area on a page.

Note: If you change the value of the UNITS property (using the SetProperty method), IDL will convert the current value of the DIMENSIONS property to the new units.

Property Type

Integer

Name String

not displayed

Get: Yes

Set: Yes

Init: Yes

Registered: No