boting ren / F746_GUI

Dependents:   F746_SD_GraphicEqualizer_ren0620

Fork of F746_GUI by 不韋 呂

Committer:
MikamiUitOpen
Date:
Wed Apr 27 00:24:18 2016 +0000
Revision:
10:5a2068884fd9
Parent:
9:c379410bda15
11

Who changed what in which revision?

UserRevisionLine numberNew contents of line
MikamiUitOpen 9:c379410bda15 1 //-----------------------------------------------------------
MikamiUitOpen 9:c379410bda15 2 // SeekBarGroup class -- Header
MikamiUitOpen 9:c379410bda15 3 //
MikamiUitOpen 10:5a2068884fd9 4 // 2016/04/26, Copyright (c) 2016 MIKAMI, Naoki
MikamiUitOpen 9:c379410bda15 5 //-----------------------------------------------------------
MikamiUitOpen 9:c379410bda15 6
MikamiUitOpen 9:c379410bda15 7 #ifndef F746_SEEKBAR_GROUP_HPP
MikamiUitOpen 9:c379410bda15 8 #define F746_SEEKBAR_GROUP_HPP
MikamiUitOpen 9:c379410bda15 9
MikamiUitOpen 9:c379410bda15 10 #include "SeekBar.hpp"
MikamiUitOpen 9:c379410bda15 11
MikamiUitOpen 9:c379410bda15 12 namespace Mikami
MikamiUitOpen 9:c379410bda15 13 {
MikamiUitOpen 9:c379410bda15 14 class SeekbarGroup : public GuiBase
MikamiUitOpen 9:c379410bda15 15 {
MikamiUitOpen 9:c379410bda15 16 public:
MikamiUitOpen 9:c379410bda15 17 SeekbarGroup(uint16_t x0, uint16_t y0, uint16_t length,
MikamiUitOpen 9:c379410bda15 18 uint16_t number, uint16_t space,
MikamiUitOpen 9:c379410bda15 19 float min, float max, float initialValue,
MikamiUitOpen 9:c379410bda15 20 SeekBar::Orientation hv = SeekBar::Holizontal,
MikamiUitOpen 9:c379410bda15 21 uint32_t thumbColor = LCD_COLOR_WHITE,
MikamiUitOpen 9:c379410bda15 22 uint16_t thumbSize = 30, uint16_t width = 4,
MikamiUitOpen 9:c379410bda15 23 uint32_t colorL = LCD_COLOR_LIGHTGRAY,
MikamiUitOpen 9:c379410bda15 24 uint32_t colorH = 0xFFB0B0B0,
MikamiUitOpen 9:c379410bda15 25 uint32_t backColor = GuiBase::ENUM_BACK);
MikamiUitOpen 9:c379410bda15 26
MikamiUitOpen 9:c379410bda15 27 ~SeekbarGroup();
MikamiUitOpen 9:c379410bda15 28
MikamiUitOpen 9:c379410bda15 29 bool Slide(int num) { return seekBars_[num]->Slide(); }
MikamiUitOpen 9:c379410bda15 30 float GetValue(int num) { return seekBars_[num]->GetValue(); }
MikamiUitOpen 9:c379410bda15 31 int GetIntValue(int num) { return seekBars_[num]->Round(seekBars_[num]->GetIntValue()); }
MikamiUitOpen 9:c379410bda15 32
MikamiUitOpen 9:c379410bda15 33 // Get slided number
MikamiUitOpen 9:c379410bda15 34 bool GetSlidedNumber(int &num);
MikamiUitOpen 9:c379410bda15 35
MikamiUitOpen 9:c379410bda15 36 void Draw(int num, float value, bool fill = false)
MikamiUitOpen 9:c379410bda15 37 { seekBars_[num]->Draw(value, fill); }
MikamiUitOpen 9:c379410bda15 38
MikamiUitOpen 10:5a2068884fd9 39 void Redraw(int num, bool fill = false)
MikamiUitOpen 10:5a2068884fd9 40 { seekBars_[num]->Draw(seekBars_[num]->GetValue(), fill); }
MikamiUitOpen 10:5a2068884fd9 41
MikamiUitOpen 10:5a2068884fd9 42 void RedrawAll(bool fill = false)
MikamiUitOpen 10:5a2068884fd9 43 { for (int n=0; n<numberOfSeekBar_; n++) Redraw(n, fill); }
MikamiUitOpen 9:c379410bda15 44
MikamiUitOpen 9:c379410bda15 45 // Activate and inactivate
MikamiUitOpen 9:c379410bda15 46 void Activate(int num) { seekBars_[num]->Activate(); }
MikamiUitOpen 9:c379410bda15 47 void Inactivate(int num) { seekBars_[num]->Inactivate(); }
MikamiUitOpen 9:c379410bda15 48 void ActivateAll()
MikamiUitOpen 9:c379410bda15 49 {
MikamiUitOpen 9:c379410bda15 50 for (int n=0; n<numberOfSeekBar_; n++)
MikamiUitOpen 9:c379410bda15 51 seekBars_[n]->Activate();
MikamiUitOpen 9:c379410bda15 52 }
MikamiUitOpen 9:c379410bda15 53 void InactivateAll()
MikamiUitOpen 9:c379410bda15 54 {
MikamiUitOpen 9:c379410bda15 55 for (int n=0; n<numberOfSeekBar_; n++)
MikamiUitOpen 9:c379410bda15 56 seekBars_[n]->Inactivate();
MikamiUitOpen 9:c379410bda15 57 }
MikamiUitOpen 9:c379410bda15 58
MikamiUitOpen 9:c379410bda15 59 private:
MikamiUitOpen 9:c379410bda15 60 SeekBar **seekBars_;
MikamiUitOpen 9:c379410bda15 61 int numberOfSeekBar_;
MikamiUitOpen 9:c379410bda15 62
MikamiUitOpen 9:c379410bda15 63 // Check range of argument
MikamiUitOpen 9:c379410bda15 64 bool Range(int n)
MikamiUitOpen 9:c379410bda15 65 { return ((n >= 0) && (n < numberOfSeekBar_)); }
MikamiUitOpen 9:c379410bda15 66
MikamiUitOpen 9:c379410bda15 67 // disallow copy constructor and assignment operator
MikamiUitOpen 9:c379410bda15 68 SeekbarGroup(const SeekbarGroup&);
MikamiUitOpen 9:c379410bda15 69 SeekbarGroup& operator=(const SeekbarGroup&);
MikamiUitOpen 9:c379410bda15 70 };
MikamiUitOpen 9:c379410bda15 71 }
MikamiUitOpen 9:c379410bda15 72 #endif // F746_SEEKBAR_GROUP_HPP