You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
24 lines
571 B
24 lines
571 B
/*
|
|
* Copyright 2020 Google Inc.
|
|
*
|
|
* Use of this source code is governed by a BSD-style license that can be
|
|
* found in the LICENSE file.
|
|
*/
|
|
|
|
#ifndef SkTPin_DEFINED
|
|
#define SkTPin_DEFINED
|
|
|
|
#include <algorithm>
|
|
|
|
/** @return x pinned (clamped) between lo and hi, inclusively.
|
|
|
|
Unlike std::clamp(), SkTPin() always returns a value between lo and hi.
|
|
If x is NaN, SkTPin() returns lo but std::clamp() returns NaN.
|
|
*/
|
|
template <typename T>
|
|
static constexpr const T& SkTPin(const T& x, const T& lo, const T& hi) {
|
|
return std::max(lo, std::min(x, hi));
|
|
}
|
|
|
|
#endif
|