comparison 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
comparison
equal deleted inserted replaced
878:8f7930f589ef 879:12b591d5d63c
4 #include <QOpenGLFunctions> 4 #include <QOpenGLFunctions>
5 5
6 #include <boost/shared_ptr.hpp> 6 #include <boost/shared_ptr.hpp>
7 #include "../../Framework/OpenGL/IOpenGLContext.h" 7 #include "../../Framework/OpenGL/IOpenGLContext.h"
8 #include "../../Framework/Scene2D/OpenGLCompositor.h" 8 #include "../../Framework/Scene2D/OpenGLCompositor.h"
9 #include "Scene2DInteractor.h"
9 10
11 namespace OrthancStone
12 {
13 class QStoneOpenGlWidget : public QOpenGLWidget, public OrthancStone::OpenGL::IOpenGLContext
14 {
15 boost::shared_ptr<OrthancStone::OpenGLCompositor> compositor_;
16 boost::shared_ptr<Scene2DInteractor> sceneInteractor_;
10 17
11 class QStoneOpenGlWidget : public QOpenGLWidget, public OrthancStone::OpenGL::IOpenGLContext 18 public:
12 { 19 QStoneOpenGlWidget(QWidget *parent) :
13 boost::shared_ptr<OrthancStone::OpenGLCompositor> compositor_; 20 QOpenGLWidget(parent)
21 {
22 }
14 23
15 public: 24 protected:
16 QStoneOpenGlWidget(QWidget *parent) : QOpenGLWidget(parent) { }
17 25
18 protected: 26 //**** QWidget overrides
19 void initializeGL() override; 27 void initializeGL() override;
28 void resizeGL(int w, int h) override;
29 void paintGL() override;
20 30
21 void resizeGL(int w, int h) override; 31 void mousePressEvent(QMouseEvent* event) override;
22 32
23 void paintGL() override; 33 //**** IOpenGLContext overrides
24 34
25 virtual void MakeCurrent() override; 35 virtual void MakeCurrent() override;
36 virtual void SwapBuffer() override {}
26 37
27 virtual void SwapBuffer() override {} 38 virtual unsigned int GetCanvasWidth() const override
39 {
40 return this->width();
41 }
28 42
29 virtual unsigned int GetCanvasWidth() const override 43 virtual unsigned int GetCanvasHeight() const override
30 { 44 {
31 return this->width(); 45 return this->height();
32 } 46 }
33 47
34 virtual unsigned int GetCanvasHeight() const override 48 public:
35 { 49 void SetInteractor(boost::shared_ptr<Scene2DInteractor> sceneInteractor)
36 return this->height(); 50 {
37 } 51 sceneInteractor_ = sceneInteractor;
52 }
38 53
39 public: 54 void SetCompositor(boost::shared_ptr<OrthancStone::OpenGLCompositor> compositor)
40 void SetCompositor(boost::shared_ptr<OrthancStone::OpenGLCompositor> compositor) 55 {
41 { 56 compositor_ = compositor;
42 compositor_ = compositor; 57 }
43 }
44 58
45 }; 59 };
60 }