Equalizer
2.1.0
Parallel Rendering Framework
|
Equalizer default implementation of a Qt window. More...
#include <window.h>
Signals | |
void | destroyImpl (detail::Window *) |
Public Member Functions | |
EQ_API | Window (NotifierInterface &parent, const WindowSettings &settings, QScreen *screen, QThread *thread) |
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 (EventType type, QEvent *qEvent, SizeEvent &event) override |
Public Member Functions inherited from eq::qt::WindowIF | |
WindowIF (NotifierInterface &parent, const WindowSettings &settings) | |
virtual bool | processEvent (EventType type, QEvent *) |
Process a stateless event. More... | |
virtual bool | processEvent (EventType type, QEvent *, PointerEvent &event) |
Process a mouse event. More... | |
virtual bool | processEvent (EventType type, QEvent *, KeyEvent &event) |
Process a keyboard event. More... | |
virtual bool | processEvent (EventType type) |
Process a stateless event. More... | |
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 void | resize (const PixelViewport &pvp) override |
Resize the underlying FBO(s) | |
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::FrameBufferObject * | getFrameBufferObject () const override |
EQ_API util::FrameBufferObject * | getFrameBufferObject () 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... | |
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 SystemWindow * | getSharedContextWindow () const |
Equalizer default implementation of a Qt window.
Definition at line 78 of file qt/window.h.
EQ_API eq::qt::Window::Window | ( | NotifierInterface & | parent, |
const WindowSettings & | settings, | ||
QScreen * | screen, | ||
QThread * | thread | ||
) |
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.
parent | The eq::Window parent window interface that uses this system window. |
settings | The window settings. The GL context format will be derived from these. |
screen | the Qt screen to create the window on. |
thread | the Qt thread running the window. |
|
final |
Destruct this Qt window.
|
overridevirtual |
Implements eq::SystemWindow.
|
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.
Implements eq::SystemWindow.
|
overridevirtual |
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.
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.
|
overridevirtual |
EQ_API void eq::qt::Window::leaveNVSwapBarrier | ( | ) |
Implementation untested for Qt.
|
overridevirtual |
Reimplemented from eq::GLWindow.
void eq::qt::Window::moveContextToThread | ( | QThread * | thread | ) |
Move OpenGLContext object to given thread.
|
overridevirtual |
Reimplemented from eq::qt::WindowIF.
|
overridevirtual |
Implements eq::SystemWindow.