Equalizer  1.13.0
Parallel Rendering Framework
eq::qt::Window Class Reference

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

#include <window.h>

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

Signals

void destroyImpl (detail::Window *)
 

Public Member Functions

EQ_API Window (NotifierInterface &parent, const WindowSettings &settings, detail::Window *impl)
 Create a new window using Qt. More...
 
EQ_API ~Window () final
 Destruct this Qt window. More...
 
EQ_API QOpenGLContext * getContext () const
 The context won't be ready to be used until configInit is called. More...
 
EQ_API QObject * getEventProcessor ()
 Use this object to make Qt events reach eq::Config when using this window for offscreen rendering with shared context mode (e.g. More...
 
void moveContextToThread (QThread *thread)
 Move OpenGLContext object to given thread. More...
 
Qt initialization
EQ_API bool configInit () override
 Initialize this window for the Qt window system. More...
 
EQ_API void configExit () override
 
Operations.
EQ_API void makeCurrent (const bool cache=true) const override
 
EQ_API void doneCurrent () const override
 
EQ_API void swapBuffers () override
 
EQ_API void joinNVSwapBarrier (const uint32_t group, const uint32_t barrier) override
 Implementation untested for Qt. More...
 
EQ_API void leaveNVSwapBarrier ()
 Implementation untested for Qt. More...
 
EQ_API bool processEvent (const WindowEvent &event) override
 
- Public Member Functions inherited from eq::qt::WindowIF
 WindowIF (NotifierInterface &parent, const WindowSettings &settings)
 
- Public Member Functions inherited from eq::GLWindow
EQ_API GLWindow (NotifierInterface &parent, const WindowSettings &settings)
 Construct a new OpenGL window. More...
 
virtual EQ_API ~GLWindow ()
 Destruct a new OpenGL window. More...
 
EQ_API bool isCurrent () const
 
virtual EQ_API void initGLEW ()
 Initialize the GLEW context for this window. More...
 
virtual EQ_API void exitGLEW ()
 De-initialize the GLEW context. More...
 
EQ_API const GLEWContext * glewGetContext () const override
 Get the GLEW context for this window. More...
 
EQ_API void queryDrawableConfig (DrawableConfig &) override
 Set up the drawable config by querying the current context. More...
 
EQ_API void bindFrameBuffer () const override
 Bind the window's FBO, if it uses an FBO drawable. More...
 
EQ_API void bindDrawFrameBuffer () const override
 Bind the window's draw FBO, used for multisampling. More...
 
EQ_API void updateFrameBuffer () const override
 Update the window's FBO from the multisampled FBO. More...
 
EQ_API void flush () override
 Flush all command buffers. More...
 
EQ_API void finish () override
 Finish execution of all commands. More...
 
virtual EQ_API bool configInitFBO ()
 Build and initialize the FBO. More...
 
virtual EQ_API void configExitFBO ()
 Destroy the FBO. More...
 
EQ_API const util::FrameBufferObjectgetFrameBufferObject () const override
 
EQ_API util::FrameBufferObjectgetFrameBufferObject () override
 
- 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...
 
EQ_API EventOCommand sendError (const uint32_t error)
 Send a window error event to the application node. More...
 
virtual EQ_API bool processEvent (const Event &event)
 Process an 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
 

Friends

class WindowFactory
 

Detailed Description

Equalizer default implementation of a Qt window.

Definition at line 50 of file qt/window.h.

Constructor & Destructor Documentation

EQ_API eq::qt::Window::Window ( NotifierInterface parent,
const WindowSettings settings,
detail::Window *  impl 
)

Create a new window using Qt.

The actual window will be a QWindow or a QOffscreenSurface depending on the window settings. The window won't be realized until configInit is called.

Parameters
parentThe eq::Window parent window interface that uses this system window.
settingsThe window settings. The GL context format will be derived from these.
implThe Qt implementation (created in the app thread).
Version
1.9
EQ_API eq::qt::Window::~Window ( )
final

Destruct this Qt window.

Version
1.7.3

Member Function Documentation

EQ_API void eq::qt::Window::configExit ( )
overridevirtual
Version
1.7.3

Implements eq::SystemWindow.

EQ_API bool eq::qt::Window::configInit ( )
overridevirtual

Initialize this window for the Qt window system.

The window will be only usable by the thread that invokes this functions. Otherwise Qt thread affinity constraints will be violated.

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

Implements eq::SystemWindow.

EQ_API void eq::qt::Window::doneCurrent ( ) const
overridevirtual
Version
1.10

Reimplemented from eq::GLWindow.

EQ_API QOpenGLContext* eq::qt::Window::getContext ( ) const

The context won't be ready to be used until configInit is called.

Returns
the Open GL context used by this window.
Version
1.9
EQ_API QObject* eq::qt::Window::getEventProcessor ( )

Use this object to make Qt events reach eq::Config when using this window for offscreen rendering with shared context mode (e.g.

to embed Equalizer output into a Qt GUI).

Don't send events directly to the object unless you know what you're doing, use QApplication::postEvent instead.

Returns
the object to which forward Qt events.
Version
1.9
EQ_API void eq::qt::Window::joinNVSwapBarrier ( const uint32_t  group,
const uint32_t  barrier 
)
overridevirtual

Implementation untested for Qt.

Version
1.7.3

Implements eq::SystemWindow.

EQ_API void eq::qt::Window::leaveNVSwapBarrier ( )

Implementation untested for Qt.

Version
1.7.3
EQ_API void eq::qt::Window::makeCurrent ( const bool  cache = true) const
overridevirtual
Version
1.7.3

Reimplemented from eq::GLWindow.

void eq::qt::Window::moveContextToThread ( QThread *  thread)

Move OpenGLContext object to given thread.

Version
1.10
EQ_API bool eq::qt::Window::processEvent ( const WindowEvent event)
overridevirtual
Version
1.7.3

Implements eq::qt::WindowIF.

EQ_API void eq::qt::Window::swapBuffers ( )
overridevirtual
Version
1.7.3

Implements eq::SystemWindow.


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