winopen(3G) winopen(3G)
winopen - creates a graphics window
long winopen(name)
String name;
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.
winopen 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).
dglopen, foreground, fudge, iconsize, imakebackground, keepaspect,
minsize, maxsize, noborder, noport, prefsize, prefposition, scrnselect,
stepunit, winclose, winset
This routine is available only in immediate mode.
When creating a window on a screen for which there is no window management,
(i.e., on a screen for which the getgdesc inquiry GD_SCRNTYPE returns
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.
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.
PPPPaaaaggggeeee 5555 [ Back ]
|