1 #include <msp/strings/format.h>
7 Mouse::Mouse(Graphics::EventSource &s):
15 source.signal_button_press.connect(sigc::mem_fun(this, &Mouse::button_press));
16 source.signal_button_release.connect(sigc::mem_fun(this, &Mouse::button_release));
17 source.signal_pointer_motion.connect(sigc::mem_fun(this, &Mouse::pointer_motion));
20 std::string Mouse::get_button_name(unsigned btn) const
35 return format("Button %d", btn);
39 std::string Mouse::get_axis_name(unsigned axis) const
48 return format("Axis %d", axis);
52 void Mouse::button_press(int, int, unsigned btn, unsigned)
54 set_button_state(btn, true, true);
57 void Mouse::button_release(int, int, unsigned btn, unsigned)
59 set_button_state(btn, false, true);
62 void Mouse::pointer_motion(int x, int y)
64 set_axis_value(0, x*2.0f/source.get_width()-1.0f, true);
65 set_axis_value(1, 1.0f-y*2.0f/source.get_height(), true);