Deluge Firmware
1.3.0
Build date: 2026.08.23
Toggle main menu visibility
Loading...
Searching...
No Matches
range.h
1
/*
2
* Copyright © 2018-2023 Synthstrom Audible Limited
3
*
4
* This file is part of The Synthstrom Audible Deluge Firmware.
5
*
6
* The Synthstrom Audible Deluge Firmware is free software: you can redistribute it and/or modify it under the
7
* terms of the GNU General Public License as published by the Free Software Foundation,
8
* either version 3 of the License, or (at your option) any later version.
9
*
10
* This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
11
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
12
* See the GNU General Public License for more details.
13
*
14
* You should have received a copy of the GNU General Public License along with this program.
15
* If not, see <https://www.gnu.org/licenses/>.
16
*/
17
18
#pragma once
19
20
#include "gui/menu_item/value.h"
21
22
namespace
deluge::gui::menu_item {
23
24
enum class
RangeEdit : uint8_t {
25
OFF = 0,
26
LEFT = 1,
27
RIGHT = 2,
28
};
29
30
class
Range
:
public
Value
<int32_t> {
31
public
:
32
using
Value::Value;
33
34
void
beginSession
(MenuItem* navigatedBackwardFrom)
override
;
35
void
horizontalEncoderAction
(int32_t offset)
final
;
36
bool
cancelEditingIfItsOn();
37
38
protected
:
39
virtual
void
getText(
char
* buffer, int32_t* getLeftLength =
nullptr
, int32_t* getRightLength =
nullptr
,
40
bool
mayShowJustOne =
true
) = 0;
41
virtual
bool
mayEditRangeEdge(RangeEdit whichEdge) {
return
true
; }
42
virtual
void
drawValue() { this->drawValue(0); }
43
void
drawValue(int32_t startPos,
bool
renderSidebarToo =
true
);
44
void
drawValueForEditingRange(
bool
blinkImmediately);
45
46
// OLED ONLY
47
void
drawPixelsForOled
();
48
};
49
}
// namespace deluge::gui::menu_item
deluge::gui::menu_item::Range
Definition
range.h:30
deluge::gui::menu_item::Range::drawPixelsForOled
void drawPixelsForOled()
Paints the pixels below the standard title block.
Definition
range.cpp:173
deluge::gui::menu_item::Range::beginSession
void beginSession(MenuItem *navigatedBackwardFrom) override
Begin an editing session with this menu item.
Definition
range.cpp:30
deluge::gui::menu_item::Range::horizontalEncoderAction
void horizontalEncoderAction(int32_t offset) final
Handle horizontal encoder movement.
Definition
range.cpp:39
deluge::gui::menu_item::Value
Definition
value.h:29