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;
153 EQ_API EventOCommand
sendError(
const uint32_t error );
177 EQ_API uint32_t getColorFormat()
const;
180 EQ_API
void setName(
const std::string& name );
183 EQ_API
const std::string&
getName()
const;
201 #endif // EQ_SYSTEM_WINDOW_H
virtual util::FrameBufferObject * getFrameBufferObject()
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 updateFrameBuffer() const =0
Update the window's FBO from the multisampled FBO.
virtual EQ_API bool processEvent(const Event &event)
Process an event.
virtual EQ_API void swapBuffers()=0
Swap the front and back buffer.
A set of settings to setup an eq::SystemWindow.
virtual EQ_API void doneCurrent() const =0
This results in no context being current in the current thread.
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 const util::FrameBufferObject * getFrameBufferObject() const
virtual EQ_API void bindFrameBuffer() const =0
Bind the window's FBO, if it uses an FBO drawable.
virtual EQ_API void bindDrawFrameBuffer() const =0
Bind the window's draw FBO, used for multisampling.
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.
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 makeCurrent(const bool cache=true) const =0
Make the system window rendering context and drawable current.
virtual EQ_API void flush()=0
Flush all command buffers.