ELEC2645 (2018/19) / Mbed 2 deprecated el17ajf

Dependencies:   mbed

Fork of el17ajf by Angus Findlay

Menus/UI/UI.h

Committer:
el17ajf
Date:
2019-04-04
Revision:
25:bf47fe41883a
Parent:
21:62d2b5b73160
Child:
27:2ed9e3c9f4e9

File content as of revision 25:bf47fe41883a:

#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);
        bool drawAndCheckButton(const char * text);
    
        void selectNextButton();
        void selectPreviousButton();
        void pressButton();
        void newLine();
    
    private:
        static const int PADDING_X = 3;
        static const int PADDING_Y = 3;
        static const int LINE_PADDING = 3;
        int nextYPos;
        int nextY();
        int buttonCurrentlySelected;
        int buttonCurrentlyDrawing;
        bool buttonPressedFrame;
    };
};
#endif