2018年3月16日に開催されるCQ出版社インターフェース誌オフ会で紹介するプログラム

Dependencies:   mbed Array_Matrix BSP_DISCO_F746NG LCD_DISCO_F746NG TS_DISCO_F746NG

Committer:
MikamiUitOpen
Date:
Sat Mar 10 11:37:33 2018 +0000
Revision:
0:f00cf31ae154
1

Who changed what in which revision?

UserRevisionLine numberNew contents of line
MikamiUitOpen 0:f00cf31ae154 1 //-----------------------------------------------------------
MikamiUitOpen 0:f00cf31ae154 2 // ResetButton class -- derived class of Button class
MikamiUitOpen 0:f00cf31ae154 3 //
MikamiUitOpen 0:f00cf31ae154 4 // 2017/01/16, Copyright (c) 2017 MIKAMI, Naoki
MikamiUitOpen 0:f00cf31ae154 5 //-----------------------------------------------------------
MikamiUitOpen 0:f00cf31ae154 6
MikamiUitOpen 0:f00cf31ae154 7 #ifndef F746_RESET_BUTTON_HPP
MikamiUitOpen 0:f00cf31ae154 8 #define F746_RESET_BUTTON_HPP
MikamiUitOpen 0:f00cf31ae154 9
MikamiUitOpen 0:f00cf31ae154 10 #include "Button.hpp"
MikamiUitOpen 0:f00cf31ae154 11
MikamiUitOpen 0:f00cf31ae154 12 namespace Mikami
MikamiUitOpen 0:f00cf31ae154 13 {
MikamiUitOpen 0:f00cf31ae154 14 class ResetButton : public Button
MikamiUitOpen 0:f00cf31ae154 15 {
MikamiUitOpen 0:f00cf31ae154 16 public:
MikamiUitOpen 0:f00cf31ae154 17 ResetButton(uint16_t x = 0, uint16_t y = 240,
MikamiUitOpen 0:f00cf31ae154 18 uint16_t w = 32, uint16_t h = 32)
MikamiUitOpen 0:f00cf31ae154 19 : Button(x, y, w, h)
MikamiUitOpen 0:f00cf31ae154 20 {
MikamiUitOpen 0:f00cf31ae154 21 pt_[0] = (Point){x+0.2f*w, y+h/2};
MikamiUitOpen 0:f00cf31ae154 22 pt_[1] = (Point){x+0.75f*w, y+0.175f*h};
MikamiUitOpen 0:f00cf31ae154 23 pt_[2] = (Point){x+0.75f*w, y+0.825f*h};
MikamiUitOpen 0:f00cf31ae154 24 Draw();
MikamiUitOpen 0:f00cf31ae154 25 }
MikamiUitOpen 0:f00cf31ae154 26
MikamiUitOpen 0:f00cf31ae154 27 void DoIfTouched()
MikamiUitOpen 0:f00cf31ae154 28 {
MikamiUitOpen 0:f00cf31ae154 29 if (!Touched()) return;
MikamiUitOpen 0:f00cf31ae154 30
MikamiUitOpen 0:f00cf31ae154 31 wait(0.2f);
MikamiUitOpen 0:f00cf31ae154 32 NVIC_SystemReset();
MikamiUitOpen 0:f00cf31ae154 33 }
MikamiUitOpen 0:f00cf31ae154 34
MikamiUitOpen 0:f00cf31ae154 35 void Draw()
MikamiUitOpen 0:f00cf31ae154 36 {
MikamiUitOpen 0:f00cf31ae154 37 Activate();
MikamiUitOpen 0:f00cf31ae154 38 lcd_.SetTextColor(LCD_COLOR_WHITE);
MikamiUitOpen 0:f00cf31ae154 39 lcd_.FillPolygon(pt_, 3);
MikamiUitOpen 0:f00cf31ae154 40 }
MikamiUitOpen 0:f00cf31ae154 41
MikamiUitOpen 0:f00cf31ae154 42 private:
MikamiUitOpen 0:f00cf31ae154 43 Point pt_[3];
MikamiUitOpen 0:f00cf31ae154 44 };
MikamiUitOpen 0:f00cf31ae154 45 }
MikamiUitOpen 0:f00cf31ae154 46 #endif // F746_RESET_BUTTON_HPP