26#ifndef _SO_WIN_GL_WIDGET_H_
27#define _SO_WIN_GL_WIDGET_H_
30#include <Inventor/Win/SoWinBeginStrict.h>
32#include <Inventor/Win/SoWinComponent.h>
33#include <Inventor/components/SoGLGraphicConfigTemplate.h>
34#include <Inventor/components/SoGLGraphicDevice.h>
35#include <Inventor/components/SoGLGraphicConfig.h>
37#include <Inventor/devices/SoGLContext.h>
39#include <Inventor/nodes/SoFullSceneAntialiasing.h>
41#include <Inventor/Gui/SoGuiGLWidget.h>
45#pragma warning(disable:4251)
123#ifndef HIDDEN_FROM_DOC
125 Hdc copyWindowBits() ;
352 void syncFromCurrentConfig();
354 void syncToCurrentConfigTemplate( PIXELFORMATDESCRIPTOR* newPFD );
356 SbBool currentGraphicConfigTemplateIsUsed;
370 SbBool m_isFloatingPointRendering;
375 static SbBool swapNormalBuffersCB(
void *data);
376 static SbBool bindNormalCurrentCB(
void *data);
377 static SbBool unbindNormalCurrentCB(
void *data);
378 static void* getNormalWindowCB(
void *data);
388 void updateCurrentDeviceAndConfig( HDC hdc );
390 SbBool currentGraphicConfigIsUsed;
392 SbBool currentGraphicDeviceIsUsed;
400 const char* name = NULL,
401 SbBool buildInsideParent = TRUE,
402 int glModes = SO_GLX_RGB,
417 virtual void redraw() = 0;
418 virtual void processEvent( XAnyEvent* anyevent );
425 virtual void initGraphic();
426 virtual void sizeChanged(
const SbVec2s& newSize );
427 virtual void widgetChanged( SoWidget newWidget );
433 void setGlxSize(
SbVec2s newSize );
434 const SbVec2s& getGlxSize()
const {
return m_guiGLWidget->getGlxSize(); }
443 void setStereoBuffer(
SbBool flag );
444 SbBool isStereoBuffer()
const;
453 Colormap getColorMap()
const
454 {
return m_guiGLWidget->getColorMap(); }
461 SoWidget buildWidget( SoWidget parent );
462 SoWidget getGlxMgrWidget() {
return mgrWidget; }
468 void changeCursor( Cursor newCursor );
471 DWORD getThreadId() {
return dwThreadId; };
472 void setThreadId( DWORD
id ) { dwThreadId=id; };
476 virtual void onExpose();
478 void destroyNormalWindows(
SbBool normalCall=TRUE);
482 void constructorCommon(
int glModes,
SbBool buildNow, SoWidget parent );
484 static SbBool onGLFormatChangeCallback(
SoGLFormat& format,
void* userData );
488 void destroyWindow( HWND handle );
490 void initGLXWidget( SoWidget glx,
SoGLFormat* format );
494 SoWidget m_widgetNormal;
544 HCURSOR currentCursor;
547 static HCURSOR defaultCursor;
559 bool m_isMouseTracking;
563 void buildNormalGLXWidget(
SoGLFormat* format = NULL );
573 static LRESULT CALLBACK mgrWindowProc( Hwnd hwnd, UINT message,
574 WPARAM wParam, LPARAM lParam );
577 static LRESULT CALLBACK glxWindowProc( Hwnd hwnd, UINT message,
578 WPARAM wParam, LPARAM lParam );
586#include <Inventor/Win/SoWinEndStrict.h>
Class for smart character strings.
<a href="IconLegend.html"><img src="extTGS.gif" alt="VSG extension" border="0"></a> Antialiasing par...
<a href="IconLegend.html"><img src="extTGS.gif" alt="VSG extension" border="0"></a> OpenGL context m...
const SbGlContextHelper::GLContext & getGLContext() const
Returns the OpenGL rendering context of this SoGLContext.
<a href="IconLegend.html"><img src="extTGS.gif" alt="VSG extension" border="0"></a> Defines an OpenG...
<a href="IconLegend.html"><img src="extTGS.gif" alt="VSG extension" border="0"></a> Defines an OpenG...
<a href="IconLegend.html"><img src="extTGS.gif" alt="VSG extension" border="0"></a> Represents an Op...
Smart pointer for any class inheriting SoRefCounter.
T * ptr() const
Cast to C pointer.
AntialiasingMode
Enum which indicates the desired antialiasing algorithm.
@ AUTO
This is the default mode for antialiasing.
<a href="IconLegend.html"><img src="extTGS.gif" alt="VSG extension" border="0"></a> Abstract base cl...