Spectral analysis.

Dependencies:   Array_Matrix BSP_DISCO_F746NG LCD_DISCO_F746NG TS_DISCO_F746NG

Dependents:   Spectrogram

Fork of F746_GUI by 不韋 呂

GuiBase.hpp

Committer:
mladjo1993
Date:
2017-08-30
Revision:
34:671f9e9174f3
Parent:
33:f8dbcf3fee79

File content as of revision 34:671f9e9174f3:

//-----------------------------------------------------------
//  GuiBase class (abstract base class) ---- Header
//      
//  2017/03/17, Copyright (c) 2017 MIKAMI, Naoki
//-----------------------------------------------------------

#ifndef F746_GUI_BASE_HPP
#define F746_GUI_BASE_HPP

#include "mbed.h"
#include <string>
#include "TS_DISCO_F746NG.h"
#include "LCD_DISCO_F746NG.h"

namespace etf
{
    class GuiBase
    {
    public:                    
        static LCD_DISCO_F746NG& GetLcd() { return lcd_; }
        static TS_DISCO_F746NG& GetTs() { return ts_; }

        // If panel touched, return true
        static bool PanelTouched();
        // Get touch panel state
        static TS_StateTypeDef GetTsState() { return state_; }

        enum { ENUM_TEXT = 0xFFFFFFFF, ENUM_BACK = 0xFF003538,
               ENUM_CREATED = 0xFF0068B7, ENUM_TOUCHED = 0xFF7F7FFF,
               ENUM_INACTIVE = 0xD0003538, ENUM_INACTIVE_TEXT = 0xFF808080};

    protected:
        static LCD_DISCO_F746NG lcd_;  // for LCD display
        static TS_DISCO_F746NG ts_;    // for touch pannel

        static TS_StateTypeDef state_;
        static bool multiTouch_;

        const uint16_t X_, Y_;
        sFONT *const FONTS_;

        const uint32_t TEXT_COLOR_;
        const uint32_t BACK_COLOR_;
        const uint32_t CREATED_COLOR_;
        const uint32_t TOUCHED_COLOR_;
        const uint32_t INACTIVE_COLOR_;
        const uint32_t INACTIVE_TEXT_COLOR_;

        // Constructor
        GuiBase(uint16_t x =0, uint16_t y =0,
                sFONT &fonts = Font12,
                uint32_t textColor         = ENUM_TEXT,
                uint32_t backColor         = ENUM_BACK,
                uint32_t createdColor      = ENUM_CREATED,
                uint32_t touchedColor      = ENUM_TOUCHED,
                uint32_t inactiveColor     = ENUM_INACTIVE,
                uint32_t inactiveTextColor = ENUM_INACTIVE_TEXT);

        void DrawString(uint16_t x, uint16_t y, const string str)
        { lcd_.DisplayStringAt(x, y, (uint8_t *)str.c_str(), LEFT_MODE); }

    private:
        static bool first_;
        
        // disallow copy constructor and assignment operator
        GuiBase(const GuiBase&);
        GuiBase& operator=(const GuiBase&);
    };
}
#endif  // F746_GUI_BASE_HPP