2018年3月16日に開催されるCQ出版社インターフェース誌オフ会で紹介するプログラム
Dependencies: mbed Array_Matrix BSP_DISCO_F746NG LCD_DISCO_F746NG TS_DISCO_F746NG
F746_Gui_New/ResetButton.hpp@0:f00cf31ae154, 2018-03-10 (annotated)
- Committer:
- MikamiUitOpen
- Date:
- Sat Mar 10 11:37:33 2018 +0000
- Revision:
- 0:f00cf31ae154
1
Who changed what in which revision?
User | Revision | Line number | New 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 |