Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
godotengine
GitHub Repository: godotengine/godot
Path: blob/master/thirdparty/msdfgen/core/Range.hpp
9903 views
1
2
#pragma once
3
4
#include "base.h"
5
6
namespace msdfgen {
7
8
/**
9
* Represents the range between two real values.
10
* For example, the range of representable signed distances.
11
*/
12
struct Range {
13
14
double lower, upper;
15
16
inline Range(double symmetricalWidth = 0) : lower(-.5*symmetricalWidth), upper(.5*symmetricalWidth) { }
17
18
inline Range(double lowerBound, double upperBound) : lower(lowerBound), upper(upperBound) { }
19
20
inline Range &operator*=(double factor) {
21
lower *= factor;
22
upper *= factor;
23
return *this;
24
}
25
26
inline Range &operator/=(double divisor) {
27
lower /= divisor;
28
upper /= divisor;
29
return *this;
30
}
31
32
inline Range operator*(double factor) const {
33
return Range(lower*factor, upper*factor);
34
}
35
36
inline Range operator/(double divisor) const {
37
return Range(lower/divisor, upper/divisor);
38
}
39
40
};
41
42
inline Range operator*(double factor, const Range &range) {
43
return Range(factor*range.lower, factor*range.upper);
44
}
45
46
}
47
48