From 48bc8dd33e38de832d4c23dbc3c4d45d03f9a55d Mon Sep 17 00:00:00 2001 From: Alexander Sulfrian Date: Fri, 23 Nov 2012 20:45:06 +0100 Subject: menu: mouse events now take points, not the single coords --- src/menu/event_manager.cpp | 6 +++--- src/menu/event_manager.hpp | 8 +++++--- src/menu/software_mouse_pointer.cpp | 14 +++++++------- src/menu/software_mouse_pointer.hpp | 6 +++--- 4 files changed, 18 insertions(+), 16 deletions(-) diff --git a/src/menu/event_manager.cpp b/src/menu/event_manager.cpp index cb15352a..5b2e49df 100644 --- a/src/menu/event_manager.cpp +++ b/src/menu/event_manager.cpp @@ -102,15 +102,15 @@ namespace usdx break; case SDL_MOUSEMOTION: - mouse_move(event.motion.x, event.motion.y); + mouse_move(Point(event.motion.x, event.motion.y)); break; case SDL_MOUSEBUTTONDOWN: - mouse_down(event.button.button, event.button.x, event.button.y); + mouse_down(event.button.button, Point(event.button.x, event.button.y)); break; case SDL_MOUSEBUTTONUP: - mouse_up(event.button.button, event.button.x, event.button.y); + mouse_up(event.button.button, Point(event.button.x, event.button.y)); } } } diff --git a/src/menu/event_manager.hpp b/src/menu/event_manager.hpp index 7c2738d1..5f02e66d 100644 --- a/src/menu/event_manager.hpp +++ b/src/menu/event_manager.hpp @@ -38,6 +38,8 @@ #include +#include "utils/point.hpp" + namespace usdx { /** @@ -122,9 +124,9 @@ namespace usdx bool available(void); - boost::signals2::signal mouse_move; - boost::signals2::signal mouse_down; - boost::signals2::signal mouse_up; + boost::signals2::signal&)> mouse_move; + boost::signals2::signal&)> mouse_down; + boost::signals2::signal&)> mouse_up; }; }; diff --git a/src/menu/software_mouse_pointer.cpp b/src/menu/software_mouse_pointer.cpp index d5be92d1..c99f4315 100644 --- a/src/menu/software_mouse_pointer.cpp +++ b/src/menu/software_mouse_pointer.cpp @@ -50,11 +50,11 @@ namespace usdx texture_pressed = new Disposer(new Texture("game/themes/Deluxe/interface/cursor_pressed.png")); mouse_move_connection = event_manager->mouse_move.connect( - boost::bind(&SoftwareMousePointer::on_mouse_move, this, _1, _2)); + boost::bind(&SoftwareMousePointer::on_mouse_move, this, _1)); mouse_down_connection = event_manager->mouse_down.connect( - boost::bind(&SoftwareMousePointer::on_mouse_down, this, _1, _2, _3)); + boost::bind(&SoftwareMousePointer::on_mouse_down, this, _1, _2)); mouse_up_connection = event_manager->mouse_up.connect( - boost::bind(&SoftwareMousePointer::on_mouse_up, this, _1, _2, _3)); + boost::bind(&SoftwareMousePointer::on_mouse_up, this, _1, _2)); } SoftwareMousePointer::~SoftwareMousePointer() @@ -122,13 +122,13 @@ namespace usdx } } - void SoftwareMousePointer::on_mouse_move(uint16_t x, uint16_t y) + void SoftwareMousePointer::on_mouse_move(const Point& p) { - set_position(x, y); + set_position(p.get_x(), p.get_y()); update(); } - void SoftwareMousePointer::on_mouse_down(uint8_t button, uint16_t x, uint16_t y) + void SoftwareMousePointer::on_mouse_down(uint8_t button, const Point& p) { if (button == 1) { boost::unique_lock lock(down_mutex); @@ -138,7 +138,7 @@ namespace usdx update(); } - void SoftwareMousePointer::on_mouse_up(uint8_t button, uint16_t x, uint16_t y) + void SoftwareMousePointer::on_mouse_up(uint8_t button, const Point& p) { if (button == 1) { boost::unique_lock lock(down_mutex); diff --git a/src/menu/software_mouse_pointer.hpp b/src/menu/software_mouse_pointer.hpp index 797236ff..91ba294b 100644 --- a/src/menu/software_mouse_pointer.hpp +++ b/src/menu/software_mouse_pointer.hpp @@ -68,9 +68,9 @@ namespace usdx SoftwareMousePointer(Container* parent, EventManager* event_manager); virtual ~SoftwareMousePointer(); - void on_mouse_move(uint16_t x, uint16_t y); - void on_mouse_down(uint8_t button, uint16_t x, uint16_t y); - void on_mouse_up(uint8_t button, uint16_t x, uint16_t y); + void on_mouse_move(const Point& p); + void on_mouse_down(uint8_t button, const Point& p); + void on_mouse_up(uint8_t button, const Point& p); bool is_down(void) const; }; -- cgit v1.2.3