SoXtGLWidget(3IV)NAMESoXtGLWidget (SoXtGLWidget) - wrapper around GLwMDraw for OpenGL
rendering in a motif widget
INHERITS FROM
SoXtComponent > SoXtGLWidgetSYNOPSIS
#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)
Page 1SoXtGLWidget(3IV)
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
Page 2SoXtGLWidget(3IV)
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
Page 3