SPKT
SeekbarGroup.cpp@0:4e245f4bc8ac, 2019-06-07 (annotated)
- Committer:
- phungductung
- Date:
- Fri Jun 07 05:06:42 2019 +0000
- Revision:
- 0:4e245f4bc8ac
spkt
Who changed what in which revision?
User | Revision | Line number | New 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 |