ELEC2645 (2018/19) / Mbed 2 deprecated el17ajf

Dependencies:   mbed

Fork of el17ajf by Angus Findlay

Menus/UI/UI.h

Committer:
el17ajf
Date:
2019-04-13
Revision:
30:11838cb6979f
Parent:
27:2ed9e3c9f4e9
Child:
32:7b5a864b9234

File content as of revision 30:11838cb6979f:

#ifndef UI_H
#define UI_H

namespace Menus {
    class UI {
    public:
        UI();
        ~UI();
        
        void reset();
        void clear();
        
        void drawTitle(const char * text);
        void drawLabel(const char * text);
        void drawFlashingLabel(const char * text);
        bool drawAndCheckButton(const char * text);
        void drawLogo();
    
        void selectNextButton();
        void selectPreviousButton();
        void pressButton();
        void newLine();
    
    private:
        static const int PADDING_X = 3;
        static const int PADDING_Y = 4;
        static const int LINE_PADDING = 3;
        int nextYPos;
        int nextY();
        int buttonCurrentlySelected;
        int buttonCurrentlyDrawing;
        bool buttonPressedFrame;
        int frame;
    };
};
#endif