19 #ifndef EQ_AGL_WINDOW_H 20 #define EQ_AGL_WINDOW_H 26 #pragma clang diagnostic ignored "-Wdeprecated-declarations" 28 #include <eq/agl/types.h> 29 #include <eq/glWindow.h> 41 class WindowIF :
public GLWindow
45 WindowIF(NotifierInterface& parent,
const WindowSettings& settings)
46 : GLWindow(parent, settings)
51 virtual ~WindowIF() {}
53 virtual AGLContext getAGLContext()
const = 0;
56 virtual WindowRef getCarbonWindow()
const = 0;
62 virtual bool isThreaded()
const {
return false; }
64 virtual bool processEvent(EventType type, EventRef)
70 virtual bool processEvent(EventType type, EventRef, SizeEvent& event)
76 virtual bool processEvent(EventType type, EventRef, PointerEvent& event)
82 virtual bool processEvent(EventType type, EventRef, KeyEvent& event)
89 class Window :
public WindowIF
100 EQ_API Window(NotifierInterface& parent,
const WindowSettings& settings,
101 const CGDirectDisplayID displayID,
const bool threaded);
104 EQ_API
virtual ~Window();
117 EQ_API
virtual void setAGLContext(AGLContext context);
125 EQ_API
virtual void setCarbonWindow(WindowRef window);
128 EQ_API AGLContext getAGLContext()
const override;
131 EQ_API WindowRef getCarbonWindow()
const override;
137 EQ_API
bool isThreaded()
const override;
140 CGDirectDisplayID getCGDisplayID()
const;
156 EQ_API
bool configInit()
override;
159 EQ_API
void configExit()
override;
173 EQ_API
virtual AGLPixelFormat chooseAGLPixelFormat();
184 EQ_API
virtual void destroyAGLPixelFormat(AGLPixelFormat format);
198 EQ_API
virtual AGLContext createAGLContext(AGLPixelFormat format);
209 EQ_API
virtual bool configInitAGLDrawable();
222 EQ_API
virtual bool configInitAGLFullscreen();
235 EQ_API
virtual bool configInitAGLWindow();
241 EQ_API
virtual void initEventHandler();
247 EQ_API
virtual void exitEventHandler();
253 EQ_API
void makeCurrent(
const bool cache =
true)
const override;
256 EQ_API
void doneCurrent()
const override;
259 EQ_API
void swapBuffers()
override;
262 EQ_API
void joinNVSwapBarrier(
const uint32_t group,
263 const uint32_t barrier)
override;
265 EQ_API
bool processEvent(EventType type, EventRef eventRef,
266 SizeEvent& event)
override;
270 detail::Window*
const _impl;
272 void _initSwapSync(AGLContext context);
273 void _resize(
const PixelViewport& pvp)
override;
278 #endif // EQ_AGL_WINDOW_H Includes compile-time defines of Equalizer.
Includes operating system headers for OpenGL and the used window system(s) correctly.
EQ_API bool processEvent(EventType type)
Process a stateless event.
The Equalizer client library.