X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Finput%2Fmouse.cpp;h=e379576363a3d29bff734fcf341036334e89c035;hb=27356249e3607c78f5da9823c88703a6f4f7bed1;hp=931b204f8a2655805f18509259ffc5c3781587ea;hpb=999ca92aa9ee10585c0b2094d84364159253982f;p=libs%2Fgui.git diff --git a/source/input/mouse.cpp b/source/input/mouse.cpp index 931b204..e379576 100644 --- a/source/input/mouse.cpp +++ b/source/input/mouse.cpp @@ -1,63 +1,52 @@ -/* $Id$ - -This file is part of libmspgbase -Copyright © 2007 Mikko Rasa, Mikkosoft Productions -Distributed under the LGPL -*/ - -#include #include "mouse.h" +#include +#include "keys.h" namespace Msp { namespace Input { Mouse::Mouse(Graphics::Window &w): - window(w), - axis_scale(0.01) + Device(MOUSE), + window(w) { - name="Mouse"; + name = "Mouse"; buttons.resize(3); axes.resize(2); - window.signal_button_press.connect(sigc::mem_fun(this, &Mouse::button_press)); - window.signal_button_release.connect(sigc::mem_fun(this, &Mouse::button_release)); - window.signal_pointer_motion.connect(sigc::mem_fun(this, &Mouse::pointer_motion)); + window.signal_input_event.connect(sigc::mem_fun(this, &Mouse::input_event)); } std::string Mouse::get_button_name(unsigned btn) const { switch(btn) { - case 1: + case MOUSE_LEFT: return "Left"; - case 2: + case MOUSE_MIDDLE: return "Middle"; - case 3: + case MOUSE_RIGHT: return "Right"; - case 4: + case MOUSE_WHEEL_UP: return "Wheel Up"; - case 5: + case MOUSE_WHEEL_DOWN: return "Wheel Down"; default: - return format("Button %d", btn); + return Device::get_button_name(btn); } } -void Mouse::button_press(int, int, unsigned btn, unsigned) -{ - set_button_state(btn, true, true); -} - -void Mouse::button_release(int, int, unsigned btn, unsigned) +std::string Mouse::get_axis_name(unsigned axis) const { - set_button_state(btn, false, true); -} - -void Mouse::pointer_motion(int x, int y) -{ - set_axis_value(0, x*axis_scale, true); - set_axis_value(1, y*axis_scale, true); + switch(axis) + { + case MOUSE_X_AXIS: + return "X axis"; + case MOUSE_Y_AXIS: + return "Y axis"; + default: + return Device::get_axis_name(axis); + }; } } // namespace Input