comparison Framework/Widgets/IWorldSceneInteractor.h @ 327:8716176ff7f0 am-2

added support for arrow keys
author am@osimis.io
date Tue, 16 Oct 2018 15:25:21 +0200
parents 300d8b8c48b3
children 885f0a5eaa49
comparison
equal deleted inserted replaced
326:612238b3f3e8 327:8716176ff7f0
11 * 11 *
12 * This program is distributed in the hope that it will be useful, but 12 * This program is distributed in the hope that it will be useful, but
13 * WITHOUT ANY WARRANTY; without even the implied warranty of 13 * WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 * Affero General Public License for more details. 15 * Affero General Public License for more details.
16 * 16 *
17 * You should have received a copy of the GNU Affero General Public License 17 * You should have received a copy of the GNU Affero General Public License
18 * along with this program. If not, see <http://www.gnu.org/licenses/>. 18 * along with this program. If not, see <http://www.gnu.org/licenses/>.
19 **/ 19 **/
20 20
21 21
27 #include "../StoneEnumerations.h" 27 #include "../StoneEnumerations.h"
28 #include "../Viewport/IStatusBar.h" 28 #include "../Viewport/IStatusBar.h"
29 29
30 namespace OrthancStone 30 namespace OrthancStone
31 { 31 {
32 class WorldSceneWidget; 32 class WorldSceneWidget;
33 33
34 class IWorldSceneInteractor : public boost::noncopyable 34 class IWorldSceneInteractor : public boost::noncopyable
35 {
36 public:
37 virtual ~IWorldSceneInteractor()
38 { 35 {
39 } 36 public:
40 37 virtual ~IWorldSceneInteractor()
41 virtual IWorldSceneMouseTracker* CreateMouseTracker(WorldSceneWidget& widget, 38 {
42 const ViewportGeometry& view, 39 }
43 MouseButton button,
44 KeyboardModifiers modifiers,
45 double x,
46 double y,
47 IStatusBar* statusBar) = 0;
48 40
49 virtual void MouseOver(CairoContext& context, 41 virtual IWorldSceneMouseTracker* CreateMouseTracker(WorldSceneWidget& widget,
50 WorldSceneWidget& widget, 42 const ViewportGeometry& view,
51 const ViewportGeometry& view, 43 MouseButton button,
52 double x, 44 KeyboardModifiers modifiers,
53 double y, 45 double x,
54 IStatusBar* statusBar) = 0; 46 double y,
47 IStatusBar* statusBar) = 0;
55 48
56 virtual void MouseWheel(WorldSceneWidget& widget, 49 virtual void MouseOver(CairoContext& context,
57 MouseWheelDirection direction, 50 WorldSceneWidget& widget,
58 KeyboardModifiers modifiers, 51 const ViewportGeometry& view,
59 IStatusBar* statusBar) = 0; 52 double x,
53 double y,
54 IStatusBar* statusBar) = 0;
60 55
61 virtual void KeyPressed(WorldSceneWidget& widget, 56 virtual void MouseWheel(WorldSceneWidget& widget,
62 char key, 57 MouseWheelDirection direction,
63 KeyboardModifiers modifiers, 58 KeyboardModifiers modifiers,
64 IStatusBar* statusBar) = 0; 59 IStatusBar* statusBar) = 0;
65 }; 60
61 virtual void KeyPressed(WorldSceneWidget& widget,
62 KeyboardKeys key,
63 char keyChar,
64 KeyboardModifiers modifiers,
65 IStatusBar* statusBar) = 0;
66 };
66 } 67 }