Foundation classes for a basic GUI implementing simple widgets and events

Dependents:   TouchScreenGUIDemo

Widgets/Window.h

Committer:
duncanFrance
Date:
2016-05-08
Revision:
12:63db16fea709
Child:
18:d849f3ada858

File content as of revision 12:63db16fea709:

#ifndef SIMPLEGUI_WINDOW_H
#define SIMPLEGUI_WINDOW_H

/**
* Defines an interface for classes which can contain widgets
**/

class Window;

#include "Widget.h"
#include "GraphicsContext.h"
#include "LinkedList.h"

class Window : public Widget {
    
public:
    
    Window(GraphicsContext *context);
    
    /**
    * We are going to override these Widget methods
    **/
    virtual void attach(Widget *widget);
    virtual void detach(Widget *widget);   
    virtual void dirtyAll();
    
protected:

    /**
    * Override to draw all the children
    **/
    virtual void _draw();

    LinkedList<Widget> _widgets;
    
    void _dirtyIntersected(Widget *w);
};

#endif