DoubleSlider Improvements:

Added color change on LeftMouseClick on "Plus"
This commit is contained in:
YuSanka 2024-05-03 20:47:48 +02:00 committed by Lukas Matena
parent 5247ebe325
commit 7d2c0be4a7
3 changed files with 18 additions and 0 deletions

View File

@ -647,6 +647,8 @@ void DSForLayers::Render(const int canvas_width, const int canvas_height, float
// discard all getters dialogs
m_show_get_jump_value = false;
}
else if (m_ctrl.IsLClickOnThumb())
add_code_as_tick(ColorChange);
// draw action buttons

View File

@ -515,6 +515,19 @@ bool ImGuiControl::draw_slider( int* higher_pos, int* lower_pos,
context.IO.MouseClicked[0])
m_rclick_on_selected_thumb = false;
// detect left click on selected thumb
if (ImGui::ItemHoverable(active_thumb, id) && !pos_changed) {
ImVec2 active_thumb_center = active_thumb.GetCenter();
if (context.IO.MouseClicked[0])
m_active_thumb_center_on_lcklick = active_thumb_center;
if (context.IO.MouseReleased[0] &&
(m_active_thumb_center_on_lcklick.y == active_thumb_center.y) &&
(m_active_thumb_center_on_lcklick.x == active_thumb_center.x) )
m_lclick_on_selected_thumb = true;
}
else
m_lclick_on_selected_thumb = false;
// render slider
ImVec2 higher_thumb_center = m_regions.higher_thumb.GetCenter();

View File

@ -84,6 +84,7 @@ public:
ImRect GetActiveThumbRect() const;
bool IsRClickOnThumb() const { return m_rclick_on_selected_thumb; }
bool IsLClickOnThumb() const { return m_lclick_on_selected_thumb; }
bool is_horizontal() const { return !(m_flags & ImGuiSliderFlags_Vertical); }
bool render();
@ -138,6 +139,8 @@ private:
int m_mouse_pos;
bool m_rclick_on_selected_thumb{ false };
bool m_lclick_on_selected_thumb{ false };
ImVec2 m_active_thumb_center_on_lcklick;
bool m_draw_lower_thumb{ true };
bool m_combine_thumbs { false };