#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