27 #include "WGEGraphicsWindow.h"
29 #include "exceptions/WGEInitFailed.h"
32 #ifdef WGEMODE_MULTITHREADED
42 #ifdef WGEMODE_MULTITHREADED
52 throw WGEInitFailed(
"Initialization of OpenGL graphics context failed." );
56 static_cast<osgViewer::GraphicsWindow*
>(
new osgViewer::GraphicsWindowEmbedded( x, y, width, height ) ) );
70 #ifdef WGEMODE_MULTITHREADED
74 osg::ref_ptr<osg::DisplaySettings> ds = osg::DisplaySettings::instance();
75 osg::ref_ptr<osg::GraphicsContext::Traits> traits =
new osg::GraphicsContext::Traits;
78 traits->windowName =
"OpenWalnut";
81 traits->width = width;
82 traits->height = height;
83 traits->alpha = ds->getMinimumNumAlphaBits();
84 traits->stencil = ds->getMinimumNumStencilBits();
85 traits->doubleBuffer =
true;
86 traits->sharedContext = 0;
87 traits->sampleBuffers = ds->getMultiSamples();
88 traits->samples = ds->getNumMultiSamples();
101 traits->width = width;
102 traits->height = height;
122 m_GraphicsWindow->getEventQueue()->keyPress( static_cast<osgGA::GUIEventAdapter::KeySymbol>( key ) );
125 m_GraphicsWindow->getEventQueue()->keyRelease( static_cast<osgGA::GUIEventAdapter::KeySymbol>( key ) );
140 case MOUSEDOUBLECLICK:
osg::ref_ptr< osgViewer::GraphicsWindow > m_GraphicsWindow
OpenSceneGraph render window.
KeyEvents
Event types for the keyEvent() handler.
virtual bool isClosed() const
Check if the windows is open.
virtual ~WGEGraphicsWindow()
Destructor.
virtual void close()
Initiates a close event for this viewer.
osg::ref_ptr< osg::GraphicsContext > m_GraphicsContext
OpenSceneGraph render context.
virtual void mouseEvent(MouseEvents eventType, int x, int y, int button)
Handles mouse events forwarded from widget.
MouseEvents
Mouse event types for the mouseEvent() handler.
WGEGraphicsWindow(osg::ref_ptr< osg::Referenced > wdata, int x, int y, int width, int height)
Default constructor.
virtual void keyEvent(KeyEvents eventType, int key)
Handles key events (if forwarded to this Viewer instance).
Exception thrown if initialization of the graphics engine fails.
virtual void setClosed(bool closed=true)
Set closed state.
osg::ref_ptr< osg::Referenced > m_WindowData
Widget window data.
virtual void resize(int width, int height)
Updates size information.
bool m_closed
Mark the window opened or closed.
osg::ref_ptr< osgViewer::GraphicsWindow > getGraphicsWindow()
Getter for m_GraphicsWindow.
void createContext(int x, int y, int width, int height)
Creates a new OpenGL context in the calling thread.