GUI parts for DISCO-F746NG. GuiBase, Button, ButtonGroup, Label, BlinkLabel, NumericLabel, SeekBar, SeekbarGroup
Dependents: F746_SD_GraphicEqualizer_ren0620
Fork of F746_GUI by
Diff: ButtonGroup.hpp
- Revision:
- 0:a2686ef737c2
- Child:
- 2:d2f882d98f0a
--- /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
