Equalizer 1.0
|
The interface definition for system-specific windowing code. More...
#include <systemWindow.h>
Public Member Functions | |
SystemWindow (Window *parent) | |
Create a new SystemWindow for the given eq::Window. | |
virtual | ~SystemWindow () |
Destroy the SystemWindow. | |
virtual void | queryDrawableConfig (DrawableConfig &dc)=0 |
Set up the given drawable based on the current context. | |
virtual const GLEWContext * | glewGetContext () const |
Get the GLEW context for this window. | |
void | setError (const int32_t error) |
Set an error code why the last operation failed. | |
co::base::Error | getError () const |
virtual bool | processEvent (const Event &event) |
Process an event. | |
Methods forwarded from eq::Window | |
virtual bool | configInit ()=0 |
Initialize this system window. | |
virtual void | configExit ()=0 |
De-initialize this system window. | |
virtual void | makeCurrent () const =0 |
Make the system window rendering context and drawable current. | |
virtual void | bindFrameBuffer () const =0 |
Bind the window's FBO, if it uses an FBO drawable. | |
virtual void | swapBuffers ()=0 |
Swap the front and back buffer. | |
virtual void | joinNVSwapBarrier (const uint32_t group, const uint32_t barrier)=0 |
Join a NV_swap_group. | |
Frame Buffer Object support. | |
bool | configInitFBO () |
Build and initialize the FBO. | |
void | configExitFBO () |
Destroy FBO. | |
virtual const util::FrameBufferObject * | getFrameBufferObject () const |
Convenience interface to eq::Window methods | |
Window * | getWindow () |
const Window * | getWindow () const |
Pipe * | getPipe () |
const Pipe * | getPipe () const |
Node * | getNode () |
const Node * | getNode () const |
Config * | getConfig () |
const Config * | getConfig () const |
int32_t | getIAttribute (const Window::IAttribute attr) const |
The interface definition for system-specific windowing code.
The system window abstracts all window system specific code and facilitates porting to new windowing systems. Each eq::Window uses one eq::SystemWindow, which is created and initialized in Window::configInitSystemWindow.
Definition at line 40 of file systemWindow.h.
eq::SystemWindow::SystemWindow | ( | Window * | parent | ) |
Create a new SystemWindow for the given eq::Window.
virtual eq::SystemWindow::~SystemWindow | ( | ) | [virtual] |
Destroy the SystemWindow.
virtual void eq::SystemWindow::bindFrameBuffer | ( | ) | const [pure virtual] |
virtual void eq::SystemWindow::configExit | ( | ) | [pure virtual] |
De-initialize this system window.
This function might be called on partially or uninitialized system windows, and the implemenation has therefore be tolerant enough to handle this case.
Implemented in eq::AGLWindow, eq::GLXWindow, and eq::WGLWindow.
void eq::SystemWindow::configExitFBO | ( | ) |
virtual bool eq::SystemWindow::configInit | ( | ) | [pure virtual] |
Initialize this system window.
This method should take into account all attributes of the parent Window.
Implemented in eq::AGLWindow, eq::GLXWindow, and eq::WGLWindow.
bool eq::SystemWindow::configInitFBO | ( | ) |
Config* eq::SystemWindow::getConfig | ( | ) |
const Config* eq::SystemWindow::getConfig | ( | ) | const |
co::base::Error eq::SystemWindow::getError | ( | ) | const |
virtual const util::FrameBufferObject* eq::SystemWindow::getFrameBufferObject | ( | ) | const [inline, virtual] |
Reimplemented in eq::GLWindow.
Definition at line 112 of file systemWindow.h.
int32_t eq::SystemWindow::getIAttribute | ( | const Window::IAttribute | attr | ) | const |
Node* eq::SystemWindow::getNode | ( | ) |
const Node* eq::SystemWindow::getNode | ( | ) | const |
const Pipe* eq::SystemWindow::getPipe | ( | ) | const |
Pipe* eq::SystemWindow::getPipe | ( | ) |
const Window* eq::SystemWindow::getWindow | ( | ) | const [inline] |
Window* eq::SystemWindow::getWindow | ( | ) | [inline] |
virtual const GLEWContext* eq::SystemWindow::glewGetContext | ( | ) | const [inline, virtual] |
Get the GLEW context for this window.
The glew context is initialized during window initialization, and provides access to OpenGL extensions. This function does not follow the Equalizer naming conventions, since GLEW uses a function of this name to automatically resolve OpenGL function entry points. Therefore, any supported GL function can be called directly from an initialized SystemWindow.
Reimplemented in eq::GLWindow.
Definition at line 166 of file systemWindow.h.
virtual void eq::SystemWindow::joinNVSwapBarrier | ( | const uint32_t | group, |
const uint32_t | barrier | ||
) | [pure virtual] |
Join a NV_swap_group.
See WGL or GLX implementation and OpenGL extension for details on how to implement this function.
group | the swap group name. |
barrier | the swap barrier name. |
Implemented in eq::AGLWindow, eq::GLXWindow, and eq::WGLWindow.
virtual void eq::SystemWindow::makeCurrent | ( | ) | const [pure virtual] |
Make the system window rendering context and drawable current.
This function invalidates the pipe's make current cache. If this function is not called, Pipe::setCurrent() has to be called appropriately.
Implemented in eq::AGLWindow, eq::GLWindow, eq::GLXWindow, and eq::WGLWindow.
virtual bool eq::SystemWindow::processEvent | ( | const Event & | event | ) | [virtual] |
Process an event.
virtual void eq::SystemWindow::queryDrawableConfig | ( | DrawableConfig & | dc | ) | [pure virtual] |
void eq::SystemWindow::setError | ( | const int32_t | error | ) |
Set an error code why the last operation failed.
The error will be set on the parent window.
error | the error message. |
virtual void eq::SystemWindow::swapBuffers | ( | ) | [pure virtual] |
Swap the front and back buffer.
Implemented in eq::AGLWindow, eq::GLXWindow, and eq::WGLWindow.