[ Previous | Next | Contents | Glossary | Home | Search ]
The graPHIGS Programming Interface : Subroutine Reference

GPFBC - Set Frame Buffer Comparison

GPFBC (op, mask, value)

Purpose

Use GPFBC to insert a Set Frame Buffer Comparison structure element into the open structure following the element pointer or to replace the element pointed at by the element pointer with a Set Frame Buffer Comparison structure element depending on the current edit mode.

This structure element specifies a set of options to be taken after comparing the current frame buffer content with a comparison value using a comparison mask. When a bit is set to a value of one in the mask, the graPHIGS API uses the corresponding frame buffer contents in the comparison with the specified comparison value.

The traversal default for frame buffer operation is 1=NO_OPERATION

GPFBC is identified as GSE 1002.

Note:

Not all GSEs are supported on all workstations. Use the List of Available GSEs (GPQGSE) subroutine to determine the GSEs which are supported by an open workstation. See also the workstation descriptors in The graPHIGS Programming Interface: Technical Reference

Parameters

op -- specified by user, fullword integer

Frame buffer options:

1=NO_OPERATION

No comparison is made (mask and value are not used)

2=WRITE_WHEN_EQUAL

Before updating the frame buffer with a new pixel value, the current contents of the frame buffer are compared with the specified comparison color value using the specified comparison mask. If they are equal, the new color value is put into the frame buffer. If they are not equal, then the current frame buffer pixel is not changed at all. This option is also known as underpaint

3=WRITE_WHEN_NOT_EQUAL

Before updating the frame buffer with a new pixel value, the current contents of the frame buffer are compared with the specified comparison color value using the specified comparison mask. If they are equal, the new pixel value is put into the frame buffer. If they are not equal, the pixel value produced by processing the current line-on-line color attribute is put into the frame buffer. This option is also known as line-on-line highlighting

mask -- specified by user, fullword integer

Comparison frame buffer mask. A bit set to 1 in the mask indicates the corresponding frame buffer bit plane that will be used in the comparison.

For an indexed frame buffer workstation, its least significant n bits (where n is the bit depth of the frame buffer) are used for the actual comparison mask. For a component frame buffer workstation, its least significant n1 bits, the next least significant n2 bits, and the next least significant n3 bits are used for each frame buffer component where n1, n2, n3 are the bit depths of the three frame buffer components.

value -- specified by user, fullword integer

Comparison value. For an indexed frame buffer workstation, the least significant n bits (where n is the bit depth of the frame buffer) of the comparison value are used for the comparison. For a component frame buffer workstation, its least significant n1 bits, the next least significant n2 bits, and the next least significant n3 bits are used for each frame buffer component where n1, n2, and n3 are the bit depths of the three frame buffer components.

Error Codes

5
FUNCTION REQUIRES STATE STOP OR NROP (NOT STCL)
118
FRAME BUFFER COMPARISON IS INVALID

Related Subroutines

GPLLCD
Set Line-on-Line Color Direct
GPLLCI
Set Line-on-Line Color Index
GPQFBC
Inquire Frame Buffer Characteristics

RCP code

201343234 (X'0C004102')


[ Previous | Next | Contents | Glossary | Home | Search ]