1
0
forked from 0ad/0ad

Adds disabled sprites to slider.

Tested By: Langbart
Differential Revision: https://code.wildfiregames.com/D4355
This was SVN commit r26019.
This commit is contained in:
Vladislav Belov 2021-11-27 13:37:05 +00:00
parent c0e0d620eb
commit 4c26a2d11f
5 changed files with 30 additions and 9 deletions

View File

@ -684,12 +684,26 @@
size="50%-10 50%-10 50%+11 50%+11"
/>
</sprite>
<sprite name="ModernSliderButtonDisabled">
<effect grayscale=""/>
<image texture="global/modern/tick-on.png"
real_texture_placement="0 0 27 27"
size="50%-10 50%-10 50%+11 50%+11"
/>
</sprite>
<sprite name="ModernSliderLine">
<image texture="global/modern/gold-separator.png"
real_texture_placement="0 0 806 1"
size="0 50%-1 100% 50%+1"
/>
</sprite>
<sprite name="ModernSliderLineDisabled">
<effect grayscale=""/>
<image texture="global/modern/gold-separator.png"
real_texture_placement="0 0 806 1"
size="0 50%-1 100% 50%+1"
/>
</sprite>
<sprite name="ModernArrowDownRed">
<effect add_color="123 53 53"/>

View File

@ -152,7 +152,9 @@
/>
<style name="ModernSlider"
sprite="ModernSliderButton"
sprite_disabled="ModernSliderButtonDisabled"
sprite_bar="ModernSliderLine"
sprite_bar_disabled="ModernSliderLineDisabled"
button_width="20"
tooltip_style="tooltipInstant"
sound_pressed="audio/interface/ui/ui_button_click.ogg"

View File

@ -395,13 +395,13 @@
<attribute name="sprite_asc"/>
</optional>
<optional>
<attribute name="sprite_heading"/>
<attribute name="sprite_background"/>
</optional>
<optional>
<attribute name="sprite_bar"/>
</optional>
<optional>
<attribute name="sprite_background"/>
<attribute name="sprite_bar_disabled"/>
</optional>
<optional>
<attribute name="sprite_desc"/>
@ -409,6 +409,9 @@
<optional>
<attribute name="sprite_disabled"/>
</optional>
<optional>
<attribute name="sprite_heading"/>
</optional>
<optional>
<attribute name="sprite_list"/>
</optional>

View File

@ -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<float>(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()

View File

@ -64,8 +64,8 @@ protected:
CGUISimpleSetting<float> m_ButtonSide;
CGUISimpleSetting<float> m_MinValue;
CGUISimpleSetting<float> m_MaxValue;
CGUISimpleSetting<CGUISpriteInstance> m_Sprite;
CGUISimpleSetting<CGUISpriteInstance> m_SpriteBar;
CGUISimpleSetting<CGUISpriteInstance> m_Sprite, m_SpriteDisabled;
CGUISimpleSetting<CGUISpriteInstance> m_SpriteBar, m_SpriteBarDisabled;
CGUISimpleSetting<float> m_Value;
private: