20 #ifndef EQ_GLX_WINDOW_H 21 #define EQ_GLX_WINDOW_H 23 #include <eq/glWindow.h> 24 #include <eq/glx/types.h> 45 virtual GLXContext getGLXContext()
const = 0;
48 virtual XID getXDrawable()
const = 0;
51 virtual Display* getXDisplay() = 0;
54 virtual bool processEvent(EventType type,
const XEvent&, SizeEvent& event)
67 virtual bool processEvent(EventType type,
const XEvent&, KeyEvent& event)
87 if (type == EVENT_UNKNOWN)
102 Display* xDisplay,
const GLXEWContext* glxewContext,
120 bool configInit()
override;
123 void configExit()
override;
133 virtual GLXFBConfig* chooseGLXFBConfig();
144 virtual GLXContext createGLXContext(GLXFBConfig* fbConfig);
155 virtual bool configInitGLXDrawable(GLXFBConfig* fbConfig);
166 virtual bool configInitGLXWindow(GLXFBConfig* fbConfig);
172 virtual void initEventHandler();
178 virtual void exitEventHandler();
184 GLXContext getGLXContext()
const override;
187 XID getXDrawable()
const override;
190 Display* getXDisplay()
override;
193 const GLXEWContext* glxewGetContext()
const;
204 virtual void setXDrawable(XID drawable);
216 virtual void setGLXContext(GLXContext context);
222 void makeCurrent(
const bool cache =
true)
const override;
225 void doneCurrent()
const override;
228 void swapBuffers()
override;
231 void joinNVSwapBarrier(
const uint32_t group,
232 const uint32_t barrier)
override;
235 void leaveNVSwapBarrier();
237 bool processEvent(EventType type,
const XEvent& xEvent,
238 PointerEvent& event)
override;
242 detail::Window*
const _impl;
245 XID _createGLXWindow(GLXFBConfig* fbConfig,
const PixelViewport& pvp);
248 void _initSwapSync();
250 void _resize(
const PixelViewport& pvp)
override;
254 #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.
virtual bool processEvent(EventType type, const XEvent &)
Process a stateless event.
A set of settings to setup an eq::SystemWindow.
virtual bool processEvent(const XEvent &, AxisEvent &event)
Process an axis event.
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 &, PointerEvent &event)
Process a mouse event.
The interface defining the minimum functionality for a glX window.
virtual bool processEvent(const XEvent &, ButtonEvent &event)
Process a button event.