| #pragma once |
| |
| #ifndef TRENDERERP_INCLUDE |
| #define TRENDERERP_INCLUDE |
| |
| #include <QObject> |
| #include <QMetaType> |
| |
| #include "trenderer.h" |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| class TRendererStartInvoker final : public QObject { |
| Q_OBJECT |
| |
| public: |
| struct StartInvokerRenderData { |
| unsigned long m_renderId; |
| const RenderDataVector *m_renderDataVector; |
| }; |
| |
| public: |
| TRendererStartInvoker() { |
| qRegisterMetaType<StartInvokerRenderData>("StartInvokerRenderData"); |
| |
| connect(this, SIGNAL(startRender(TRendererImp *, StartInvokerRenderData)), |
| this, SLOT(doStartRender(TRendererImp *, StartInvokerRenderData)), |
| Qt::QueuedConnection); |
| } |
| ~TRendererStartInvoker() {} |
| |
| static TRendererStartInvoker *instance() { |
| static TRendererStartInvoker theInstance; |
| return &theInstance; |
| } |
| |
| void emitStartRender(TRendererImp *renderer, StartInvokerRenderData rd); |
| |
| Q_SIGNALS: |
| |
| void startRender(TRendererImp *, StartInvokerRenderData); |
| |
| public Q_SLOTS: |
| |
| void doStartRender(TRendererImp *, StartInvokerRenderData rd); |
| }; |
| |
| #endif |