class HT_Renderer_Options 
See Also HT_Device_OptionsHT_RendererHT_Option_Table Methods
alpha_blending, set_alpha_blending
Sets or queries alpha blending, that is, informing the renderer whether the alpha channel should be taken into account during drawing, texture mapping, and shading. The default is false.
backing_store, set_backing_store
Gets or sets the background display to memory other than video memory¾a variant of double buffering.
bitonal_format, set_bitonal_format
Returns or sets the HT_Bitonal_Format.
buffer_depth, set_buffer_depth
Set or query the Z-buffer depth option in this renderer options object. The default is 0.
check
Restricts the window extent to the extent of the parent renderer window.
color_resolution, set_color_resolution
Gets or sets designated values for color.
color_system, set_color_system
Sets or queries the color system option in this renderer options object. The default is Mapped_RGB.
double_buffer, set_double_buffer
Gets or sets the swapping of image updates from the back to the front video display.
line_thickness, set_line_thickness
Gets or sets the scale factor for default line weight.
local_coordinates, set_local_coordinates
Gets and sets the view coordinates for the current viewport.
local_extent
The size of the current renderer window using local coordinates.
optimize
Consolidates the renderer palette with its child's.
packing_order, set_packing_order
Gets or sets the required order for bites in an RGB32 image.
palette, set_palette
Sets or queries the palette option in this renderer options object. The default is an empty palette.
pattern_scale, set_pattern_scale
Gets or sets the overall scale factor for line patterns.
pixel_aspect, set_pixel_aspect
Sets or queries the pixel aspect ratio option in this renderer options object. The default is 1.0f.
window_extent, set_window_extent
Sets or queries the window extent options in this renderer options object. The window origin is added to window size to derive the window extent.
window_origin, set_window_origin
Sets or queries the window origin in this renderer options object.
window_size, set_window_size
Sets or queries the window size in this renderer options object. The default is (0.0f, 0.0f).  
Constructor
HT_Renderer_Options
Constructor to initialize a new HT_Renderer_Options object.

HT_Renderer_Options::alpha_blending, set_alpha_blending

Purpose

Sets or queries the alpha blending. The default is false.
Synopsis
HT_Boolean alpha_blending ( )
void set_alpha_blending (HT_Boolean torf)
Details Sets or queries alpha blending, that is, informing the renderer whether the alpha channel should be taken into account during drawing, texture mapping, and shading.
HT_Renderer_Options::backing_store, set_backing_store

Purpose

Gets or sets the background display to memory other than video memory¾a variant of double buffering.
Synopsis
HT_Boolean HT_Renderer_Options::backing_store (void) const
void set_backing_store (HT_Boolean torf) alter;
Details Instead of swapping the background image to the front display, as with double buffering, backing_store allows the copying or blitting of the background image from memory (other than video memory) to the front display. This method is more hardware or pipeline dependent but allows simpler updates.
HT_Renderer_Options::bitonal_format, set_bitonal_format

Purpose

Returns or sets the HT_Bitonal_Format.
Synopsis
HT_Bitonal_Format HT_Renderer_Options::bitonal_format (void) const
void HT_Renderer_Options::set_bitonal_format (HT_Bitonal_Format bitonal_format) alter
Details The on bit in a bitonal image may represent black (On_Bit_Black) or white (On_Bit_White) depending on the device.

Call set_bitonal_format with the proper HT_Bitonal_Format enum to control bitonal image padding.  When dithering a true color, index 8, and gray scale image, Heidi standard routines pack the output image based on the new flags HT_Bitional_Format::MSB and HT_Bitonal_Format::On_Bit_Black.  Both bits are off by default.

Note: These standard routines will process bitonal images of different padding to the proper format.  In your device driver's draw_dc_bitonal_image, you should check to see if the new incoming format parameter, bitonal_format, matches your renderer option of the same name.  If not, punt to the HD_Standard_Draw_DC_Bitonal_Image, which will repack the image and call your draw_dc_bitonal_image again.

See Also For more information, see HT_Bitonal_Format, HT_Renderer::draw_dc_bitonal_image, and the section, "bitonal_format," of chapter 3, "Implementing a New Driver."
 

HT_Renderer_Options::buffer_depth, set_buffer_depth

Purpose

Sets or queries the Z-buffer depth option in this renderer options object. The default is zero. Synopsis
int HT_Renderer_Options::buffer_depth (void) const
void HT_Renderer_Options::set_buffer_depth (int bd) alter
Details The buffer depth is the log2 of the number of bits per pixel in the depth buffer. The first form returns the buffer depth in this renderer options object. The second form sets the buffer depth to the value of the argument.
HT_Renderer_Options::check

Purpose

Restricts the window extent to the extent of the parent renderer window. Synopsis
void check (HT_Renderer_Options alter & parent)
Details Given a parent renderer, restrict this renderer window extent to be no larger than that of the parent.
HT_Renderer_Options::color_resolution, set_color_resolution

Purpose

Gets or sets the designated values for color. Synopsis
int HT_Renderer_Options::color_resolution (void) const
void HT_Renderer_Options::set_color_resolution (int in) alter
Details The color_resolution method allows the designation of values for color for certain cases where, for example, only one level of color is needed when printing just one bit. Normally the default values for color number 256.
HT_Renderer_Options::color_system, set_color_system

Purpose

Sets or queries the color system option in this renderer options object. Synopsis
HT_Color_System HT_Renderer_Options::color_system (void) const
void HT_Renderer_Options::set_color_system (HT_Color_System cs) alter
Details The enumerated tag HT_Color_System has one of the four values Bitonal, Mapped_RGB, Direct_RGB, Undefined. The first form returns the color system option in this renderer options object. The second form sets the color system option to the value of the argument.

As the enumeration implies, Heidi supports bitonal, 8-bit mapped and 32-bit direct color systems.


HT_Renderer_Options::double_buffer, set_double_buffer

Purpose

Gets or sets the swapping of image updates from the back to the front video display. Synopsis
HT_Boolean HT_Renderer_Options::double_buffer (void) const
void HT_Renderer_Options::set_double_buffer (HT_Boolean torf) alter
Details This method basically allows a background image to be drawn in video memory and then swapped with the front display. This method is not dependent on hardware, however, because the working buffer is 2 updates old the whole image must be redrawn. Also see the backing_store method which allows the background image to be stored in hardware or through the graphics pipeline.
HT_Renderer_Options::HT_Renderer_Options

Purpose

Constructor to initialize a new HT_Renderer_Options object. Synopsis
HT_Renderer_Options (HT_Option_Table & option_table)
 
Details This function is for use by physical renderers, not by applications. The physical renderer uses it to construct the initial current option table, which provides the root of the option table tree.
 

HT_Renderer_Options::line_thickness, set_line_thickness

Purpose

Gets or sets the scale factor for default line weight. Synopsis
float HT_Renderer_Options::line_thickness (void) const
void HT_Renderer_Options::set_line_thickness (float thickness) alter
Details In some situations the line thickness may be too small to appear correctly on the screen and in this case a scale factor may be applied. The default scale factor is 1.
HT_Renderer_Options::local_coordinates, set_local_coordinates

Purpose

Gets and sets the view coordinates for the current viewport. Synopsis
HT_Boolean HT_Renderer_Options::local_coordinates (void) const
void HT_Renderer_Options::set_double_buffer (HT_Boolean torf) alter
Details This function allows Heidi to work in local coordinates. It tells Heidi to use local coordinates when set to true. Once the option is set, Heidi will treat the coordinates to be in the local coordinates whose origin is the lower left corner of the viewport. The actual place on the device where this gets mapped is defined by the window_origin method. The default is false.
HT_Renderer_Options::local_extent

Purpose

The size of the current renderer window using local coordinates. Synopsis
HT_Int_Rectangle HT_Renderer_Options::local_extent (void) const
Details The current renderer window extent is determined from the local coordinates based on the local window origins without any regard for the parent renderer¾it is basically the size of the current window.


HT_Renderer_Options::optimize

Purpose

Consolidates the renderer palette with its child’s. Synopsis
HT_Boolean optimize (HT_Renderer_Options alter & child) alter;
Details If the input child renderer child has a palette installed, this function tries to merge it with the renderer palette.
 

HT_Renderer_Options::packing_order, set_packing_order

Purpose

Gets or sets the required order for bites in an RGB32 image. Synopsis
HT_Packing HT_Renderer_Options::packing_order (void) const
void HT_Renderer_Options::set_packing_order (HT_Packing order) alter
Details Currently when a driver receives an image call for raster, the default is set to match the GDI ordering which is BGRA¾blue, green, red, alpha. If the bites are packed differently from the system default, the required order can be set. For example, OpenGL prefers RGBA.

 


HT_Renderer_Options::palette, set_palette

Purpose

Sets or queries the palette option in this renderer options object. The default is an empty palette. Synopsis
HT_Palette const & HT_Renderer_Options::palette (void) const
void HT_Renderer_Options::set_palette (HT_Palette const & p) alter
Details The first form returns a reference to the palette in this renderer options object. The second form sets the palette in this renderer options object to the palette referenced by the argument.
 

HT_Renderer_Options::pattern_scale, set_pattern_scale

Purpose

Gets or sets the overall scale factor for line patterns. Synopsis
float HT_Renderer_Options::pattern_scale (void) const
void HT_Renderer_Options::set_pattern_scale (float scale) alter
Details pattern_scale is the overall scale factor for line patterns that is particularly useful for driver writers.  For example, the HT_Device_Requirements method m_pattern_scale stores the pattern_scale value and represents 100% of a normal line pattern for video displays. This defaults to 50 pixels.
 
For hardcopy device calibration, it is recommended that the pattern_scale device requirements be set to a number of pixels corresponding to 1/2 inch. It is the responsibility of the hardcopy driver writer to set the pattern_scale to a value that correctly represents their particular device.
 
See Also For more information see the "Line Patterns" section of chapter 2, "Heidi Architecture, Renditions,"  HT_Device_Requirements, line_pattern_scale, line_pattern, line_pattern_lengths  nominal_length and HT_Line_Pattern.


HT_Renderer_Options::pixel_aspect, set_pixel_aspect

Purpose

Sets or queries the pixel aspect ratio option in this renderer options object. The default is 1.0f.
Synopsis
float HT_Renderer_Options::pixel_aspect (void) const
void HT_Renderer_Options::set_pixel_aspect (float ratio) alter
Details The pixel aspect ratio is the ratio of the vertical to horizontal size of the physical pixel.

The first form returns the value of the pixel aspect ratio option, the second from sets it to the argument value.

 


HT_Renderer_Options::window_extent, set_window_extent

Purpose

Sets or queries the window extent options in this renderer options object. Synopsis
HT_Int_Rectangle HT_Renderer_Options::window_extent (void) const
void set_window_extent (HT_Int_Rectangle const & we) alter;
Details The first form returns the value of the window extent options, the second form sets them to the values determined by the argument.

The windowextent determines the rectangular area of the device that comprises the current display surface. It defines the clipping region. It also participates in the definition of the screen transformation, as the image of the field of view rectangle in the view plane.

The window_extent option is a device coordinate rectangle that determines both the window_origin and the window_size. That is, the lower left corner of the window extent rectangle is the window origin, and the x and y sides of the window extent rectangle give the components of the window size.

 


HT_Renderer_Options::window_origin, set_window_origin

Purpose

Sets or queries the window origin in this renderer options object. Synopsis
HT_Int_XY HT_Renderer_Options::window_origin (void) const
void set_window_origin (HT_Int_XY const & wo) alter;
Details This is the lower left hand corner of your window coordinate, which is typically (0,0). Unless you have an offset window system, this should always be (0,0).
HT_Renderer_Options::window_size, set_window_size

Purpose

Sets or queries the window size in this renderer options object. Synopsis
HT_Int_XY HT_Renderer_Options::window_size (void) const
void set_window_size (HT_Int_XY const & ws) alter;
Details The size of your window, without consideration of the window origin.