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 );
159 EQ_API
bool processEvent( EventType type, SizeEvent& event );
162 EQ_API
bool processEvent( EventType type, PointerEvent& event );
165 EQ_API
bool processEvent( EventType type, KeyEvent& event );
168 EQ_API
bool processEvent( EventType type, AxisEvent& event );
171 EQ_API
bool processEvent( EventType type, ButtonEvent& event );
192 EQ_API uint32_t getColorFormat()
const;
195 EQ_API
void setName(
const std::string& name );
198 EQ_API
const std::string&
getName()
const;
216 #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 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.