diff options
| -rw-r--r-- | Cursor.cpp | 20 | ||||
| -rw-r--r-- | Cursor.h | 9 |
2 files changed, 24 insertions, 5 deletions
@@ -3,6 +3,7 @@ * ******************************************************************/ #include "Cursor.h" +#include "Camera.h" #include <stdint.h> /* ******************************************************************* @@ -37,9 +38,10 @@ * \brief Constructor for Cursor class. * *********************************************************************/ -Cursor::Cursor(void) : +Cursor::Cursor(const Camera& c) : _x(CURSOR_DEFAULT_X), -_y(CURSOR_DEFAULT_Y) +_y(CURSOR_DEFAULT_Y), +_cam(c) { } @@ -73,6 +75,16 @@ void Cursor::move(const int8_t x, const int8_t y) } } +uint8_t Cursor::getScreenX(void) +{ + return _x; +} + +uint8_t Cursor::getScreenY(void) +{ + return _y; +} + /*****************************************************************//** * * \brief This function simply returns cursor X position. @@ -82,7 +94,7 @@ void Cursor::move(const int8_t x, const int8_t y) *********************************************************************/ uint8_t Cursor::getX(void) { - return _x; + return _cam.getRealX(_x); } /*****************************************************************//** @@ -94,7 +106,7 @@ uint8_t Cursor::getX(void) *********************************************************************/ uint8_t Cursor::getY(void) { - return _y; + return _cam.getRealY(_y); } /*****************************************************************//** @@ -5,6 +5,7 @@ * Includes * ******************************************************************/ +#include "Camera.h" #include <stdbool.h> #include <stdint.h> @@ -16,6 +17,9 @@ * Global types definition * ******************************************************************/ +/* Forward declaration. */ +class Camera; + /* ******************************************************************* * Global variables declaration * ******************************************************************/ @@ -31,16 +35,19 @@ class Cursor { public: - explicit Cursor(void); + explicit Cursor(const Camera& c); void move(const int8_t x = 0, const int8_t y = 0); uint8_t getX(void); uint8_t getY(void); + uint8_t getScreenX(void); + uint8_t getScreenY(void); bool isXCentered(void); bool isYCentered(void); private: uint8_t _x; uint8_t _y; + const Camera& _cam; }; #endif /* CURSOR_H__ */ |
