From 60fe89c1aa99a95df55aa83fc154c28bd56d31aa Mon Sep 17 00:00:00 2001 From: jules Date: Mon, 1 Jul 2013 17:39:10 +0100 Subject: [PATCH] Slider LinearBarVertical fixes. --- .../juce_gui_basics/lookandfeel/juce_LookAndFeel.cpp | 8 +++++++- modules/juce_gui_basics/widgets/juce_Slider.cpp | 11 ++++++++++- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/modules/juce_gui_basics/lookandfeel/juce_LookAndFeel.cpp b/modules/juce_gui_basics/lookandfeel/juce_LookAndFeel.cpp index d0e0c8058d..a26b8fbd0b 100644 --- a/modules/juce_gui_basics/lookandfeel/juce_LookAndFeel.cpp +++ b/modules/juce_gui_basics/lookandfeel/juce_LookAndFeel.cpp @@ -1466,7 +1466,13 @@ void LookAndFeel::drawLinearSlider (Graphics& g, isMouseOver || slider.isMouseButtonDown())); drawShinyButtonShape (g, - (float) x, (float) y, sliderPos - (float) x, (float) height, 0.0f, + (float) x, + style == Slider::LinearBarVertical ? sliderPos + : (float) y, + style == Slider::LinearBarVertical ? (float) width + : (sliderPos - x), + style == Slider::LinearBarVertical ? (height - sliderPos) + : (float) height, 0.0f, baseColour, slider.isEnabled() ? 0.9f : 0.3f, true, true, true, true); diff --git a/modules/juce_gui_basics/widgets/juce_Slider.cpp b/modules/juce_gui_basics/widgets/juce_Slider.cpp index f7d8e7e205..2663357b5c 100644 --- a/modules/juce_gui_basics/widgets/juce_Slider.cpp +++ b/modules/juce_gui_basics/widgets/juce_Slider.cpp @@ -1146,7 +1146,7 @@ public: const int indent = lf.getSliderThumbRadius (owner); - if (style == LinearBar || style == LinearBarVertical) + if (style == LinearBar) { const int barIndent = 1; sliderRegionStart = barIndent; @@ -1155,6 +1155,15 @@ public: sliderRect.setBounds (sliderRegionStart, barIndent, sliderRegionSize, localBounds.getHeight() - barIndent * 2); } + else if (style == LinearBarVertical) + { + const int barIndent = 1; + sliderRegionStart = barIndent; + sliderRegionSize = localBounds.getHeight() - barIndent * 2; + + sliderRect.setBounds (barIndent, sliderRegionStart, + localBounds.getWidth() - barIndent * 2, sliderRegionSize); + } else if (isHorizontal()) { sliderRegionStart = sliderRect.getX() + indent;