comparison Framework/Viewport/IViewport.h @ 457:3b4df9925db6 am-touch-events

added support for 'touch' in mouse trackers. This is still a bit hacky and we need to refactor it to make it clean. Thanks to that, Pan and zoom are available together with 2 touches
author Alain Mazy <alain@mazy.be>
date Thu, 24 Jan 2019 16:42:27 +0100
parents b70e9be013e4
children 42dadae61fa9
comparison
equal deleted inserted replaced
456:b70fcc134ba4 457:3b4df9925db6
24 #include "IStatusBar.h" 24 #include "IStatusBar.h"
25 #include "../StoneEnumerations.h" 25 #include "../StoneEnumerations.h"
26 #include "../Messages/IObservable.h" 26 #include "../Messages/IObservable.h"
27 27
28 #include <Core/Images/ImageAccessor.h> 28 #include <Core/Images/ImageAccessor.h>
29 #include "../Viewport/IMouseTracker.h" // only to get the "Touch" definition
29 30
30 namespace OrthancStone 31 namespace OrthancStone
31 { 32 {
32 class IWidget; // Forward declaration 33 class IWidget; // Forward declaration
33 34
56 virtual bool Render(Orthanc::ImageAccessor& surface) = 0; 57 virtual bool Render(Orthanc::ImageAccessor& surface) = 0;
57 58
58 virtual void MouseDown(MouseButton button, 59 virtual void MouseDown(MouseButton button,
59 int x, 60 int x,
60 int y, 61 int y,
61 KeyboardModifiers modifiers) = 0; 62 KeyboardModifiers modifiers,
63 const std::vector<Touch>& touches) = 0;
62 64
63 virtual void MouseUp() = 0; 65 virtual void MouseUp() = 0;
64 66
65 virtual void MouseMove(int x, 67 virtual void MouseMove(int x,
66 int y) = 0; 68 int y,
69 const std::vector<Touch>& displayTouches) = 0;
67 70
68 virtual void MouseEnter() = 0; 71 virtual void MouseEnter() = 0;
69 72
70 virtual void MouseLeave() = 0; 73 virtual void MouseLeave() = 0;
71 74