SoXtGLWidget(3IV)

SoXtGLWidget (SoXtGLWidget) - wrapper around GLwMDraw for OpenGL rendering in a motif widget

As shipped in IRIX 6.5.22. Added in IRIX 6.5.22.

NAME
     SoXtGLWidget (SoXtGLWidget) - wrapper around GLwMDraw for OpenGL
     rendering in a motif widget

INHERITS FROM
     SoXtComponent > SoXtGLWidget

SYNOPSIS
     #include <Inventor_c/Xt/SoXtGLWidget.h>

          Functions from class SoXtGLWidget:

     void                SoXtGLWidgetSetBorder(SoXtGLWidget *this, SbBool
                              onOrOff)
     SbBool              SoXtGLWidgetIsBorder(const SoXtGLWidget *this)
     void                SoXtGLWidgetSetDblBuf(SoXtGLWidget *this, SbBool
                              onOrOff)
     SbBool              SoXtGLWidgetIsDblBuf(SoXtGLWidget *this)
     Window              SoXtGLWidgetGetNormWin(SoXtGLWidget *this)
     Window              SoXtGLWidgetGetOverWin(SoXtGLWidget *this)
     GLXContext          SoXtGLWidgetGetNormCtx(SoXtGLWidget *this)
     GLXContext          SoXtGLWidgetGetOverCtx(SoXtGLWidget *this)
     Widget              SoXtGLWidgetGetNormWidget(SoXtGLWidget *this)
     Widget              SoXtGLWidgetGetOverWidget(SoXtGLWidget *this)
     void                SoXtGLWidgetSetNormVis(SoXtGLWidget *this,
                              XVisualInfo *vis)
     XVisualInfo *       SoXtGLWidgetGetNormVis(SoXtGLWidget *this)
     void                SoXtGLWidgetSetOverVis(SoXtGLWidget *this,
                              XVisualInfo *vis)
     XVisualInfo *       SoXtGLWidgetGetOverVis(SoXtGLWidget *this)
     void                SoXtGLWidgetSetDrwFrontBuf(SoXtGLWidget *this, SbBool
                              enableFlag)
     SbBool              SoXtGLWidgetIsDrwFrontBuf(const SoXtGLWidget *this)

          Functions from class SoXtComponent:

     void                SoXtGLWidgetShow(SoXtGLWidget *this)
     void                SoXtGLWidgetHide(SoXtGLWidget *this)
     SbBool              SoXtGLWidgetIsVisible(SoXtGLWidget *this)
     Widget              SoXtGLWidgetGetWidget(const SoXtGLWidget *this)
     SbBool              SoXtGLWidgetIsTopLevelShell(const SoXtGLWidget *this)
     Widget              SoXtGLWidgetGetShellWidget(const SoXtGLWidget *this)
     Widget              SoXtGLWidgetGetParentWidget(const SoXtGLWidget *this)
     void                SoXtGLWidgetSetSize(SoXtGLWidget *this, const SbVec2s
                              *size)
     SbVec2s             SoXtGLWidgetGetSize(SoXtGLWidget *this)
     Display *           SoXtGLWidgetGetDisplay(SoXtGLWidget *this)
     void                SoXtGLWidgetSetTitle(SoXtGLWidget *this, const char
                              *newTitle)
     const char *        SoXtGLWidgetGetTitle(const SoXtGLWidget *this)
     void                SoXtGLWidgetSetIconTitle(SoXtGLWidget *this, const
                              char *newIconTitle)
     const char *        SoXtGLWidgetGetIconTitle(const SoXtGLWidget *this)
     void                SoXtGLWidgetSetWinCloseCB(SoXtGLWidget *this,
                              SoXtComponentCB *func, void *data = NULL)
     SoXtComponent *     SoXtGLWidgetGetComp(Widget w)
     const char *        SoXtGLWidgetGetWidgetName(const SoXtGLWidget *this)
     const char *        SoXtGLWidgetGetClassName(const SoXtGLWidget *this)


DESCRIPTION
     This abstract base class provides a C wrapper around the GLwMDraw widget.
     It allows OpenGL rendering to be performed within a motif widget and is
     used by the SoXtRenderArea. SoXtGlWidget uses a form widget around two
     separate GLwMDraw widgets (one for single and one for double buffering),
     with routines to return the appropriate windows.

FUNCTIONS
     void                SoXtGLWidgetSetBorder(SoXtGLWidget *this, SbBool
                              onOrOff)
     SbBool              SoXtGLWidgetIsBorder(const SoXtGLWidget *this)
          Show and hide the border around the glx widgets (thickness 3).
          Default is no border (FALSE). (The SoXtRenderArea subclass defaults
          turns the border on by default.)

     void                SoXtGLWidgetSetDblBuf(SoXtGLWidget *this, SbBool
                              onOrOff)
     SbBool              SoXtGLWidgetIsDblBuf(SoXtGLWidget *this)
          Routine which dynamically changes between single and double
          buffering. Default is double buffer off. (The SoXtRenderArea
          subclass makes it double buffer by default.)

     Window              SoXtGLWidgetGetNormWin(SoXtGLWidget *this)
     Window              SoXtGLWidgetGetOverWin(SoXtGLWidget *this)
     GLXContext          SoXtGLWidgetGetNormCtx(SoXtGLWidget *this)
     GLXContext          SoXtGLWidgetGetOverCtx(SoXtGLWidget *this)
     Widget              SoXtGLWidgetGetNormWidget(SoXtGLWidget *this)
     Widget              SoXtGLWidgetGetOverWidget(SoXtGLWidget *this)
          Get the current normal and overlay GLX windows, contexes and
          widgets, which are needed as arguments to glXMakeCurrent() when
          doing drawing in the normal or overlay planes.

          Note: These should not be cached by users because they will change
          as single/double buffering changes.

     void                SoXtGLWidgetSetNormVis(SoXtGLWidget *this,
                              XVisualInfo *vis)
     XVisualInfo *       SoXtGLWidgetGetNormVis(SoXtGLWidget *this)
     void                SoXtGLWidgetSetOverVis(SoXtGLWidget *this,
                              XVisualInfo *vis)
     XVisualInfo *       SoXtGLWidgetGetOverVis(SoXtGLWidget *this)
          Specify exactly what the visual should be for the normal and overlay
          window. This allows the user to create all possible visuals
          supported by OpenGL. The XVisualInfo structure should be a valid
          OpenGL visual returned by glXChooseVisual(). This structure will be
          copied by the SoXtGLWidget; the application is responsible for
          freeing the visual info with XFree() when done.

     void                SoXtGLWidgetSetDrwFrontBuf(SoXtGLWidget *this, SbBool
                              enableFlag)
     SbBool              SoXtGLWidgetIsDrwFrontBuf(const SoXtGLWidget *this)
          Inventor 2.1 changed the behavior of double buffered windows to
          redraw temporary to the front buffer when an expose event is
          received or when a new sceneGraph() is set on an SoXtRenderArea.
          This does not apply for general interactive rendering. The idea is
          that it is better to see something redraw (especially if it is slow)
          than to see garbage in the window (in the expose case) or an old
          invalid scene graph (in the SoXtRenderArea::setSceneGraph() case).

          This API enables you to turn this functionality OFF if for some
          reason you are unable to prevent repeated expose from causing a
          redraw (which is bad and should be fixed, as it gets worse for large
          scenes). This will be the case for example if you can't create a
          pulldown menu in the popup planes.

          NOTE: this api might be removed in some future releases and is only
          intended as a porting help for Inventor 2.0 to 2.1


SEE ALSO
     SoXtComponent, SoXtRenderArea