LMMS
Loading...
Searching...
No Matches
juce_AccessibilityValueInterface.h
Go to the documentation of this file.
1/*
2 ==============================================================================
3
4 This file is part of the JUCE library.
5 Copyright (c) 2022 - Raw Material Software Limited
6
7 JUCE is an open source library subject to commercial or open-source
8 licensing.
9
10 By using JUCE, you agree to the terms of both the JUCE 7 End-User License
11 Agreement and JUCE Privacy Policy.
12
13 End User License Agreement: www.juce.com/juce-7-licence
14 Privacy Policy: www.juce.com/juce-privacy-policy
15
16 Or: You may also use this code under the terms of the GPL v3 (see
17 www.gnu.org/licenses).
18
19 JUCE IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL WARRANTIES, WHETHER
20 EXPRESSED OR IMPLIED, INCLUDING MERCHANTABILITY AND FITNESS FOR PURPOSE, ARE
21 DISCLAIMED.
22
23 ==============================================================================
24*/
25
26namespace juce
27{
28
46{
47public:
49 virtual ~AccessibilityValueInterface() = default;
50
56 virtual bool isReadOnly() const = 0;
57
59 virtual double getCurrentValue() const = 0;
60
62 virtual String getCurrentValueAsString() const = 0;
63
65 virtual void setValue (double newValue) = 0;
66
68 virtual void setValueAsString (const String& newValue) = 0;
69
84 {
85 public:
93
95 struct JUCE_API MinAndMax { double min, max; };
96
102 AccessibleValueRange (MinAndMax valueRange, double interval)
103 : valid (true),
104 range (valueRange),
105 stepSize (interval)
106 {
107 jassert (range.min < range.max);
108 }
109
111 bool isValid() const noexcept { return valid; }
112
114 double getMinimumValue() const noexcept { return range.min; }
115
117 double getMaximumValue() const noexcept { return range.max; }
118
120 double getInterval() const noexcept { return stepSize; }
121
122 private:
123 bool valid = false;
125 double stepSize = 0.0;
126 };
127
131 virtual AccessibleValueRange getRange() const = 0;
132};
133
134//==============================================================================
140{
141public:
147 bool isReadOnly() const override = 0;
148
150 String getCurrentValueAsString() const override = 0;
151
153 void setValueAsString (const String& newValue) override = 0;
154
156 double getCurrentValue() const final { return getCurrentValueAsString().getDoubleValue(); }
158 void setValue (double newValue) final { setValueAsString (String (newValue)); }
161};
162
163//==============================================================================
169{
170public:
176 bool isReadOnly() const override = 0;
177
179 double getCurrentValue() const override = 0;
180
182 void setValue (double newValue) override = 0;
183
187 void setValueAsString (const String& newValue) final { setValue (newValue.getDoubleValue()); }
190};
191
192//==============================================================================
198{
199public:
205 bool isReadOnly() const override = 0;
206
208 double getCurrentValue() const override = 0;
209
211 void setValue (double newValue) override = 0;
212
214 AccessibleValueRange getRange() const override = 0;
215
219 void setValueAsString (const String& newValue) final { setValue (newValue.getDoubleValue()); }
220};
221
222} // namespace juce
#define noexcept
Definition DistrhoDefines.h:72
#define final
Definition DistrhoDefines.h:74
Definition juce_AccessibilityValueInterface.h:169
void setValue(double newValue) override=0
String getCurrentValueAsString() const final
Definition juce_AccessibilityValueInterface.h:185
AccessibleValueRange getRange() const final
Definition juce_AccessibilityValueInterface.h:189
double getCurrentValue() const override=0
void setValueAsString(const String &newValue) final
Definition juce_AccessibilityValueInterface.h:187
Definition juce_AccessibilityValueInterface.h:198
void setValue(double newValue) override=0
void setValueAsString(const String &newValue) final
Definition juce_AccessibilityValueInterface.h:219
AccessibleValueRange getRange() const override=0
String getCurrentValueAsString() const final
Definition juce_AccessibilityValueInterface.h:217
Definition juce_AccessibilityValueInterface.h:140
void setValue(double newValue) final
Definition juce_AccessibilityValueInterface.h:158
AccessibleValueRange getRange() const final
Definition juce_AccessibilityValueInterface.h:160
String getCurrentValueAsString() const override=0
double getCurrentValue() const final
Definition juce_AccessibilityValueInterface.h:156
bool isReadOnly() const override=0
void setValueAsString(const String &newValue) override=0
Definition juce_AccessibilityValueInterface.h:84
double stepSize
Definition juce_AccessibilityValueInterface.h:125
MinAndMax range
Definition juce_AccessibilityValueInterface.h:124
double getMaximumValue() const noexcept
Definition juce_AccessibilityValueInterface.h:117
double getInterval() const noexcept
Definition juce_AccessibilityValueInterface.h:120
bool valid
Definition juce_AccessibilityValueInterface.h:123
double getMinimumValue() const noexcept
Definition juce_AccessibilityValueInterface.h:114
bool isValid() const noexcept
Definition juce_AccessibilityValueInterface.h:111
AccessibleValueRange(MinAndMax valueRange, double interval)
Definition juce_AccessibilityValueInterface.h:102
Definition juce_AccessibilityValueInterface.h:46
virtual double getCurrentValue() const =0
virtual void setValueAsString(const String &newValue)=0
virtual bool isReadOnly() const =0
virtual String getCurrentValueAsString() const =0
virtual void setValue(double newValue)=0
virtual ~AccessibilityValueInterface()=default
virtual AccessibleValueRange getRange() const =0
Definition juce_String.h:53
#define jassert(expression)
#define JUCE_API
Definition juce_StandardHeader.h:152
Definition carla_juce.cpp:31
#define true
Definition ordinals.h:82
Definition juce_AccessibilityValueInterface.h:95
double max
Definition juce_AccessibilityValueInterface.h:95
double min
Definition juce_AccessibilityValueInterface.h:95
#define const
Definition zconf.h:137