eq::OSWindow Class Reference

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

#include <osWindow.h>

Inheritance diagram for eq::OSWindow:

Inheritance graph
[legend]
Collaboration diagram for eq::OSWindow:

Collaboration graph
[legend]

List of all members.

Public Member Functions

 OSWindow (Window *parent)
void initGLEW ()
 Initialize the GLEW context for this window.
void exitGLEW ()
 De-initialize the GLEW context.
GLEWContext * glewGetContext ()
 Get the GLEW context for this window.
const GLEWContext * glewGetContext () const
Methods forwarded from eq::Window
virtual bool configInit ()=0
 Initialize this OS window.
virtual void configExit ()=0
 De-initialize this OS window.
virtual void makeCurrent () const
 Make the OS window's rendering context and drawable current.
virtual void bindFrameBuffer () const
 Bind the window's FBO, if it uses an FBO drawable.
virtual void swapBuffers ()=0
 Swap the front and back buffer, for doublebuffered drawables.
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.
const FrameBufferObjectgetFBO () 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
WGLEWContext * wglewGetContext ()

Protected Attributes

Window *const _window
 The parent eq::Window.


Detailed Description

The interface definition for OS-specific windowing code.

The OSWindow abstracts all window system specific code and facilitates porting to new windowing systems. Each Windows uses one OSWindow, which is initialized in Window::configInitOSWindow.

Definition at line 37 of file osWindow.h.


Member Function Documentation

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

Initialize this OS 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.

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

Referenced by eq::Window::configInitOSWindow().

Here is the caller graph for this function:

virtual void eq::OSWindow::configExit (  )  [pure virtual]

De-initialize this OS window.

This function might be called on partially or uninitialized OS windows, and has therefore be tolerant enough to handle this.

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

Referenced by eq::Window::configExitOSWindow().

Here is the caller graph for this function:

void eq::OSWindow::makeCurrent (  )  const [virtual]

Make the OS window's 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.

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

Definition at line 146 of file osWindow.cpp.

References _window, bindFrameBuffer(), and eq::Pipe::setCurrent().

Referenced by eq::Window::makeCurrent().

Here is the call graph for this function:

Here is the caller graph for this function:

void eq::OSWindow::bindFrameBuffer (  )  const [virtual]

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

Definition at line 152 of file osWindow.cpp.

References eq::FrameBufferObject::bind().

Referenced by eq::Window::bindFrameBuffer(), and makeCurrent().

Here is the call graph for this function:

Here is the caller graph for this function:

virtual void eq::OSWindow::swapBuffers (  )  [pure virtual]

Swap the front and back buffer, for doublebuffered drawables.

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

Referenced by eq::Window::swapBuffers().

Here is the caller graph for this function:

virtual void eq::OSWindow::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:
group the swap group name.
barrier the swap barrier name.

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

bool eq::OSWindow::configInitFBO (  ) 

void eq::OSWindow::configExitFBO (  ) 

Destroy FBO.

Definition at line 137 of file osWindow.cpp.

References eq::FrameBufferObject::exit().

Referenced by eq::WGLWindow::configExit(), eq::GLXWindow::configExit(), and eq::AGLWindow::configExit().

Here is the call graph for this function:

Here is the caller graph for this function:

const FrameBufferObject* eq::OSWindow::getFBO (  )  const [inline]

Returns:
the FBO of this window, or 0 if no FBO is used.

Definition at line 101 of file osWindow.h.

Referenced by eq::Window::isFBOWindow().

Here is the caller graph for this function:

WGLEWContext * eq::OSWindow::wglewGetContext (  ) 

Returns:
the generic WGL function table for the window's pipe.

Definition at line 85 of file osWindow.cpp.

References _window, and eq::Window::wglewGetContext().

Here is the call graph for this function:

void eq::OSWindow::initGLEW (  ) 

Initialize the GLEW context for this window.

Definition at line 91 of file osWindow.cpp.

References _window, and eq::Window::setErrorMessage().

Referenced by eq::WGLWindow::configInit(), eq::GLXWindow::configInit(), eq::AGLWindow::configInit(), and eq::Window::setOSWindow().

Here is the call graph for this function:

Here is the caller graph for this function:

void eq::OSWindow::exitGLEW (  )  [inline]

De-initialize the GLEW context.

Definition at line 128 of file osWindow.h.

Referenced by eq::WGLWindow::configExit(), eq::GLXWindow::configExit(), eq::AGLWindow::configExit(), and eq::Window::setOSWindow().

Here is the caller graph for this function:

GLEWContext* eq::OSWindow::glewGetContext (  )  [inline]

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 OSWindow.

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

Definition at line 143 of file osWindow.h.

Referenced by eq::Window::glewGetContext().

Here is the caller graph for this function:


Member Data Documentation

Window* const eq::OSWindow::_window [protected]


The documentation for this class was generated from the following files:
Generated on Mon Aug 10 18:58:43 2009 for Equalizer 0.9 by  doxygen 1.5.8