diff --git a/binaries/data/mods/mod/gui/common/modern/sprites.xml b/binaries/data/mods/mod/gui/common/modern/sprites.xml
index fc584c4ea9..ef2146cd80 100644
--- a/binaries/data/mods/mod/gui/common/modern/sprites.xml
+++ b/binaries/data/mods/mod/gui/common/modern/sprites.xml
@@ -684,12 +684,26 @@
size="50%-10 50%-10 50%+11 50%+11"
/>
+
+
+
+
+
+
+
+
diff --git a/binaries/data/mods/mod/gui/common/modern/styles.xml b/binaries/data/mods/mod/gui/common/modern/styles.xml
index 6d83545ba1..399147adc6 100644
--- a/binaries/data/mods/mod/gui/common/modern/styles.xml
+++ b/binaries/data/mods/mod/gui/common/modern/styles.xml
@@ -152,7 +152,9 @@
/>
-
+
-
+
@@ -409,6 +409,9 @@
+
+
+
diff --git a/source/gui/ObjectTypes/CSlider.cpp b/source/gui/ObjectTypes/CSlider.cpp
index aee5b41c4d..7d956a0089 100644
--- a/source/gui/ObjectTypes/CSlider.cpp
+++ b/source/gui/ObjectTypes/CSlider.cpp
@@ -31,7 +31,9 @@ CSlider::CSlider(CGUI& pGUI)
m_MaxValue(this, "max_value"),
m_MinValue(this, "min_value"),
m_Sprite(this, "sprite"),
+ m_SpriteDisabled(this, "sprite_disabled"),
m_SpriteBar(this, "sprite_bar"),
+ m_SpriteBarDisabled(this, "sprite_bar_disabled"),
m_Value(this, "value")
{
m_Value.Set(Clamp(m_Value, m_MinValue, m_MaxValue), false);
@@ -104,11 +106,11 @@ void CSlider::HandleMessage(SGUIMessage& Message)
void CSlider::Draw(CCanvas2D& canvas)
{
- CRect slider_line(m_CachedActualSize);
- slider_line.left += m_ButtonSide / 2.0f;
- slider_line.right -= m_ButtonSide / 2.0f;
- m_pGUI.DrawSprite(m_SpriteBar, canvas, slider_line);
- m_pGUI.DrawSprite(m_Sprite, canvas, GetButtonRect());
+ CRect sliderLine(m_CachedActualSize);
+ sliderLine.left += m_ButtonSide / 2.0f;
+ sliderLine.right -= m_ButtonSide / 2.0f;
+ m_pGUI.DrawSprite(IsEnabled() ? m_SpriteBar : m_SpriteBarDisabled, canvas, sliderLine);
+ m_pGUI.DrawSprite(IsEnabled() ? m_Sprite : m_SpriteDisabled, canvas, GetButtonRect());
}
void CSlider::UpdateValue()
diff --git a/source/gui/ObjectTypes/CSlider.h b/source/gui/ObjectTypes/CSlider.h
index 05f98637da..95237c1179 100644
--- a/source/gui/ObjectTypes/CSlider.h
+++ b/source/gui/ObjectTypes/CSlider.h
@@ -64,8 +64,8 @@ protected:
CGUISimpleSetting m_ButtonSide;
CGUISimpleSetting m_MinValue;
CGUISimpleSetting m_MaxValue;
- CGUISimpleSetting m_Sprite;
- CGUISimpleSetting m_SpriteBar;
+ CGUISimpleSetting m_Sprite, m_SpriteDisabled;
+ CGUISimpleSetting m_SpriteBar, m_SpriteBarDisabled;
CGUISimpleSetting m_Value;
private: