Same as original
button_group.hpp
- Committer:
- MikamiUitOpen
- Date:
- 2015-12-09
- Revision:
- 6:d268555e2f50
- Parent:
- 4:543ec60c2814
- Child:
- 10:5ca60e724a76
File content as of revision 6:d268555e2f50:
//----------------------------------------------------------- // Button group class -- Header // // 2015/12/09, Copyright (c) 2015 MIKAMI, Naoki //----------------------------------------------------------- #ifndef F746_BUTTON_GROUP_HPP #define F746_BUTTON_GROUP_HPP #include "button.hpp" #include <string> namespace Mikami { class ButtonGroup { public: // Constructor ButtonGroup(LCD_DISCO_F746NG &lcd, TS_DISCO_F746NG &ts, uint16_t x0, uint16_t y0, uint16_t width, uint16_t height, uint32_t color, uint32_t backColor, uint16_t number, const string str[], uint16_t spaceX = 0, uint16_t spaceY = 0, uint16_t column = 1, sFONT &fonts = Font12, uint32_t textColor = LCD_COLOR_WHITE); // Destructor ~ButtonGroup(); // Draw button void Draw(int num, uint32_t color, uint32_t textColor = LCD_COLOR_WHITE) { buttons_[num]->Draw(color, textColor); } // Draw all button void DrawAll(uint32_t color, uint32_t textColor = LCD_COLOR_WHITE) { for (int n=0; n<numberOfButtons_; n++) buttons_[n]->Draw(color, textColor); } // Redraw button with original color void Redraw(int num, uint32_t textColor = LCD_COLOR_WHITE) { buttons_[num]->Redraw(textColor); } // Erase button with selected color void Erase(int num, uint32_t color) { buttons_[num]->Draw(color, color); } // Check touch detected for specified button bool Touched(int num) { return buttons_[num]->Touched(); } // Check touch detected for specified button and redraw bool Touched(int num, uint32_t color, uint32_t textColor = LCD_COLOR_WHITE); // Get touched number bool GetTouchedNumber(int &num); // Get touched number and redraw button if touched bool GetTouchedNumber(int &num, uint32_t color); // Get current color uint32_t GetCurrentColor(int n) { return buttons_[n]->GetCurrentColor(); } private: Button **buttons_; int numberOfButtons_; // disallow copy constructor and assignment operator ButtonGroup(const ButtonGroup&); ButtonGroup& operator=(const ButtonGroup&); }; } #endif // F746_BUTTON_GROUP_HPP