#include <msp/graphics/window.h>
-#include <msp/graphics/window_priv.h>
-#include <msp/strings/format.h>
#include "mouse.h"
namespace Msp {
case 5:
return "Wheel Down";
default:
- return format("Button %d", btn);
+ return Device::get_button_name(btn);
}
}
case 1:
return "Y axis";
default:
- return format("Axis %d", axis);
+ return Device::get_axis_name(axis);
};
}
-void Mouse::input_event(const Graphics::Window::Event &event)
-{
-#ifdef WIN32
- switch(event.msg)
- {
- case WM_LBUTTONDOWN:
- case WM_LBUTTONUP:
- set_button_state(1, event.msg==WM_LBUTTONDOWN, true);
- break;
- case WM_MBUTTONDOWN:
- case WM_MBUTTONUP:
- set_button_state(2, event.msg==WM_LBUTTONDOWN, true);
- break;
- case WM_RBUTTONDOWN:
- case WM_RBUTTONUP:
- set_button_state(3, event.msg==WM_LBUTTONDOWN, true);
- break;
- case WM_MOUSEWHEEL:
- {
- unsigned btn = (HIWORD(wp)&0x8000) ? 5 : 4;
- set_button_state(btn, true, true);
- set_button_state(btn, false, true);
- }
- break;
- case WM_MOUSEMOVE:
- set_axis_value(0, GET_X_LPARAM(event.lparam)*2.0/window.get_width()-1.0, true);
- set_axis_value(1, 1.0-GET_Y_LPARAM(event.lparam)*2.0/window.get_height(), true);
- break;
- }
-#else
- switch(event.xevent.type)
- {
- case ButtonPress:
- case ButtonRelease:
- set_button_state(event.xevent.xbutton.button, event.xevent.type==ButtonPress, true);
- break;
- case MotionNotify:
- set_axis_value(0, event.xevent.xmotion.x*2.0/window.get_width()-1.0, true);
- set_axis_value(1, 1.0-event.xevent.xmotion.y*2.0/window.get_height(), true);
- break;
- }
-#endif
-}
-
} // namespace Input
} // namespace Msp