.\"## .\" $XConsortium: p250,v 5.2 94/04/17 20:57:21 rws Exp $ .\"## .\"## $XMCOPY .\"## Copyright (c) 1990, 1991 by Sun Microsystems, Inc. .\"## .\"## All Rights Reserved .\"## .\"## Permission to use, copy, modify, and distribute this software and its .\"## documentation for any purpose and without fee is hereby granted, .\"## provided that the above copyright notice appear in all copies and that .\"## both that copyright notice and this permission notice appear in .\"## supporting documentation, and that the name of Sun Microsystems, .\"## not be used in advertising or publicity .\"## pertaining to distribution of the software without specific, written .\"## prior permission. .\"## .\"## SUN MICROSYSTEMS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, .\"## INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO .\"## EVENT SHALL SUN MICROSYSTEMS BE LIABLE FOR ANY SPECIAL, INDIRECT OR .\"## CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF .\"## USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR .\"## OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR .\"## PERFORMANCE OF THIS SOFTWARE. .TH "REDRAW ALL STRUCTURES" 3P "29 February 1991" .SH NAME REDRAW ALL STRUCTURES \- redisplay all structures posted to a workstation .SH SYNOPSIS .SS C Syntax .ft B .ta 1.25i 3i .nf void predraw_all_structs ( ws, control_flag ) Pint ws; \fIworkstation identifier\fP Pctrl_flag control_flag; \fIcontrols the redraw of the structures\fP .fi .ft R .SS Required PHIGS Operating States (PHOP, WSOP, *, *) .SH DESCRIPTION .SS Purpose \s-2REDRAW ALL STRUCTURES\s+2 updates the specified workstation's display by: .RS .ta 0.2i +0.2i +0.2i +0.2i +0.2i .LP \(bu Completing any actions in progress .LP \(bu Clearing the display surface if the surface is \s-2NOT EMPTY\s+2, or if the \fIcontrol flag\fP is \s-2ALWAYS\s+2 .LP \(bu Updating any pending viewing transformation and pending \s-2HLHSR\s+2 mode .LP \(bu Redisplaying all structures posted to the workstation .LP \(bu Setting the workstation's \fIstate of visual representation\fP to \s-2CORRECT\s+2 .ta .RE .SS C Input Parameters .IP \fIws\fP The identifier of the workstation whose structures are to be redrawn. .IP \fIcontrol_flag\fP Controls whether the display surface is automatically cleared. Pctrl_flag is defined in phigs.h. Valid values are: .sp .4 .ta .5i .nf typedef enum { .sp .2 PFLAG_COND, PFLAG_ALWAYS .sp .2 }Pctrl_flag; .fi .IP \s-2PFLAG_COND\s+2 clears the display surface before redrawing only if the surface is not empty. .IP \s-2PFLAG_ALWAYS\s+2 automatically clears the surface before redrawing. .SS Execution \s-2REDRAW ALL STRUCTURES\s+2 performs the following actions in sequence: .sp .5v .in +0.5i .ta +0.2i .ti -0.2i 1. Any buffered communications for the specified workstation are completed without first clearing the display surface. .\" .\" I'm think \s-2PEX-SI\s0 never has any data that hasn't been flushed. -wds .\" .\" Actions below must match those for UPDATE WORKSTATION! .\" .sp .5v .ti -0.2i 2. If the \fIcontrol flag\fP is set to \s-2CONDITIONALLY\s+2, then the workstation's display surface is only cleared if it is \s-2NOT EMPTY\s+2. If the control flag is set to \s-2ALWAYS\s+2, the display surface is cleared regardless of whether the display is \s-2EMPTY\s+2. In any case, the entry is then set to \s-2EMPTY\s+2. .IP \fBNote:\fP Using a control flag of \s-2CONDITIONALLY\s+2 avoids unnecessarily clearing an empty display surface. A value of \s-2ALWAYS\s+2 is useful when generating multiple copies of the current image on hardcopy devices. However, for \s-2PEX-SI\s+2 where an output device is always a \s-2CRT\s+2, the value \s-2ALWAYS\s+2 is not meaningful. .sp .5v .ti -0.2i 3. For every view representation in the workstation's state list, if the \fIview transformation update state\fP is \s-2PENDING\s+2, the current view representation is loaded from the \fIrequested\fP view representation, and the update state is set to \s-2NOTPENDING\s+2. .sp .5v .ti -0.2i 4. If the workstation transformation update state is \s-2PENDING\s+2, the \fIcurrent workstation window\fP and \fIcurrent workstation viewport\fP are loaded with the \fIrequested\fP values for each, and the update state is set to \s-2NOTPENDING\s+2. .sp .5v .ti -0.2i 5. If the workstation's \fI\s-2HLHSR\s+2 update state\fP is \s-2PENDING\s+2, the \fIcurrent \s-2HLHSR\s+2 mode\fP is updated to the value of the \fIrequested \s-2HLHSR\s+2 mode\fP, and the update state is set to \s-2NOTPENDING\s+2. .sp .5v .ti -0.2i 6. All structure networks posted for this workstation are redisplayed in the order of their priority. .sp .5v .ti -0.2i 7. The workstation's \fIstate of visual representation\fP is set to \s-2CORRECT\s+2. .LP The workstation's state of visual representation indicates if the display is \s-2CORRECT\s+2, \s-2SIMULATED\s+2, or \s-2DEFERRED\s+2. \s-2INQUIRE DISPLAY UPDATE STATE\s+2 returns the workstation's \fIdisplay surface empty\fP and state of visual representation state list entries. Normally, the traversal in Step 6 causes the display surface empty workstation state to become \s-2NOTEMPTY\s+2. (If all the posted structures are empty, or if they contain elements but no output primitive elements, the display surface empty may be \s-2EMPTY\s+2 or \s-2NOTEMPTY\s+2.) .DT .SH ERRORS .IP 003 Ignoring function, function requires state (\s-2PHOP\s+2, \s-2WSOP\s+2, \s-2*\s+2, \s-2*\s+2) .IP 054 Ignoring function, the specified workstation is not open .IP 059 Ignoring function, the specified workstation does not have output capability (i.e., the workstation category is neither \s-2OUTPUT\s+2, \s-2OUTIN\s+2, nor \s-2MO\s+2) .SH SEE ALSO .nf .IP .ta 0.5i .SM "UPDATE WORKSTATION (3P)" .SM "INQUIRE DISPLAY UPDATE STATE (3P)" .SM "SET DISPLAY UPDATE STATE (3P)" .fi