comparison Samples/Qt/QStoneOpenGlWidget.cpp @ 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
1 #include "../../Framework/OpenGL/OpenGLIncludes.h" 1 #include "../../Framework/OpenGL/OpenGLIncludes.h"
2 #include "QStoneOpenGlWidget.h" 2 #include "QStoneOpenGlWidget.h"
3
4 #include <QMouseEvent>
5
6 using namespace OrthancStone;
3 7
4 void QStoneOpenGlWidget::initializeGL() 8 void QStoneOpenGlWidget::initializeGL()
5 { 9 {
6 glewInit(); 10 glewInit();
7 } 11 }
23 compositor_->Refresh(); 27 compositor_->Refresh();
24 } 28 }
25 doneCurrent(); 29 doneCurrent();
26 } 30 }
27 31
32 void ConvertFromPlatform(
33 OrthancStone::GuiAdapterMouseEvent& dest,
34 const QMouseEvent& qtEvent)
35 {
36 dest.targetX = qtEvent.x();
37 dest.targetY = qtEvent.y();
38
39 switch (qtEvent.button())
40 {
41 case Qt::LeftButton: dest.button = OrthancStone::GUIADAPTER_MOUSEBUTTON_LEFT; break;
42 case Qt::MiddleButton: dest.button = OrthancStone::GUIADAPTER_MOUSEBUTTON_MIDDLE; break;
43 case Qt::RightButton: dest.button = OrthancStone::GUIADAPTER_MOUSEBUTTON_RIGHT; break;
44 default:
45 dest.button = OrthancStone::GUIADAPTER_MOUSEBUTTON_LEFT;
46 }
47
48 if (qtEvent.modifiers().testFlag(Qt::ShiftModifier))
49 {
50 dest.shiftKey = true;
51 }
52 if (qtEvent.modifiers().testFlag(Qt::ControlModifier))
53 {
54 dest.ctrlKey = true;
55 }
56 if (qtEvent.modifiers().testFlag(Qt::AltModifier))
57 {
58 dest.altKey = true;
59 }
60
61 }
62
63
64
65 void QStoneOpenGlWidget::mousePressEvent(QMouseEvent* qtEvent)
66 {
67 OrthancStone::GuiAdapterMouseEvent event;
68 ConvertFromPlatform(event, *qtEvent);
69
70 if (sceneInteractor_.get() != NULL)
71 {
72 sceneInteractor_->OnMouseEvent(event);
73 }
74
75
76 // convert
77 //TODO event->
78
79 // sceneInteractor_->OnMouseEvent(event);
80 }
81