el h / SimpleGUI

Fork of SimpleGUI by Duncan McIntyre

Committer:
duncanFrance
Date:
Fri Mar 25 13:47:04 2016 +0000
Revision:
0:0a590815d51c
Child:
1:48796b602c86
Added EventSource interface

Who changed what in which revision?

UserRevisionLine numberNew contents of line
duncanFrance 0:0a590815d51c 1 #ifndef SIMPLEGUI_WIDGET_H
duncanFrance 0:0a590815d51c 2 #define SIMPLEGUI_WIDGET_H
duncanFrance 0:0a590815d51c 3
duncanFrance 0:0a590815d51c 4 #include "EventListener.h"
duncanFrance 0:0a590815d51c 5 #include "GraphicsDisplay.h"
duncanFrance 0:0a590815d51c 6
duncanFrance 0:0a590815d51c 7 /**
duncanFrance 0:0a590815d51c 8 * A basic widget draws itself in a rectangular area
duncanFrance 0:0a590815d51c 9 **/
duncanFrance 0:0a590815d51c 10
duncanFrance 0:0a590815d51c 11 class Widget : public EventListener {
duncanFrance 0:0a590815d51c 12
duncanFrance 0:0a590815d51c 13 public:
duncanFrance 0:0a590815d51c 14
duncanFrance 0:0a590815d51c 15 Widget(GraphicsDisplay* display) : _display(display), _fg(Black), _bg(White) {}
duncanFrance 0:0a590815d51c 16
duncanFrance 0:0a590815d51c 17 virtual bool isEventTarget(Event e);
duncanFrance 0:0a590815d51c 18
duncanFrance 0:0a590815d51c 19 virtual void setLocation(int x, int y) {
duncanFrance 0:0a590815d51c 20 _x = x;
duncanFrance 0:0a590815d51c 21 _y = y;
duncanFrance 0:0a590815d51c 22 }
duncanFrance 0:0a590815d51c 23
duncanFrance 0:0a590815d51c 24 virtual void setSize(int width, int height) {
duncanFrance 0:0a590815d51c 25 _width = width;
duncanFrance 0:0a590815d51c 26 _height = height;
duncanFrance 0:0a590815d51c 27 }
duncanFrance 0:0a590815d51c 28
duncanFrance 0:0a590815d51c 29 virtual int x() {
duncanFrance 0:0a590815d51c 30 return _x;
duncanFrance 0:0a590815d51c 31 }
duncanFrance 0:0a590815d51c 32
duncanFrance 0:0a590815d51c 33 virtual int y() {
duncanFrance 0:0a590815d51c 34 return _y;
duncanFrance 0:0a590815d51c 35 }
duncanFrance 0:0a590815d51c 36
duncanFrance 0:0a590815d51c 37 virtual int height() {
duncanFrance 0:0a590815d51c 38 return _height;
duncanFrance 0:0a590815d51c 39 }
duncanFrance 0:0a590815d51c 40
duncanFrance 0:0a590815d51c 41 virtual int width() {
duncanFrance 0:0a590815d51c 42 return _width;
duncanFrance 0:0a590815d51c 43 }
duncanFrance 0:0a590815d51c 44
duncanFrance 0:0a590815d51c 45 virtual void setForeground(uint16_t color) {
duncanFrance 0:0a590815d51c 46 _fg = color;
duncanFrance 0:0a590815d51c 47 }
duncanFrance 0:0a590815d51c 48
duncanFrance 0:0a590815d51c 49 virtual void setBackgroun(uint16_t color) {
duncanFrance 0:0a590815d51c 50 _bg = color;
duncanFrance 0:0a590815d51c 51 }
duncanFrance 0:0a590815d51c 52
duncanFrance 0:0a590815d51c 53 virtual void draw() = 0;
duncanFrance 0:0a590815d51c 54
duncanFrance 0:0a590815d51c 55 void setHidden(bool hidden) {
duncanFrance 0:0a590815d51c 56 _hidden = hidden;
duncanFrance 0:0a590815d51c 57 }
duncanFrance 0:0a590815d51c 58
duncanFrance 0:0a590815d51c 59 bool isHidden() {
duncanFrance 0:0a590815d51c 60 return _hidden;
duncanFrance 0:0a590815d51c 61 }
duncanFrance 0:0a590815d51c 62
duncanFrance 0:0a590815d51c 63 protected:
duncanFrance 0:0a590815d51c 64
duncanFrance 0:0a590815d51c 65 bool _hidden;
duncanFrance 0:0a590815d51c 66 GraphicsDisplay* _display;
duncanFrance 0:0a590815d51c 67
duncanFrance 0:0a590815d51c 68 int _x,_y,_width,_height;
duncanFrance 0:0a590815d51c 69 uint16_t _fg, _bg;
duncanFrance 0:0a590815d51c 70
duncanFrance 0:0a590815d51c 71 };
duncanFrance 0:0a590815d51c 72
duncanFrance 0:0a590815d51c 73 #endif