Mercurial > hg > orthanc-stone
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 } |