MeshLib C++ Docs
Loading...
Searching...
No Matches
MRViewerEventsListener.h
Go to the documentation of this file.
1#pragma once
2
3#include "MRViewerFwd.h"
4#include "MRMesh/MRVector3.h"
5#include "MRMesh/MRSignal.h"
6#include <filesystem>
7#include <vector>
8
9namespace MR
10{
11
13{
14 virtual ~IConnectable() = default;
15 virtual void connect( Viewer* viewer, int group = 0, boost::signals2::connect_position pos = boost::signals2::connect_position::at_back ) = 0;
16 virtual void disconnect() = 0;
17};
18
20{
21 virtual ~ConnectionHolder() = default;
22 virtual void disconnect() { connection_.disconnect(); }
23protected:
24 boost::signals2::scoped_connection connection_;
25};
26
27template<typename ...Connectables>
28struct MultiListener : Connectables...
29{
30 static_assert( ( std::is_base_of_v<IConnectable, Connectables> && ... ),
31 "Base classes must be children of IConnectable" );
32
33 virtual ~MultiListener() = default;
34
35 virtual void connect(
36 [[maybe_unused]] Viewer* viewer, // unused if Connectables is empty
37 [[maybe_unused]] int group = 0,
38 [[maybe_unused]] boost::signals2::connect_position pos = boost::signals2::connect_position::at_back )
39 {
40 ( Connectables::connect( viewer, group, pos ), ... );
41 }
42 virtual void disconnect()
43 {
44 // disconnect in reversed order
45 [[maybe_unused]] int dummy;
46 (void)( dummy = ... = ( Connectables::disconnect(), 0 ) );
47 }
48};
49
50struct MRVIEWER_CLASS MouseDownListener : ConnectionHolder
51{
53 virtual ~MouseDownListener() = default;
54 MRVIEWER_API virtual void connect( Viewer* viewer, int group, boost::signals2::connect_position pos ) override;
55protected:
56 virtual bool onMouseDown_( MouseButton btn, int modifiers ) = 0;
57};
58
59struct MRVIEWER_CLASS MouseUpListener : ConnectionHolder
60{
62 virtual ~MouseUpListener() = default;
63 MRVIEWER_API virtual void connect( Viewer* viewer, int group, boost::signals2::connect_position pos ) override;
64protected:
65 virtual bool onMouseUp_( MouseButton btn, int modifiers ) = 0;
66};
67
68struct MRVIEWER_CLASS MouseMoveListener : ConnectionHolder
69{
71 virtual ~MouseMoveListener() = default;
72 MRVIEWER_API virtual void connect( Viewer* viewer, int group, boost::signals2::connect_position pos ) override;
73protected:
74 virtual bool onMouseMove_( int x, int y ) = 0;
75};
76
78{
80 virtual ~MouseScrollListener() = default;
81 MRVIEWER_API virtual void connect( Viewer* viewer, int group, boost::signals2::connect_position pos ) override;
82protected:
83 virtual bool onMouseScroll_( float delta ) = 0;
84};
85
86struct MRVIEWER_CLASS MouseClickListener : ConnectionHolder
87{
89 virtual ~MouseClickListener() = default;
90 MRVIEWER_API virtual void connect( Viewer* viewer, int group, boost::signals2::connect_position pos ) override;
91protected:
92 virtual bool onMouseClick_( MouseButton btn, int modifiers ) = 0;
93};
94
95struct MRVIEWER_CLASS DragStartListener : ConnectionHolder
96{
98 virtual ~DragStartListener() = default;
99 MRVIEWER_API virtual void connect( Viewer* viewer, int group, boost::signals2::connect_position pos ) override;
100protected:
101 virtual bool onDragStart_( MouseButton btn, int modifiers ) = 0;
102};
103
104struct MRVIEWER_CLASS DragEndListener : ConnectionHolder
105{
107 virtual ~DragEndListener() = default;
108 MRVIEWER_API virtual void connect( Viewer* viewer, int group, boost::signals2::connect_position pos ) override;
109protected:
110 virtual bool onDragEnd_( MouseButton btn, int modifiers ) = 0;
111};
112
113struct MRVIEWER_CLASS DragListener : ConnectionHolder
114{
116 virtual ~DragListener() = default;
117 MRVIEWER_API virtual void connect( Viewer* viewer, int group, boost::signals2::connect_position pos ) override;
118protected:
119 virtual bool onDrag_( int x, int y ) = 0;
120};
121
123{
125 virtual ~CharPressedListener() = default;
126 MRVIEWER_API virtual void connect( Viewer* viewer, int group, boost::signals2::connect_position pos ) override;
127protected:
128 virtual bool onCharPressed_( unsigned charKey, int modifier ) = 0;
129};
130
131struct MRVIEWER_CLASS KeyUpListener : ConnectionHolder
132{
134 virtual ~KeyUpListener() = default;
135 MRVIEWER_API virtual void connect( Viewer* viewer, int group, boost::signals2::connect_position pos ) override;
136protected:
137 virtual bool onKeyUp_( int key, int modifier ) = 0;
138};
139
140struct MRVIEWER_CLASS KeyDownListener : ConnectionHolder
141{
143 virtual ~KeyDownListener() = default;
144 MRVIEWER_API virtual void connect( Viewer* viewer, int group, boost::signals2::connect_position pos ) override;
145protected:
146 virtual bool onKeyDown_( int key, int modifier ) = 0;
147};
148
149struct MRVIEWER_CLASS KeyRepeatListener : ConnectionHolder
150{
152 virtual ~KeyRepeatListener() = default;
153 MRVIEWER_API virtual void connect( Viewer* viewer, int group, boost::signals2::connect_position pos ) override;
154protected:
155 virtual bool onKeyRepeat_( int key, int modifier ) = 0;
156};
157
159{
161 virtual ~PreSetupViewListener() = default;
162 MRVIEWER_API virtual void connect( Viewer* viewer, int group, boost::signals2::connect_position pos ) override;
163protected:
164 virtual void preSetupView_() = 0;
165};
166
167struct MRVIEWER_CLASS PreDrawListener : ConnectionHolder
168{
170 virtual ~PreDrawListener() = default;
171 MRVIEWER_API virtual void connect( Viewer* viewer, int group, boost::signals2::connect_position pos ) override;
172protected:
173 virtual void preDraw_() = 0;
174};
175
176struct MRVIEWER_CLASS DrawListener : ConnectionHolder
177{
179 virtual ~DrawListener() = default;
180 MRVIEWER_API virtual void connect( Viewer* viewer, int group, boost::signals2::connect_position pos ) override;
181protected:
182 virtual void draw_() = 0;
183};
184
185struct MRVIEWER_CLASS PostDrawListener : ConnectionHolder
186{
188 virtual ~PostDrawListener() = default;
189 MRVIEWER_API virtual void connect( Viewer* viewer, int group, boost::signals2::connect_position pos ) override;
190protected:
191 virtual void postDraw_() = 0;
192};
193
194struct MRVIEWER_CLASS DragDropListener : ConnectionHolder
195{
197 virtual ~DragDropListener() = default;
198 MRVIEWER_API virtual void connect( Viewer* viewer, int group, boost::signals2::connect_position pos ) override;
199protected:
200 virtual bool dragDrop_( const std::vector<std::filesystem::path>& paths ) = 0;
201};
202
204{
206 virtual ~DragEntranceListener() = default;
207 MRVIEWER_API virtual void connect( Viewer* viewer, int group, boost::signals2::connect_position pos ) override;
208protected:
209 virtual void dragEntrance_( bool enter ) = 0;
210};
211
212struct MRVIEWER_CLASS DragOverListener : ConnectionHolder
213{
215 virtual ~DragOverListener() = default;
216 MRVIEWER_API virtual void connect( Viewer* viewer, int group, boost::signals2::connect_position pos ) override;
217protected:
218 virtual bool dragOver_( int x, int y ) = 0;
219};
220
222{
224 virtual ~PostResizeListener() = default;
225 MRVIEWER_API virtual void connect( Viewer* viewer, int group, boost::signals2::connect_position pos ) override;
226protected:
227 virtual void postResize_( int w, int h ) = 0;
228};
229
231{
233 virtual ~InterruptCloseListener() = default;
234 MRVIEWER_API virtual void connect( Viewer* viewer, int group, boost::signals2::connect_position pos ) override;
235protected:
236 virtual bool interruptClose_() = 0;
237};
238
240{
242 virtual ~PostRescaleListener() = default;
243 MRVIEWER_API virtual void connect( Viewer* viewer, int group, boost::signals2::connect_position pos ) override;
244protected:
245 virtual void postRescale_( float x, float y ) = 0;
246};
247
249{
251 virtual ~TouchStartListener() = default;
252 MRVIEWER_API virtual void connect( Viewer* viewer, int group, boost::signals2::connect_position pos ) override;
253protected:
254 virtual bool onTouchStart_( int id, int x, int y ) = 0;
255};
256
257struct MRVIEWER_CLASS TouchMoveListener : ConnectionHolder
258{
260 virtual ~TouchMoveListener() = default;
261 MRVIEWER_API virtual void connect( Viewer* viewer, int group, boost::signals2::connect_position pos ) override;
262protected:
263 virtual bool onTouchMove_( int id, int x, int y ) = 0;
264};
265
266struct MRVIEWER_CLASS TouchEndListener : ConnectionHolder
267{
269 virtual ~TouchEndListener() = default;
270 MRVIEWER_API virtual void connect( Viewer* viewer, int group, boost::signals2::connect_position pos ) override;
271protected:
272 virtual bool onTouchEnd_( int id, int x, int y ) = 0;
273};
274
277{
279 virtual ~SpaceMouseMoveListener() = default;
280 MRVIEWER_API virtual void connect( Viewer* viewer, int group, boost::signals2::connect_position pos ) override;
281protected:
282 virtual bool spaceMouseMove_( const Vector3f& translate, const Vector3f& rotate ) = 0;
283};
284
287{
289 virtual ~SpaceMouseDownListener() = default;
290 MRVIEWER_API virtual void connect( Viewer* viewer, int group, boost::signals2::connect_position pos ) override;
291protected:
292 virtual bool spaceMouseDown_( int key ) = 0;
293};
294
297{
299 virtual ~SpaceMouseUpListener() = default;
300 MRVIEWER_API virtual void connect( Viewer* viewer, int group, boost::signals2::connect_position pos ) override;
301protected:
302 virtual bool spaceMouseUp_( int key ) = 0;
303};
304
307{
310 MRVIEWER_API virtual void connect( Viewer* viewer, int group, boost::signals2::connect_position pos ) override;
311protected:
312 virtual bool touchpadRotateGestureBegin_() = 0;
313};
314
317{
320 MRVIEWER_API virtual void connect( Viewer* viewer, int group, boost::signals2::connect_position pos ) override;
321protected:
322 virtual bool touchpadRotateGestureUpdate_( float angle ) = 0;
323};
324
327{
330 MRVIEWER_API virtual void connect( Viewer* viewer, int group, boost::signals2::connect_position pos ) override;
331protected:
332 virtual bool touchpadRotateGestureEnd_() = 0;
333};
334
337{
340 MRVIEWER_API virtual void connect( Viewer* viewer, int group, boost::signals2::connect_position pos ) override;
341protected:
342 virtual bool touchpadSwipeGestureBegin_() = 0;
343};
344
347{
350 MRVIEWER_API virtual void connect( Viewer* viewer, int group, boost::signals2::connect_position pos ) override;
351protected:
352 virtual bool touchpadSwipeGestureUpdate_( float dx, float dy, bool kinetic ) = 0;
353};
354
357{
360 MRVIEWER_API virtual void connect( Viewer* viewer, int group, boost::signals2::connect_position pos ) override;
361protected:
362 virtual bool touchpadSwipeGestureEnd_() = 0;
363};
364
367{
370 MRVIEWER_API virtual void connect( Viewer* viewer, int group, boost::signals2::connect_position pos ) override;
371protected:
372 virtual bool touchpadZoomGestureBegin_() = 0;
373};
374
377{
380 MRVIEWER_API virtual void connect( Viewer* viewer, int group, boost::signals2::connect_position pos ) override;
381protected:
382 virtual bool touchpadZoomGestureUpdate_( float scale, bool kinetic ) = 0;
383};
384
387{
390 MRVIEWER_API virtual void connect( Viewer* viewer, int group, boost::signals2::connect_position pos ) override;
391protected:
392 virtual bool touchpadZoomGestureEnd_() = 0;
393};
394
396struct MRVIEWER_CLASS PostFocusListener : ConnectionHolder
397{
399 virtual ~PostFocusListener() = default;
400 MRVIEWER_API virtual void connect( Viewer* viewer, int group, boost::signals2::connect_position pos ) override;
401protected:
402 virtual void postFocus_( bool focused ) = 0;
403};
404
407{
409 virtual ~CursorEntranceListener() = default;
410 MRVIEWER_API virtual void connect( Viewer* viewer, int group, boost::signals2::connect_position pos ) override;
411protected:
412 virtual void cursorEntrance_( bool enter ) = 0;
413};
414
415}
angle
Definition MRObjectDimensionsEnum.h:13
Definition MRViewer.h:97
Definition MRCameraOrientationPlugin.h:8
MouseButton
Definition MRMouse.h:9
Definition MRViewerEventsListener.h:123
virtual bool onCharPressed_(unsigned charKey, int modifier)=0
virtual MRVIEWER_API void connect(Viewer *viewer, int group, boost::signals2::connect_position pos) override
MR_ADD_CTOR_DELETE_MOVE(CharPressedListener)
virtual ~CharPressedListener()=default
Definition MRViewerEventsListener.h:20
boost::signals2::scoped_connection connection_
Definition MRViewerEventsListener.h:24
virtual ~ConnectionHolder()=default
virtual void disconnect()
Definition MRViewerEventsListener.h:22
class to subscribe on CursorEntranceSingal
Definition MRViewerEventsListener.h:407
virtual MRVIEWER_API void connect(Viewer *viewer, int group, boost::signals2::connect_position pos) override
MR_ADD_CTOR_DELETE_MOVE(CursorEntranceListener)
virtual ~CursorEntranceListener()=default
virtual void cursorEntrance_(bool enter)=0
Definition MRViewerEventsListener.h:195
virtual bool dragDrop_(const std::vector< std::filesystem::path > &paths)=0
virtual MRVIEWER_API void connect(Viewer *viewer, int group, boost::signals2::connect_position pos) override
virtual ~DragDropListener()=default
MR_ADD_CTOR_DELETE_MOVE(DragDropListener)
Definition MRViewerEventsListener.h:105
virtual ~DragEndListener()=default
MR_ADD_CTOR_DELETE_MOVE(DragEndListener)
virtual MRVIEWER_API void connect(Viewer *viewer, int group, boost::signals2::connect_position pos) override
virtual bool onDragEnd_(MouseButton btn, int modifiers)=0
Definition MRViewerEventsListener.h:204
virtual MRVIEWER_API void connect(Viewer *viewer, int group, boost::signals2::connect_position pos) override
virtual void dragEntrance_(bool enter)=0
MR_ADD_CTOR_DELETE_MOVE(DragEntranceListener)
virtual ~DragEntranceListener()=default
Definition MRViewerEventsListener.h:114
MR_ADD_CTOR_DELETE_MOVE(DragListener)
virtual MRVIEWER_API void connect(Viewer *viewer, int group, boost::signals2::connect_position pos) override
virtual ~DragListener()=default
virtual bool onDrag_(int x, int y)=0
Definition MRViewerEventsListener.h:213
MR_ADD_CTOR_DELETE_MOVE(DragOverListener)
virtual ~DragOverListener()=default
virtual MRVIEWER_API void connect(Viewer *viewer, int group, boost::signals2::connect_position pos) override
virtual bool dragOver_(int x, int y)=0
Definition MRViewerEventsListener.h:96
virtual ~DragStartListener()=default
virtual MRVIEWER_API void connect(Viewer *viewer, int group, boost::signals2::connect_position pos) override
MR_ADD_CTOR_DELETE_MOVE(DragStartListener)
virtual bool onDragStart_(MouseButton btn, int modifiers)=0
Definition MRViewerEventsListener.h:177
virtual void draw_()=0
virtual MRVIEWER_API void connect(Viewer *viewer, int group, boost::signals2::connect_position pos) override
MR_ADD_CTOR_DELETE_MOVE(DrawListener)
virtual ~DrawListener()=default
Definition MRViewerEventsListener.h:13
virtual void connect(Viewer *viewer, int group=0, boost::signals2::connect_position pos=boost::signals2::connect_position::at_back)=0
virtual ~IConnectable()=default
virtual void disconnect()=0
Definition MRViewerEventsListener.h:231
virtual MRVIEWER_API void connect(Viewer *viewer, int group, boost::signals2::connect_position pos) override
virtual ~InterruptCloseListener()=default
MR_ADD_CTOR_DELETE_MOVE(InterruptCloseListener)
virtual bool interruptClose_()=0
Definition MRViewerEventsListener.h:141
virtual bool onKeyDown_(int key, int modifier)=0
virtual ~KeyDownListener()=default
virtual MRVIEWER_API void connect(Viewer *viewer, int group, boost::signals2::connect_position pos) override
MR_ADD_CTOR_DELETE_MOVE(KeyDownListener)
Definition MRViewerEventsListener.h:150
virtual bool onKeyRepeat_(int key, int modifier)=0
virtual MRVIEWER_API void connect(Viewer *viewer, int group, boost::signals2::connect_position pos) override
MR_ADD_CTOR_DELETE_MOVE(KeyRepeatListener)
virtual ~KeyRepeatListener()=default
Definition MRViewerEventsListener.h:132
virtual ~KeyUpListener()=default
MR_ADD_CTOR_DELETE_MOVE(KeyUpListener)
virtual MRVIEWER_API void connect(Viewer *viewer, int group, boost::signals2::connect_position pos) override
virtual bool onKeyUp_(int key, int modifier)=0
Definition MRViewerEventsListener.h:87
MR_ADD_CTOR_DELETE_MOVE(MouseClickListener)
virtual ~MouseClickListener()=default
virtual bool onMouseClick_(MouseButton btn, int modifiers)=0
virtual MRVIEWER_API void connect(Viewer *viewer, int group, boost::signals2::connect_position pos) override
Definition MRViewerEventsListener.h:51
virtual ~MouseDownListener()=default
MR_ADD_CTOR_DELETE_MOVE(MouseDownListener)
virtual bool onMouseDown_(MouseButton btn, int modifiers)=0
virtual MRVIEWER_API void connect(Viewer *viewer, int group, boost::signals2::connect_position pos) override
Definition MRViewerEventsListener.h:69
virtual ~MouseMoveListener()=default
virtual bool onMouseMove_(int x, int y)=0
MR_ADD_CTOR_DELETE_MOVE(MouseMoveListener)
virtual MRVIEWER_API void connect(Viewer *viewer, int group, boost::signals2::connect_position pos) override
Definition MRViewerEventsListener.h:78
virtual MRVIEWER_API void connect(Viewer *viewer, int group, boost::signals2::connect_position pos) override
virtual bool onMouseScroll_(float delta)=0
virtual ~MouseScrollListener()=default
MR_ADD_CTOR_DELETE_MOVE(MouseScrollListener)
Definition MRViewerEventsListener.h:60
virtual MRVIEWER_API void connect(Viewer *viewer, int group, boost::signals2::connect_position pos) override
MR_ADD_CTOR_DELETE_MOVE(MouseUpListener)
virtual bool onMouseUp_(MouseButton btn, int modifiers)=0
virtual ~MouseUpListener()=default
Definition MRViewerEventsListener.h:29
virtual ~MultiListener()=default
virtual void disconnect()
Definition MRViewerEventsListener.h:42
virtual void connect(Viewer *viewer, int group=0, boost::signals2::connect_position pos=boost::signals2::connect_position::at_back)
Definition MRViewerEventsListener.h:35
Definition MRViewerEventsListener.h:186
virtual void postDraw_()=0
virtual MRVIEWER_API void connect(Viewer *viewer, int group, boost::signals2::connect_position pos) override
virtual ~PostDrawListener()=default
MR_ADD_CTOR_DELETE_MOVE(PostDrawListener)
class to subscribe on PostFocusSingal
Definition MRViewerEventsListener.h:397
virtual void postFocus_(bool focused)=0
MR_ADD_CTOR_DELETE_MOVE(PostFocusListener)
virtual ~PostFocusListener()=default
virtual MRVIEWER_API void connect(Viewer *viewer, int group, boost::signals2::connect_position pos) override
Definition MRViewerEventsListener.h:240
virtual MRVIEWER_API void connect(Viewer *viewer, int group, boost::signals2::connect_position pos) override
virtual void postRescale_(float x, float y)=0
virtual ~PostRescaleListener()=default
MR_ADD_CTOR_DELETE_MOVE(PostRescaleListener)
Definition MRViewerEventsListener.h:222
virtual MRVIEWER_API void connect(Viewer *viewer, int group, boost::signals2::connect_position pos) override
MR_ADD_CTOR_DELETE_MOVE(PostResizeListener)
virtual ~PostResizeListener()=default
virtual void postResize_(int w, int h)=0
Definition MRViewerEventsListener.h:168
virtual ~PreDrawListener()=default
virtual void preDraw_()=0
virtual MRVIEWER_API void connect(Viewer *viewer, int group, boost::signals2::connect_position pos) override
MR_ADD_CTOR_DELETE_MOVE(PreDrawListener)
Definition MRViewerEventsListener.h:159
MR_ADD_CTOR_DELETE_MOVE(PreSetupViewListener)
virtual void preSetupView_()=0
virtual ~PreSetupViewListener()=default
virtual MRVIEWER_API void connect(Viewer *viewer, int group, boost::signals2::connect_position pos) override
class to subscribe on SpaceMouseDownSgnal
Definition MRViewerEventsListener.h:287
virtual ~SpaceMouseDownListener()=default
virtual bool spaceMouseDown_(int key)=0
virtual MRVIEWER_API void connect(Viewer *viewer, int group, boost::signals2::connect_position pos) override
MR_ADD_CTOR_DELETE_MOVE(SpaceMouseDownListener)
class to subscribe on SpaceMouseMoveSignal
Definition MRViewerEventsListener.h:277
MR_ADD_CTOR_DELETE_MOVE(SpaceMouseMoveListener)
virtual MRVIEWER_API void connect(Viewer *viewer, int group, boost::signals2::connect_position pos) override
virtual bool spaceMouseMove_(const Vector3f &translate, const Vector3f &rotate)=0
virtual ~SpaceMouseMoveListener()=default
class to subscribe on SpaceMouseUpSignal
Definition MRViewerEventsListener.h:297
virtual ~SpaceMouseUpListener()=default
virtual MRVIEWER_API void connect(Viewer *viewer, int group, boost::signals2::connect_position pos) override
MR_ADD_CTOR_DELETE_MOVE(SpaceMouseUpListener)
virtual bool spaceMouseUp_(int key)=0
Definition MRViewerEventsListener.h:267
virtual bool onTouchEnd_(int id, int x, int y)=0
virtual ~TouchEndListener()=default
virtual MRVIEWER_API void connect(Viewer *viewer, int group, boost::signals2::connect_position pos) override
MR_ADD_CTOR_DELETE_MOVE(TouchEndListener)
Definition MRViewerEventsListener.h:258
virtual bool onTouchMove_(int id, int x, int y)=0
MR_ADD_CTOR_DELETE_MOVE(TouchMoveListener)
virtual MRVIEWER_API void connect(Viewer *viewer, int group, boost::signals2::connect_position pos) override
virtual ~TouchMoveListener()=default
Definition MRViewerEventsListener.h:249
virtual MRVIEWER_API void connect(Viewer *viewer, int group, boost::signals2::connect_position pos) override
virtual bool onTouchStart_(int id, int x, int y)=0
MR_ADD_CTOR_DELETE_MOVE(TouchStartListener)
virtual ~TouchStartListener()=default
class to subscribe on TouchpadRotateGestureBeginEvent
Definition MRViewerEventsListener.h:307
virtual MRVIEWER_API void connect(Viewer *viewer, int group, boost::signals2::connect_position pos) override
virtual ~TouchpadRotateGestureBeginListener()=default
MR_ADD_CTOR_DELETE_MOVE(TouchpadRotateGestureBeginListener)
class to subscribe on TouchpadRotateGestureEndEvent
Definition MRViewerEventsListener.h:327
virtual ~TouchpadRotateGestureEndListener()=default
MR_ADD_CTOR_DELETE_MOVE(TouchpadRotateGestureEndListener)
virtual bool touchpadRotateGestureEnd_()=0
virtual MRVIEWER_API void connect(Viewer *viewer, int group, boost::signals2::connect_position pos) override
class to subscribe on TouchpadRotateGestureUpdateEvent
Definition MRViewerEventsListener.h:317
virtual MRVIEWER_API void connect(Viewer *viewer, int group, boost::signals2::connect_position pos) override
virtual bool touchpadRotateGestureUpdate_(float angle)=0
MR_ADD_CTOR_DELETE_MOVE(TouchpadRotateGestureUpdateListener)
virtual ~TouchpadRotateGestureUpdateListener()=default
class to subscribe on TouchpadSwipeGestureBeginEvent
Definition MRViewerEventsListener.h:337
virtual ~TouchpadSwipeGestureBeginListener()=default
MR_ADD_CTOR_DELETE_MOVE(TouchpadSwipeGestureBeginListener)
virtual MRVIEWER_API void connect(Viewer *viewer, int group, boost::signals2::connect_position pos) override
class to subscribe on TouchpadSwipeGestureEndEvent
Definition MRViewerEventsListener.h:357
virtual bool touchpadSwipeGestureEnd_()=0
virtual MRVIEWER_API void connect(Viewer *viewer, int group, boost::signals2::connect_position pos) override
MR_ADD_CTOR_DELETE_MOVE(TouchpadSwipeGestureEndListener)
virtual ~TouchpadSwipeGestureEndListener()=default
class to subscribe on TouchpadSwipeGestureUpdateEvent
Definition MRViewerEventsListener.h:347
virtual ~TouchpadSwipeGestureUpdateListener()=default
MR_ADD_CTOR_DELETE_MOVE(TouchpadSwipeGestureUpdateListener)
virtual MRVIEWER_API void connect(Viewer *viewer, int group, boost::signals2::connect_position pos) override
virtual bool touchpadSwipeGestureUpdate_(float dx, float dy, bool kinetic)=0
class to subscribe on TouchpadZoomGestureBeginEvent
Definition MRViewerEventsListener.h:367
virtual ~TouchpadZoomGestureBeginListener()=default
virtual bool touchpadZoomGestureBegin_()=0
MR_ADD_CTOR_DELETE_MOVE(TouchpadZoomGestureBeginListener)
virtual MRVIEWER_API void connect(Viewer *viewer, int group, boost::signals2::connect_position pos) override
class to subscribe on TouchpadZoomGestureEndEvent
Definition MRViewerEventsListener.h:387
virtual MRVIEWER_API void connect(Viewer *viewer, int group, boost::signals2::connect_position pos) override
MR_ADD_CTOR_DELETE_MOVE(TouchpadZoomGestureEndListener)
virtual ~TouchpadZoomGestureEndListener()=default
virtual bool touchpadZoomGestureEnd_()=0
class to subscribe on TouchpadZoomGestureUpdateEvent
Definition MRViewerEventsListener.h:377
virtual MRVIEWER_API void connect(Viewer *viewer, int group, boost::signals2::connect_position pos) override
virtual ~TouchpadZoomGestureUpdateListener()=default
MR_ADD_CTOR_DELETE_MOVE(TouchpadZoomGestureUpdateListener)
virtual bool touchpadZoomGestureUpdate_(float scale, bool kinetic)=0