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@1:f04bcaea1d60, 2010-03-04 (annotated)
- Committer:
- richardparker
- Date:
- Thu Mar 04 10:54:06 2010 +0000
- Revision:
- 1:f04bcaea1d60
- Child:
- 3:24fbf4dbd7e5
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 | 1:f04bcaea1d60 | 11 | |
richardparker | 1:f04bcaea1d60 | 12 | /** |
richardparker | 1:f04bcaea1d60 | 13 | * Class to handle detection of a hit in an area of the screen. |
richardparker | 1:f04bcaea1d60 | 14 | * @author Richard Parker |
richardparker | 1:f04bcaea1d60 | 15 | */ |
richardparker | 1:f04bcaea1d60 | 16 | class EAHitBox |
richardparker | 1:f04bcaea1d60 | 17 | { |
richardparker | 1:f04bcaea1d60 | 18 | public: |
richardparker | 1:f04bcaea1d60 | 19 | typedef void (*ActionFunction)(EAHitBox*, short, short) ; |
richardparker | 1:f04bcaea1d60 | 20 | |
richardparker | 1:f04bcaea1d60 | 21 | EAHitBox(); |
richardparker | 1:f04bcaea1d60 | 22 | |
richardparker | 1:f04bcaea1d60 | 23 | ~EAHitBox(); |
richardparker | 1:f04bcaea1d60 | 24 | |
richardparker | 1:f04bcaea1d60 | 25 | inline unsigned short width() const { return _width; } |
richardparker | 1:f04bcaea1d60 | 26 | inline unsigned short height() const { return _height; } |
richardparker | 1:f04bcaea1d60 | 27 | |
richardparker | 1:f04bcaea1d60 | 28 | inline void setWidth(unsigned int w) { _width = w; } |
richardparker | 1:f04bcaea1d60 | 29 | inline void setHeight(unsigned int h) { _height = h; } |
richardparker | 1:f04bcaea1d60 | 30 | |
richardparker | 1:f04bcaea1d60 | 31 | inline unsigned short x() const { return _x; } |
richardparker | 1:f04bcaea1d60 | 32 | inline unsigned short y() const { return _y; } |
richardparker | 1:f04bcaea1d60 | 33 | |
richardparker | 1:f04bcaea1d60 | 34 | inline void setX(short x) { _x = x; } |
richardparker | 1:f04bcaea1d60 | 35 | inline void setY(short y) { _y = y; } |
richardparker | 1:f04bcaea1d60 | 36 | |
richardparker | 1:f04bcaea1d60 | 37 | inline EAHitBox* next() const { return _next; } |
richardparker | 1:f04bcaea1d60 | 38 | inline void setNext(EAHitBox* value) { _next = value; } |
richardparker | 1:f04bcaea1d60 | 39 | |
richardparker | 1:f04bcaea1d60 | 40 | bool checkContains(short x, short y); |
richardparker | 1:f04bcaea1d60 | 41 | |
richardparker | 1:f04bcaea1d60 | 42 | inline void setAction(EAHitBox::ActionFunction action) { _action = action; } |
richardparker | 1:f04bcaea1d60 | 43 | |
richardparker | 1:f04bcaea1d60 | 44 | inline EAWidget* widget() const { return _widget; } |
richardparker | 1:f04bcaea1d60 | 45 | inline void setWidget(EAWidget* value) { _widget = value; } |
richardparker | 1:f04bcaea1d60 | 46 | |
richardparker | 1:f04bcaea1d60 | 47 | private: |
richardparker | 1:f04bcaea1d60 | 48 | EAHitBox* _next; |
richardparker | 1:f04bcaea1d60 | 49 | |
richardparker | 1:f04bcaea1d60 | 50 | EAWidget* _widget; |
richardparker | 1:f04bcaea1d60 | 51 | |
richardparker | 1:f04bcaea1d60 | 52 | unsigned short _width; |
richardparker | 1:f04bcaea1d60 | 53 | unsigned short _height; |
richardparker | 1:f04bcaea1d60 | 54 | |
richardparker | 1:f04bcaea1d60 | 55 | short _x; |
richardparker | 1:f04bcaea1d60 | 56 | short _y; |
richardparker | 1:f04bcaea1d60 | 57 | |
richardparker | 1:f04bcaea1d60 | 58 | ActionFunction _action; |
richardparker | 1:f04bcaea1d60 | 59 | |
richardparker | 1:f04bcaea1d60 | 60 | }; |
richardparker | 1:f04bcaea1d60 | 61 | |
richardparker | 1:f04bcaea1d60 | 62 | #endif |