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:
32:7b5a864b9234
Parent:
30:11838cb6979f
Child:
37:8da316cf4549

File content as of revision 32:7b5a864b9234:

#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 next_y_pos;
        int nextY();
        int button_currently_selected;
        int button_currently_drawing;
        bool button_pressed_frame;
        int frame;
    };
};
#endif