#include <osWindow.h>


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 FrameBufferObject * | getFBO () const |
Convenience interface to eq::Window methods | |
| Window * | getWindow () |
| const Window * | getWindow () const |
| Pipe * | getPipe () |
| const Pipe * | getPipe () const |
| Node * | getNode () |
| const Node * | getNode () const |
| Config * | getConfig () |
| const Config * | getConfig () const |
| int32_t | getIAttribute (const Window::IAttribute attr) const |
| WGLEWContext * | wglewGetContext () |
Protected Attributes | |
| Window *const | _window |
| The parent eq::Window. | |
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.
| virtual bool eq::OSWindow::configInit | ( | ) | [pure virtual] |
Initialize this OS window.
This method should take into account all attributes of the parent Window.
Implemented in eq::AGLWindow, eq::GLXWindow, and eq::WGLWindow.
Referenced by eq::Window::configInitOSWindow().

| 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().

| 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().


| 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().


| 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().

| 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.
| group | the swap group name. | |
| barrier | the swap barrier name. |
Implemented in eq::AGLWindow, eq::GLXWindow, and eq::WGLWindow.
| bool eq::OSWindow::configInitFBO | ( | ) |
Build and initialize the FBO.
Definition at line 103 of file osWindow.cpp.
References _window, eq::AUTO, eq::Window::getColorType(), eq::FrameBufferObject::getErrorMessage(), eq::Window::getPixelViewport(), eq::PixelViewport::h, eq::Window::IATTR_PLANES_DEPTH, eq::Window::IATTR_PLANES_STENCIL, eq::FrameBufferObject::init(), eq::FrameBufferObject::setColorFormat(), eq::Window::setErrorMessage(), and eq::PixelViewport::w.
Referenced by eq::WGLWindow::configInit(), eq::GLXWindow::configInit(), and eq::AGLWindow::configInitAGLDrawable().


| 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().


| const FrameBufferObject* eq::OSWindow::getFBO | ( | ) | const [inline] |
Definition at line 101 of file osWindow.h.
Referenced by eq::Window::isFBOWindow().

| WGLEWContext * eq::OSWindow::wglewGetContext | ( | ) |
Definition at line 85 of file osWindow.cpp.
References _window, and eq::Window::wglewGetContext().

| 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().


| 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().

| 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.
Definition at line 143 of file osWindow.h.
Referenced by eq::Window::glewGetContext().

Window* const eq::OSWindow::_window [protected] |
The parent eq::Window.
Definition at line 148 of file osWindow.h.
Referenced by eq::AGLWindow::chooseAGLPixelFormat(), eq::WGLWindow::chooseWGLPixelFormat(), eq::GLXWindow::chooseXVisualInfo(), eq::WGLWindow::configInit(), eq::GLXWindow::configInit(), eq::AGLWindow::configInitAGLFullscreen(), eq::AGLWindow::configInitAGLPBuffer(), eq::AGLWindow::configInitAGLWindow(), configInitFBO(), eq::GLXWindow::configInitGLXPBuffer(), eq::GLXWindow::configInitGLXWindow(), eq::WGLWindow::configInitWGLFBO(), eq::WGLWindow::configInitWGLPBuffer(), eq::WGLWindow::configInitWGLWindow(), eq::AGLWindow::createAGLContext(), eq::GLXWindow::createGLXContext(), eq::WGLWindow::createWGLContext(), initGLEW(), makeCurrent(), eq::AGLWindowIF::processEvent(), eq::AGLWindow::setAGLPBuffer(), eq::AGLWindow::setCarbonWindow(), eq::WGLWindow::setWGLPBufferHandle(), eq::WGLWindow::setWGLWindowHandle(), eq::GLXWindow::setXDrawable(), and wglewGetContext().
0.9 by
1.5.8