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@7:6cf21b018420, 2010-11-01 (annotated)
- Committer:
- richardparker
- Date:
- Mon Nov 01 13:07:40 2010 +0000
- Revision:
- 7:6cf21b018420
- Parent:
- 4:f8f7f4f9c58d
Embedded Artists LCD panel:- Version 0.7
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 | 7:6cf21b018420 | 43 | void _drawAngle(EALCD& lcd); | 
| richardparker | 4:f8f7f4f9c58d | 44 | |
| richardparker | 4:f8f7f4f9c58d | 45 | }; | 
| richardparker | 4:f8f7f4f9c58d | 46 | |
| richardparker | 4:f8f7f4f9c58d | 47 | #endif |