Class library: Button class and ButtonGroup class for DISCO-F746NG. クラスライブラリ: DISCO-F746NG 用の,Button クラス,ButtonGroup クラス.
Dependents: F746_SpectralAnalysis_NoPhoto F746_Fourier_series_of_square_wave_01 F746_ButtonGroup_Demo F746_Mandelbrot ... more
button.hpp
- Committer:
- MikamiUitOpen
- Date:
- 2015-11-23
- Revision:
- 1:57fe493e8db2
- Parent:
- 0:d3038879fed6
- Child:
- 3:d99d9c0324b7
File content as of revision 1:57fe493e8db2:
//----------------------------------------------------------- // Button class -- Header // // 2015/11/23, Copyright (c) 2015 MIKAMI, Naoki //----------------------------------------------------------- #ifndef F746_BUTTON_HPP #define F746_BUTTON_HPP #include "mbed.h" #include <string> #include "TS_DISCO_F746NG.h" #include "LCD_DISCO_F746NG.h" namespace Mikami { class Button { public: // Constructor Button(LCD_DISCO_F746NG &lcd, TS_DISCO_F746NG &ts, uint16_t x, uint16_t y, uint16_t width, uint16_t height, uint32_t color, uint32_t backColor, string str = "", sFONT &fonts = Font12, uint32_t textColor = LCD_COLOR_WHITE) : lcd_(lcd), ts_(ts), X_(x), Y_(y), W_(width), H_(height), COLOR_(color), BACK_COLOR_(backColor), STR_(str), FONTS_(&fonts) { Draw(color, textColor); } // Draw button void Draw(uint32_t color, uint32_t textColor = LCD_COLOR_WHITE); // Redraw button with original color void Redraw(uint32_t textColor = LCD_COLOR_WHITE) { Draw(COLOR_, textColor); } // Erase button with selected color void Erase() { Draw(BACK_COLOR_, BACK_COLOR_); } // Check touch detected bool Touched(); // Check touch detected and redraw button bool Touched(uint32_t color, uint32_t textColor = LCD_COLOR_WHITE); // Get original color uint32_t GetColor() { return COLOR_; } private: LCD_DISCO_F746NG &lcd_; TS_DISCO_F746NG &ts_; const uint16_t X_, Y_, W_, H_; const uint32_t COLOR_; // original color const uint32_t BACK_COLOR_; // back color of screen const string STR_; sFONT *const FONTS_; // disallow copy constructor and assignment operator Button(const Button&); Button& operator=(const Button&); }; } #endif // F746_BUTTON_HPP