SPKT

Dependents:   Player

Committer:
phungductung
Date:
Fri Jun 07 05:06:42 2019 +0000
Revision:
0:4e245f4bc8ac
spkt

Who changed what in which revision?

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