glcompat man page on IRIX

Man page or keyword search:  
man Server   31559 pages
apropos Keyword Search (all sections)
Output format
IRIX logo
[printable version]



glcompat(3G)							  glcompat(3G)

NAME
     glcompat - controls compatibility modes

C SPECIFICATION
     void glcompat(mode, value)
     long mode, value;

PARAMETERS
     mode    the name of the compatibility mode you want to change.  The
	     available modes are:

	     GLC_OLDPOLYGON controls the state of old-style polygon mode.

	     GLC_ZRANGEMAP controls the state of z-range mapping mode.

	     GLC_SOFTATTACH controls whether this program will keep mouse
	     focus when a shift or control key is pressed.

	     GLC_MANAGEBG sets imakebackground windows to be override
	     redirect.

	     GLC_SLOWMAPCOLORS controls whether mapcolor calls are buffered.

	     GLC_INPUTCHANGEBUG controls whether extra INPUTCHANGE events are
	     generated when entering and leaving a subwindow.

	     GLC_NOBORDERBUG controls whether a noborder() window can regain
	     its border.

	     GLC_MQUEUERATE controls the compression of motion events.

	     GLC_FORCECIMAP controls which colormaps will be installed when an
	     RGB window receives colormap focus.

	     GLC_SET_VSYNC sets the value of the vertical retrace counter.

	     GLC_GET_VSYNC returns the present value of the vertical retrace
	     counter.

	     GLC_VSYNC_SLEEP puts the calling process to sleep until the
	     vertical retrace counter reaches some specified value.

	     GLC_TABLETSCALE determines how tablet coordinates are scaled when
	     the tablet controls the graphics cursor.

     value   the value you want to set for the specified compatibility mode.

DESCRIPTION
     glcompat gives control over details of the graphics compatibility between
     IRIS-4D models.

									Page 1

glcompat(3G)							  glcompat(3G)

   Old-Style Polygon Mode (GLC_OLDPOLYGON)
     By default, old-style polygon mode is 1.  Setting it to 0 speeds up old-
     style drawing commands but the output is subtly different.	 See the
     ``High-Performance Drawing'' and ``Old-Style Drawing'' sections of the
     Graphics Library Programming Guide for further explanation of the two
     modes and their effects on various machines.

	  Old-style polygon are polygons drawn with any GL commands other than
	  bgnpolygon/endpolygon, bgntmesh/endtmesh, or bgnqstrip/endqstrip.

     WARNING: some features added recently to the Graphics Library are not
     supported by old-style polygons.  These features include texture mapping,
     fog, and polygon antialiasing.  Use new-style polygon commands, or set
     GLC_OLDPOLYGON to 0, to insure correct operation of new rendering
     features.

     This is a per-window mode.

   Z-Range Mapping Mode (GLC_ZRANGEMAP)
     When z-range mapping mode is 0, the domain of the z-range arguments to
     lsetdepth, lRGBrange, and lshaderange depends on the graphics hardware.
     When multisample is enabled, and multisample buffers exist in the current
     framebuffer configuration in the current drawmode, the minimum is the
     value returned by getgconfig(GC_MS_ZMIN) and the maximum is the value
     returned by getgconfig(GC_MS_ZMAX).  Otherwise, the minimum is the value
     returned by getgconfig(GC_ZMIN) and the maximum is the value returned by
     getgconfig(GC_ZMAX).  When this mode is 1, these routines accept the
     range 0x0 to 0x7FFFFF; it is mapped to whatever range the graphics
     hardware supports.

     In order to maintain backwards compatibility, the default GLC_ZRANGEMAP
     is 1 on IRIS-4D B and G models, and 0 on all others.

     This is a per-process mode.

   Soft Attach (GLC_SOFTATTACH)
     Under previous window systems, if any keyboard key was held down, a
     window would keep receiving mouse events, even if the mouse moved out of
     the window.  This type of input distribution is not supported as a
     generally available focus policy in X, so the GL provides a similar
     behavior from programs which ask for it.  If a program sets
     GLC_SOFTATTACH to true, then holding down any of the modifier keys (other
     than alt) locks the mouse focus onto that window until all modifier keys
     (other than alt) are released.  (Modifier keys other than alt are shift
     and control.)

   imakebackground window control (GLC_MANAGEBG)
     If set to true, imakebackround windows will be managed by the window
     manager.  The correct setting of this will vary based on type of
     background program and type of machine and the user's selection of window
     managers.	See the man page on imakebackround for more info.

									Page 2

glcompat(3G)							  glcompat(3G)

   Buffered mapcolor (GLC_SLOWMAPCOLORS)
     If set to true, then mapcolor requests are flushed to the window server
     as soon as they are made.	If a program is calling mapcolor many times,
     this will be very inefficient.

   INPUTCHANGE bug compatibility (GLC_INPUTCHANGEBUG)
     This controls what INPUTCHANGE events are delivered as focus moves from a
     window to a subwindow.  Before 4.0 an INPUTCHANGE with value "0" was
     generated as the focus transitioned between a window and its subwindows.
     In 4.0 INPUTCHANGE "0" always means that the focus has moved to a
     different top level window.  Setting this glcompat value to True will
     enable the pre 4.0 behavior.

   noborder() bug compatibility (GLC_NOBORDERBUG)
     Calling winconstraints() can restore a border previously removed by a
     call to noborder().  This was not the case before release 4.0.  Setting
     this glcompat value to True will enabe the pre 4.0 behavior.

   Colormap installation for RGB windows (GLC_FORCECIMAP)
     When an RGB window receives colormap focus, the colormap for color index
     windows is not affected.  Setting this glcompat value to True will cause
     the color index colormap to be installed when an RGB window gets colormap
     focus.

   Motion event compression (GLC_MQUEUERATE)
     If the value of GLC_MQUEUERATE is zero, then motion events are received
     unaltered, with no compression.  But if the value is greater than zero,
     it is the maximum number of events per second at which the GL Q is
     allowed to grow when motion events are received.  For example if the
     value of GLC_MQUEUERATE is equal to 5, then the GL Q will grow by at most
     5 motion events per second.

     If a new event arrives at a rate faster than allowed by GLC_MQUEUERATE,
     the new event is never thrown away.  Rather, the new event overwrites the
     previously most recent event in the GL Q.	That is, using a positive
     value for GLC_MQUEUERATE will not in any way prohibit a program from
     keeping up with the device.

     There are two defines in <gl.h> which may be used for the value of
     GLC_MQUEUERATE. The first is GLC_COMPATRATE, which gives an event rate
     similar to pre 4.0.  The second is GLC_CMPRESS which yields maximum
     "compression" of motion events.

   Vertical retrace counter control
     (GLC_SET_VSYNC,GLC_GET_VSYNC,GLC_VSYNC_SLEEP)
     GLC_SET_VSYNC sets the initial value of the vertical retrace counter to
     the given value. The vertical retrace counter will then increment by one
     on every vertical retrace of the screen display.  The frequency of this
     increment is governed by the video output format in use.  GLC_GET_VSYNC
     allows the caller to get the current value of the vertical retrace
     counter.  This value will be stored in the location pointed to by value.
     Thus value should be used as a pointer to an integer into which

									Page 3

glcompat(3G)							  glcompat(3G)

     GLC_GET_VSYNC stores the current value of the vertical retrace counter.

     GLC_VSYNC_SLEEP puts the calling process to sleep until the remainder of
     the vertical retrace counter divided by the specified interval equals the
     specified mod.  For example, if the current value of the vertical retrace
     counter is 126, the specified interval is 5, and the specified mod is 3,
     then the calling process is immediately put to sleep for two vertical
     retrace intervals.	 When the vertical retrace count reaches 128 (such
     that 128 mod 5 equals 3), the process is woken up.	 Value in this case is
     a pointer to an array of two integers, the first integer specifies the
     interval, the second integer specifies the mod.

     Note that the above three vertical retrace counter control functions are
     only available on VGX, VGXT, VTX, Reality Engine, Reality Engine 2, Elan,
     and Extreme graphics systems.  These functions work in immediate mode
     only, with graphics rendered locally.

   Tablet coordinate scaling (GLC_TABLETSCALE)
     GLC_TABLETSCALE is applicable only when the tablet controls the pointer
     (graphics cursor).	 In that case, the value determines how tablet
     coordinates are mapped to screen coordinates.

     If the value is 0, there is a 1-1 mapping between tablet coordinates and
     screen coordinates, so that on a typical tablet, only the lower left
     quadrant will be mapped to the screen.

     If the value is 1 (the default), then "iso" scaling is performed.	That
     is, as much of the tablet as possible is mapped to the screen, with the
     restriction that a 1-1 aspect ratio is preserved.	(I.e. the same scaling
     is applied to both x and y.)

     If the value is 2, then the entire tablet is mapped to the entire screen.
     (This is called "fit" scaling.)

SEE ALSO
     getgdesc, lRGBrange, lsetdepth, lshaderange, imakebackground, glresources

NOTES
     This routine is available only in immediate mode.

     The state of old-style polygon mode is ignored on IRIS-4D B and G models.

BUG
     GLC_ZRANGEMAP should be a per-window mode.

									Page 4

[top]

List of man pages available for IRIX

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net