Equalizer 1.0

eq::SystemWindow Class Reference

The interface definition for system-specific windowing code. More...

#include <systemWindow.h>

Inheritance diagram for eq::SystemWindow:
Collaboration diagram for eq::SystemWindow:

List of all members.

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
WindowgetWindow ()
const WindowgetWindow () const
PipegetPipe ()
const PipegetPipe () const
NodegetNode ()
const NodegetNode () const
ConfiggetConfig ()
const ConfiggetConfig () const
int32_t getIAttribute (const Window::IAttribute attr) const

Detailed Description

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.


Constructor & Destructor Documentation

eq::SystemWindow::SystemWindow ( Window parent)

Create a new SystemWindow for the given eq::Window.

Version:
1.0
virtual eq::SystemWindow::~SystemWindow ( ) [virtual]

Destroy the SystemWindow.

Version:
1.0

Member Function Documentation

virtual void eq::SystemWindow::bindFrameBuffer ( ) const [pure virtual]

Bind the window's FBO, if it uses an FBO drawable.

Version:
1.0

Implemented in eq::GLWindow.

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.

Version:
1.0

Implemented in eq::AGLWindow, eq::GLXWindow, and eq::WGLWindow.

void eq::SystemWindow::configExitFBO ( )

Destroy FBO.

Version:
1.0

Reimplemented in eq::GLWindow.

virtual bool eq::SystemWindow::configInit ( ) [pure virtual]

Initialize this system window.

This method should take into account all attributes of the parent Window.

Returns:
true if the window was correctly initialized, false on any error.
Version:
1.0

Implemented in eq::AGLWindow, eq::GLXWindow, and eq::WGLWindow.

bool eq::SystemWindow::configInitFBO ( )

Build and initialize the FBO.

Version:
1.0

Reimplemented in eq::GLWindow.

Config* eq::SystemWindow::getConfig ( )
Returns:
the parent config.
Version:
1.0
const Config* eq::SystemWindow::getConfig ( ) const
Returns:
the parent config.
Version:
1.0
co::base::Error eq::SystemWindow::getError ( ) const
Returns:
the error from the last failed operation.
Version:
1.0
virtual const util::FrameBufferObject* eq::SystemWindow::getFrameBufferObject ( ) const [inline, virtual]
Returns:
the FBO of this window, or 0.
Version:
1.0

Reimplemented in eq::GLWindow.

Definition at line 112 of file systemWindow.h.

int32_t eq::SystemWindow::getIAttribute ( const Window::IAttribute  attr) const
Returns:
an integer attribute of the parent window.
Version:
1.0
Node* eq::SystemWindow::getNode ( )
Returns:
the parent node.
Version:
1.0
const Node* eq::SystemWindow::getNode ( ) const
Returns:
the parent node.
Version:
1.0
const Pipe* eq::SystemWindow::getPipe ( ) const
Returns:
the parent pipe.
Version:
1.0
Pipe* eq::SystemWindow::getPipe ( )
Returns:
the parent pipe.
Version:
1.0
const Window* eq::SystemWindow::getWindow ( ) const [inline]
Returns:
the parent window.
Version:
1.0

Definition at line 122 of file systemWindow.h.

Window* eq::SystemWindow::getWindow ( ) [inline]
Returns:
the parent window.
Version:
1.0

Definition at line 119 of file systemWindow.h.

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.

Returns:
the extended OpenGL function table for the window's OpenGL context.
Version:
1.0

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.

Parameters:
groupthe swap group name.
barrierthe swap barrier name.
Version:
1.0

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.

Version:
1.0

Implemented in eq::AGLWindow, eq::GLWindow, eq::GLXWindow, and eq::WGLWindow.

virtual bool eq::SystemWindow::processEvent ( const Event event) [virtual]

Process an event.

Version:
1.0
virtual void eq::SystemWindow::queryDrawableConfig ( DrawableConfig dc) [pure virtual]

Set up the given drawable based on the current context.

Version:
1.0

Implemented in eq::GLWindow.

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.

Parameters:
errorthe error message.
Version:
1.0
virtual void eq::SystemWindow::swapBuffers ( ) [pure virtual]

Swap the front and back buffer.

Version:
1.0

Implemented in eq::AGLWindow, eq::GLXWindow, and eq::WGLWindow.


The documentation for this class was generated from the following file:
Generated on Sun May 8 2011 19:11:10 for Equalizer 1.0 by  doxygen 1.7.3