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@7:6cf21b018420, 2010-11-01 (annotated)
- Committer:
- richardparker
- Date:
- Mon Nov 01 13:07:40 2010 +0000
- Revision:
- 7:6cf21b018420
- Parent:
- 3:24fbf4dbd7e5
Embedded Artists LCD panel:- Version 0.7
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 | 7:6cf21b018420 | 7 | #include <string> | 
| richardparker | 3:24fbf4dbd7e5 | 8 | |
| richardparker | 3:24fbf4dbd7e5 | 9 | #include "EAWidget.h" | 
| richardparker | 3:24fbf4dbd7e5 | 10 | |
| richardparker | 3:24fbf4dbd7e5 | 11 | class EALCD; | 
| richardparker | 3:24fbf4dbd7e5 | 12 | class EAHitBox; | 
| richardparker | 3:24fbf4dbd7e5 | 13 | class EATouchManager; | 
| richardparker | 3:24fbf4dbd7e5 | 14 | class EAHitHandler; | 
| richardparker | 3:24fbf4dbd7e5 | 15 | |
| richardparker | 3:24fbf4dbd7e5 | 16 | /** | 
| richardparker | 3:24fbf4dbd7e5 | 17 | * Class to handle displaying a button on screen with hitbox. | 
| richardparker | 3:24fbf4dbd7e5 | 18 | * @author Richard Parker | 
| richardparker | 3:24fbf4dbd7e5 | 19 | */ | 
| richardparker | 3:24fbf4dbd7e5 | 20 | class EAButton: public EAWidget | 
| richardparker | 3:24fbf4dbd7e5 | 21 | { | 
| richardparker | 3:24fbf4dbd7e5 | 22 | public: | 
| richardparker | 3:24fbf4dbd7e5 | 23 | EAButton( EATouchManager& manager, | 
| richardparker | 3:24fbf4dbd7e5 | 24 | short x = 0, | 
| richardparker | 3:24fbf4dbd7e5 | 25 | short y = 0, | 
| richardparker | 3:24fbf4dbd7e5 | 26 | unsigned short width = 0, | 
| richardparker | 3:24fbf4dbd7e5 | 27 | unsigned short height = 0, | 
| richardparker | 3:24fbf4dbd7e5 | 28 | char* text = NULL, | 
| richardparker | 3:24fbf4dbd7e5 | 29 | EAHitHandler* handler = NULL); | 
| richardparker | 3:24fbf4dbd7e5 | 30 | |
| richardparker | 3:24fbf4dbd7e5 | 31 | ~EAButton(); | 
| richardparker | 3:24fbf4dbd7e5 | 32 | |
| richardparker | 3:24fbf4dbd7e5 | 33 | virtual void paint(EALCD& lcd); | 
| richardparker | 3:24fbf4dbd7e5 | 34 | |
| richardparker | 7:6cf21b018420 | 35 | bool setText(const std::string& text); | 
| richardparker | 7:6cf21b018420 | 36 | inline const string& text() const { return _text; } | 
| richardparker | 3:24fbf4dbd7e5 | 37 | |
| richardparker | 3:24fbf4dbd7e5 | 38 | EAHitHandler* handler() const; | 
| richardparker | 3:24fbf4dbd7e5 | 39 | void setHandler(EAHitHandler* handler); | 
| richardparker | 3:24fbf4dbd7e5 | 40 | |
| richardparker | 3:24fbf4dbd7e5 | 41 | bool enabled() const; | 
| richardparker | 3:24fbf4dbd7e5 | 42 | void setEnabled(bool yes); | 
| richardparker | 3:24fbf4dbd7e5 | 43 | |
| richardparker | 3:24fbf4dbd7e5 | 44 | inline virtual void setX(short x) { EAWidget::setX(x); _updateHitBox(); } | 
| richardparker | 3:24fbf4dbd7e5 | 45 | inline virtual void setY(short y) { EAWidget::setY(y); _updateHitBox(); } | 
| richardparker | 3:24fbf4dbd7e5 | 46 | |
| richardparker | 3:24fbf4dbd7e5 | 47 | inline virtual void setWidth(unsigned short w) { EAWidget::setWidth(w); _updateHitBox(); } | 
| richardparker | 3:24fbf4dbd7e5 | 48 | inline virtual void setHeight(unsigned short h) { EAWidget::setHeight(h); _updateHitBox(); } | 
| richardparker | 3:24fbf4dbd7e5 | 49 | |
| richardparker | 3:24fbf4dbd7e5 | 50 | inline EAHitBox* hitBox() const { return _box; } | 
| richardparker | 3:24fbf4dbd7e5 | 51 | |
| richardparker | 3:24fbf4dbd7e5 | 52 | private: | 
| richardparker | 3:24fbf4dbd7e5 | 53 | EATouchManager& _manager; | 
| richardparker | 3:24fbf4dbd7e5 | 54 | EAHitBox* _box; | 
| richardparker | 3:24fbf4dbd7e5 | 55 | |
| richardparker | 7:6cf21b018420 | 56 | std::string _text; | 
| richardparker | 3:24fbf4dbd7e5 | 57 | |
| richardparker | 3:24fbf4dbd7e5 | 58 | void _updateHitBox(); | 
| richardparker | 3:24fbf4dbd7e5 | 59 | }; | 
| richardparker | 3:24fbf4dbd7e5 | 60 | |
| richardparker | 3:24fbf4dbd7e5 | 61 | #endif |