diff options
Diffstat (limited to 'logic/mappings.cpp')
-rw-r--r-- | logic/mappings.cpp | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/logic/mappings.cpp b/logic/mappings.cpp new file mode 100644 index 00000000..115e9083 --- /dev/null +++ b/logic/mappings.cpp @@ -0,0 +1,37 @@ +#pragma once + +#include "mappings.hpp" + +Map::Map(QString primary, QString secondary, int max_x, int max_y, axis_opts& opts) : + opts(opts), + name1(primary), + name2(secondary), + spline_main(max_x, max_y, primary), + spline_alt(max_x, max_y, secondary) +{ + spline_main.set_max_input(opts.clamp); + spline_alt.set_max_input(opts.clamp); +} + +void Map::save(QSettings& s) +{ + spline_main.save(s); + spline_alt.save(s); +} + +void Map::load() +{ + spline_main.reload(); + spline_alt.reload(); +} + +Mappings::Mappings(std::vector<axis_opts*> opts) : + axes { + Map("spline-X", "alt-spline-X", 30, 75, *opts[TX]), + Map("spline-Y", "alt-spline-Y", 30, 75, *opts[TY]), + Map("spline-Z", "alt-spline-Z", 30, 75, *opts[TZ]), + Map("spline-yaw", "alt-spline-yaw", 180, 180, *opts[Yaw]), + Map("spline-pitch", "alt-spline-pitch", 180, 180, *opts[Pitch]), + Map("spline-roll", "alt-spline-roll", 180, 180, *opts[Roll]) + } +{} |