27 #include "WGEGraphicsWindow.h"
29 #include "exceptions/WGEInitFailed.h"
32 #ifdef WGEMODE_MULTITHREADED
41 #ifdef WGEMODE_MULTITHREADED
46 createContext( x, y, width, height );
51 throw WGEInitFailed(
"Initialization of OpenGL graphics context failed." );
55 static_cast<osgViewer::GraphicsWindow*
>(
new osgViewer::GraphicsWindowEmbedded( x, y, width, height ) ) );
69 #ifdef WGEMODE_MULTITHREADED
70 void WGEGraphicsWindow::createContext(
int x,
int y,
int width,
int height )
73 osg::ref_ptr<osg::DisplaySettings> ds = osg::DisplaySettings::instance();
74 osg::ref_ptr<osg::GraphicsContext::Traits> traits =
new osg::GraphicsContext::Traits;
77 traits->readDISPLAY();
78 if( traits->displayNum < 0 )
80 traits->displayNum = 0;
84 traits->windowName =
"OpenWalnut";
85 traits->screenNum = 0;
88 traits->width = width;
89 traits->height = height;
90 traits->alpha = ds->getMinimumNumAlphaBits();
91 traits->stencil = ds->getMinimumNumStencilBits();
93 traits->doubleBuffer =
true;
94 traits->sharedContext = 0;
95 traits->sampleBuffers = ds->getMultiSamples();
96 traits->samples = ds->getNumMultiSamples();
97 traits->inheritedWindowData = m_WindowData;
100 m_GraphicsContext = osg::GraphicsContext::createGraphicsContext( traits.get() );
103 static_cast<osgViewer::GraphicsWindow*
>( m_GraphicsContext.get() ) );
108 traits->width = width;
109 traits->height = height;
129 m_GraphicsWindow->getEventQueue()->keyPress( static_cast<osgGA::GUIEventAdapter::KeySymbol>( key ) );
132 m_GraphicsWindow->getEventQueue()->keyRelease( static_cast<osgGA::GUIEventAdapter::KeySymbol>( key ) );
147 case MOUSEDOUBLECLICK: