diff options
Diffstat (limited to 'options/slider.cpp')
-rw-r--r-- | options/slider.cpp | 56 |
1 files changed, 20 insertions, 36 deletions
diff --git a/options/slider.cpp b/options/slider.cpp index 33000ee9..76d1dddc 100644 --- a/options/slider.cpp +++ b/options/slider.cpp @@ -24,39 +24,24 @@ slider_value::slider_value(double cur, double min, double max) : cur_ = min_; } -slider_value::slider_value(const slider_value& v) : slider_value(v.cur(), v.min(), v.max()) -{ -} - -slider_value::slider_value() : slider_value(0, 0, 0) -{ -} - -slider_value& slider_value::operator=(const slider_value& v) -{ - cur_ = v.cur_; - - min_ = v.min_; - max_ = v.max_; - - return *this; -} - bool slider_value::operator==(const slider_value& v) const { - using std::fabs; - constexpr double eps = 2e-3; #if 1 - return (fabs(v.cur_ - cur_) < eps && - fabs(v.min_ - min_) < eps && - fabs(v.max_ - max_) < eps); + return (std::fabs(v.cur_ - cur_) < eps && + std::fabs(v.min_ - min_) < eps && + std::fabs(v.max_ - max_) < eps); #else - return (fabs(v.cur_ - cur_) < eps); + return (std::fabs(v.cur_ - cur_) < eps); #endif } +bool slider_value::operator!=(const slider_value& v) const +{ + return !(*this == v); +} + slider_value slider_value::update_from_slider(int pos, int q_min, int q_max) const { slider_value v(*this); @@ -67,11 +52,11 @@ slider_value slider_value::update_from_slider(int pos, int q_min, int q_max) con : (((pos - q_min) * (v.max() - v.min())) / q_diff + v.min()); if (sv_pos < v.min()) - v = slider_value(v.min(), v.min(), v.max()); + v = { v.min(), v.min(), v.max() }; else if (sv_pos > v.max()) - v = slider_value(v.max(), v.min(), v.max()); + v = { v.max(), v.min(), v.max() }; else - v = slider_value(sv_pos, v.min(), v.max()); + v = { sv_pos, v.min(), v.max() }; return v; } @@ -86,11 +71,11 @@ int slider_value::to_slider_pos(int q_min, int q_max) const return int(std::round(((cur() - min()) * q_diff / div) + q_min)); } -} // end ns options +} // ns options -QT_BEGIN_NAMESPACE +using options::slider_value; -QDataStream& operator << (QDataStream& out, const options::slider_value& v) +QDataStream& operator << (QDataStream& out, const slider_value& v) { out << v.cur() << v.min() @@ -98,17 +83,16 @@ QDataStream& operator << (QDataStream& out, const options::slider_value& v) return out; } -QDebug operator << (QDebug dbg, const options::slider_value& val) +QDebug operator << (QDebug dbg, const slider_value& v) { - return dbg << val.cur(); + return dbg << QStringLiteral("slider_value(cur=%1, min=%2, max=%3)") + .arg(v.cur()).arg(v.min()).arg(v.max()).toUtf8().constData(); } -QDataStream& operator >> (QDataStream& in, options::slider_value& v) +QDataStream& operator >> (QDataStream& in, slider_value& v) { double cur = 0, min = 0, max = 0; in >> cur >> min >> max; - v = options::slider_value(cur, min, max); + v = slider_value(cur, min, max); return in; } - -QT_END_NAMESPACE |