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/EACompass.h@4:f8f7f4f9c58d, 2010-04-26 (annotated)
- Committer:
- richardparker
- Date:
- Mon Apr 26 21:37:54 2010 +0000
- Revision:
- 4:f8f7f4f9c58d
- Child:
- 7:6cf21b018420
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| richardparker | 4:f8f7f4f9c58d | 1 | // Copyright 2010 Richard Parker |
| richardparker | 4:f8f7f4f9c58d | 2 | |
| richardparker | 4:f8f7f4f9c58d | 3 | #ifndef MBED_EACOMPASS_H |
| richardparker | 4:f8f7f4f9c58d | 4 | #define MBED_EACOMPASS_H |
| richardparker | 4:f8f7f4f9c58d | 5 | |
| richardparker | 4:f8f7f4f9c58d | 6 | #include "mbed.h" |
| richardparker | 4:f8f7f4f9c58d | 7 | |
| richardparker | 4:f8f7f4f9c58d | 8 | #include "EAWidget.h" |
| richardparker | 4:f8f7f4f9c58d | 9 | |
| richardparker | 4:f8f7f4f9c58d | 10 | class EALCD; |
| richardparker | 4:f8f7f4f9c58d | 11 | |
| richardparker | 4:f8f7f4f9c58d | 12 | /** |
| richardparker | 4:f8f7f4f9c58d | 13 | * Class to handle displaying a button on screen with hitbox. |
| richardparker | 4:f8f7f4f9c58d | 14 | * @author Richard Parker |
| richardparker | 4:f8f7f4f9c58d | 15 | */ |
| richardparker | 4:f8f7f4f9c58d | 16 | class EACompass: public EAWidget |
| richardparker | 4:f8f7f4f9c58d | 17 | { |
| richardparker | 4:f8f7f4f9c58d | 18 | public: |
| richardparker | 4:f8f7f4f9c58d | 19 | EACompass( short x = 0, |
| richardparker | 4:f8f7f4f9c58d | 20 | short y = 0, |
| richardparker | 4:f8f7f4f9c58d | 21 | unsigned short diameter = 0, |
| richardparker | 4:f8f7f4f9c58d | 22 | unsigned short angle = 0); |
| richardparker | 4:f8f7f4f9c58d | 23 | |
| richardparker | 4:f8f7f4f9c58d | 24 | ~EACompass(); |
| richardparker | 4:f8f7f4f9c58d | 25 | |
| richardparker | 4:f8f7f4f9c58d | 26 | virtual void paint(EALCD& lcd); |
| richardparker | 4:f8f7f4f9c58d | 27 | void update(EALCD& lcd, float angle); |
| richardparker | 4:f8f7f4f9c58d | 28 | |
| richardparker | 4:f8f7f4f9c58d | 29 | inline void setAngle(float angle) { _angle = angle; } |
| richardparker | 4:f8f7f4f9c58d | 30 | inline float angle() { return _angle; } |
| richardparker | 4:f8f7f4f9c58d | 31 | |
| richardparker | 4:f8f7f4f9c58d | 32 | inline void setDiameter(unsigned short diameter) { _diameter = diameter; EAWidget::setWidth(diameter); EAWidget::setHeight(diameter);} |
| richardparker | 4:f8f7f4f9c58d | 33 | inline unsigned short diameter() { return _diameter; } |
| richardparker | 4:f8f7f4f9c58d | 34 | |
| richardparker | 4:f8f7f4f9c58d | 35 | inline virtual void setWidth(unsigned short w) { setDiameter(w); } |
| richardparker | 4:f8f7f4f9c58d | 36 | inline virtual void setHeight(unsigned short h) { setDiameter(h); } |
| richardparker | 4:f8f7f4f9c58d | 37 | |
| richardparker | 4:f8f7f4f9c58d | 38 | private: |
| richardparker | 4:f8f7f4f9c58d | 39 | float _angle; |
| richardparker | 4:f8f7f4f9c58d | 40 | unsigned short _diameter; |
| richardparker | 4:f8f7f4f9c58d | 41 | |
| richardparker | 4:f8f7f4f9c58d | 42 | void _drawPointer(EALCD& lcd); |
| richardparker | 4:f8f7f4f9c58d | 43 | |
| richardparker | 4:f8f7f4f9c58d | 44 | }; |
| richardparker | 4:f8f7f4f9c58d | 45 | |
| richardparker | 4:f8f7f4f9c58d | 46 | #endif |