Foundation classes for a basic GUI implementing simple widgets and events

Dependents:   TouchScreenGUIDemo

Committer:
duncanFrance
Date:
Mon Apr 11 16:54:02 2016 +0000
Revision:
8:a460cabc85ac
Child:
12:63db16fea709
Added GUI for common defaults

Who changed what in which revision?

UserRevisionLine numberNew contents of line
duncanFrance 8:a460cabc85ac 1 #ifndef SIMPLEGUI_GUI_H
duncanFrance 8:a460cabc85ac 2 #define SIMPLEGUI_GUI_H
duncanFrance 8:a460cabc85ac 3
duncanFrance 8:a460cabc85ac 4 #include "GraphicsDisplay.h"
duncanFrance 8:a460cabc85ac 5 #include "EventDispatcher.h"
duncanFrance 8:a460cabc85ac 6 #include "FontRenderer.h"
duncanFrance 8:a460cabc85ac 7
duncanFrance 8:a460cabc85ac 8 /**
duncanFrance 8:a460cabc85ac 9 * A singleton class to hold the framework components
duncanFrance 8:a460cabc85ac 10 **/
duncanFrance 8:a460cabc85ac 11 class GUI {
duncanFrance 8:a460cabc85ac 12 public:
duncanFrance 8:a460cabc85ac 13
duncanFrance 8:a460cabc85ac 14 GUI(GraphicsDisplay* display, EventDispatcher* dispatcher, FontRenderer* fontRenderer, Font* defaultFont)
duncanFrance 8:a460cabc85ac 15 : _display(display), _dispatcher(dispatcher), _renderer(fontRenderer), _font(defaultFont)
duncanFrance 8:a460cabc85ac 16
duncanFrance 8:a460cabc85ac 17 {}
duncanFrance 8:a460cabc85ac 18
duncanFrance 8:a460cabc85ac 19 GraphicsDisplay* display() {
duncanFrance 8:a460cabc85ac 20 return _display;
duncanFrance 8:a460cabc85ac 21 }
duncanFrance 8:a460cabc85ac 22
duncanFrance 8:a460cabc85ac 23 EventDispatcher* eventDispatcher() {
duncanFrance 8:a460cabc85ac 24 return _dispatcher;
duncanFrance 8:a460cabc85ac 25 }
duncanFrance 8:a460cabc85ac 26
duncanFrance 8:a460cabc85ac 27 FontRenderer* fontRenderer() {
duncanFrance 8:a460cabc85ac 28 return _renderer;
duncanFrance 8:a460cabc85ac 29 }
duncanFrance 8:a460cabc85ac 30
duncanFrance 8:a460cabc85ac 31 Font* defaultFont() {
duncanFrance 8:a460cabc85ac 32 return _font;
duncanFrance 8:a460cabc85ac 33 }
duncanFrance 8:a460cabc85ac 34
duncanFrance 8:a460cabc85ac 35 private:
duncanFrance 8:a460cabc85ac 36
duncanFrance 8:a460cabc85ac 37 GraphicsDisplay* _display;
duncanFrance 8:a460cabc85ac 38 EventDispatcher* _dispatcher;
duncanFrance 8:a460cabc85ac 39 FontRenderer* _renderer;
duncanFrance 8:a460cabc85ac 40 Font* _font;
duncanFrance 8:a460cabc85ac 41 };
duncanFrance 8:a460cabc85ac 42 #endif