]> git.tdb.fi Git - libs/gui.git/blob - source/mouse.cpp
Initial revision
[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 #include "window.h"
10
11 namespace Msp {
12 namespace Input {
13
14 Mouse::Mouse(Window &w):
15         window(w),
16         axis_scale(0.01)
17 {
18         buttons.resize(3);
19         axes.resize(2);
20
21         window.signal_button_press.connect(sigc::mem_fun(this, &Mouse::button_press));
22         window.signal_button_release.connect(sigc::mem_fun(this, &Mouse::button_release));
23         window.signal_pointer_motion.connect(sigc::mem_fun(this, &Mouse::pointer_motion));
24 }
25
26 void Mouse::button_press(int, int, unsigned btn, unsigned)
27 {
28         set_button_state(btn, true, true);
29 }
30
31 void Mouse::button_release(int, int, unsigned btn, unsigned)
32 {
33         set_button_state(btn, false, true);
34 }
35
36 void Mouse::pointer_motion(int x, int y)
37 {
38         set_axis_value(0, x*axis_scale, true);
39         set_axis_value(1, y*axis_scale, true);
40 }
41
42 } // namespace Input
43 } // namespace Msp