98 void setBorder(
const SbBool enable);
99 SbBool isBorder(
void)
const;
101 virtual void setDoubleBuffer(
const SbBool enable);
102 SbBool isDoubleBuffer(
void)
const;
104 void setDrawToFrontBufferEnable(
const SbBool enable);
105 SbBool isDrawToFrontBufferEnable(
void)
const;
107 void setQuadBufferStereo(
const SbBool enable);
108 SbBool isQuadBufferStereo(
void)
const;
110 void setAccumulationBuffer(
const SbBool enable);
111 SbBool getAccumulationBuffer(
void)
const;
113 void setStencilBuffer(
const SbBool enable);
114 SbBool getStencilBuffer(
void)
const;
116 void setAlphaChannel(
const SbBool enable);
117 SbBool getAlphaChannel(
void)
const;
119 void setOverlayRender(
const SbBool onoff);
120 SbBool isOverlayRender(
void)
const;
122 void setSampleBuffers(
const int numsamples);
123 int getSampleBuffers(
void)
const;
125 void setStealFocus(SbBool enable);
126 SbBool isStealFocus(
void)
const;
128 HWND getGLWidget(
void)
const;
129 HWND getNormalWidget(
void)
const;
130 HWND getOverlayWidget(
void)
const;
132 SbBool hasOverlayGLArea(
void)
const;
133 SbBool hasNormalGLArea(
void)
const;
135 unsigned long getOverlayTransparentPixel(
void);
138 void getPointSizeLimits(SbVec2f & range,
float & granularity);
139 void getLineWidthLimits(SbVec2f & range,
float & granularity);
143 const char *
const name = NULL,
144 const SbBool embed = TRUE,
145 const int glmodes = SO_GL_RGB,
146 const SbBool build = TRUE);
149 virtual void processEvent(MSG* event);
151 HWND buildWidget(HWND parent);
153 virtual void redraw(
void) = 0;
154 virtual void redrawOverlay(
void);
156 virtual void initGraphic(
void);
157 virtual void initOverlayGraphic(
void);
160 virtual void widgetChanged(HWND w);
162 void setGLSize(
const SbVec2s size);
163 SbVec2s getGLSize(
void)
const;
164 float getGLAspectRatio(
void)
const;
167 void setGlxSize(
const SbVec2s size) { this->setGLSize(size); }
171 void setStereoBuffer(SbBool flag);
172 SbBool isStereoBuffer(
void)
const;
174 SbBool isRGBMode(
void);
179 void glLockNormal(
void);
180 void glUnlockNormal(
void);
182 void glLockOverlay(
void);
183 void glUnlockOverlay(
void);
185 void glSwapBuffers(
void);
186 void glFlushBuffer(
void);
188 virtual SbBool glScheduleRedraw(
void);
191 class SoWinGLWidgetP * pimpl;
192 friend class SoGuiGLWidgetP;
193 friend class SoWinGLWidgetP;
199 GLXContext getNormalContext(
void);
200 GLXContext getOverlayContext(
void);
202 Window getNormalWindow(
void);
203 Window getOverlayWindow(
void);
205 int getOverlayColorMapSize(
void);
206 int getColorMapSize(
void);
208 virtual void setNormalVisual(XVisualInfo * visual);
209 XVisualInfo * getNormalVisual(
void);
210 virtual void setOverlayVisual(XVisualInfo * visual);
211 XVisualInfo * getOverlayVisual(
void);
214 static void eventHandler(Widget, SoXtGLWidget *, XAnyEvent *, Boolean *);
216 int getDisplayListShareGroup(GLXContext context);
217 Widget getGlxMgrWidget(
void);
222 virtual SbBool eventFilter(GtkWidget *
object, GdkEvent * event);