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

Equalizer default implementation of a glX window. More...

#include <window.h>

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

Public Member Functions

 Window (eq::Window *parent, Display *xDisplay=0, GLXEWContext *glxewContext=0)
 Construct a new glX/X11 system window. More...
 
virtual ~Window ()
 Destruct this glX window. More...
 
GLX/X11 initialization
virtual bool configInit ()
 Initialize this window for the glX window system. More...
 
virtual void configExit ()
 
virtual GLXFBConfig * chooseGLXFBConfig ()
 Choose a GLX framebuffer config based on the window's attributes. More...
 
virtual GLXContext createGLXContext (GLXFBConfig *fbConfig)
 Create a glX context. More...
 
virtual bool configInitGLXDrawable (GLXFBConfig *fbConfig)
 Initialize the window's drawable (fullscreen, pbuffer or window) and bind the glX context. More...
 
virtual bool configInitGLXWindow (GLXFBConfig *fbConfig)
 Initialize the window with a window and bind the glX context. More...
 
virtual bool configInitGLXPBuffer (GLXFBConfig *fbConfig)
 Initialize the window with a PBuffer and bind the glX context. More...
 
virtual void initEventHandler ()
 Register with the pipe's GLXEventHandler, called by setXDrawable(). More...
 
virtual void exitEventHandler ()
 Deregister with the GLXEventHandler, called by setXDrawable(). More...
 
Data Access.
virtual GLXContext getGLXContext () const
 
virtual XID getXDrawable () const
 
virtual Display * getXDisplay ()
 
GLXEWContext * glxewGetContext ()
 
virtual void setXDrawable (XID drawable)
 Set the X11 drawable ID for this window. More...
 
virtual void setGLXContext (GLXContext context)
 Set the glX rendering context for this window. More...
 
Operations.
virtual void makeCurrent (const bool cache=true) const
 
virtual void swapBuffers ()
 
virtual void joinNVSwapBarrier (const uint32_t group, const uint32_t barrier)
 Implementation untested for glX. More...
 
void leaveNVSwapBarrier ()
 Unbind a GLX_NV_swap_barrier. More...
 
virtual bool processEvent (const WindowEvent &event)
 
- Public Member Functions inherited from eq::glx::WindowIF
 WindowIF (eq::Window *parent)
 
- 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 a glX window.

Definition at line 50 of file include/eq/client/glx/window.h.

Constructor & Destructor Documentation

eq::glx::Window::Window ( eq::Window parent,
Display *  xDisplay = 0,
GLXEWContext *  glxewContext = 0 
)

Construct a new glX/X11 system window.

If no display connection or no GLXEWContext is given (the default), the constructor will try to query the corresponding data from the pipe's system pipe (GLXPipe). The GLXEWContext has to be initialized.

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

Destruct this glX window.

Version
1.0

Member Function Documentation

virtual GLXFBConfig* eq::glx::Window::chooseGLXFBConfig ( )
virtual

Choose a GLX framebuffer config based on the window's attributes.

The returned FB config has to be freed using XFree().

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

Implements eq::SystemWindow.

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

Initialize this window for the glX window system.

This method first call chooseGLXFBConfig(), then createGLXContext() with the chosen framebuffer config, and finally creates a drawable using configInitGLXDrawable().

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

Implements eq::SystemWindow.

virtual bool eq::glx::Window::configInitGLXDrawable ( GLXFBConfig *  fbConfig)
virtual

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

Sets the window's X11 drawable on success

Parameters
fbConfigthe framebuffer config for the context.
Returns
true if the drawable was created, false otherwise.
Version
1.0
virtual bool eq::glx::Window::configInitGLXPBuffer ( GLXFBConfig *  fbConfig)
virtual

Initialize the window with a PBuffer and bind the glX context.

Sets the window's X11 drawable on success

Parameters
fbConfigthe framebuffer config for the context.
Returns
true if the PBuffer was created, false otherwise.
Version
1.0
virtual bool eq::glx::Window::configInitGLXWindow ( GLXFBConfig *  fbConfig)
virtual

Initialize the window with a window and bind the glX context.

Sets the window's X11 drawable on success

Parameters
fbConfigthe framebuffer config for the context.
Returns
true if the window was created, false otherwise.
Version
1.0
virtual GLXContext eq::glx::Window::createGLXContext ( GLXFBConfig *  fbConfig)
virtual

Create a glX context.

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

Parameters
fbConfigthe framebuffer config for the context.
Returns
the context, or 0 if context creation failed.
Version
1.0
virtual void eq::glx::Window::exitEventHandler ( )
virtual

Deregister with the GLXEventHandler, called by setXDrawable().

Version
1.0
virtual GLXContext eq::glx::Window::getGLXContext ( ) const
inlinevirtual
Returns
the glX rendering context.
Version
1.0

Implements eq::glx::WindowIF.

Definition at line 155 of file include/eq/client/glx/window.h.

virtual Display* eq::glx::Window::getXDisplay ( )
inlinevirtual
Returns
the X11 display.
Version
1.0

Implements eq::glx::WindowIF.

Definition at line 161 of file include/eq/client/glx/window.h.

virtual XID eq::glx::Window::getXDrawable ( ) const
inlinevirtual
Returns
the X11 drawable ID.
Version
1.0

Implements eq::glx::WindowIF.

Definition at line 158 of file include/eq/client/glx/window.h.

GLXEWContext* eq::glx::Window::glxewGetContext ( )
inline
Returns
the GLXEW context.
Version
1.0

Definition at line 164 of file include/eq/client/glx/window.h.

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

Register with the pipe's GLXEventHandler, called by setXDrawable().

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

Implementation untested for glX.

Version
1.0

Implements eq::SystemWindow.

void eq::glx::Window::leaveNVSwapBarrier ( )

Unbind a GLX_NV_swap_barrier.

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

Reimplemented from eq::GLWindow.

virtual bool eq::glx::Window::processEvent ( const WindowEvent event)
virtual
Version
1.5.1

Implements eq::glx::WindowIF.

virtual void eq::glx::Window::setGLXContext ( GLXContext  context)
virtual

Set the glX 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 glX rendering context.
Version
1.0
virtual void eq::glx::Window::setXDrawable ( XID  drawable)
virtual

Set the X11 drawable ID for this window.

This function should only be called from configInit() or configExit().

Parameters
drawablethe X11 drawable ID.
Version
1.0
virtual void eq::glx::Window::swapBuffers ( )
virtual
Version
1.0

Implements eq::SystemWindow.


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