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.cpp@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 | #include "mbed.h" |
| richardparker | 1:f04bcaea1d60 | 2 | #include "EAHitBox.h" |
| richardparker | 3:24fbf4dbd7e5 | 3 | #include "EAHitHandler.h" |
| richardparker | 1:f04bcaea1d60 | 4 | |
| richardparker | 1:f04bcaea1d60 | 5 | EAHitBox::EAHitBox() |
| richardparker | 1:f04bcaea1d60 | 6 | : _next(NULL), |
| richardparker | 3:24fbf4dbd7e5 | 7 | _handler(NULL), |
| richardparker | 1:f04bcaea1d60 | 8 | _width(0), |
| richardparker | 1:f04bcaea1d60 | 9 | _height(0), |
| richardparker | 1:f04bcaea1d60 | 10 | _x(0), |
| richardparker | 1:f04bcaea1d60 | 11 | _y(0), |
| richardparker | 3:24fbf4dbd7e5 | 12 | _enabled(true), |
| richardparker | 1:f04bcaea1d60 | 13 | _action(NULL) |
| richardparker | 1:f04bcaea1d60 | 14 | { |
| richardparker | 1:f04bcaea1d60 | 15 | } |
| richardparker | 1:f04bcaea1d60 | 16 | |
| richardparker | 1:f04bcaea1d60 | 17 | EAHitBox::~EAHitBox() |
| richardparker | 1:f04bcaea1d60 | 18 | { |
| richardparker | 1:f04bcaea1d60 | 19 | } |
| richardparker | 1:f04bcaea1d60 | 20 | |
| richardparker | 1:f04bcaea1d60 | 21 | bool EAHitBox::checkContains(short x, short y) |
| richardparker | 1:f04bcaea1d60 | 22 | { |
| richardparker | 1:f04bcaea1d60 | 23 | bool result = false; |
| richardparker | 3:24fbf4dbd7e5 | 24 | |
| richardparker | 1:f04bcaea1d60 | 25 | if ( |
| richardparker | 1:f04bcaea1d60 | 26 | (x > this->x()) |
| richardparker | 1:f04bcaea1d60 | 27 | && |
| richardparker | 1:f04bcaea1d60 | 28 | (x < this->x() + width()) |
| richardparker | 1:f04bcaea1d60 | 29 | && |
| richardparker | 1:f04bcaea1d60 | 30 | (y > this->y()) |
| richardparker | 1:f04bcaea1d60 | 31 | && |
| richardparker | 1:f04bcaea1d60 | 32 | (y < this->y() + height()) |
| richardparker | 1:f04bcaea1d60 | 33 | ) |
| richardparker | 1:f04bcaea1d60 | 34 | { |
| richardparker | 1:f04bcaea1d60 | 35 | // This is a hit. |
| richardparker | 1:f04bcaea1d60 | 36 | result = true; |
| richardparker | 1:f04bcaea1d60 | 37 | } |
| richardparker | 1:f04bcaea1d60 | 38 | |
| richardparker | 3:24fbf4dbd7e5 | 39 | if ((result == true) && (enabled() == true)) |
| richardparker | 1:f04bcaea1d60 | 40 | { |
| richardparker | 1:f04bcaea1d60 | 41 | // Hit inside and an action is defined. |
| richardparker | 3:24fbf4dbd7e5 | 42 | if (_handler != NULL) |
| richardparker | 3:24fbf4dbd7e5 | 43 | { |
| richardparker | 3:24fbf4dbd7e5 | 44 | // Call member function on object. |
| richardparker | 3:24fbf4dbd7e5 | 45 | _handler->actionHandler(this, x, y); |
| richardparker | 3:24fbf4dbd7e5 | 46 | } |
| richardparker | 3:24fbf4dbd7e5 | 47 | |
| richardparker | 3:24fbf4dbd7e5 | 48 | if (_action != NULL) |
| richardparker | 3:24fbf4dbd7e5 | 49 | { |
| richardparker | 3:24fbf4dbd7e5 | 50 | // Call global handler. |
| richardparker | 3:24fbf4dbd7e5 | 51 | _action(this, x, y); |
| richardparker | 3:24fbf4dbd7e5 | 52 | } |
| richardparker | 1:f04bcaea1d60 | 53 | } |
| richardparker | 1:f04bcaea1d60 | 54 | |
| richardparker | 1:f04bcaea1d60 | 55 | return result; |
| richardparker | 1:f04bcaea1d60 | 56 | } |