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