summaryrefslogtreecommitdiffhomepage
path: root/logic
diff options
context:
space:
mode:
authorStanislaw Halik <sthalik@misaki.pl>2017-02-05 11:49:06 +0100
committerStanislaw Halik <sthalik@misaki.pl>2017-02-05 11:49:06 +0100
commit87d2b5992d400239240709adc6503e500ea7e058 (patch)
tree861592d4a49b28b0084bf8162044cb0b77e6ef86 /logic
parent6a28df861112ae4de4d901c6f1bfa49daffde4a7 (diff)
gui, logic: allow for limiting max X on translation axis also
Diffstat (limited to 'logic')
-rw-r--r--logic/main-settings.hpp26
1 files changed, 20 insertions, 6 deletions
diff --git a/logic/main-settings.hpp b/logic/main-settings.hpp
index 504952ff..f87cc789 100644
--- a/logic/main-settings.hpp
+++ b/logic/main-settings.hpp
@@ -16,16 +16,29 @@ using namespace options;
#include "export.hpp"
+namespace axis_clamp_opts
+{
+
+} // ns axis-clamp-opts
+
struct axis_opts final
{
- enum max_rotation : int
+ enum max_clamp
{
r180 = 180,
r90 = 90,
r60 = 60,
r45 = 45,
r30 = 30,
- r20 = 25,
+ r25 = 25,
+ r20 = 20,
+ r15 = 15,
+ r10 = 10,
+
+ t30 = 30,
+ t20 = 20,
+ t15 = 15,
+ t10 = 10,
};
// note, these two bundles can be the same value with no issues
@@ -33,15 +46,15 @@ struct axis_opts final
value<double> zero;
value<int> src;
value<bool> invert, altp;
- value<max_rotation> clamp;
- axis_opts(bundle b_settings_window, bundle b_mapping_window, QString pfx, int idx) :
+ value<max_clamp> clamp;
+ axis_opts(bundle b_settings_window, bundle b_mapping_window, QString pfx, Axis idx) :
b_settings_window(b_settings_window),
b_mapping_window(b_mapping_window),
zero(b_settings_window, n(pfx, "zero-pos"), 0),
src(b_settings_window, n(pfx, "source-index"), idx),
invert(b_settings_window, n(pfx, "invert-sign"), false),
altp(b_mapping_window, n(pfx, "alt-axis-sign"), false),
- clamp(b_mapping_window, n(pfx, "max-value"), r180)
+ clamp(b_mapping_window, n(pfx, "max-value"), idx >= Yaw ? r180 : t30)
{}
private:
static inline QString n(QString pfx, QString name)
@@ -78,7 +91,8 @@ struct module_settings
struct main_settings
{
bundle b, b_map;
- axis_opts a_x, a_y, a_z, a_yaw, a_pitch, a_roll;
+ axis_opts a_x, a_y, a_z;
+ axis_opts a_yaw, a_pitch, a_roll;
value<bool> tcomp_p, tcomp_disable_tx, tcomp_disable_ty, tcomp_disable_tz;
value<bool> tcomp_disable_src_yaw, tcomp_disable_src_pitch, tcomp_disable_src_roll;
value<bool> tray_enabled, tray_start;