Richard Parker / EALCD
Committer:
richardparker
Date:
Wed Mar 31 22:22:21 2010 +0000
Revision:
3:24fbf4dbd7e5
Child:
7:6cf21b018420

        

Who changed what in which revision?

UserRevisionLine numberNew 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