winopen(3G)winopen(3G)NAMEwinopen - creates a graphics window
C SPECIFICATION
long winopen(name)
String name;
PARAMETERS
name expects the window title that is displayed on the left hand side
of the title bar for the window. If you do not want a title,
pass a zero-length string.
FUNCTION RETURN VALUE
The returned value for this function is the graphics server and window
identifier for the window just created. Use this value to identify the
graphics window to other windowing functions. Only the lower 16 bits are
significant, since a graphics window identifier is the value portion of a
REDRAW event queue entry. If no additional windows are available, this
function returns -1.
DESCRIPTIONwinopen creates a graphics window as defined by the current values of the
window constraints on the currently selected display. This new window
becomes the current window. If a call to foreground did not precede the
winopen call, it forks and runs the calling process in the background.
The display on which the window is opened is determined by the currently
selected host, server, and screen. The host defaults to the local client
machine. You may change the host by calling dglopen beforehand, or by
calling winset with the identifier of an open window on another host. If
neither of these calls precedes, the value of the environment variables
DISPLAY, DGLSERVER, and REMOTEHOST are checked in that order. The
current server defaults to 0. This too may be changed by a preceding
winset; otherwise it may set by the environment variables above. The
current screen defaults to 0. You can change it using the routine
scrnselect.
Except for size and location, the graphics host maintains default values
for the constraints on a window. You can change these default window
constraints if you call the routines minsize, maxsize, keepaspect,
prefsize, prefposition, stepunit, fudge, iconsize, noborder, noport,
imakebackground, and foreground before you call winopen. If a window's
size and location (or both) are left unconstrained, the system allows the
user to place and size the window.
winopen sets the graphics state of the new window (this includes window
constraints) to its default values; there are listed in the table below.
It also queues the pseudo devices INPUTCHANGE and REDRAW.
Page 1
winopen(3G)winopen(3G)
__________________________________________
State | Default Value
_________________________________________
acsize 0
afunction AF_ALWAYS
backbuffer FALSE
backface FALSE
blendfunction BF_ONE, BF_ZERO
buffer mode single
character position undefined
clipplane CP_OFF
color 0
color mode single color map
(cmode and onemap)
concave FALSE
curveprecision undefined
depth range Zmin, Zmax
depthcue FALSE
drawmode NORMALDRAW
feedback mode off
fogvertex FG_OFF
font 0
frontbuffer TRUE
frontface FALSE
full screen mode off
_________________________________________
|
|
Page 2
winopen(3G)winopen(3G)
__________________________________________________
State | Default Value
_________________________________________________
glcompat
GLC_OLDPOLYGON 1
GLC_ZRANGEMAP 1 (B and G models)
0 (other models)
graphics position undefined
linesmooth SML_OFF
linestyle 0 (solid)
linewidth 1
lmcolor LMC_COLOR
lmdef
LIGHTn 0
LMODEL 0
MATERIAL 0
logicop LO_SRC
lsrepeat 1
mapcolor no entries changed
matrix
ModelView undefined
Projection undefined
Single ortho2 matching window size
Texture undefined
mmode MSINGLE
name stack empty
nmode NAUTO
normal vector undefined
overlay 2
patchbasis undefined
patchcurves undefined
patchprecision undefined
pattern 0 (solid)
pick mode off
picksize 10x10
pixmode standard
_________________________________________________
|
|
Page 3
winopen(3G)winopen(3G)
_______________________________________________
State | Default Value
______________________________________________
pntsmooth SMP_OFF
polymode PYM_FILL
polysmooth PYSM_OFF
readsource SRC_AUTO
rectzoom 1.0, 1.0
RGB color all components 0
(when RGB mode is entered)
RGB shade range undefined
RGB writemask all components 0xFF
(when RGB mode is entered)
scrbox SB_RESET
scrmask size of window
scrsubdivide SS_OFF
select mode off
shade range 0, 7, Zmin, Zmax
shademodel GOURAUD
stencil disabled
stensize 0
swritemask all planes enabled
tevbind 0 (off)
texbind 0 (off)
texgen TG_OFF
underlay 0
viewport size of window
writemask all planes enabled
zbuffer FALSE
zdraw FALSE
zfunction ZF_LEQUAL
zsource ZSRC_DEPTH
zwritemask all planes enabled
______________________________________________
|
|
Page 4
winopen(3G)winopen(3G)
Notes
o Font 0 is a Helvetica-like font.
o Zmin and Zmax are the minimum and maximum values that you can store
in the z-buffer. These depend on the graphics hardware and are
returned by getgdesc(GD_ZMIN) and getgdesc(GD_ZMAX).
o On IRIS-4D B and G models, winopen also sets lsbackup(FALSE) and
resetls(TRUE).
SEE ALSO
dglopen, foreground, fudge, iconsize, imakebackground, keepaspect,
minsize, maxsize, noborder, noport, prefsize, prefposition, scrnselect,
stepunit, winclose, winset
NOTES
This routine is available only in immediate mode.
When creating a window on a screen for which there is no window manage-
ment, (i.e., on a screen for which the getgdesc inquiry GD_SCRNTYPE re-
turns GD_SCRNTYPE_NOWM), always preface the winopen call with
prefposition(0, getgdesc(GD_XPMAX)-1,
0, getgdesc(GD_YPMAX)-1);
This will guarantee compatible behavior should the screen have window
management in the future.
BUGS
On the IRIS-4D GT and GTX models only, a window region which extends
beyond 2048 in the horizontal dimension is wrapped around and mapped to a
corresponding window region starting at 512. The bug is visible only if
the window covers both regions.
Page 5