19 #ifndef EQ_WGL_WINDOW_H 20 #define EQ_WGL_WINDOW_H 22 #include <eq/glWindow.h> 24 #include <eq/wgl/types.h> 30 namespace detail {
class Window; }
44 EQ_API
virtual HGLRC getWGLContext()
const = 0;
47 EQ_API
virtual HWND getWGLWindowHandle()
const = 0;
50 EQ_API
virtual HPBUFFERARB getWGLPBufferHandle()
const = 0;
56 EQ_API
virtual HDC getWGLDC()
const = 0;
94 EQ_API
virtual ~Window( );
107 EQ_API
virtual void setWGLContext( HGLRC context );
119 EQ_API
virtual void setWGLWindowHandle( HWND handle );
130 EQ_API
virtual void setWGLPBufferHandle( HPBUFFERARB handle );
133 EQ_API
virtual HWND getWGLWindowHandle()
const;
136 EQ_API
virtual HPBUFFERARB getWGLPBufferHandle()
const;
142 EQ_API
virtual HDC getWGLDC()
const;
145 EQ_API
virtual HGLRC getWGLContext()
const;
164 EQ_API
virtual bool configInit();
167 EQ_API
virtual void configExit( );
175 EQ_API
virtual bool initWGLAffinityDC();
178 EQ_API
virtual void exitWGLAffinityDC();
181 EQ_API
virtual HDC getWGLAffinityDC();
192 EQ_API
virtual HDC createWGLDisplayDC();
203 EQ_API
virtual int chooseWGLPixelFormat();
215 EQ_API
virtual bool configInitWGLDrawable(
int pixelFormat );
226 EQ_API
virtual bool configInitWGLWindow(
int pixelFormat );
237 EQ_API
virtual bool configInitWGLPBuffer(
int pixelFormat );
240 EQ_API
virtual bool configInitWGLFBO(
int pixelFormat );
250 EQ_API
virtual HGLRC createWGLContext();
253 EQ_API
virtual void destroyWGLContext( HGLRC context );
259 EQ_API
virtual void initEventHandler();
265 EQ_API
virtual void exitEventHandler();
271 EQ_API
virtual void makeCurrent(
const bool cache =
true )
const;
274 EQ_API
virtual void doneCurrent()
const;
277 EQ_API
virtual void swapBuffers();
280 EQ_API
virtual void joinNVSwapBarrier(
const uint32_t group,
281 const uint32_t barrier );
285 void leaveNVSwapBarrier();
287 EQ_API
bool processEvent( EventType type, PointerEvent& event )
override;
288 EQ_API
bool processEvent( EventType type )
override;
293 EQ_API WGLEWContext* wglewGetContext();
296 detail::Window*
const _impl;
299 HWND _createWGLWindow(
const PixelViewport& pvp );
302 int _chooseWGLPixelFormatARB( HDC pfDC );
305 int _chooseWGLPixelFormat( HDC pfDC );
307 void _initSwapSync();
311 #endif // EQ_WGL_WINDOW_H The interface defining the minimum functionality for a WGL window.
Equalizer default implementation of a WGL window.
virtual ~WindowIF()
Destruct the WGL window.
A set of settings to setup an eq::SystemWindow.
virtual bool processEvent(EventType type, PointerEvent &event)
Process a mouse event.
Equalizer default implementation of a WGL GPU.
virtual bool processEvent(EventType type, ButtonEvent &event)
Process a button event.
The event handler for WGL.
virtual bool processEvent(EventType type, AxisEvent &event)
Process an axis event.
virtual bool processEvent(EventType)
Process a stateless event.
WindowIF(NotifierInterface &parent, const WindowSettings &settings)
Construct a new WGL window for the given eq::Window.
A system window for OpenGL rendering.
A base class for notifying errors and events.
EQ_API bool processEvent(EventType type)
Process a stateless event.
The Equalizer client library.
virtual HDC getWGLAffinityDC()
virtual bool processEvent(EventType type, SizeEvent &event)
Process a (re)size event.
virtual bool processEvent(EventType type, KeyEvent &event)
Process a keyboard event.
Includes OpenGL and GLEW headers.