20 #ifndef EQ_SYSTEM_WINDOW_H 21 #define EQ_SYSTEM_WINDOW_H 24 #include <eq/windowSettings.h> 74 EQ_API
virtual void makeCurrent(
const bool cache =
true)
const = 0;
97 EQ_API
virtual void flush() = 0;
100 EQ_API
virtual void finish() = 0;
113 const uint32_t barrier) = 0;
154 EQ_API EventOCommand
sendError(
const uint32_t error);
160 EQ_API
bool processEvent(EventType type, SizeEvent& event);
163 EQ_API
bool processEvent(EventType type, PointerEvent& event);
166 EQ_API
bool processEvent(EventType type, KeyEvent& event);
194 EQ_API
virtual void resize(
const PixelViewport& pvp) = 0;
201 EQ_API uint32_t getColorFormat()
const;
204 EQ_API
void setName(
const std::string& name);
207 EQ_API
const std::string&
getName()
const;
224 #endif // EQ_SYSTEM_WINDOW_H virtual util::FrameBufferObject * getFrameBufferObject()
virtual EQ_API void updateFrameBuffer() const =0
Update the window's FBO from the multisampled FBO.
EQ_API EventOCommand sendError(const uint32_t error)
Send a window error event to the application node.
EQ_API int32_t getIAttribute(const WindowSettings::IAttribute attr) const
EQ_API const SystemWindow * getSharedContextWindow() const
EQ_API const std::string & getName() const
A C++ class to abstract OpenGL frame buffer objects.
virtual EQ_API ~SystemWindow()
Destroy the SystemWindow.
IAttribute
Window attributes.
virtual EQ_API void swapBuffers()=0
Swap the front and back buffer.
A set of settings to setup an eq::SystemWindow.
EQ_API void setName(const std::string &name)
Set the window's name.
EQ_API void setPixelViewport(const PixelViewport &pvp)
Set the window's pixel viewport wrt its parent pipe.
virtual EQ_API void joinNVSwapBarrier(const uint32_t group, const uint32_t barrier)=0
Join a NV_swap_group.
virtual EQ_API void bindDrawFrameBuffer() const =0
Bind the window's draw FBO, used for multisampling.
virtual const util::FrameBufferObject * getFrameBufferObject() const
virtual EQ_API void finish()=0
Finish execution of all commands.
EQ_API SystemWindow(NotifierInterface &parent, const WindowSettings &settings)
Create a new SystemWindow for the given eq::Window.
A base class for notifying errors and events.
EQ_API const PixelViewport & getPixelViewport() const
virtual EQ_API bool configInit()=0
Initialize this system window.
virtual EQ_API void configExit()=0
De-initialize this system window.
EQ_API bool processEvent(EventType type)
Process a stateless event.
virtual EQ_API void makeCurrent(const bool cache=true) const =0
Make the system window rendering context and drawable current.
The Equalizer client library.
virtual EQ_API void queryDrawableConfig(DrawableConfig &dc)=0
Set up the given drawable based on the current context.
The interface definition for system-specific windowing code.
virtual const GLEWContext * glewGetContext() const
Get the GLEW context for this window.
virtual EQ_API void resize(const PixelViewport &pvp)=0
Resize the underlying frame buffer to the given size.
virtual EQ_API void bindFrameBuffer() const =0
Bind the window's FBO, if it uses an FBO drawable.
virtual EQ_API void doneCurrent() const =0
This results in no context being current in the current thread.
virtual EQ_API void flush()=0
Flush all command buffers.