Foundation classes for a basic GUI implementing simple widgets and events
Dependents: TouchScreenGUIDemo
Core/GUI.h@12:63db16fea709, 2016-05-08 (annotated)
- 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?
User | Revision | Line number | New 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 |