Equalizer
1.2.1
|
Equalizer default implementation of a glX window. More...
#include <window.h>
Public Member Functions | |
Window (eq::Window *parent, Display *xDisplay=0, GLXEWContext *glxewContext=0) | |
Construct a new glX/X11 system window. | |
virtual | ~Window () |
Destruct this glX window. | |
GLX/X11 initialization | |
virtual bool | configInit () |
Initialize this window for the glX window system. | |
virtual void | configExit () |
virtual GLXFBConfig * | chooseGLXFBConfig () |
Choose a GLX framebuffer config based on the window's attributes. | |
virtual GLXContext | createGLXContext (GLXFBConfig *fbConfig) |
Create a glX context. | |
virtual bool | configInitGLXDrawable (GLXFBConfig *fbConfig) |
Initialize the window's drawable (fullscreen, pbuffer or window) and bind the glX context. | |
virtual bool | configInitGLXWindow (GLXFBConfig *fbConfig) |
Initialize the window with a window and bind the glX context. | |
virtual bool | configInitGLXPBuffer (GLXFBConfig *fbConfig) |
Initialize the window with a PBuffer and bind the glX context. | |
virtual void | initEventHandler () |
Register with the pipe's GLXEventHandler, called by setXDrawable(). | |
virtual void | exitEventHandler () |
Deregister with the GLXEventHandler, called by setXDrawable(). | |
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. | |
virtual void | setGLXContext (GLXContext context) |
Set the glX rendering context for this window. | |
Operations. | |
virtual void | makeCurrent () const |
virtual void | swapBuffers () |
virtual void | joinNVSwapBarrier (const uint32_t group, const uint32_t barrier) |
Implementation untested for glX. | |
void | leaveNVSwapBarrier () |
Unbind a GLX_NV_swap_barrier. |
Equalizer default implementation of a glX window.
Definition at line 47 of file include/eq/client/glx/window.h.
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.
virtual eq::glx::Window::~Window | ( | ) | [virtual] |
Destruct this glX window.
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().
virtual void eq::glx::Window::configExit | ( | ) | [virtual] |
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().
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
fbConfig | the framebuffer config for the context. |
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
fbConfig | the framebuffer config for the context. |
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
fbConfig | the framebuffer config for the context. |
virtual GLXContext eq::glx::Window::createGLXContext | ( | GLXFBConfig * | fbConfig | ) | [virtual] |
Create a glX context.
This method does not set the window's glX context.
fbConfig | the framebuffer config for the context. |
virtual void eq::glx::Window::exitEventHandler | ( | ) | [virtual] |
Deregister with the GLXEventHandler, called by setXDrawable().
Reimplemented in eqAsync::GLXWindowShared.
virtual GLXContext eq::glx::Window::getGLXContext | ( | ) | const [inline, virtual] |
Implements eq::glx::WindowIF.
Definition at line 152 of file include/eq/client/glx/window.h.
virtual Display* eq::glx::Window::getXDisplay | ( | ) | [inline, virtual] |
Implements eq::glx::WindowIF.
Definition at line 158 of file include/eq/client/glx/window.h.
virtual XID eq::glx::Window::getXDrawable | ( | ) | const [inline, virtual] |
Implements eq::glx::WindowIF.
Definition at line 155 of file include/eq/client/glx/window.h.
GLXEWContext* eq::glx::Window::glxewGetContext | ( | ) | [inline] |
Definition at line 161 of file include/eq/client/glx/window.h.
virtual void eq::glx::Window::initEventHandler | ( | ) | [virtual] |
Register with the pipe's GLXEventHandler, called by setXDrawable().
Reimplemented in eqAsync::GLXWindowShared.
virtual void eq::glx::Window::joinNVSwapBarrier | ( | const uint32_t | group, |
const uint32_t | barrier | ||
) | [virtual] |
void eq::glx::Window::leaveNVSwapBarrier | ( | ) |
Unbind a GLX_NV_swap_barrier.
virtual void eq::glx::Window::makeCurrent | ( | ) | const [virtual] |
Reimplemented from eq::GLWindow.
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.
context | the glX rendering context. |
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().
drawable | the X11 drawable ID. |
virtual void eq::glx::Window::swapBuffers | ( | ) | [virtual] |
Implements eq::SystemWindow.