annotate 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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
849
8a8cf2991538 Qt sample (work in progress)
Alain Mazy <alain@mazy.be>
parents:
diff changeset
1 #pragma once
8a8cf2991538 Qt sample (work in progress)
Alain Mazy <alain@mazy.be>
parents:
diff changeset
2 #include "../../Framework/OpenGL/OpenGLIncludes.h"
8a8cf2991538 Qt sample (work in progress)
Alain Mazy <alain@mazy.be>
parents:
diff changeset
3 #include <QOpenGLWidget>
8a8cf2991538 Qt sample (work in progress)
Alain Mazy <alain@mazy.be>
parents:
diff changeset
4 #include <QOpenGLFunctions>
8a8cf2991538 Qt sample (work in progress)
Alain Mazy <alain@mazy.be>
parents:
diff changeset
5
8a8cf2991538 Qt sample (work in progress)
Alain Mazy <alain@mazy.be>
parents:
diff changeset
6 #include <boost/shared_ptr.hpp>
8a8cf2991538 Qt sample (work in progress)
Alain Mazy <alain@mazy.be>
parents:
diff changeset
7 #include "../../Framework/OpenGL/IOpenGLContext.h"
8a8cf2991538 Qt sample (work in progress)
Alain Mazy <alain@mazy.be>
parents:
diff changeset
8 #include "../../Framework/Scene2D/OpenGLCompositor.h"
879
12b591d5d63c some Qt integration (wip)
Alain Mazy <alain@mazy.be>
parents: 863
diff changeset
9 #include "Scene2DInteractor.h"
849
8a8cf2991538 Qt sample (work in progress)
Alain Mazy <alain@mazy.be>
parents:
diff changeset
10
879
12b591d5d63c some Qt integration (wip)
Alain Mazy <alain@mazy.be>
parents: 863
diff changeset
11 namespace OrthancStone
849
8a8cf2991538 Qt sample (work in progress)
Alain Mazy <alain@mazy.be>
parents:
diff changeset
12 {
879
12b591d5d63c some Qt integration (wip)
Alain Mazy <alain@mazy.be>
parents: 863
diff changeset
13 class QStoneOpenGlWidget : public QOpenGLWidget, public OrthancStone::OpenGL::IOpenGLContext
12b591d5d63c some Qt integration (wip)
Alain Mazy <alain@mazy.be>
parents: 863
diff changeset
14 {
12b591d5d63c some Qt integration (wip)
Alain Mazy <alain@mazy.be>
parents: 863
diff changeset
15 boost::shared_ptr<OrthancStone::OpenGLCompositor> compositor_;
12b591d5d63c some Qt integration (wip)
Alain Mazy <alain@mazy.be>
parents: 863
diff changeset
16 boost::shared_ptr<Scene2DInteractor> sceneInteractor_;
849
8a8cf2991538 Qt sample (work in progress)
Alain Mazy <alain@mazy.be>
parents:
diff changeset
17
879
12b591d5d63c some Qt integration (wip)
Alain Mazy <alain@mazy.be>
parents: 863
diff changeset
18 public:
12b591d5d63c some Qt integration (wip)
Alain Mazy <alain@mazy.be>
parents: 863
diff changeset
19 QStoneOpenGlWidget(QWidget *parent) :
12b591d5d63c some Qt integration (wip)
Alain Mazy <alain@mazy.be>
parents: 863
diff changeset
20 QOpenGLWidget(parent)
12b591d5d63c some Qt integration (wip)
Alain Mazy <alain@mazy.be>
parents: 863
diff changeset
21 {
12b591d5d63c some Qt integration (wip)
Alain Mazy <alain@mazy.be>
parents: 863
diff changeset
22 }
12b591d5d63c some Qt integration (wip)
Alain Mazy <alain@mazy.be>
parents: 863
diff changeset
23
12b591d5d63c some Qt integration (wip)
Alain Mazy <alain@mazy.be>
parents: 863
diff changeset
24 protected:
849
8a8cf2991538 Qt sample (work in progress)
Alain Mazy <alain@mazy.be>
parents:
diff changeset
25
879
12b591d5d63c some Qt integration (wip)
Alain Mazy <alain@mazy.be>
parents: 863
diff changeset
26 //**** QWidget overrides
12b591d5d63c some Qt integration (wip)
Alain Mazy <alain@mazy.be>
parents: 863
diff changeset
27 void initializeGL() override;
12b591d5d63c some Qt integration (wip)
Alain Mazy <alain@mazy.be>
parents: 863
diff changeset
28 void resizeGL(int w, int h) override;
12b591d5d63c some Qt integration (wip)
Alain Mazy <alain@mazy.be>
parents: 863
diff changeset
29 void paintGL() override;
849
8a8cf2991538 Qt sample (work in progress)
Alain Mazy <alain@mazy.be>
parents:
diff changeset
30
879
12b591d5d63c some Qt integration (wip)
Alain Mazy <alain@mazy.be>
parents: 863
diff changeset
31 void mousePressEvent(QMouseEvent* event) override;
849
8a8cf2991538 Qt sample (work in progress)
Alain Mazy <alain@mazy.be>
parents:
diff changeset
32
879
12b591d5d63c some Qt integration (wip)
Alain Mazy <alain@mazy.be>
parents: 863
diff changeset
33 //**** IOpenGLContext overrides
849
8a8cf2991538 Qt sample (work in progress)
Alain Mazy <alain@mazy.be>
parents:
diff changeset
34
879
12b591d5d63c some Qt integration (wip)
Alain Mazy <alain@mazy.be>
parents: 863
diff changeset
35 virtual void MakeCurrent() override;
12b591d5d63c some Qt integration (wip)
Alain Mazy <alain@mazy.be>
parents: 863
diff changeset
36 virtual void SwapBuffer() override {}
849
8a8cf2991538 Qt sample (work in progress)
Alain Mazy <alain@mazy.be>
parents:
diff changeset
37
879
12b591d5d63c some Qt integration (wip)
Alain Mazy <alain@mazy.be>
parents: 863
diff changeset
38 virtual unsigned int GetCanvasWidth() const override
12b591d5d63c some Qt integration (wip)
Alain Mazy <alain@mazy.be>
parents: 863
diff changeset
39 {
12b591d5d63c some Qt integration (wip)
Alain Mazy <alain@mazy.be>
parents: 863
diff changeset
40 return this->width();
12b591d5d63c some Qt integration (wip)
Alain Mazy <alain@mazy.be>
parents: 863
diff changeset
41 }
12b591d5d63c some Qt integration (wip)
Alain Mazy <alain@mazy.be>
parents: 863
diff changeset
42
12b591d5d63c some Qt integration (wip)
Alain Mazy <alain@mazy.be>
parents: 863
diff changeset
43 virtual unsigned int GetCanvasHeight() const override
12b591d5d63c some Qt integration (wip)
Alain Mazy <alain@mazy.be>
parents: 863
diff changeset
44 {
12b591d5d63c some Qt integration (wip)
Alain Mazy <alain@mazy.be>
parents: 863
diff changeset
45 return this->height();
12b591d5d63c some Qt integration (wip)
Alain Mazy <alain@mazy.be>
parents: 863
diff changeset
46 }
849
8a8cf2991538 Qt sample (work in progress)
Alain Mazy <alain@mazy.be>
parents:
diff changeset
47
879
12b591d5d63c some Qt integration (wip)
Alain Mazy <alain@mazy.be>
parents: 863
diff changeset
48 public:
12b591d5d63c some Qt integration (wip)
Alain Mazy <alain@mazy.be>
parents: 863
diff changeset
49 void SetInteractor(boost::shared_ptr<Scene2DInteractor> sceneInteractor)
12b591d5d63c some Qt integration (wip)
Alain Mazy <alain@mazy.be>
parents: 863
diff changeset
50 {
12b591d5d63c some Qt integration (wip)
Alain Mazy <alain@mazy.be>
parents: 863
diff changeset
51 sceneInteractor_ = sceneInteractor;
12b591d5d63c some Qt integration (wip)
Alain Mazy <alain@mazy.be>
parents: 863
diff changeset
52 }
849
8a8cf2991538 Qt sample (work in progress)
Alain Mazy <alain@mazy.be>
parents:
diff changeset
53
879
12b591d5d63c some Qt integration (wip)
Alain Mazy <alain@mazy.be>
parents: 863
diff changeset
54 void SetCompositor(boost::shared_ptr<OrthancStone::OpenGLCompositor> compositor)
12b591d5d63c some Qt integration (wip)
Alain Mazy <alain@mazy.be>
parents: 863
diff changeset
55 {
12b591d5d63c some Qt integration (wip)
Alain Mazy <alain@mazy.be>
parents: 863
diff changeset
56 compositor_ = compositor;
12b591d5d63c some Qt integration (wip)
Alain Mazy <alain@mazy.be>
parents: 863
diff changeset
57 }
849
8a8cf2991538 Qt sample (work in progress)
Alain Mazy <alain@mazy.be>
parents:
diff changeset
58
879
12b591d5d63c some Qt integration (wip)
Alain Mazy <alain@mazy.be>
parents: 863
diff changeset
59 };
12b591d5d63c some Qt integration (wip)
Alain Mazy <alain@mazy.be>
parents: 863
diff changeset
60 }