Test de Stabilité

Dependencies:   Array_Matrix TS_DISCO_F746NG LCD_DISCO_F746NG BSP_DISCO_F746NG

ResetButton.hpp

Committer:
raketitch
Date:
2020-06-04
Revision:
34:50cabe442910
Parent:
33:50b8f7654c36

File content as of revision 34:50cabe442910:

//-----------------------------------------------------------
//  ResetButton class -- derived class of Button class
//
//  2017/01/16, Copyright (c) 2017 MIKAMI, Naoki
//-----------------------------------------------------------

#ifndef F746_RESET_BUTTON_HPP
#define F746_RESET_BUTTON_HPP

#include "Button.hpp"

namespace Mikami
{
    class ResetButton : public Button
    {
    public:
        ResetButton(uint16_t x = 0, uint16_t y = 240,
                    uint16_t w = 32, uint16_t h = 32)
            : Button(x, y, w, h)
        {
            pt_[0] = (Point){x+0.2f*w, y+h/2};
            pt_[1] = (Point){x+0.75f*w, y+0.175f*h};
            pt_[2] = (Point){x+0.75f*w, y+0.825f*h};
            Draw();
        }

        void DoIfTouched()
        {
            if (!Touched()) return;

            wait(0.2f);
            NVIC_SystemReset();
        }
        
        void Draw()
        {
            Activate();
            lcd_.SetTextColor(LCD_COLOR_WHITE);
            lcd_.FillPolygon(pt_, 3);
        }

    private:
        Point pt_[3];

        // disallow copy constructor and assignment operator
        ResetButton(const ResetButton&);
        ResetButton& operator=(const ResetButton&);
    };
}
#endif  // F746_RESET_BUTTON_HPP