From 5ee0b7017f0206d2d89cc09f11f752ae5e72b62d Mon Sep 17 00:00:00 2001 From: Green Sky Date: Tue, 14 Sep 2021 16:37:53 +0200 Subject: [PATCH] add float and double support for the scalar range widget --- framework/imgui/src/mm/imgui/widgets/scalar_range.cpp | 11 +++++++++++ framework/imgui/src/mm/imgui/widgets/scalar_range.hpp | 6 +++++- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/framework/imgui/src/mm/imgui/widgets/scalar_range.cpp b/framework/imgui/src/mm/imgui/widgets/scalar_range.cpp index 2eebcbd..ae2c299 100644 --- a/framework/imgui/src/mm/imgui/widgets/scalar_range.cpp +++ b/framework/imgui/src/mm/imgui/widgets/scalar_range.cpp @@ -44,5 +44,16 @@ namespace MM::ImGuiWidgets { return DragScalarRange2EXT(label, ImGuiDataType_S64, &range.min(), &range.max(), 0.1f, v_min, v_max); } + // float, double + template<> + bool DragScalarRange2(const char* label, ScalarRange2& range, float v_min , float v_max) { + return DragScalarRange2EXT(label, ImGuiDataType_Float, &range.min(), &range.max(), 0.1f, v_min, v_max); + } + + template<> + bool DragScalarRange2(const char* label, ScalarRange2& range, double v_min , double v_max) { + return DragScalarRange2EXT(label, ImGuiDataType_Double, &range.min(), &range.max(), 0.1f, v_min, v_max); + } + } // MM::ImGuiWidgets diff --git a/framework/imgui/src/mm/imgui/widgets/scalar_range.hpp b/framework/imgui/src/mm/imgui/widgets/scalar_range.hpp index 31c9cef..a97e678 100644 --- a/framework/imgui/src/mm/imgui/widgets/scalar_range.hpp +++ b/framework/imgui/src/mm/imgui/widgets/scalar_range.hpp @@ -69,7 +69,11 @@ namespace MM::ImGuiWidgets { template<> bool DragScalarRange2(const char* label, ScalarRange2& range, int64_t v_min , int64_t v_max); - // TODO: float, double + // float, double + template<> + bool DragScalarRange2(const char* label, ScalarRange2& range, float v_min , float v_max); + template<> + bool DragScalarRange2(const char* label, ScalarRange2& range, double v_min , double v_max); } // MM::ImGuiWidgets