.TH "SoQtGLWidget" 3 "Sun Dec 11 2011" "Version 1.5.0" "SoQt" \" -*- nroff -*- .ad l .nh .SH NAME SoQtGLWidget \- .PP The \fBSoQtGLWidget\fP class manages OpenGL contexts\&. .PP This is the basic, abstract component class which sets up an OpenGL canvas for its subclasses\&. .SH SYNOPSIS .br .PP .PP \fC#include \fP .PP Inherits \fBSoQtComponent\fP\&. .PP Inherited by \fBSoQtRenderArea\fP\&. .SS "Public Member Functions" .in +1c .ti -1c .RI "void \fBsetBorder\fP (const SbBool enable)" .br .ti -1c .RI "SbBool \fBisBorder\fP (void) const " .br .ti -1c .RI "virtual void \fBsetDoubleBuffer\fP (const SbBool enable)" .br .ti -1c .RI "SbBool \fBisDoubleBuffer\fP (void) const " .br .ti -1c .RI "void \fBsetDrawToFrontBufferEnable\fP (const SbBool enable)" .br .ti -1c .RI "SbBool \fBisDrawToFrontBufferEnable\fP (void) const " .br .ti -1c .RI "void \fBsetQuadBufferStereo\fP (const SbBool enable)" .br .ti -1c .RI "SbBool \fBisQuadBufferStereo\fP (void) const " .br .ti -1c .RI "void \fBsetAccumulationBuffer\fP (const SbBool enable)" .br .ti -1c .RI "SbBool \fBgetAccumulationBuffer\fP (void) const " .br .ti -1c .RI "void \fBsetStencilBuffer\fP (const SbBool enable)" .br .ti -1c .RI "SbBool \fBgetStencilBuffer\fP (void) const " .br .ti -1c .RI "void \fBsetAlphaChannel\fP (const SbBool enable)" .br .ti -1c .RI "SbBool \fBgetAlphaChannel\fP (void) const " .br .ti -1c .RI "void \fBsetOverlayRender\fP (const SbBool onoff)" .br .ti -1c .RI "SbBool \fBisOverlayRender\fP (void) const " .br .ti -1c .RI "void \fBsetSampleBuffers\fP (const int numsamples)" .br .ti -1c .RI "int \fBgetSampleBuffers\fP (void) const " .br .ti -1c .RI "void \fBsetStealFocus\fP (SbBool enable)" .br .ti -1c .RI "SbBool \fBisStealFocus\fP (void) const " .br .ti -1c .RI "QWidget * \fBgetGLWidget\fP (void) const " .br .ti -1c .RI "QWidget * \fBgetNormalWidget\fP (void) const " .br .ti -1c .RI "QWidget * \fBgetOverlayWidget\fP (void) const " .br .ti -1c .RI "SbBool \fBhasOverlayGLArea\fP (void) const " .br .ti -1c .RI "SbBool \fBhasNormalGLArea\fP (void) const " .br .ti -1c .RI "unsigned long \fBgetOverlayTransparentPixel\fP (void)" .br .ti -1c .RI "void \fBgetPointSizeLimits\fP (SbVec2f &range, float &granularity)" .br .ti -1c .RI "void \fBgetLineWidthLimits\fP (SbVec2f &range, float &granularity)" .br .in -1c .SS "Protected Member Functions" .in +1c .ti -1c .RI "\fBSoQtGLWidget\fP (QWidget *const parent=NULL, const char *const name=NULL, const SbBool embed=TRUE, const int glmodes=SO_GL_RGB, const SbBool build=TRUE)" .br .ti -1c .RI "\fB~SoQtGLWidget\fP ()" .br .ti -1c .RI "virtual void \fBprocessEvent\fP (QEvent *event)" .br .ti -1c .RI "QWidget * \fBbuildWidget\fP (QWidget *parent)" .br .ti -1c .RI "virtual void \fBredraw\fP (void)=0" .br .ti -1c .RI "virtual void \fBredrawOverlay\fP (void)" .br .ti -1c .RI "virtual void \fBinitGraphic\fP (void)" .br .ti -1c .RI "virtual void \fBinitOverlayGraphic\fP (void)" .br .ti -1c .RI "virtual void \fBsizeChanged\fP (const SbVec2s &size)" .br .ti -1c .RI "virtual void \fBwidgetChanged\fP (QWidget *w)" .br .ti -1c .RI "void \fBsetGLSize\fP (const SbVec2s size)" .br .ti -1c .RI "SbVec2s \fBgetGLSize\fP (void) const " .br .ti -1c .RI "float \fBgetGLAspectRatio\fP (void) const " .br .ti -1c .RI "void \fBsetGlxSize\fP (const SbVec2s size)" .br .ti -1c .RI "SbVec2s \fBgetGlxSize\fP (void) const " .br .ti -1c .RI "float \fBgetGlxAspectRatio\fP (void) const " .br .ti -1c .RI "void \fBsetStereoBuffer\fP (SbBool flag)" .br .ti -1c .RI "SbBool \fBisStereoBuffer\fP (void) const " .br .ti -1c .RI "SbBool \fBisRGBMode\fP (void)" .br .ti -1c .RI "void \fBglLockNormal\fP (void)" .br .ti -1c .RI "void \fBglUnlockNormal\fP (void)" .br .ti -1c .RI "void \fBglLockOverlay\fP (void)" .br .ti -1c .RI "void \fBglUnlockOverlay\fP (void)" .br .ti -1c .RI "void \fBglSwapBuffers\fP (void)" .br .ti -1c .RI "void \fBglFlushBuffer\fP (void)" .br .ti -1c .RI "virtual SbBool \fBglScheduleRedraw\fP (void)" .br .in -1c .SS "Protected Attributes" .in +1c .ti -1c .RI "SbBool \fBwaitForExpose\fP" .br .ti -1c .RI "SbBool \fBdrawToFrontBuffer\fP" .br .in -1c .SS "Friends" .in +1c .ti -1c .RI "class \fBSoGuiGLWidgetP\fP" .br .ti -1c .RI "class \fBSoQtGLWidgetP\fP" .br .in -1c .SH "Detailed Description" .PP The \fBSoQtGLWidget\fP class manages OpenGL contexts\&. .PP This is the basic, abstract component class which sets up an OpenGL canvas for its subclasses\&. Application programmers will normally not use this class directly, but rather through the interface of either its direct descendent; \fBSoQtRenderArea\fP, or through one of the 'rapid application development'-style viewer subclasses\&. .PP An important thing to know about embedding \fBSoQtGLWidget\fP derived components into other Qt widgets is that you need to set up 'focus proxying' to have events still be sent to the OpenGL canvas widget\&. This is true for both the \fBSoQtRenderArea\fP aswell as all the viewer components (like \fBSoQtExaminerViewer\fP, \fBSoQtPlaneViewer\fP etc)\&. .PP As an example, if you embed an \fBSoQtExaminerViewer\fP inside a QFrame like this: .PP .PP .nf QMainWindow * toplevel = new QMainWindow; QFrame * frame = new QFrame(toplevel); SoQtExaminerViewer * viewer = new SoQtExaminerViewer(toplevel); .fi .PP .PP \&.\&.\&.events from the keyboard will not always automatically be forwarded to the viewer OpenGL canvas\&. This is the code you need to add in this case: .PP .PP .nf toplevel->setFocusProxy(viewer->getWidget()); .fi .PP .SH "Constructor & Destructor Documentation" .PP .SS "\fBSoQtGLWidget::SoQtGLWidget\fP (QWidget *constparent = \fCNULL\fP, const char *constname = \fCNULL\fP, const SbBoolembed = \fCTRUE\fP, const intglmodes = \fCSO_GL_RGB\fP, const SbBoolbuild = \fCTRUE\fP)\fC [protected]\fP"The constructor is protected, as this is an abstract class to only be used by it's subclasses\&. .PP References buildWidget(), SoQtComponent::getParentWidget(), SoQtComponent::setBaseWidget(), and SoQtComponent::setClassName()\&. .SS "\fBSoQtGLWidget::~SoQtGLWidget\fP ()\fC [protected]\fP"Clean up all use of internal resources\&. .PP The destructor is protected, as this is an abstract class to only be used by it's subclasses\&. .PP References SoQtComponent::unregisterWidget()\&. .SH "Member Function Documentation" .PP .SS "void \fBSoQtGLWidget::setBorder\fP (const SbBoolenable)"Specify whether or not there should be a border framing the OpenGL canvas\&. The border will be 2 pixels wide\&. .PP The default is to display the OpenGL canvas with no border\&. .PP \fBSee also:\fP .RS 4 \fBisBorder()\fP .RE .PP .SS "SbBool \fBSoQtGLWidget::isBorder\fP (void) const"Returns whether or not there's a border framing the OpenGL canvas\&. .PP \fBSee also:\fP .RS 4 \fBsetBorder()\fP .RE .PP .PP Referenced by setGLSize()\&. .SS "void \fBSoQtGLWidget::setDoubleBuffer\fP (const SbBoolenable)\fC [virtual]\fP"Switch between single and double buffer mode for the OpenGL canvas\&. The default is to use a single buffer canvas\&. .PP \fBSee also:\fP .RS 4 \fBisDoubleBuffer()\fP .RE .PP .PP Reimplemented in \fBSoQtViewer\fP\&. .SS "SbBool \fBSoQtGLWidget::isDoubleBuffer\fP (void) const"Returns the status of the buffer mode\&. .PP \fBSee also:\fP .RS 4 \fBsetDoubleBuffer()\fP .RE .PP .PP Referenced by SoQtViewer::actualRedraw(), SoQtRenderArea::redraw(), and SoQtViewer::SoQtViewer()\&. .SS "void \fBSoQtGLWidget::setDrawToFrontBufferEnable\fP (const SbBoolenable)"If this is set to \fCTRUE\fP, rendering will happen in the front buffer even if the current rendering mode is double buffered\&. .PP References drawToFrontBuffer\&. .SS "SbBool \fBSoQtGLWidget::isDrawToFrontBufferEnable\fP (void) const"\fBSee also:\fP .RS 4 \fBsetDrawToFrontBufferEnable()\fP .RE .PP .PP References drawToFrontBuffer\&. .PP Referenced by SoQtRenderArea::redraw()\&. .SS "void \fBSoQtGLWidget::setQuadBufferStereo\fP (const SbBoolenable)"Enables or disables OpenGL quad buffer stereo\&. .PP Referenced by setStereoBuffer(), and SoQtViewer::setStereoType()\&. .SS "SbBool \fBSoQtGLWidget::isQuadBufferStereo\fP (void) const"Returns \fCTRUE\fP if quad buffer stereo is enabled for this widget\&. .PP Referenced by SoQtViewer::getStereoType(), isStereoBuffer(), and SoQtViewer::setStereoType()\&. .SS "void \fBSoQtGLWidget::setAccumulationBuffer\fP (const SbBoolenable)"Enables/disables the OpenGL accumulation buffer\&. .PP For general information about accumulation buffers, confer with your OpenGL reference documentation\&. .PP By default, the accumulation buffer will be attempted disabled\&. Whether or not it will \fIactually\fP be disabled depends on what OpenGL contexts are available on the system\&. It is perfectly possible that the only usable contexts with regard to the other settings (like double buffering and RGBA mode versus color index mode) causes the context selection to choose an OpenGL format that contains an accumulation buffer, even though it was not requested\&. .PP Vice versa, one is not guaranteed to get accumulation buffers even when requested through this function, either because they are not available, or because they are only available in combination with other OpenGL context settings that are not wanted (like single buffers, non-accellerated rendering, etc)\&. .PP If you try to enable accumulation buffers by using this function, you should therefore in succession use the \fBSoQtGLWidget::getAccumulationBuffer()\fP to query whether or not an accumulation buffer could actually be set up\&. .PP \fBSee also:\fP .RS 4 SoQtRenderArea::setAntiAliasing() .RE .PP .SS "SbBool \fBSoQtGLWidget::getAccumulationBuffer\fP (void) const"Returns whether the OpenGL accumulation buffer is enabled\&. .PP The returned flag will indicate whether or not accumulation buffers are \fIactually\fP present, and not just parrot the input value to \fBSoQtGLWidget::setAccumulationBuffer()\fP\&. See documentation of that function for more information\&. .SS "void \fBSoQtGLWidget::setStencilBuffer\fP (const SbBoolenable)"Enables/disables the OpenGL stencil buffer\&. .PP For general information about stencil buffers, confer with your OpenGL reference documentation\&. .PP By default, the stencil buffer will be attempted disabled, but the same notes apply for stencil buffers as for accumulation buffers\&. For an explanation on the issue of stencil and accumulation buffer availability, see the function documentation of \fBSoQtGLWidget::setAccumulationBuffer()\fP\&. .PP Referenced by SoQtViewer::setStereoType()\&. .SS "SbBool \fBSoQtGLWidget::getStencilBuffer\fP (void) const"Returns whether the OpenGL stencil buffer is enabled\&. .PP The returned flag will indicate whether or not stencil buffers are \fIactually\fP present, in the same manner as for \fBSoQtGLWidget::getAccumulationBuffer()\fP\&. See documentation of \fBSoQtGLWidget::setStencilBuffer()\fP\&. .PP Referenced by SoQtViewer::setStereoType()\&. .SS "void \fBSoQtGLWidget::setAlphaChannel\fP (const SbBoolenable)"Enables/disables the alpha channel for the OpenGL context\&. .SS "SbBool \fBSoQtGLWidget::getAlphaChannel\fP (void) const"Returns whether the alpha channel is enabled for the OpenGL context\&. .SS "void \fBSoQtGLWidget::setOverlayRender\fP (const SbBoolonoff)"Turn on or off the use of overlay planes\&. .PP \fBSee also:\fP .RS 4 \fBisOverlayRender()\fP .RE .PP .PP Referenced by SoQtRenderArea::setOverlaySceneGraph()\&. .SS "SbBool \fBSoQtGLWidget::isOverlayRender\fP (void) const"Returns a flag indicating whether or not overplay planes are currently used\&. .PP \fBSee also:\fP .RS 4 \fBsetOverlayRender()\fP .RE .PP .SS "void \fBSoQtGLWidget::setSampleBuffers\fP (const intnumsamples)"Set the number of samples use when enabling multisample buffer contexts\&. Multisampling will be enabled when numsamples > 1\&. .SS "int \fBSoQtGLWidget::getSampleBuffers\fP (void) const"Returns the number of samples used for multisampling\&. Returns 1 if multisampling is disabled\&. .SS "void \fBSoQtGLWidget::setStealFocus\fP (SbBoolenable)"Sets whether the GL widget should steal keyboard focus when the mouse is over the GL view\&. .PP Default is \fCTRUE\fP\&. .PP \fBSee also:\fP .RS 4 \fBisStealFocus\fP .RE .PP \fBSince:\fP .RS 4 \fBSoQt\fP 1\&.3\&.0 .RE .PP .SS "SbBool \fBSoQtGLWidget::isStealFocus\fP (void) const"Returns whether focus stealing policy is on (\fCTRUE\fP) or off (\fCFALSE\fP)\&. .PP Default is \fCTRUE\fP\&. .PP \fBSee also:\fP .RS 4 \fBsetStealFocus\fP .RE .PP \fBSince:\fP .RS 4 \fBSoQt\fP 1\&.3\&.0 .RE .PP .SS "QWidget * \fBSoQtGLWidget::getGLWidget\fP (void) const"Returns a pointer to the toolkit-native GL widget\&. .PP Referenced by SoQtRenderArea::buildWidget(), getNormalWidget(), getOverlayWidget(), glFlushBuffer(), SoQtFullViewer::openPopupMenu(), SoQtRenderArea::registerDevice(), SoQtFullViewer::setComponentCursor(), setGLSize(), and SoQtRenderArea::unregisterDevice()\&. .SS "QWidget * \fBSoQtGLWidget::getNormalWidget\fP (void) const"For \fBSoQt\fP, this returns the same widget pointer as that of \fBSoQtGLWidget::getGLWidget()\fP\&. .PP References getGLWidget()\&. .PP Referenced by hasNormalGLArea()\&. .SS "QWidget * \fBSoQtGLWidget::getOverlayWidget\fP (void) const"Returns widget associated with overlay planes, or \fCNULL\fP if no overlay planes are available\&. .PP For the Qt toolkit, overlay planes is a feature of the QGLWidget, and not seen at a separate widget entity\&. So this call will just return the same widget reference as the SoQt::getGLWidget() call (if overlay planes are supported)\&. .PP References getGLWidget()\&. .PP Referenced by hasOverlayGLArea()\&. .SS "SbBool \fBSoQtGLWidget::hasOverlayGLArea\fP (void) const"Will return \fCTRUE\fP if an overlay GL drawing area exists\&. .PP References getOverlayWidget()\&. .PP Referenced by SoQtRenderArea::glScheduleRedraw(), and SoQtRenderArea::redrawOverlay()\&. .SS "SbBool \fBSoQtGLWidget::hasNormalGLArea\fP (void) const"Will return \fCTRUE\fP if a normal GL drawing area exists\&. .PP References getNormalWidget()\&. .PP Referenced by SoQtRenderArea::redraw()\&. .SS "unsigned long \fBSoQtGLWidget::getOverlayTransparentPixel\fP (void)"Returns the overlay transparent pixel\&. .SS "void \fBSoQtGLWidget::getPointSizeLimits\fP (SbVec2f &range, float &granularity)"This function is provided as a convenience for the application programmer to help with acquiring the OpenGL implementation limits for rendering points\&. .PP For robust application code, one needs to consider the range limits when setting the SoDrawStyle::pointSize field\&. .PP References glLockNormal(), and glUnlockNormal()\&. .SS "void \fBSoQtGLWidget::getLineWidthLimits\fP (SbVec2f &range, float &granularity)"This function is provided as a convenience for the application programmer to help with acquiring the OpenGL implementation limits for rendering lines\&. .PP For robust application code, one needs to consider the range limits when setting the SoDrawStyle::lineWidth field\&. .PP References glLockNormal(), and glUnlockNormal()\&. .SS "void \fBSoQtGLWidget::processEvent\fP (QEvent *anyevent)\fC [protected, virtual]\fP"Any events from the native window system that goes to the OpenGL canvas gets piped through this method\&. .PP It is overridden in the subclasses to catch user interaction with the render canvas in the viewers, aswell as forwarding relevant events to the scenegraph\&. .PP Reimplemented in \fBSoQtRenderArea\fP\&. .SS "QWidget * \fBSoQtGLWidget::buildWidget\fP (QWidget *parent)\fC [protected]\fP"This method builds the component contents in the given \fIparent\fP widget\&. For subclasses adding new user interface items, this method is typically overridden in the following manner: .PP .PP .nf QWidget * MyOwnViewer::buildWidget(QWidget * parent) { QWidget * superw = ::buildWidget(parent); // [then move superw within MyOwnViewer framework and add own // user interface components] } .fi .PP .PP Reimplemented in \fBSoQtRenderArea\fP, \fBSoQtFullViewer\fP, and \fBSoQtPlaneViewer\fP\&. .PP References SoQtComponent::isTopLevelShell(), and SoQtComponent::registerWidget()\&. .PP Referenced by SoQtGLWidget()\&. .SS "void \fBSoQtGLWidget::redraw\fP (void)\fC [protected, pure virtual]\fP"This method is invoked when the GL buffer needs to be redrawn\&. .PP Implemented in \fBSoQtRenderArea\fP\&. .SS "void \fBSoQtGLWidget::redrawOverlay\fP (void)\fC [protected, virtual]\fP"Renders the overlay scene graph\&. Default method is empty\&. Subclasses should override this method\&. .PP Reimplemented in \fBSoQtRenderArea\fP\&. .SS "void \fBSoQtGLWidget::initGraphic\fP (void)\fC [protected, virtual]\fP"Will be called when GL widget should initialize graphic, after the widget has been created\&. Default method enabled GL_DEPTH_TEST\&. .PP Reimplemented in \fBSoQtRenderArea\fP\&. .PP References glLockNormal(), and glUnlockNormal()\&. .SS "void \fBSoQtGLWidget::initOverlayGraphic\fP (void)\fC [protected, virtual]\fP"Will be called after the overlay widget has been created, and subclasses should override this to initialize overlay stuff\&. .PP Default method does nothing\&. .PP Reimplemented in \fBSoQtRenderArea\fP\&. .SS "void \fBSoQtGLWidget::sizeChanged\fP (const SbVec2s &size)\fC [protected, virtual]\fP"Called internally from within the \fBSoQt\fP library when the widget embedded in a component changes it size, which is usually triggered by end-user interaction\&. .PP This method is then invoked to notify the component that the size has changed\&. It is called from the top and all the way down to the bottom, the size being adjusted to take into account extra decorations having been added at each level in the component class hierarchy\&. .PP Reimplemented from \fBSoQtComponent\fP\&. .PP Reimplemented in \fBSoQtViewer\fP, \fBSoQtRenderArea\fP, and \fBSoQtFullViewer\fP\&. .SS "void \fBSoQtGLWidget::widgetChanged\fP (QWidget *w)\fC [protected, virtual]\fP"This is the method which gets called whenever we change which OpenGL widget is used\&. .PP Should be overridden in subclasses which directly or indirectly store the return value from the \fBSoQtGLWidget::getGLWidget()\fP method\&. .PP \fBSee also:\fP .RS 4 \fBsizeChanged()\fP .RE .PP .PP Reimplemented in \fBSoQtRenderArea\fP\&. .SS "void \fBSoQtGLWidget::setGLSize\fP (const SbVec2ssize)\fC [protected]\fP"Sets the size of the GL canvas\&. .PP References getGLWidget(), and isBorder()\&. .PP Referenced by SoQtRenderArea::sizeChanged()\&. .SS "SbVec2s \fBSoQtGLWidget::getGLSize\fP (void) const\fC [protected]\fP"Return the dimensions of the OpenGL canvas\&. .PP Referenced by SoQtFullViewer::openPopupMenu(), SoQtPlaneViewer::processSoEvent(), SoQtExaminerViewer::processSoEvent(), SoQtRenderArea::registerDevice(), SoQtRenderArea::setOverlaySceneManager(), SoQtRenderArea::setSceneManager(), and SoQtRenderArea::sizeChanged()\&. .SS "float \fBSoQtGLWidget::getGLAspectRatio\fP (void) const\fC [protected]\fP"Return the aspect ratio of the OpenGL canvas\&. .PP Referenced by SoQtPlaneViewer::bottomWheelMotion(), SoQtPlaneViewer::leftWheelMotion(), SoQtPlaneViewer::processSoEvent(), and SoQtExaminerViewer::processSoEvent()\&. .SS "void \fBSoQtGLWidget::setGlxSize\fP (const SbVec2ssize)\fC [inline, protected]\fP"This function has been renamed to the more appropriate setGLSize\&. .PP \fBSee also:\fP .RS 4 \fBsetGLSize\fP .RE .PP .SS "SbVec2s \fBSoQtGLWidget::getGlxSize\fP (void) const\fC [inline, protected]\fP"This function has been renamed to the more appropriate getGLSize\&. .PP \fBSee also:\fP .RS 4 \fBgetGLSize\fP .RE .PP .SS "float \fBSoQtGLWidget::getGlxAspectRatio\fP (void) const\fC [inline, protected]\fP"This function has been renamed to the more appropriate getGLAspectRatio\&. .PP \fBSee also:\fP .RS 4 \fBgetGLAspectRatio\fP .RE .PP .SS "void \fBSoQtGLWidget::setStereoBuffer\fP (SbBoolflag)\fC [protected]\fP"Sets whether OpenGL stereo buffers (quad buffer stereo) should be used\&. .PP References setQuadBufferStereo()\&. .SS "SbBool \fBSoQtGLWidget::isStereoBuffer\fP (void) const\fC [protected]\fP"Returns whether OpenGL stereo buffers are being used\&. .PP References isQuadBufferStereo()\&. .SS "SbBool \fBSoQtGLWidget::isRGBMode\fP (void)\fC [protected]\fP"Returns \fCTRUE\fP if the normal GL context is in RGBA mode\&. Return \fCFALSE\fP if color index mode is used\&. .PP Referenced by SoQtRenderArea::initGraphic(), and SoQtRenderArea::widgetChanged()\&. .SS "void \fBSoQtGLWidget::glLockNormal\fP (void)\fC [protected]\fP"This method calls make-current on the correct context and ups the lock level\&. .PP Referenced by getLineWidthLimits(), getPointSizeLimits(), initGraphic(), SoQtRenderArea::processEvent(), and SoQtRenderArea::redraw()\&. .SS "void \fBSoQtGLWidget::glUnlockNormal\fP (void)\fC [protected]\fP"This method drops the lock level\&. .PP Referenced by getLineWidthLimits(), getPointSizeLimits(), initGraphic(), SoQtRenderArea::processEvent(), and SoQtRenderArea::redraw()\&. .SS "void \fBSoQtGLWidget::glLockOverlay\fP (void)\fC [protected]\fP"This method calls make-current on the correct context and ups the lock level\&. .PP Referenced by SoQtRenderArea::redrawOverlay()\&. .SS "void \fBSoQtGLWidget::glUnlockOverlay\fP (void)\fC [protected]\fP"This method drops the lock level\&. .PP Referenced by SoQtRenderArea::redrawOverlay()\&. .SS "void \fBSoQtGLWidget::glSwapBuffers\fP (void)\fC [protected]\fP"Swap back buffer to front and vice versa\&. .PP Referenced by SoQtRenderArea::redraw()\&. .SS "void \fBSoQtGLWidget::glFlushBuffer\fP (void)\fC [protected]\fP"Flush the current GL buffer\&. Simply calls glFlush()\&. .PP References getGLWidget()\&. .PP Referenced by SoQtRenderArea::redraw(), and SoQtRenderArea::redrawOverlay()\&. .SS "SbBool \fBSoQtGLWidget::glScheduleRedraw\fP (void)\fC [protected, virtual]\fP"Will be called whenever scene graph needs to be redrawn\&. If this method return \fCFALSE\fP, \fBredraw()\fP will be called immediately\&. .PP Default method simply returns \fCFALSE\fP\&. Override this method to schedule a redraw and return \fCTRUE\fP if you're trying to do The Right Thing\&. .PP Reimplemented in \fBSoQtRenderArea\fP\&. .SH "Member Data Documentation" .PP .SS "SbBool \fBSoQtGLWidget::waitForExpose\fP\fC [protected]\fP"If this is \fCTRUE\fP, rendering should not be done yet\&. Upon the first expose event of a newly created OpenGL widget, this variable will be set to \fCFALSE\fP\&. .PP Referenced by SoQtRenderArea::redraw(), and SoQtRenderArea::redrawOverlay()\&. .SS "SbBool \fBSoQtGLWidget::drawToFrontBuffer\fP\fC [protected]\fP"If this is \fCTRUE\fP, rendering will happen in the front buffer even if the current rendering mode is double buffered\&. .PP Referenced by isDrawToFrontBufferEnable(), and setDrawToFrontBufferEnable()\&. .SH "Author" .PP Generated automatically by Doxygen for SoQt from the source code\&.