REDRAW ALL STRUCTURES(3P) — Kubota Pacfic Computer Inc. (29 February 1991)
NAME
REDRAW ALL STRUCTURES − redisplay all structures posted to a workstation
SYNOPSIS
C Syntax
void
predraw_all_structs ( ws, control_flag )
Pintws;workstation identifier
Pctrl_flagcontrol_flag;controls the redraw of the structures
Required PHIGS Operating States
(PHOP, WSOP, ∗, ∗)
DESCRIPTION
Purpose
REDRAW ALL STRUCTURES updates the specified workstation’s display by:
• Completing any actions in progress
• Clearing the display surface if the surface is NOT EMPTY, or if the control flag is ALWAYS
• Updating any pending viewing transformation and pending HLHSR mode
• Redisplaying all structures posted to the workstation
• Setting the workstation’s state of visual representation to CORRECT
C Input Parameters
wsThe identifier of the workstation whose structures are to be redrawn.
control_flag
Controls whether the display surface is automatically cleared. Pctrl_flag is defined in phigs.h. Valid values are:
typedef enum {
PFLAG_COND,
PFLAG_ALWAYS
}Pctrl_flag;
PFLAG_COND clears the display surface before redrawing only if the surface is not empty.
PFLAG_ALWAYS automatically clears the surface before redrawing.
Execution
REDRAW ALL STRUCTURES performs the following actions in sequence:
1.Any buffered communications for the specified workstation are completed without first clearing the display surface.
2.If the control flag is set to CONDITIONALLY, then the workstation’s display surface is only cleared if it is NOT EMPTY. If the control flag is set to ALWAYS, the display surface is cleared regardless of whether the display is EMPTY. In any case, the entry is then set to EMPTY.
Note: Using a control flag of CONDITIONALLY avoids unnecessarily clearing an empty display surface. A value of ALWAYS is useful when generating multiple copies of the current image on hardcopy devices. However, for PEX-SI where an output device is always a CRT, the value ALWAYS is not meaningful.
3.For every view representation in the workstation’s state list, if the view transformation update state is PENDING, the current view representation is loaded from the requested view representation, and the update state is set to NOTPENDING.
4.If the workstation transformation update state is PENDING, the current workstation window and current workstation viewport are loaded with the requested values for each, and the update state is set to NOTPENDING.
5.If the workstation’s HLHSR update state is PENDING, the current HLHSR mode is updated to the value of the requested HLHSR mode, and the update state is set to NOTPENDING.
6.All structure networks posted for this workstation are redisplayed in the order of their priority.
7.The workstation’s state of visual representation is set to CORRECT.
The workstation’s state of visual representation indicates if the display is CORRECT, SIMULATED, or DEFERRED. INQUIRE DISPLAY UPDATE STATE returns the workstation’s display surface empty and state of visual representation state list entries. Normally, the traversal in Step 6 causes the display surface empty workstation state to become NOTEMPTY. (If all the posted structures are empty, or if they contain elements but no output primitive elements, the display surface empty may be EMPTY or NOTEMPTY.)
ERRORS
003Ignoring function, function requires state (PHOP, WSOP, ∗, ∗)
054Ignoring function, the specified workstation is not open
059Ignoring function, the specified workstation does not have output capability (i.e., the workstation category is neither OUTPUT, OUTIN, nor MO)
SEE ALSO
UPDATE WORKSTATION (3P)
INQUIRE DISPLAY UPDATE STATE (3P)
SET DISPLAY UPDATE STATE (3P)
September 02, 1992