19 #ifndef EQ_WGL_WINDOW_H
20 #define EQ_WGL_WINDOW_H
22 #include <eq/client/glWindow.h>
24 #include <eq/client/wgl/types.h>
30 namespace detail {
class Window; }
56 EQ_API
virtual HDC
getWGLDC()
const = 0;
122 EQ_API
virtual HDC
getWGLDC()
const;
251 EQ_API
virtual void makeCurrent(
const bool cache =
true )
const;
258 const uint32_t barrier );
273 detail::Window*
const _impl;
276 HWND _createWGLWindow(
const PixelViewport& pvp );
279 int _chooseWGLPixelFormatARB( HDC pfDC );
282 int _chooseWGLPixelFormat( HDC pfDC );
284 void _initSwapSync();
288 #endif // EQ_WGL_WINDOW_H
virtual EQ_API void setWGLPBufferHandle(HPBUFFERARB handle)
Set the Win32 off screen pbuffer handle for this window.
EQ_API const EventHandler * getWGLEventHandler() const
The interface defining the minimum functionality for a WGL window.
virtual EQ_API HPBUFFERARB getWGLPBufferHandle() const
Equalizer default implementation of a WGL window.
virtual EQ_API HGLRC createWGLContext()
Create a WGL context.
virtual EQ_API HDC createWGLDisplayDC()
Create a device context for the display device of the window.
virtual EQ_API HGLRC getWGLContext() const
virtual EQ_API bool configInitWGLFBO(int pixelFormat)
Initialize the window for an off-screen FBO.
virtual EQ_API void joinNVSwapBarrier(const uint32_t group, const uint32_t barrier)
Join the WGL_NV_swap_group.
virtual ~WindowIF()
Destruct the WGL window.
virtual EQ_API HPBUFFERARB getWGLPBufferHandle() const =0
virtual EQ_API void setWGLContext(HGLRC context)
Set the WGL rendering context for this window.
A set of settings to setup an eq::SystemWindow.
virtual EQ_API bool configInit()
Initialize this window for the WGL window system.
Equalizer default implementation of a WGL GPU.
virtual EQ_API HGLRC getWGLContext() const =0
virtual EQ_API void initEventHandler()
Set up an WGLEventHandler, called by setWGLWindowHandle().
void leaveNVSwapBarrier()
Unbind a WGL_NV_swap_barrier.
The event handler for WGL.
virtual EQ_API void exitEventHandler()
Destroy the WGLEventHandler, called by setWGLWindowHandle().
WindowIF(NotifierInterface &parent, const WindowSettings &settings)
Construct a new WGL window for the given eq::Window.
virtual EQ_API HDC getWGLAffinityDC()
A system window for OpenGL rendering.
EQ_API Window(NotifierInterface &parent, const WindowSettings &settings, Pipe &pipe)
Create a new WGL window for the given eq::Window.
A base class for notifying errors and events.
virtual EQ_API HWND getWGLWindowHandle() const
virtual EQ_API bool processEvent(const WindowEvent &event)=0
Process the given event.
virtual EQ_API bool initWGLAffinityDC()
Create, if needed, an affinity device context for this window.
virtual EQ_API ~Window()
Destruct the WGL window.
virtual EQ_API int chooseWGLPixelFormat()
Choose a pixel format based on the window's attributes.
virtual EQ_API void destroyWGLContext(HGLRC context)
Destroy the given WGL context.
virtual EQ_API void exitWGLAffinityDC()
Destroy the affinity device context.
virtual EQ_API bool configInitWGLPBuffer(int pixelFormat)
Initialize the window with an off-screen WGL PBuffer.
virtual EQ_API void makeCurrent(const bool cache=true) const
virtual HDC getWGLAffinityDC()
virtual EQ_API void setWGLWindowHandle(HWND handle)
Set the Win32 window handle for this window.
virtual EQ_API void configExit()
A window-system event for a WindowIF.
virtual EQ_API HWND getWGLWindowHandle() const =0
virtual EQ_API bool processEvent(const WindowEvent &event)
virtual EQ_API bool configInitWGLWindow(int pixelFormat)
Initialize the window with an on-screen Win32 window.
virtual EQ_API HDC getWGLDC() const =0
virtual EQ_API bool configInitWGLDrawable(int pixelFormat)
Initialize the window's drawable (pbuffer or window) and bind the WGL context.
virtual EQ_API HDC getWGLDC() const
Includes OpenGL and GLEW headers.
virtual EQ_API void swapBuffers()
EQ_API WGLEWContext * wglewGetContext()