20 #ifndef EQ_GLX_WINDOW_H 21 #define EQ_GLX_WINDOW_H 23 #include <eq/glx/types.h> 24 #include <eq/glWindow.h> 30 namespace detail {
class Window; }
41 virtual GLXContext getGLXContext()
const = 0;
44 virtual XID getXDrawable()
const = 0;
47 virtual Display* getXDisplay() = 0;
60 virtual bool processEvent( EventType type,
const XEvent&, KeyEvent& event )
74 virtual bool processEvent( EventType,
const XEvent& ) {
return false; }
87 Display* xDisplay,
const GLXEWContext* glxewContext,
105 bool configInit()
override;
108 void configExit()
override;
118 virtual GLXFBConfig* chooseGLXFBConfig();
129 virtual GLXContext createGLXContext( GLXFBConfig* fbConfig );
141 virtual bool configInitGLXDrawable( GLXFBConfig* fbConfig );
152 virtual bool configInitGLXWindow( GLXFBConfig* fbConfig );
163 virtual bool configInitGLXPBuffer( GLXFBConfig* fbConfig );
169 EQ_API
virtual void initEventHandler();
175 EQ_API
virtual void exitEventHandler();
181 EQ_API GLXContext getGLXContext()
const override;
184 EQ_API XID getXDrawable()
const override;
187 EQ_API Display* getXDisplay()
override;
190 EQ_API
const GLXEWContext* glxewGetContext()
const;
201 virtual void setXDrawable( XID drawable );
213 virtual void setGLXContext( GLXContext context );
219 void makeCurrent(
const bool cache =
true )
const override;
222 void doneCurrent()
const override;
225 void swapBuffers()
override;
228 void joinNVSwapBarrier(
const uint32_t group,
229 const uint32_t barrier )
override;
232 void leaveNVSwapBarrier();
234 EQ_API
bool processEvent( EventType type,
const XEvent& xEvent,
235 PointerEvent& event )
override;
239 detail::Window*
const _impl;
242 XID _createGLXWindow( GLXFBConfig* fbConfig,
const PixelViewport& pvp );
245 void _initSwapSync();
249 #endif // EQ_GLX_WINDOW_H Equalizer default implementation of a glX window.
A message pump receiving and dispatching X11 events.
virtual bool processEvent(EventType type, const XEvent &, KeyEvent &event)
Process a keyboard event.
A set of settings to setup an eq::SystemWindow.
virtual bool processEvent(EventType type, const XEvent &, SizeEvent &event)
Process a (re)size event.
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 bool processEvent(EventType type, const XEvent &, ButtonEvent &event)
Process a button event.
virtual bool processEvent(EventType type, const XEvent &, PointerEvent &event)
Process a mouse event.
The interface defining the minimum functionality for a glX window.
virtual bool processEvent(EventType, const XEvent &)
Process a stateless event.
virtual bool processEvent(EventType type, const XEvent &, AxisEvent &event)
Process an axis event.