]> git.tdb.fi Git - libs/gui.git/blob - source/mouse.cpp
dc361252bc988150c97c7aed5c1b8fb71699d70e
[libs/gui.git] / source / mouse.cpp
1 /* $Id$
2
3 This file is part of libmspgbase
4 Copyright © 2007 Mikko Rasa, Mikkosoft Productions
5 Distributed under the LGPL
6 */
7
8 #include "mouse.h"
9
10 namespace Msp {
11 namespace Input {
12
13 Mouse::Mouse(Graphics::Window &w):
14         window(w),
15         axis_scale(0.01)
16 {
17         buttons.resize(3);
18         axes.resize(2);
19
20         window.signal_button_press.connect(sigc::mem_fun(this, &Mouse::button_press));
21         window.signal_button_release.connect(sigc::mem_fun(this, &Mouse::button_release));
22         window.signal_pointer_motion.connect(sigc::mem_fun(this, &Mouse::pointer_motion));
23 }
24
25 void Mouse::button_press(int, int, unsigned btn, unsigned)
26 {
27         set_button_state(btn, true, true);
28 }
29
30 void Mouse::button_release(int, int, unsigned btn, unsigned)
31 {
32         set_button_state(btn, false, true);
33 }
34
35 void Mouse::pointer_motion(int x, int y)
36 {
37         set_axis_value(0, x*axis_scale, true);
38         set_axis_value(1, y*axis_scale, true);
39 }
40
41 } // namespace Input
42 } // namespace Msp