Foundation classes for a basic GUI implementing simple widgets and events

Dependents:   TouchScreenGUIDemo

Core/GUI.h

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

File content as of revision 12:63db16fea709:

#ifndef SIMPLEGUI_GUI_H
#define SIMPLEGUI_GUI_H

class GUI;

#include "rtos.h"

#include "GraphicsContext.h"
#include "Window.h"

/**
* A singleton class to hold the framework components
**/
class GUI
{

public:

    GUI(GraphicsContext* context);

    GraphicsContext* getGraphicsContext();
    Window *rootWindow();
    
    void queueEvent(const Event e);
    void pumpEvents();
    void updateWindow();
    
private:

    GraphicsContext* _context;
    Mail<Event, 64> _mailbox;
    Window _rootWindow;
};
#endif