Equalizer  1.6.1
Public Member Functions | List of all members
eq::agl::Window Class Reference

Equalizer default implementation of an AGL window interface. More...

#include <window.h>

+ Inheritance diagram for eq::agl::Window:
+ Collaboration diagram for eq::agl::Window:

Public Member Functions

 Window (eq::Window *parent, CGDirectDisplayID displayID=0)
 Create a new AGL window for the given eq::Window. More...
 
virtual ~Window ()
 Destruct the AGL window. More...
 
Data Access
virtual void setAGLContext (AGLContext context)
 Set the AGL rendering context for this window. More...
 
virtual void setCarbonWindow (WindowRef window)
 Set the carbon window to be used with the current AGL context. More...
 
virtual void setAGLPBuffer (AGLPbuffer pbuffer)
 Set the AGL PBuffer object to be used with the current AGL context. More...
 
virtual AGLContext getAGLContext () const
 
virtual WindowRef getCarbonWindow () const
 
virtual AGLPbuffer getAGLPBuffer () const
 
CGDirectDisplayID getCGDisplayID () const
 
AGL/Carbon initialization
virtual bool configInit ()
 Initialize this window for the AGL window system. More...
 
virtual void configExit ()
 
virtual AGLPixelFormat chooseAGLPixelFormat ()
 Choose a pixel format based on the window's attributes. More...
 
virtual void destroyAGLPixelFormat (AGLPixelFormat format)
 Destroy a pixel format obtained with chooseAGLPixelFormat(). More...
 
virtual AGLContext createAGLContext (AGLPixelFormat format)
 Create an AGL context. More...
 
virtual bool configInitAGLDrawable ()
 Initialize the window's drawable (fullscreen, pbuffer or window) and bind the AGL context. More...
 
virtual bool configInitAGLFullscreen ()
 Initialize the window with a fullscreen Carbon window. More...
 
virtual bool configInitAGLWindow ()
 Initialize the window with a normal Carbon window. More...
 
virtual bool configInitAGLPBuffer ()
 Initialize the window with an offscreen AGL PBuffer. More...
 
virtual void initEventHandler ()
 Set up an AGLEventHandler, called by setCarbonWindow(). More...
 
virtual void exitEventHandler ()
 Destroy the AGLEventHandler, called by setCarbonWindow(). More...
 
Operations.
virtual void makeCurrent (const bool cache=true) const
 
virtual void swapBuffers ()
 
virtual void joinNVSwapBarrier (const uint32_t group, const uint32_t barrier)
 Not implemented for AGL. More...
 
virtual bool processEvent (const WindowEvent &event)
 
- Public Member Functions inherited from eq::agl::WindowIF
 WindowIF (eq::Window *parent)
 Construct a new AGL window for the given eq::Window. More...
 
virtual ~WindowIF ()
 Destruct the AGL window. More...
 
- Public Member Functions inherited from eq::GLWindow
 GLWindow (Window *parent)
 Construct a new OpenGL window. More...
 
virtual ~GLWindow ()
 Destruct a new OpenGL window. More...
 
bool isCurrent () const
 
virtual void initGLEW ()
 Initialize the GLEW context for this window. More...
 
virtual void exitGLEW ()
 De-initialize the GLEW context. More...
 
virtual const GLEWContext * glewGetContext () const
 Get the GLEW context for this window. More...
 
virtual void queryDrawableConfig (DrawableConfig &)
 Set up the drawable config by querying the current context. More...
 
virtual void bindFrameBuffer () const
 Bind the window's FBO, if it uses an FBO drawable. More...
 
virtual void flush ()
 Flush all command buffers. More...
 
virtual void finish ()
 Finish execution of all commands. More...
 
virtual bool configInitFBO ()
 Build and initialize the FBO. More...
 
virtual void configExitFBO ()
 Destroy the FBO. More...
 
virtual const
util::FrameBufferObject
getFrameBufferObject () const
 
- Public Member Functions inherited from eq::SystemWindow
 SystemWindow (Window *parent)
 Create a new SystemWindow for the given eq::Window. More...
 
virtual ~SystemWindow ()
 Destroy the SystemWindow. More...
 
void setError (const int32_t error)
 Set an error code why the last operation failed. More...
 
eq::fabric::Error getError () const
 
virtual bool processEvent (const Event &event)
 Process an event. More...
 
bool configInitFBO ()
 Build and initialize the FBO. More...
 
void configExitFBO ()
 Destroy FBO. More...
 
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

Equalizer default implementation of an AGL window interface.

Definition at line 60 of file include/eq/client/agl/window.h.

Constructor & Destructor Documentation

eq::agl::Window::Window ( eq::Window parent,
CGDirectDisplayID  displayID = 0 
)

Create a new AGL window for the given eq::Window.

If kCGNullDirectDisplay is specified as the displayID (the default), the constructor will try to query the corresponding data from the pipe's system pipe (agl::Pipe).

Version
1.0
virtual eq::agl::Window::~Window ( )
virtual

Destruct the AGL window.

Version
1.0

Member Function Documentation

virtual AGLPixelFormat eq::agl::Window::chooseAGLPixelFormat ( )
virtual

Choose a pixel format based on the window's attributes.

The returned pixel format has to be destroyed using destroyAGLPixelFormat() to avoid memory leaks.

This method uses Global::enterCarbon() and Global::leaveCarbon() to protect the calls to AGL/Carbon.

Returns
a pixel format, or 0 if no pixel format was found.
Version
1.0
virtual void eq::agl::Window::configExit ( )
virtual
Version
1.0

Implements eq::SystemWindow.

virtual bool eq::agl::Window::configInit ( )
virtual

Initialize this window for the AGL window system.

This method first call chooseAGLPixelFormat(), then createAGLContext() with the chosen pixel format, destroys the pixel format using destroyAGLPixelFormat() and finally creates a drawable using configInitAGLDrawable().

Returns
true if the initialization was successful, false otherwise.
Version
1.0

Implements eq::SystemWindow.

virtual bool eq::agl::Window::configInitAGLDrawable ( )
virtual

Initialize the window's drawable (fullscreen, pbuffer or window) and bind the AGL context.

Sets the window's carbon window on success. Calls configInitAGLFullscreen() or configInitAGLWindow().

Returns
true if the drawable was created, false otherwise.
Version
1.0
virtual bool eq::agl::Window::configInitAGLFullscreen ( )
virtual

Initialize the window with a fullscreen Carbon window.

Sets the window's carbon window on success.

This method uses Global::enterCarbon() and Global::leaveCarbon() to protect the calls to AGL/Carbon.

Returns
true if the window was created, false otherwise.
Version
1.0
virtual bool eq::agl::Window::configInitAGLPBuffer ( )
virtual

Initialize the window with an offscreen AGL PBuffer.

Sets the window's AGL PBuffer on success.

Returns
true if the PBuffer was created, false otherwise.
Version
1.0
virtual bool eq::agl::Window::configInitAGLWindow ( )
virtual

Initialize the window with a normal Carbon window.

Sets the window's carbon window on success.

This method uses Global::enterCarbon() and Global::leaveCarbon() to protect the calls to AGL/Carbon.

Returns
true if the window was created, false otherwise.
Version
1.0
virtual AGLContext eq::agl::Window::createAGLContext ( AGLPixelFormat  format)
virtual

Create an AGL context.

This method does not set the window's AGL context.

This method uses Global::enterCarbon() and Global::leaveCarbon() to protect the calls to AGL/Carbon.

Parameters
formatthe pixel format for the context.
Returns
the context, or 0 if context creation failed.
Version
1.0
virtual void eq::agl::Window::destroyAGLPixelFormat ( AGLPixelFormat  format)
virtual

Destroy a pixel format obtained with chooseAGLPixelFormat().

This method uses Global::enterCarbon() and Global::leaveCarbon() to protect the calls to AGL/Carbon.

Parameters
formata pixel format.
Version
1.0
virtual void eq::agl::Window::exitEventHandler ( )
virtual

Destroy the AGLEventHandler, called by setCarbonWindow().

Version
1.0
virtual AGLContext eq::agl::Window::getAGLContext ( ) const
inlinevirtual
Returns
the AGL rendering context.
Version
1.0

Implements eq::agl::WindowIF.

Definition at line 106 of file include/eq/client/agl/window.h.

virtual AGLPbuffer eq::agl::Window::getAGLPBuffer ( ) const
inlinevirtual
Returns
the AGL PBuffer object.
Version
1.0

Implements eq::agl::WindowIF.

Definition at line 112 of file include/eq/client/agl/window.h.

virtual WindowRef eq::agl::Window::getCarbonWindow ( ) const
inlinevirtual
Returns
the carbon window reference.
Version
1.0

Implements eq::agl::WindowIF.

Definition at line 109 of file include/eq/client/agl/window.h.

CGDirectDisplayID eq::agl::Window::getCGDisplayID ( ) const
inline
Returns
the CG display id used by this window.
Version
1.1.1

Definition at line 115 of file include/eq/client/agl/window.h.

virtual void eq::agl::Window::initEventHandler ( )
virtual

Set up an AGLEventHandler, called by setCarbonWindow().

Version
1.0
virtual void eq::agl::Window::joinNVSwapBarrier ( const uint32_t  group,
const uint32_t  barrier 
)
virtual

Not implemented for AGL.

Version
1.0

Implements eq::SystemWindow.

virtual void eq::agl::Window::makeCurrent ( const bool  cache = true) const
virtual
Version
1.0

Reimplemented from eq::GLWindow.

virtual bool eq::agl::Window::processEvent ( const WindowEvent event)
virtual
Version
1.0

Implements eq::agl::WindowIF.

virtual void eq::agl::Window::setAGLContext ( AGLContext  context)
virtual

Set the AGL rendering context for this window.

This function should only be called from configInit() or configExit(). The context has to be set to 0 before it is destroyed.

Parameters
contextthe AGL rendering context.
Version
1.0
virtual void eq::agl::Window::setAGLPBuffer ( AGLPbuffer  pbuffer)
virtual

Set the AGL PBuffer object to be used with the current AGL context.

Parameters
pbufferthe PBuffer.
Version
1.0
virtual void eq::agl::Window::setCarbonWindow ( WindowRef  window)
virtual

Set the carbon window to be used with the current AGL context.

Parameters
windowthe window reference.
Version
1.0
virtual void eq::agl::Window::swapBuffers ( )
virtual
Version
1.0

Implements eq::SystemWindow.


The documentation for this class was generated from the following file: