Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/supermerill/SuperSlicer.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEnrico Turri <enricoturri@seznam.cz>2020-01-03 16:42:52 +0300
committerEnrico Turri <enricoturri@seznam.cz>2020-01-03 16:42:52 +0300
commit83cbe1dd3307f1698d4643edf9f9e2af214fac36 (patch)
tree6593df3bf46c42cb183ed7afbdc6be181c69952c /src/slic3r/GUI/AppConfig.cpp
parenta4ad0a0925bbe52d2a1f69510664a69251caac53 (diff)
3DConnexion devices' Y axis used for zoom in/zoom out
Diffstat (limited to 'src/slic3r/GUI/AppConfig.cpp')
-rw-r--r--src/slic3r/GUI/AppConfig.cpp24
1 files changed, 24 insertions, 0 deletions
diff --git a/src/slic3r/GUI/AppConfig.cpp b/src/slic3r/GUI/AppConfig.cpp
index 705582251..eb0a7fca6 100644
--- a/src/slic3r/GUI/AppConfig.cpp
+++ b/src/slic3r/GUI/AppConfig.cpp
@@ -271,7 +271,11 @@ void AppConfig::set_recent_projects(const std::vector<std::string>& recent_proje
}
}
+#if ENABLE_3DCONNEXION_Y_AS_ZOOM
+void AppConfig::set_mouse_device(const std::string& name, double translation_speed, double translation_deadzone, float rotation_speed, float rotation_deadzone, double zoom_speed)
+#else
void AppConfig::set_mouse_device(const std::string& name, double translation_speed, double translation_deadzone, float rotation_speed, float rotation_deadzone)
+#endif // ENABLE_3DCONNEXION_Y_AS_ZOOM
{
std::string key = std::string("mouse_device:") + name;
auto it = m_storage.find(key);
@@ -283,6 +287,9 @@ void AppConfig::set_mouse_device(const std::string& name, double translation_spe
it->second["translation_deadzone"] = std::to_string(translation_deadzone);
it->second["rotation_speed"] = std::to_string(rotation_speed);
it->second["rotation_deadzone"] = std::to_string(rotation_deadzone);
+#if ENABLE_3DCONNEXION_Y_AS_ZOOM
+ it->second["zoom_speed"] = std::to_string(zoom_speed);
+#endif // ENABLE_3DCONNEXION_Y_AS_ZOOM
}
bool AppConfig::get_mouse_device_translation_speed(const std::string& name, double& speed)
@@ -345,6 +352,23 @@ bool AppConfig::get_mouse_device_rotation_deadzone(const std::string& name, floa
return true;
}
+#if ENABLE_3DCONNEXION_Y_AS_ZOOM
+bool AppConfig::get_mouse_device_zoom_speed(const std::string& name, double& speed)
+{
+ std::string key = std::string("mouse_device:") + name;
+ auto it = m_storage.find(key);
+ if (it == m_storage.end())
+ return false;
+
+ auto it_val = it->second.find("zoom_speed");
+ if (it_val == it->second.end())
+ return false;
+
+ speed = (float)::atof(it_val->second.c_str());
+ return true;
+}
+#endif // ENABLE_3DCONNEXION_Y_AS_ZOOM
+
void AppConfig::update_config_dir(const std::string &dir)
{
this->set("recent", "config_directory", dir);