Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
manager/EAHitBox.h@3:24fbf4dbd7e5, 2010-03-31 (annotated)
- Committer:
- richardparker
- Date:
- Wed Mar 31 22:22:21 2010 +0000
- Revision:
- 3:24fbf4dbd7e5
- Parent:
- 1:f04bcaea1d60
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
richardparker | 1:f04bcaea1d60 | 1 | // Copyright 2010 Richard Parker |
richardparker | 1:f04bcaea1d60 | 2 | |
richardparker | 1:f04bcaea1d60 | 3 | #ifndef MBED_EAHITBOX_H |
richardparker | 1:f04bcaea1d60 | 4 | #define MBED_EAHITBOX_H |
richardparker | 1:f04bcaea1d60 | 5 | |
richardparker | 1:f04bcaea1d60 | 6 | #include "mbed.h" |
richardparker | 1:f04bcaea1d60 | 7 | |
richardparker | 1:f04bcaea1d60 | 8 | #include "../widgets/EAWidget.h" |
richardparker | 1:f04bcaea1d60 | 9 | |
richardparker | 1:f04bcaea1d60 | 10 | class EAHitBox; |
richardparker | 3:24fbf4dbd7e5 | 11 | class EAHitHandler; |
richardparker | 1:f04bcaea1d60 | 12 | |
richardparker | 1:f04bcaea1d60 | 13 | /** |
richardparker | 1:f04bcaea1d60 | 14 | * Class to handle detection of a hit in an area of the screen. |
richardparker | 1:f04bcaea1d60 | 15 | * @author Richard Parker |
richardparker | 1:f04bcaea1d60 | 16 | */ |
richardparker | 1:f04bcaea1d60 | 17 | class EAHitBox |
richardparker | 1:f04bcaea1d60 | 18 | { |
richardparker | 1:f04bcaea1d60 | 19 | public: |
richardparker | 1:f04bcaea1d60 | 20 | typedef void (*ActionFunction)(EAHitBox*, short, short) ; |
richardparker | 1:f04bcaea1d60 | 21 | |
richardparker | 1:f04bcaea1d60 | 22 | EAHitBox(); |
richardparker | 1:f04bcaea1d60 | 23 | |
richardparker | 1:f04bcaea1d60 | 24 | ~EAHitBox(); |
richardparker | 1:f04bcaea1d60 | 25 | |
richardparker | 1:f04bcaea1d60 | 26 | inline unsigned short width() const { return _width; } |
richardparker | 1:f04bcaea1d60 | 27 | inline unsigned short height() const { return _height; } |
richardparker | 1:f04bcaea1d60 | 28 | |
richardparker | 1:f04bcaea1d60 | 29 | inline void setWidth(unsigned int w) { _width = w; } |
richardparker | 1:f04bcaea1d60 | 30 | inline void setHeight(unsigned int h) { _height = h; } |
richardparker | 1:f04bcaea1d60 | 31 | |
richardparker | 1:f04bcaea1d60 | 32 | inline unsigned short x() const { return _x; } |
richardparker | 1:f04bcaea1d60 | 33 | inline unsigned short y() const { return _y; } |
richardparker | 1:f04bcaea1d60 | 34 | |
richardparker | 1:f04bcaea1d60 | 35 | inline void setX(short x) { _x = x; } |
richardparker | 1:f04bcaea1d60 | 36 | inline void setY(short y) { _y = y; } |
richardparker | 1:f04bcaea1d60 | 37 | |
richardparker | 1:f04bcaea1d60 | 38 | inline EAHitBox* next() const { return _next; } |
richardparker | 1:f04bcaea1d60 | 39 | inline void setNext(EAHitBox* value) { _next = value; } |
richardparker | 1:f04bcaea1d60 | 40 | |
richardparker | 1:f04bcaea1d60 | 41 | bool checkContains(short x, short y); |
richardparker | 1:f04bcaea1d60 | 42 | |
richardparker | 1:f04bcaea1d60 | 43 | inline void setAction(EAHitBox::ActionFunction action) { _action = action; } |
richardparker | 1:f04bcaea1d60 | 44 | |
richardparker | 3:24fbf4dbd7e5 | 45 | inline EAHitHandler* handler() const { return _handler; } |
richardparker | 3:24fbf4dbd7e5 | 46 | inline void setHandler(EAHitHandler* value) { _handler = value; } |
richardparker | 3:24fbf4dbd7e5 | 47 | |
richardparker | 3:24fbf4dbd7e5 | 48 | inline bool enabled() { return _enabled; } |
richardparker | 3:24fbf4dbd7e5 | 49 | inline void setEnabled(bool yes) { _enabled = yes; } |
richardparker | 1:f04bcaea1d60 | 50 | |
richardparker | 1:f04bcaea1d60 | 51 | private: |
richardparker | 1:f04bcaea1d60 | 52 | EAHitBox* _next; |
richardparker | 1:f04bcaea1d60 | 53 | |
richardparker | 3:24fbf4dbd7e5 | 54 | EAHitHandler* _handler; |
richardparker | 1:f04bcaea1d60 | 55 | |
richardparker | 1:f04bcaea1d60 | 56 | unsigned short _width; |
richardparker | 1:f04bcaea1d60 | 57 | unsigned short _height; |
richardparker | 1:f04bcaea1d60 | 58 | |
richardparker | 1:f04bcaea1d60 | 59 | short _x; |
richardparker | 1:f04bcaea1d60 | 60 | short _y; |
richardparker | 1:f04bcaea1d60 | 61 | |
richardparker | 3:24fbf4dbd7e5 | 62 | bool _enabled; |
richardparker | 3:24fbf4dbd7e5 | 63 | |
richardparker | 1:f04bcaea1d60 | 64 | ActionFunction _action; |
richardparker | 1:f04bcaea1d60 | 65 | |
richardparker | 1:f04bcaea1d60 | 66 | }; |
richardparker | 1:f04bcaea1d60 | 67 | |
richardparker | 1:f04bcaea1d60 | 68 | #endif |