GUI parts for DISCO-F746NG. GuiBase, Button, ButtonGroup, ResetButton, Label, BlinkLabel, NumericLabel, SeekBar, SeekbarGroup, NumericUpDown

Dependencies:   Array_Matrix BSP_DISCO_F746NG LCD_DISCO_F746NG TS_DISCO_F746NG

Dependents:   F746_AudioOutQSPI F746_AudioPlayerSD DISCO-F746NG_test001 F746_SD_WavPlayer ... more

GuiBase.cpp

Committer:
MikamiUitOpen
Date:
2016-03-31
Revision:
0:a2686ef737c2

File content as of revision 0:a2686ef737c2:

//-----------------------------------------------------------
//  GuiBase class (abstract base class)
//
//  2016/03/29, Copyright (c) 2016 MIKAMI, Naoki
//-----------------------------------------------------------

#include "GuiBase.hpp"

namespace Mikami
{
    GuiBase::GuiBase(
        uint16_t x, uint16_t y, sFONT &fonts,
        uint32_t textColor, uint32_t backColor,
        uint32_t createdColor, uint32_t touchedColor,
        uint32_t inactiveColor, uint32_t inactiveTextColor)
        : X_(x), Y_(y), FONTS_(&fonts),
          TEXT_COLOR_(textColor), BACK_COLOR_(backColor),
          CREATED_COLOR_(createdColor),
          TOUCHED_COLOR_(touchedColor),
          INACTIVE_COLOR_(inactiveColor),
          INACTIVE_TEXT_COLOR_(inactiveTextColor)
    {
        if (first_)
        {
            lcd_.Clear(backColor);
            first_ = false;
        }
    }

    // If panel touched, return true
    bool GuiBase::PanelTouched()
    {
        ts_.GetState(&state_);
        return (bool)(state_.touchDetected);
    }

    LCD_DISCO_F746NG GuiBase::lcd_;
    TS_DISCO_F746NG GuiBase::ts_;

    TS_StateTypeDef GuiBase::state_;

    bool GuiBase::multiTouch_ = false;
    bool GuiBase::first_ = true;
}