diff options
author | Stanislaw Halik <sthalik@misaki.pl> | 2016-08-23 13:27:19 +0200 |
---|---|---|
committer | Stanislaw Halik <sthalik@misaki.pl> | 2016-08-23 13:27:19 +0200 |
commit | b30fbd10720959bf16835891a2a802b38a1717bf (patch) | |
tree | 428814057c1a04bfabd2a7eb14483f6844c70f16 | |
parent | 7df3e936e1db5a23aa0bef804eec0e0af5f4ab65 (diff) |
compat/util: move typical "clamp" function here
-rw-r--r-- | compat/util.hpp | 10 | ||||
-rw-r--r-- | proto-vjoystick/vjoystick.cpp | 11 | ||||
-rw-r--r-- | spline-widget/spline.hpp | 11 |
3 files changed, 12 insertions, 20 deletions
diff --git a/compat/util.hpp b/compat/util.hpp index 33e64a80..453d94bd 100644 --- a/compat/util.hpp +++ b/compat/util.hpp @@ -46,6 +46,16 @@ public: inhibit_qt_signals(std::shared_ptr<QObject> val) : inhibit_qt_signals(*val.get()) {} }; +template<typename t, typename u, typename w> +auto clamp(t val, u min, w max) -> decltype (val * min * max) +{ + if (val > max) + return max; + if (val < min) + return min; + return val; +} + namespace detail { template<typename t> diff --git a/proto-vjoystick/vjoystick.cpp b/proto-vjoystick/vjoystick.cpp index ad582b6d..5a780222 100644 --- a/proto-vjoystick/vjoystick.cpp +++ b/proto-vjoystick/vjoystick.cpp @@ -1,5 +1,6 @@ #include "vjoystick.h" #include "api/plugin-api.hpp" +#include "compat/util.hpp" #include <cstring> #include <QDebug> @@ -18,16 +19,6 @@ #define OPENTRACK_VJOYSTICK_ID 1 -template<typename t, typename u, typename v> -static t clamp(t val, u min, v max) -{ - if (val < min) - return t(min); - if (val > max) - return t(max); - return val; -} - const unsigned char handle::axis_ids[6] = { HID_USAGE_X, diff --git a/spline-widget/spline.hpp b/spline-widget/spline.hpp index 0ffc4de9..75a9e95e 100644 --- a/spline-widget/spline.hpp +++ b/spline-widget/spline.hpp @@ -10,6 +10,7 @@ #include "compat/qcopyable-mutex.hpp" #include "options/options.hpp" +#include "compat/util.hpp" using namespace options; #include "export.hpp" @@ -48,16 +49,6 @@ class OPENTRACK_SPLINE_EXPORT spline final static QPointF ensure_in_bounds(const QList<QPointF>& points, int i); - template<typename t, typename u, typename w> - static inline auto clamp(t val, u min, w max) -> decltype (val * min * max) - { - if (val > max) - return max; - if (val < min) - return min; - return val; - } - mem<spline_detail::settings> s; QMetaObject::Connection connection; |