diff options
author | Stanislaw Halik <sthalik@misaki.pl> | 2015-07-26 11:27:54 +0200 |
---|---|---|
committer | Stanislaw Halik <sthalik@misaki.pl> | 2015-07-26 11:27:54 +0200 |
commit | f4417361b0fd580855ec84d3c2159162c4426c43 (patch) | |
tree | 4faa9903e6e9b0e1a3ccb825405e19d85fcb6112 /qfunctionconfigurator/functionconfig.h | |
parent | a0d668b148177f597f286ce7dfe01d06e48f97eb (diff) | |
parent | 058f823f432484594a816b2489ea2edb2b56d5a4 (diff) |
Merge branch 'unstable' into trackhat-ui
Diffstat (limited to 'qfunctionconfigurator/functionconfig.h')
-rw-r--r-- | qfunctionconfigurator/functionconfig.h | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/qfunctionconfigurator/functionconfig.h b/qfunctionconfigurator/functionconfig.h index 446c73ac..d49a8f7b 100644 --- a/qfunctionconfigurator/functionconfig.h +++ b/qfunctionconfigurator/functionconfig.h @@ -14,16 +14,19 @@ #include <QSettings> #include <QMutex> #include <vector> +#include <limits> #include "opentrack-compat/qcopyable-mutex.hpp" class Map { private: static constexpr int value_count = 5000; - using num = float; + using num = double; + using integral = std::uint16_t; + static constexpr integral integral_max = std::numeric_limits<integral>::max(); struct State { QList<QPointF> input; - std::vector<num> data; + std::vector<integral> data; }; int precision() const; @@ -37,6 +40,7 @@ private: double max_y; State cur, saved; + bool lazy_reload; public: double maxInput() const { return max_x; } double maxOutput() const { return max_y; } @@ -45,6 +49,7 @@ public: { setMaxInput(maxx); setMaxOutput(maxy); + lazy_reload = true; } num getValue(num x); @@ -53,7 +58,7 @@ public: void removeAllPoints() { QMutexLocker foo(&_mutex); cur.input.clear(); - reload(); + lazy_reload = true; } void addPoint(QPointF pt); |