Foundation classes for a basic GUI implementing simple widgets and events. (Fork for custom changes.)
Fork of SimpleGUI by
Widgets/Window.h@12:63db16fea709, 2016-05-08 (annotated)
- Committer:
- duncanFrance
- Date:
- Sun May 08 14:42:08 2016 +0000
- Revision:
- 12:63db16fea709
- 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 | 12:63db16fea709 | 1 | #ifndef SIMPLEGUI_WINDOW_H |
duncanFrance | 12:63db16fea709 | 2 | #define SIMPLEGUI_WINDOW_H |
duncanFrance | 12:63db16fea709 | 3 | |
duncanFrance | 12:63db16fea709 | 4 | /** |
duncanFrance | 12:63db16fea709 | 5 | * Defines an interface for classes which can contain widgets |
duncanFrance | 12:63db16fea709 | 6 | **/ |
duncanFrance | 12:63db16fea709 | 7 | |
duncanFrance | 12:63db16fea709 | 8 | class Window; |
duncanFrance | 12:63db16fea709 | 9 | |
duncanFrance | 12:63db16fea709 | 10 | #include "Widget.h" |
duncanFrance | 12:63db16fea709 | 11 | #include "GraphicsContext.h" |
duncanFrance | 12:63db16fea709 | 12 | #include "LinkedList.h" |
duncanFrance | 12:63db16fea709 | 13 | |
duncanFrance | 12:63db16fea709 | 14 | class Window : public Widget { |
duncanFrance | 12:63db16fea709 | 15 | |
duncanFrance | 12:63db16fea709 | 16 | public: |
duncanFrance | 12:63db16fea709 | 17 | |
duncanFrance | 12:63db16fea709 | 18 | Window(GraphicsContext *context); |
duncanFrance | 12:63db16fea709 | 19 | |
duncanFrance | 12:63db16fea709 | 20 | /** |
duncanFrance | 12:63db16fea709 | 21 | * We are going to override these Widget methods |
duncanFrance | 12:63db16fea709 | 22 | **/ |
duncanFrance | 12:63db16fea709 | 23 | virtual void attach(Widget *widget); |
duncanFrance | 12:63db16fea709 | 24 | virtual void detach(Widget *widget); |
duncanFrance | 12:63db16fea709 | 25 | virtual void dirtyAll(); |
duncanFrance | 12:63db16fea709 | 26 | |
duncanFrance | 12:63db16fea709 | 27 | protected: |
duncanFrance | 12:63db16fea709 | 28 | |
duncanFrance | 12:63db16fea709 | 29 | /** |
duncanFrance | 12:63db16fea709 | 30 | * Override to draw all the children |
duncanFrance | 12:63db16fea709 | 31 | **/ |
duncanFrance | 12:63db16fea709 | 32 | virtual void _draw(); |
duncanFrance | 12:63db16fea709 | 33 | |
duncanFrance | 12:63db16fea709 | 34 | LinkedList<Widget> _widgets; |
duncanFrance | 12:63db16fea709 | 35 | |
duncanFrance | 12:63db16fea709 | 36 | void _dirtyIntersected(Widget *w); |
duncanFrance | 12:63db16fea709 | 37 | }; |
duncanFrance | 12:63db16fea709 | 38 | |
duncanFrance | 12:63db16fea709 | 39 | #endif |