Mercurial > hg > orthanc-stone
diff Samples/Qt/QStoneOpenGlWidget.h @ 879:12b591d5d63c am-dev
some Qt integration (wip)
author | Alain Mazy <alain@mazy.be> |
---|---|
date | Fri, 05 Jul 2019 14:52:43 +0200 |
parents | 23701fbf228e |
children | a8cd3755db21 |
line wrap: on
line diff
--- a/Samples/Qt/QStoneOpenGlWidget.h Wed Jul 03 10:26:51 2019 +0200 +++ b/Samples/Qt/QStoneOpenGlWidget.h Fri Jul 05 14:52:43 2019 +0200 @@ -6,40 +6,55 @@ #include <boost/shared_ptr.hpp> #include "../../Framework/OpenGL/IOpenGLContext.h" #include "../../Framework/Scene2D/OpenGLCompositor.h" - +#include "Scene2DInteractor.h" -class QStoneOpenGlWidget : public QOpenGLWidget, public OrthancStone::OpenGL::IOpenGLContext +namespace OrthancStone { - boost::shared_ptr<OrthancStone::OpenGLCompositor> compositor_; - -public: - QStoneOpenGlWidget(QWidget *parent) : QOpenGLWidget(parent) { } + class QStoneOpenGlWidget : public QOpenGLWidget, public OrthancStone::OpenGL::IOpenGLContext + { + boost::shared_ptr<OrthancStone::OpenGLCompositor> compositor_; + boost::shared_ptr<Scene2DInteractor> sceneInteractor_; -protected: - void initializeGL() override; + public: + QStoneOpenGlWidget(QWidget *parent) : + QOpenGLWidget(parent) + { + } + + protected: - void resizeGL(int w, int h) override; + //**** QWidget overrides + void initializeGL() override; + void resizeGL(int w, int h) override; + void paintGL() override; - void paintGL() override; + void mousePressEvent(QMouseEvent* event) override; - virtual void MakeCurrent() override; + //**** IOpenGLContext overrides - virtual void SwapBuffer() override {} + virtual void MakeCurrent() override; + virtual void SwapBuffer() override {} - virtual unsigned int GetCanvasWidth() const override - { - return this->width(); - } + virtual unsigned int GetCanvasWidth() const override + { + return this->width(); + } + + virtual unsigned int GetCanvasHeight() const override + { + return this->height(); + } - virtual unsigned int GetCanvasHeight() const override - { - return this->height(); - } + public: + void SetInteractor(boost::shared_ptr<Scene2DInteractor> sceneInteractor) + { + sceneInteractor_ = sceneInteractor; + } -public: - void SetCompositor(boost::shared_ptr<OrthancStone::OpenGLCompositor> compositor) - { - compositor_ = compositor; - } + void SetCompositor(boost::shared_ptr<OrthancStone::OpenGLCompositor> compositor) + { + compositor_ = compositor; + } -}; + }; +}