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.
widgets/EAButton.h@3:24fbf4dbd7e5, 2010-03-31 (annotated)
- Committer:
- richardparker
- Date:
- Wed Mar 31 22:22:21 2010 +0000
- Revision:
- 3:24fbf4dbd7e5
- Child:
- 7:6cf21b018420
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| richardparker | 3:24fbf4dbd7e5 | 1 | // Copyright 2010 Richard Parker |
| richardparker | 3:24fbf4dbd7e5 | 2 | |
| richardparker | 3:24fbf4dbd7e5 | 3 | #ifndef MBED_EABUTTON_H |
| richardparker | 3:24fbf4dbd7e5 | 4 | #define MBED_EABUTTON_H |
| richardparker | 3:24fbf4dbd7e5 | 5 | |
| richardparker | 3:24fbf4dbd7e5 | 6 | #include "mbed.h" |
| richardparker | 3:24fbf4dbd7e5 | 7 | |
| richardparker | 3:24fbf4dbd7e5 | 8 | #include "EAWidget.h" |
| richardparker | 3:24fbf4dbd7e5 | 9 | |
| richardparker | 3:24fbf4dbd7e5 | 10 | class EALCD; |
| richardparker | 3:24fbf4dbd7e5 | 11 | class EAHitBox; |
| richardparker | 3:24fbf4dbd7e5 | 12 | class EATouchManager; |
| richardparker | 3:24fbf4dbd7e5 | 13 | class EAHitHandler; |
| richardparker | 3:24fbf4dbd7e5 | 14 | |
| richardparker | 3:24fbf4dbd7e5 | 15 | /** |
| richardparker | 3:24fbf4dbd7e5 | 16 | * Class to handle displaying a button on screen with hitbox. |
| richardparker | 3:24fbf4dbd7e5 | 17 | * @author Richard Parker |
| richardparker | 3:24fbf4dbd7e5 | 18 | */ |
| richardparker | 3:24fbf4dbd7e5 | 19 | class EAButton: public EAWidget |
| richardparker | 3:24fbf4dbd7e5 | 20 | { |
| richardparker | 3:24fbf4dbd7e5 | 21 | public: |
| richardparker | 3:24fbf4dbd7e5 | 22 | EAButton( EATouchManager& manager, |
| richardparker | 3:24fbf4dbd7e5 | 23 | short x = 0, |
| richardparker | 3:24fbf4dbd7e5 | 24 | short y = 0, |
| richardparker | 3:24fbf4dbd7e5 | 25 | unsigned short width = 0, |
| richardparker | 3:24fbf4dbd7e5 | 26 | unsigned short height = 0, |
| richardparker | 3:24fbf4dbd7e5 | 27 | char* text = NULL, |
| richardparker | 3:24fbf4dbd7e5 | 28 | EAHitHandler* handler = NULL); |
| richardparker | 3:24fbf4dbd7e5 | 29 | |
| richardparker | 3:24fbf4dbd7e5 | 30 | ~EAButton(); |
| richardparker | 3:24fbf4dbd7e5 | 31 | |
| richardparker | 3:24fbf4dbd7e5 | 32 | virtual void paint(EALCD& lcd); |
| richardparker | 3:24fbf4dbd7e5 | 33 | |
| richardparker | 3:24fbf4dbd7e5 | 34 | bool setText(char* text); |
| richardparker | 3:24fbf4dbd7e5 | 35 | inline const char* text() const { return _text; } |
| richardparker | 3:24fbf4dbd7e5 | 36 | |
| richardparker | 3:24fbf4dbd7e5 | 37 | EAHitHandler* handler() const; |
| richardparker | 3:24fbf4dbd7e5 | 38 | void setHandler(EAHitHandler* handler); |
| richardparker | 3:24fbf4dbd7e5 | 39 | |
| richardparker | 3:24fbf4dbd7e5 | 40 | bool enabled() const; |
| richardparker | 3:24fbf4dbd7e5 | 41 | void setEnabled(bool yes); |
| richardparker | 3:24fbf4dbd7e5 | 42 | |
| richardparker | 3:24fbf4dbd7e5 | 43 | inline virtual void setX(short x) { EAWidget::setX(x); _updateHitBox(); } |
| richardparker | 3:24fbf4dbd7e5 | 44 | inline virtual void setY(short y) { EAWidget::setY(y); _updateHitBox(); } |
| richardparker | 3:24fbf4dbd7e5 | 45 | |
| richardparker | 3:24fbf4dbd7e5 | 46 | inline virtual void setWidth(unsigned short w) { EAWidget::setWidth(w); _updateHitBox(); } |
| richardparker | 3:24fbf4dbd7e5 | 47 | inline virtual void setHeight(unsigned short h) { EAWidget::setHeight(h); _updateHitBox(); } |
| richardparker | 3:24fbf4dbd7e5 | 48 | |
| richardparker | 3:24fbf4dbd7e5 | 49 | inline EAHitBox* hitBox() const { return _box; } |
| richardparker | 3:24fbf4dbd7e5 | 50 | |
| richardparker | 3:24fbf4dbd7e5 | 51 | private: |
| richardparker | 3:24fbf4dbd7e5 | 52 | EATouchManager& _manager; |
| richardparker | 3:24fbf4dbd7e5 | 53 | EAHitBox* _box; |
| richardparker | 3:24fbf4dbd7e5 | 54 | |
| richardparker | 3:24fbf4dbd7e5 | 55 | char* _text; |
| richardparker | 3:24fbf4dbd7e5 | 56 | |
| richardparker | 3:24fbf4dbd7e5 | 57 | void _updateHitBox(); |
| richardparker | 3:24fbf4dbd7e5 | 58 | }; |
| richardparker | 3:24fbf4dbd7e5 | 59 | |
| richardparker | 3:24fbf4dbd7e5 | 60 | #endif |