Foundation classes for a basic GUI implementing simple widgets and events

Dependents:   TouchScreenGUIDemo

Committer:
duncanFrance
Date:
Sun May 08 14:42:08 2016 +0000
Revision:
12:63db16fea709
Parent:
8:a460cabc85ac
Child:
18:d849f3ada858
Update to handle dirty pixels and geometric change/damage

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 12:63db16fea709 4 class GUI;
duncanFrance 12:63db16fea709 5
duncanFrance 12:63db16fea709 6 #include "rtos.h"
duncanFrance 12:63db16fea709 7
duncanFrance 12:63db16fea709 8 #include "GraphicsContext.h"
duncanFrance 12:63db16fea709 9 #include "Window.h"
duncanFrance 8:a460cabc85ac 10
duncanFrance 8:a460cabc85ac 11 /**
duncanFrance 8:a460cabc85ac 12 * A singleton class to hold the framework components
duncanFrance 8:a460cabc85ac 13 **/
duncanFrance 12:63db16fea709 14 class GUI
duncanFrance 12:63db16fea709 15 {
duncanFrance 12:63db16fea709 16
duncanFrance 12:63db16fea709 17 public:
duncanFrance 12:63db16fea709 18
duncanFrance 12:63db16fea709 19 GUI(GraphicsContext* context);
duncanFrance 12:63db16fea709 20
duncanFrance 12:63db16fea709 21 GraphicsContext* getGraphicsContext();
duncanFrance 12:63db16fea709 22 Window *rootWindow();
duncanFrance 8:a460cabc85ac 23
duncanFrance 12:63db16fea709 24 void queueEvent(const Event e);
duncanFrance 12:63db16fea709 25 void pumpEvents();
duncanFrance 12:63db16fea709 26 void updateWindow();
duncanFrance 8:a460cabc85ac 27
duncanFrance 12:63db16fea709 28 private:
duncanFrance 12:63db16fea709 29
duncanFrance 12:63db16fea709 30 GraphicsContext* _context;
duncanFrance 12:63db16fea709 31 Mail<Event, 64> _mailbox;
duncanFrance 12:63db16fea709 32 Window _rootWindow;
duncanFrance 8:a460cabc85ac 33 };
duncanFrance 8:a460cabc85ac 34 #endif