aboutsummaryrefslogtreecommitdiffhomepage
path: root/include/core
diff options
context:
space:
mode:
Diffstat (limited to 'include/core')
-rw-r--r--include/core/SkScalar.h4
-rw-r--r--include/core/SkTypes.h15
2 files changed, 7 insertions, 12 deletions
diff --git a/include/core/SkScalar.h b/include/core/SkScalar.h
index fae23eb23a..443454a2ef 100644
--- a/include/core/SkScalar.h
+++ b/include/core/SkScalar.h
@@ -175,9 +175,7 @@ static inline SkScalar SkScalarClampMax(SkScalar x, SkScalar max) {
}
static inline SkScalar SkScalarPin(SkScalar x, SkScalar min, SkScalar max) {
- x = SkTMin(x, max);
- x = SkTMax(x, min);
- return x;
+ return SkTPin(x, min, max);
}
SkScalar SkScalarSinCos(SkScalar radians, SkScalar* cosValue);
diff --git a/include/core/SkTypes.h b/include/core/SkTypes.h
index 9014620695..c2c8f0a80b 100644
--- a/include/core/SkTypes.h
+++ b/include/core/SkTypes.h
@@ -400,16 +400,13 @@ static inline int32_t SkFastMin32(int32_t value, int32_t max) {
return value;
}
-/** Returns signed 32 bit value pinned between min and max, inclusively
-*/
+template <typename T> static inline const T& SkTPin(const T& x, const T& min, const T& max) {
+ return SkTMax(SkTMin(x, max), min);
+}
+
+/** Returns signed 32 bit value pinned between min and max, inclusively. */
static inline int32_t SkPin32(int32_t value, int32_t min, int32_t max) {
- if (value < min) {
- value = min;
- }
- if (value > max) {
- value = max;
- }
- return value;
+ return SkTPin(value, min, max);
}
static inline uint32_t SkSetClearShift(uint32_t bits, bool cond,