Equalizer  2.1.0
Parallel Rendering Framework
eq::qt::ShareContextWindow Class Reference

Helper window to allow Open GL context sharing between Qt widgets and windows created by Equalizer. More...

#include <shareContextWindow.h>

+ Inheritance diagram for eq::qt::ShareContextWindow:
+ Collaboration diagram for eq::qt::ShareContextWindow:

Public Member Functions

 ShareContextWindow (QOpenGLContext *context, NotifierInterface &parent, const WindowSettings &settings)
 
QOpenGLContext * getContext () const
 
bool configInit () final
 Initialize this system window. More...
 
void configExit () final
 De-initialize this system window. More...
 
void makeCurrent (const bool) const final
 Make the system window rendering context and drawable current. More...
 
void doneCurrent () const final
 This results in no context being current in the current thread. More...
 
void bindFrameBuffer () const final
 Bind the window's FBO, if it uses an FBO drawable. More...
 
void bindDrawFrameBuffer () const final
 Bind the window's draw FBO, used for multisampling. More...
 
void updateFrameBuffer () const final
 Update the window's FBO from the multisampled FBO. More...
 
void swapBuffers () final
 Swap the front and back buffer. More...
 
void flush () final
 Flush all command buffers. More...
 
void finish () final
 Finish execution of all commands. More...
 
void joinNVSwapBarrier (const uint32_t, const uint32_t) final
 Join a NV_swap_group. More...
 
void queryDrawableConfig (DrawableConfig &) final
 Set up the given drawable based on the current context. More...
 
void resize (const PixelViewport &) final
 Resize the underlying frame buffer to the given size. More...
 
- Public Member Functions inherited from eq::SystemWindow
EQ_API SystemWindow (NotifierInterface &parent, const WindowSettings &settings)
 Create a new SystemWindow for the given eq::Window. More...
 
virtual EQ_API ~SystemWindow ()
 Destroy the SystemWindow. More...
 
virtual const GLEWContext * glewGetContext () const
 Get the GLEW context for this window. More...
 
EQ_API EventOCommand sendError (const uint32_t error)
 Send a window error event to the application node. More...
 
EQ_API bool processEvent (EventType type)
 Process a stateless event. More...
 
EQ_API bool processEvent (EventType type, SizeEvent &event)
 Process a (re)size event. More...
 
EQ_API bool processEvent (EventType type, PointerEvent &event)
 Process a mouse event. More...
 
EQ_API bool processEvent (EventType type, KeyEvent &event)
 Process a keyboard event. More...
 
EQ_API bool processEvent (AxisEvent &event)
 Process an axis event. More...
 
EQ_API bool processEvent (ButtonEvent &event)
 Process a button event. More...
 
EQ_API void setPixelViewport (const PixelViewport &pvp)
 Set the window's pixel viewport wrt its parent pipe. More...
 
EQ_API const PixelViewport & getPixelViewport () const
 
EQ_API uint32_t getColorFormat () const
 
EQ_API void setName (const std::string &name)
 Set the window's name. More...
 
EQ_API const std::string & getName () const
 
EQ_API int32_t getIAttribute (const WindowSettings::IAttribute attr) const
 
EQ_API const SystemWindowgetSharedContextWindow () const
 
virtual const util::FrameBufferObjectgetFrameBufferObject () const
 
virtual util::FrameBufferObjectgetFrameBufferObject ()
 

Detailed Description

Helper window to allow Open GL context sharing between Qt widgets and windows created by Equalizer.

This window is not intended to be used for any actual work except for being able to provide a share OpenGLContext to WindowSystem::createWindow through the WindowSettings.

Definition at line 37 of file shareContextWindow.h.

Member Function Documentation

void eq::qt::ShareContextWindow::bindDrawFrameBuffer ( ) const
inlinefinalvirtual

Bind the window's draw FBO, used for multisampling.

Version
1.9

Implements eq::SystemWindow.

Definition at line 57 of file shareContextWindow.h.

void eq::qt::ShareContextWindow::bindFrameBuffer ( ) const
inlinefinalvirtual

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

Version
1.0

Implements eq::SystemWindow.

Definition at line 56 of file shareContextWindow.h.

void eq::qt::ShareContextWindow::configExit ( )
inlinefinalvirtual

De-initialize this system window.

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

Version
1.0

Implements eq::SystemWindow.

Definition at line 53 of file shareContextWindow.h.

bool eq::qt::ShareContextWindow::configInit ( )
inlinefinalvirtual

Initialize this system 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.
Version
1.0

Implements eq::SystemWindow.

Definition at line 48 of file shareContextWindow.h.

void eq::qt::ShareContextWindow::doneCurrent ( ) const
inlinefinalvirtual

This results in no context being current in the current thread.

This function resets the pipe's make current cache.

Version
1.10

Implements eq::SystemWindow.

Definition at line 55 of file shareContextWindow.h.

void eq::qt::ShareContextWindow::finish ( )
inlinefinalvirtual

Finish execution of all commands.

Version
1.5.2

Implements eq::SystemWindow.

Definition at line 61 of file shareContextWindow.h.

void eq::qt::ShareContextWindow::flush ( )
inlinefinalvirtual

Flush all command buffers.

Version
1.5.2

Implements eq::SystemWindow.

Definition at line 60 of file shareContextWindow.h.

void eq::qt::ShareContextWindow::joinNVSwapBarrier ( const uint32_t  group,
const uint32_t  barrier 
)
inlinefinalvirtual

Join a NV_swap_group.

See WGL or GLX implementation and OpenGL extension for details on how to implement this function.

Parameters
groupthe swap group name.
barrierthe swap barrier name.
Version
1.0

Implements eq::SystemWindow.

Definition at line 62 of file shareContextWindow.h.

void eq::qt::ShareContextWindow::makeCurrent ( const bool  cache) const
inlinefinalvirtual

Make the system window rendering context and drawable current.

This function invalidates the pipe's make current cache.

Version
1.0

Implements eq::SystemWindow.

Definition at line 54 of file shareContextWindow.h.

void eq::qt::ShareContextWindow::queryDrawableConfig ( DrawableConfig &  dc)
inlinefinalvirtual

Set up the given drawable based on the current context.

Version
1.0

Implements eq::SystemWindow.

Definition at line 66 of file shareContextWindow.h.

void eq::qt::ShareContextWindow::resize ( const PixelViewport &  pvp)
inlinefinalvirtual

Resize the underlying frame buffer to the given size.

Parameters
pvpthe viewport in pixels.
Version
2.1

Implements eq::SystemWindow.

Definition at line 67 of file shareContextWindow.h.

void eq::qt::ShareContextWindow::swapBuffers ( )
inlinefinalvirtual

Swap the front and back buffer.

Version
1.0

Implements eq::SystemWindow.

Definition at line 59 of file shareContextWindow.h.

void eq::qt::ShareContextWindow::updateFrameBuffer ( ) const
inlinefinalvirtual

Update the window's FBO from the multisampled FBO.

Version
1.9

Implements eq::SystemWindow.

Definition at line 58 of file shareContextWindow.h.


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