getgdesc(3G)

getgdesc - gets graphics system description

As shipped in IRIX 6.5.22. Unchanged since IRIX 6.5.

NAME
     getgdesc - gets graphics system description

C SPECIFICATION
     long getgdesc(long inquiry)

PARAMETERS
     inquiry   is a symbolic constant taken from the list below.  It
               identifies the characteristic about which you want to inquire.

FUNCTION RETURN VALUE
     The function returns the value of the requested characteristic, or -1, if
     the request is invalid or its value cannot be determined.

DESCRIPTION
     getgdesc allows you to inquire about characteristics of the currently
     selected screen.  If the inquired characteristic is about bitplane
     configuration, getgdesc will return a value that indicates the absolute
     maximum resources available for the individual characteristic. It is not
     guaranteed that the bitplane configuration will reflect these values, as
     gconfig reconciles the various requests for resources. You must call
     getgconfig to find out the result of the compromises made by gconfig. You
     can call getgdesc prior to graphics initialization, as its return values
     are unaltered by any commands issued after initialization.

     The symbolic names of the inquiries and their meanings are specified
     below:

   Screen Boundary Inquiries
     GD_XMMAX
     GD_YMMAX
          Vertical and horizontal size of the screen in millimeters.

     GD_XPMAX
     GD_YPMAX
          Vertical and horizontal size of the screen in pixels.

     GD_ZMAX
     GD_ZMIN
          Maximum and minimum depth values that can be stored in the z-buffer
          of the normal framebuffer.

   Framebuffer Depth Inquiries
     GD_BITS_ACBUF
          Maximum number of bitplanes per color component in the hardware
          accumulation buffer, if one exists.  Otherwise the number of
          bitplanes per color component in the software version of the
          accumulation buffer, if it is implemented.  Otherwise 0.

     GD_BITS_ACBUF_HW
          Maximum number of bitplanes per color component in the hardware
          accumulation buffer, if one exists.  Otherwise 0.
     GD_BITS_CURSOR
          Number of bitplanes available in the cursor.

     GD_BITS_NORM_DBL_ALPHA
          Maximum number of bitplanes available in the normal framebuffer to
          store alpha in double buffered RGB mode.

     GD_BITS_NORM_DBL_CMODE
          Maximum number of bitplanes available in the normal framebuffer to
          store the color index in double buffered color map mode.

     GD_BITS_NORM_DBL_MMAP
          Maximum number of bitplanes available in the normal framebuffer to
          store the color index in double buffered multimap mode.

     GD_BITS_NORM_DBL_RED
     GD_BITS_NORM_DBL_GREEN
     GD_BITS_NORM_DBL_BLUE
          Maximum number of bitplanes available in the normal framebuffer to
          store red, green, and blue in double buffered RGB mode.  If any of
          these are 0, then double buffered RGB mode is not available.

     GD_BITS_NORM_SNG_ALPHA
          Maximum number of bitplanes available in the normal framebuffer to
          store alpha in single buffered RGB mode.

     GD_BITS_NORM_SNG_CMODE
          Maximum number of bitplanes available in the normal framebuffer to
          store the color index in single buffered color map mode.

     GD_BITS_NORM_SNG_MMAP
          Maximum number of bitplanes available in the normal framebuffer to
          store the color index in single buffered multimap mode.

     GD_BITS_NORM_SNG_RED
     GD_BITS_NORM_SNG_GREEN
     GD_BITS_NORM_SNG_BLUE
          Maximum number of bitplanes available in the normal framebuffer to
          store red, green, and blue in single buffered RGB mode.  If any of
          these are 0, then single buffered RGB mode is not available.

     GD_BITS_NORM_ZBUFFER
          Maximum number of useful bitplanes in the z-buffer of the normal
          framebuffer, If 0, then there is no z-buffer.

     GD_BITS_OVER_SNG_CMODE
          Maximum number of bitplanes available in the overlay framebuffer to
          store the color index in single buffered color map mode.

     GD_BITS_PUP_SNG_CMODE
          Maximum number of bitplanes available in the popup framebuffer to
          store the color index in single buffered color map mode.
     GD_BITS_STENCIL
          Maximum number of bitplanes available in the normal framebuffer for
          use as stencil bitplanes.  0 if stencil is not functional.

     GD_BITS_UNDR_SNG_CMODE
          Maximum number of bitplanes available in the underlay framebuffer to
          store the color index in single buffered color map mode.

   Miscellaneous Inquiries
     GD_AFUNCTION
          1 if afunction is functional, 0 if it is not.

     GD_AFUNCTION_MODES
          1 if all afunction functions are supported, 0 if they are not.

     GD_ALPHA_OVERUNDER
          1 if alpha bitplanes in the normal framebuffer can be allocated as
          color map bitplanes in the overlay or underlay framebuffers, 0 if
          they cannot.

     GD_BLEND
          1 if blending is supported in all framebuffers that support RGB
          mode, 0 otherwise.  (See blendfunction.)

     GD_BLENDCOLOR
          1 if blendcolor is supported in all framebuffers that support RGB
          mode, 0 otherwise.

     GD_CIFRACT
          1 if fractional interpolation of color indices is supported in all
          framebuffers, 0 otherwise.  (See colorf.)

     GD_CLIPPLANES
          Number of user-defined clipping planes supported.  0 if none are
          supported.  (See clipplane.)

     GD_CROSSHAIR_CINDEX
          Color index whose color map entry controls the color of the cross-
          hair cursor.

     GD_MUXPIPES
          Number of other graphics pipes available to be video multiplexed
          with the graphics pipe associated with the current screen.

     GD_DBBOX
          1 if the dial and button box routines are functional, 0 if they are
          not.  Unlike most of the others, this inquiry is independent of the
          currently selected screen.  (See dbtext and setdblights.)

     GD_DITHER
          1 if dithering is supported.  0 otherwise.

     GD_FOGVERTEX
          1 if fogvertex supports the per vertex fog modes, namely FG_VTX_EXP,
          FG_VTX_EXP2, and FG_VTX_LIN.  0 if it does not.

     GD_FOGPIXEL
          1 if fogvertex supports the per pixel fog modes, namely FG_PIX_EXP,
          FG_PIX_EXP2, and FG_PIX_LIN.  0 if it does not.

     GD_IS_NATIVE
          0 if the IrisGL implementation is layered on OpenGL.

     GD_FRAMEGRABBER
          1 if readsource(SRC_FRAMEGRABBER) is functional, 0 if it is not.

     GD_LIGHTING_ATT2
          1 if the ATTENUATION2 lighting model attribute is functional, 0 if
          it is not.  (See lmdef.)

     GD_LIGHTING_SPOTLIGHT
          1 if spotlights are functional, 0 if they are not.  (See lmdef.)

     GD_LIGHTING_TWOSIDE
          1 if the TWOSIDE lighting model attribute is functional, 0 if it is
          not.  (See lmdef.)

     GD_LINESMOOTH_CMODE
          1 if antialiased lines are supported in the normal framebuffer in
          color map mode, 0 otherwise.  (See linesmooth.)

     GD_LINESMOOTH_RGB
          1 if antialiased lines are supported in RGB mode in all framebuffers
          that support RGB mode, 0 otherwise.  (See linesmooth.)

     GD_LOGICOP
          1 if logical operations are supported in all framebuffers, 2 if only
          in the normal framebuffer, and 0 otherwise.  (See logicop.)

     GD_MULTISAMPLE
          1 if the multisample routines are functional, 0 if they are not.

     GD_NBLINKS
          Maximum number of blinking color map entries on the selected screen.
          If the value is non-zero, it will be at least 20.  (See blink.)

     GD_NMMAPS
          Number of smaller color maps available to the user in multimap mode.
          On some models, the highest-numbered color map is reserved for use
          by the system.  (See setmap.)

     GD_NSCRNS
          Number of screens available on the system.  Unlike most of the
          others, this inquiry is independent of the currently selected
          screen.

     GD_NURBS_ORDER
          Maximum order of any NURBS surface, NURBS curve, and NURBS trimming
          curve.

     GD_NVERTEX_POLY
          Maximum number of vertices in a single polygon.  If there is no
          limit, then GD_NOLIMIT is returned.

     GD_OVERUNDER_SHARED
          1 if overlay and underlay planes are shared, 0 if both can be used
          simultaneously.

     GD_PATSIZE_64
          1 if 64x64 patterns are supported, 0 otherwise.  (See defpattern.)

     GD_PNTSMOOTH_CMODE
          1 if antialiased points are supported in the normal framebuffer in
          color map mode, 0 otherwise.  (See pntsmooth.)

     GD_PNTSMOOTH_RGB
          1 if antialiased points are supported in RGB mode in all
          framebuffers that support RGB mode, 0 otherwise.  (See pntsmooth.)

     GD_POLYMODE
          1 if polymode is functional, 0 if it is not.

     GD_POLYSMOOTH
          1 if antialiased polygons are supported in RGB mode in all
          framebuffers that support RGB mode, 0 otherwise.  (See polysmooth.)

     GD_PUP_TO_OVERUNDER
          1 if the popup bitplanes can be allocated as color map bitplanes in
          the overlay or underlay framebuffers, 0 if they cannot.

     GD_READSOURCE
          1 if readsource sources SRC_AUTO, SRC_FRONT, and SRC_BACK are
          functional, 0 if they are not.

     GD_READSOURCE_ZBUFFER
          1 if readsource(SRC_ZBUFFER) is functional, 0 if it is not.

     GD_SCRBOX
          1 if scrbox is functional, 0 if it is not.

     GD_SCRNTYPE
          Type of the currently selected screen.  Returns GD_SCRNTYPE_WM if
          there is window management on the screen or GD_SCRNTYPE_NOWM if
          there isn't.  There can be at most one window open on screens of the
          latter type.

     GD_STEREO
          1 if setmonitor(STR_RECT) is functional, 0 if it is not.

     GD_STEREO_IN_WINDOW
          1 if per-window stereo is functional, 0 if it is not.  (See
          stereobuffer.)

     GD_SUBPIXEL_LINE
     GD_SUBPIXEL_PNT
     GD_SUBPIXEL_POLY
          1 if subpixel positioned lines, points, and polygons (respectively)
          are supported in all framebuffers, 0 otherwise.  (See subpixel.)

     GD_TEXTPORT
          1 if the textport routines are functional, 0 if they are not.
          Unlike most of the others, this inquiry is independent of the
          currently selected screen.  (See textport.)

     GD_TEXTURE
          1 if texture mapping routines are functional, 0 if they are not.
          (See texdef2d.)

     GD_TEXTURE_3D
          1 if 3D texture mapping routines are functional, 0 if they are not.
          (See texdef3d.)

     GD_TEXTURE_DETAIL
          1 if TX_DETAIL is functional, 0 if it is not.  (See texdef.)

     GD_TEXTURE_LUT
          1 if texture lookup tables are functional, 0 if they are not.  (See
          tlutdef.)

     GD_TEXTURE_SHARP
          1 if TX_SHARPEN is functional, 0 if it is not.  (See texdef.)

     GD_TIMERHZ
          Frequency of graphics timer events.

     GD_TRIMCURVE_ORDER
          Maximum order of a trimming curve.

     GD_WSYS
          Type of window system running on the machine.  Returns GD_WSYS_4S if
          a windowing system is currently running or GD_WSYS_NONE if there is
          no window system currently running.  Unlike most of the others, this
          inquiry is independent of the currently selected screen.

     GD_ZDRAW_GEOM
     GD_ZDRAW_PIXELS
          1 if routines that render geometry and routines that render pixels
          (respectively) will do it into the z-buffer when zdraw is TRUE, 0 if
          they do not.

SEE ALSO
     gversion, scrnselect

NOTES
     This routine is available only in immediate mode.

     To inquire about the screen on which the current window is displayed, use
     the following sequence:

          long savescrn;
          ...
          savescrn = scrnselect(getwscrn());
          val1 = getgdesc(inquiry1);
          val2 = getgdesc(inquiry2);
          ...
          scrnselect(savescrn);