849
|
1 #pragma once
|
|
2 #include "../../Framework/OpenGL/OpenGLIncludes.h"
|
|
3 #include <QOpenGLWidget>
|
|
4 #include <QOpenGLFunctions>
|
|
5
|
|
6 #include <boost/shared_ptr.hpp>
|
|
7 #include "../../Framework/OpenGL/IOpenGLContext.h"
|
|
8 #include "../../Framework/Scene2D/OpenGLCompositor.h"
|
|
9
|
|
10
|
|
11 class QStoneOpenGlWidget : public QOpenGLWidget, public OrthancStone::OpenGL::IOpenGLContext
|
|
12 {
|
|
13 boost::shared_ptr<OrthancStone::OpenGLCompositor> compositor_;
|
|
14
|
|
15 public:
|
|
16 QStoneOpenGlWidget(QWidget *parent) : QOpenGLWidget(parent) { }
|
|
17
|
|
18 protected:
|
|
19 void initializeGL() override;
|
|
20
|
|
21 void resizeGL(int w, int h) override;
|
|
22
|
|
23 void paintGL() override;
|
|
24
|
|
25 virtual void MakeCurrent() override {}
|
|
26
|
|
27 virtual void SwapBuffer() override {}
|
|
28
|
|
29 virtual unsigned int GetCanvasWidth() const override
|
|
30 {
|
|
31 return this->width();
|
|
32 }
|
|
33
|
|
34 virtual unsigned int GetCanvasHeight() const override
|
|
35 {
|
|
36 return this->height();
|
|
37 }
|
|
38
|
|
39 public:
|
|
40 void SetCompositor(boost::shared_ptr<OrthancStone::OpenGLCompositor> compositor)
|
|
41 {
|
|
42 compositor_ = compositor;
|
|
43 }
|
|
44
|
|
45 };
|