GUI parts for DISCO-F469I a fork of DISCO-F746NG. GuiBase, Button, ButtonGroup, ResetButton, Label, BlinkLabel, NumericLabel, SeekBar, SeekbarGroup
Dependents: DISCO-F469NI_LCDTS_GUI_demo DISCO-F469NI_LCDTS_GUI_demo projekt_PSW_v1 DISCO-F469NI_LCDTS_GUI_demoaaaaaaaaaxxxx ... more
Fork of F746_GUI by
Diff: ButtonGroup.hpp
- Revision:
- 0:a2686ef737c2
- Child:
- 2:d2f882d98f0a
diff -r 000000000000 -r a2686ef737c2 ButtonGroup.hpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ButtonGroup.hpp Thu Mar 31 07:28:42 2016 +0000 @@ -0,0 +1,77 @@ +//----------------------------------------------------------- +// ButtonGroup class -- Header +// +// 2016/03/31, Copyright (c) 2016 MIKAMI, Naoki +//----------------------------------------------------------- + +#ifndef F746_BUTTON_GROUP_HPP +#define F746_BUTTON_GROUP_HPP + +#include "Button.hpp" + +namespace Mikami +{ + class ButtonGroup : public GuiBase + { + public: + // Constructor + ButtonGroup(uint16_t x0, uint16_t y0, + uint16_t width, uint16_t height, + uint16_t number, const string str[], + uint16_t spaceX = 0, uint16_t spaceY = 0, + uint16_t column = 1, + int touched = -1, // number for button initially touched-color + sFONT &fonts = Font12, + uint32_t textColor = GuiBase::ENUM_TEXT, + uint32_t backColor = GuiBase::ENUM_BACK, + uint32_t createdColor = GuiBase::ENUM_CREATED, + uint32_t touchedColor = GuiBase::ENUM_TOUCHED, + uint32_t inactiveColor = GuiBase::ENUM_INACTIVE, + uint32_t inactiveTextColor = GuiBase::ENUM_INACTIVE_TEXT); + + // Destructor + ~ButtonGroup(); + + // Draw button + bool Draw(int num, uint32_t color, uint32_t textColor); + bool Draw(int num) { return Draw(num, CREATED_COLOR_, TEXT_COLOR_); } + + // Draw with touched color + bool DrawTouched(int num) { return Draw(num, TOUCHED_COLOR_, TEXT_COLOR_); } + + // Draw all buttons + void DrawAll(uint32_t color, uint32_t textColor) + { + for (int n=0; n<numberOfButtons_; n++) + buttons_[n]->Draw(color, textColor); + } + void DrawAll() { DrawAll(CREATED_COLOR_, TEXT_COLOR_); } + + // Erase button with selected color + bool Erase(int num); + + // Check touch detected for specified button + bool Touched(int num); + + // Get touched number + bool GetTouchedNumber(int &num); + + // Activate and inactivate + bool Activate(int num); + bool Inactivate(int num); + + private: + Button **buttons_; + int numberOfButtons_; + __IO int prevNum_; + + // Check range of argument + bool Range(int n) + { return ((n >= 0) && (n < numberOfButtons_)); } + + // disallow copy constructor and assignment operator + ButtonGroup(const ButtonGroup&); + ButtonGroup& operator=(const ButtonGroup&); + }; +} +#endif // F746_BUTTON_GROUP_HPP