sp

Dependents:   WAV

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
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 #include "SeekbarGroup.hpp"
phungductung 0:4e245f4bc8ac 8
phungductung 0:4e245f4bc8ac 9 namespace Mikami
phungductung 0:4e245f4bc8ac 10 {
phungductung 0:4e245f4bc8ac 11 SeekbarGroup::SeekbarGroup(
phungductung 0:4e245f4bc8ac 12 uint16_t x0, uint16_t y0, uint16_t length,
phungductung 0:4e245f4bc8ac 13 uint16_t number, uint16_t space,
phungductung 0:4e245f4bc8ac 14 float min, float max, float initialValue,
phungductung 0:4e245f4bc8ac 15 SeekBar::Orientation hv,
phungductung 0:4e245f4bc8ac 16 uint32_t thumbColor, uint16_t thumbSize, uint16_t width,
phungductung 0:4e245f4bc8ac 17 uint32_t colorL, uint32_t colorH, uint32_t backColor)
phungductung 0:4e245f4bc8ac 18 : NUMBER_(number)
phungductung 0:4e245f4bc8ac 19 {
phungductung 0:4e245f4bc8ac 20 seekBars_.SetSize(number);
phungductung 0:4e245f4bc8ac 21 for (int n=0; n<number; n++)
phungductung 0:4e245f4bc8ac 22 {
phungductung 0:4e245f4bc8ac 23 uint16_t x = x0;
phungductung 0:4e245f4bc8ac 24 uint16_t y = y0;
phungductung 0:4e245f4bc8ac 25 if (hv == SeekBar::Holizontal) y += space*n;
phungductung 0:4e245f4bc8ac 26 else x += space*n;
phungductung 0:4e245f4bc8ac 27 seekBars_[n] =
phungductung 0:4e245f4bc8ac 28 new SeekBar(x, y, length, min, max, initialValue, hv,
phungductung 0:4e245f4bc8ac 29 thumbColor, thumbSize, width,
phungductung 0:4e245f4bc8ac 30 colorL, colorH, backColor);
phungductung 0:4e245f4bc8ac 31 }
phungductung 0:4e245f4bc8ac 32 }
phungductung 0:4e245f4bc8ac 33
phungductung 0:4e245f4bc8ac 34 // Get slided number
phungductung 0:4e245f4bc8ac 35 bool SeekbarGroup::GetSlidedNumber(int &num)
phungductung 0:4e245f4bc8ac 36 {
phungductung 0:4e245f4bc8ac 37 bool active = false;
phungductung 0:4e245f4bc8ac 38 for (int n=0; n<NUMBER_; n++)
phungductung 0:4e245f4bc8ac 39 if (seekBars_[n]->IsActive()) active = true;
phungductung 0:4e245f4bc8ac 40 if (!active) return false;
phungductung 0:4e245f4bc8ac 41
phungductung 0:4e245f4bc8ac 42 if (!GuiBase::PanelTouched())
phungductung 0:4e245f4bc8ac 43 {
phungductung 0:4e245f4bc8ac 44 for (int n=0; n<NUMBER_; n++)
phungductung 0:4e245f4bc8ac 45 {
phungductung 0:4e245f4bc8ac 46 if (seekBars_[n]->GetSlided())
phungductung 0:4e245f4bc8ac 47 seekBars_[n]->Draw(seekBars_[n]->GetValue());
phungductung 0:4e245f4bc8ac 48 seekBars_[n]->SetSlided(false);
phungductung 0:4e245f4bc8ac 49 }
phungductung 0:4e245f4bc8ac 50 return false;
phungductung 0:4e245f4bc8ac 51 }
phungductung 0:4e245f4bc8ac 52
phungductung 0:4e245f4bc8ac 53 bool rtn = false;
phungductung 0:4e245f4bc8ac 54 uint16_t x, y;
phungductung 0:4e245f4bc8ac 55 for (int n=0; n<NUMBER_; n++)
phungductung 0:4e245f4bc8ac 56 {
phungductung 0:4e245f4bc8ac 57 if (seekBars_[n]->IsOnThumb(x, y))
phungductung 0:4e245f4bc8ac 58 {
phungductung 0:4e245f4bc8ac 59 if ((num != n) && Range(num))
phungductung 0:4e245f4bc8ac 60 seekBars_[num]->Draw(seekBars_[num]->GetValue());
phungductung 0:4e245f4bc8ac 61 num = n;
phungductung 0:4e245f4bc8ac 62 seekBars_[n]->SetValue(seekBars_[n]->ToValue(SeekBar::Point(x, y)));
phungductung 0:4e245f4bc8ac 63 seekBars_[n]->Draw(seekBars_[n]->GetValue(), true);
phungductung 0:4e245f4bc8ac 64 seekBars_[n]->SetSlided(true);
phungductung 0:4e245f4bc8ac 65 rtn = true;
phungductung 0:4e245f4bc8ac 66 }
phungductung 0:4e245f4bc8ac 67 if (rtn) break;
phungductung 0:4e245f4bc8ac 68 }
phungductung 0:4e245f4bc8ac 69 return rtn;
phungductung 0:4e245f4bc8ac 70 }
phungductung 0:4e245f4bc8ac 71 }
phungductung 0:4e245f4bc8ac 72