Foundation classes for a basic GUI implementing simple widgets and events

Dependents:   TouchScreenGUIDemo

Committer:
duncanFrance
Date:
Sat May 28 14:50:14 2016 +0000
Revision:
18:d849f3ada858
Parent:
17:5184762fda6c
Moved the event queue into the EventDispatcher; Improved event handling across Window/Widget

Who changed what in which revision?

UserRevisionLine numberNew contents of line
duncanFrance 0:0a590815d51c 1 #ifndef SIMPLEGUI_TEXT_WIDGET_H
duncanFrance 0:0a590815d51c 2 #define SIMPLEGUI_TEXT_WIDGET_H
duncanFrance 0:0a590815d51c 3
duncanFrance 0:0a590815d51c 4 #include "Widget.h"
duncanFrance 2:bb9183379488 5 #include "Font.h"
duncanFrance 3:cb004f59b715 6 #include "FontRenderer.h"
duncanFrance 11:b485561aa112 7
duncanFrance 12:63db16fea709 8 class TextWidget : public Widget
duncanFrance 12:63db16fea709 9 {
duncanFrance 12:63db16fea709 10
duncanFrance 12:63db16fea709 11 public:
duncanFrance 12:63db16fea709 12
duncanFrance 16:e9a771ecfdbe 13 enum VAlign { TOP, MIDDLE, BOTTOM };
duncanFrance 16:e9a771ecfdbe 14 enum HAlign { LEFT, CENTRE, RIGHT };
duncanFrance 16:e9a771ecfdbe 15
duncanFrance 12:63db16fea709 16 TextWidget(GraphicsContext *context);
duncanFrance 12:63db16fea709 17 TextWidget(GraphicsContext *context, FontRenderer* renderer);
duncanFrance 12:63db16fea709 18 TextWidget(GraphicsContext *context, FontRenderer* renderer, Font* font);
duncanFrance 8:a460cabc85ac 19
duncanFrance 12:63db16fea709 20 /**************************
duncanFrance 12:63db16fea709 21 * Custom methods of this class
duncanFrance 12:63db16fea709 22 **************************/
duncanFrance 12:63db16fea709 23 virtual void setFont(Font* font);
duncanFrance 12:63db16fea709 24 virtual void setText(char* text);
duncanFrance 16:e9a771ecfdbe 25 virtual void setHAlign(HAlign alignment);
duncanFrance 16:e9a771ecfdbe 26 virtual void setVAlign(VAlign alignment);
duncanFrance 17:5184762fda6c 27
duncanFrance 17:5184762fda6c 28 virtual Font *getFont();
duncanFrance 12:63db16fea709 29
duncanFrance 12:63db16fea709 30 protected:
duncanFrance 12:63db16fea709 31
duncanFrance 12:63db16fea709 32 /**************************
duncanFrance 12:63db16fea709 33 * Overrides of Widget
duncanFrance 12:63db16fea709 34 **************************/
duncanFrance 12:63db16fea709 35 virtual void _draw();
duncanFrance 12:63db16fea709 36
duncanFrance 12:63db16fea709 37 /**************************
duncanFrance 12:63db16fea709 38 * Custom data of this class
duncanFrance 12:63db16fea709 39 **************************/
duncanFrance 12:63db16fea709 40 char* _text;
duncanFrance 12:63db16fea709 41 FontRenderer* _renderer;
duncanFrance 12:63db16fea709 42 Font* _font;
duncanFrance 16:e9a771ecfdbe 43 HAlign _halign;
duncanFrance 16:e9a771ecfdbe 44 VAlign _valign;
duncanFrance 0:0a590815d51c 45 };
duncanFrance 0:0a590815d51c 46
duncanFrance 0:0a590815d51c 47 #endif