🪲 RangeSlider thumb did not display correctly when borders were set while using textures
parent
d28d05f8d8
commit
d5c2bc18ef
|
@ -566,21 +566,23 @@ namespace tgui
|
||||||
|
|
||||||
void RangeSlider::updateThumbPositions()
|
void RangeSlider::updateThumbPositions()
|
||||||
{
|
{
|
||||||
|
const sf::Vector2f innerSize = getInnerSize();
|
||||||
|
|
||||||
if (m_verticalScroll)
|
if (m_verticalScroll)
|
||||||
{
|
{
|
||||||
m_thumbs.first.left = (getSize().x - m_thumbs.first.width) / 2.0f;
|
m_thumbs.first.left = m_bordersCached.getLeft() + (innerSize.x - m_thumbs.first.width) / 2.0f;
|
||||||
m_thumbs.first.top = (getSize().y / (m_maximum - m_minimum) * (m_maximum - m_selectionStart)) - (m_thumbs.first.height / 2.0f);
|
m_thumbs.first.top = (innerSize.y / (m_maximum - m_minimum) * (m_maximum - m_selectionStart)) - (m_thumbs.first.height / 2.0f);
|
||||||
|
|
||||||
m_thumbs.second.left = (getSize().x - m_thumbs.second.width) / 2.0f;
|
m_thumbs.second.left = m_bordersCached.getLeft() + (innerSize.x - m_thumbs.second.width) / 2.0f;
|
||||||
m_thumbs.second.top = (getSize().y / (m_maximum - m_minimum) * (m_maximum - m_selectionEnd)) - (m_thumbs.second.height / 2.0f);
|
m_thumbs.second.top = (innerSize.y / (m_maximum - m_minimum) * (m_maximum - m_selectionEnd)) - (m_thumbs.second.height / 2.0f);
|
||||||
}
|
}
|
||||||
else
|
else // horizontal
|
||||||
{
|
{
|
||||||
m_thumbs.first.left = (getSize().x / (m_maximum - m_minimum) * (m_selectionStart - m_minimum)) - (m_thumbs.first.width / 2.0f);
|
m_thumbs.first.left = (innerSize.x / (m_maximum - m_minimum) * (m_selectionStart - m_minimum)) - (m_thumbs.first.width / 2.0f);
|
||||||
m_thumbs.first.top = (getSize().y - m_thumbs.first.height) / 2.0f;
|
m_thumbs.first.top = m_bordersCached.getTop() + (innerSize.y - m_thumbs.first.height) / 2.0f;
|
||||||
|
|
||||||
m_thumbs.second.left = (getSize().x / (m_maximum - m_minimum) * (m_selectionEnd - m_minimum)) - (m_thumbs.second.width / 2.0f);
|
m_thumbs.second.left = (innerSize.x / (m_maximum - m_minimum) * (m_selectionEnd - m_minimum)) - (m_thumbs.second.width / 2.0f);
|
||||||
m_thumbs.second.top = (getSize().y - m_thumbs.second.height) / 2.0f;
|
m_thumbs.second.top = m_bordersCached.getTop() + (innerSize.y - m_thumbs.second.height) / 2.0f;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -645,8 +647,8 @@ namespace tgui
|
||||||
{
|
{
|
||||||
states.transform.translate({-m_bordersCached.getLeft() + m_thumbs.first.left, -m_bordersCached.getTop() + m_thumbs.first.top});
|
states.transform.translate({-m_bordersCached.getLeft() + m_thumbs.first.left, -m_bordersCached.getTop() + m_thumbs.first.top});
|
||||||
|
|
||||||
// Draw the borders around the thumb
|
// Draw the borders around the thumb when using colors
|
||||||
if (m_bordersCached != Borders{0})
|
if ((m_bordersCached != Borders{0}) && !(m_spriteTrack.isSet() && m_spriteThumb.isSet()))
|
||||||
{
|
{
|
||||||
if (m_mouseHover && m_borderColorHoverCached.isSet())
|
if (m_mouseHover && m_borderColorHoverCached.isSet())
|
||||||
drawBorders(target, states, m_bordersCached, {m_thumbs.first.width, m_thumbs.first.height}, m_borderColorHoverCached);
|
drawBorders(target, states, m_bordersCached, {m_thumbs.first.width, m_thumbs.first.height}, m_borderColorHoverCached);
|
||||||
|
@ -682,8 +684,8 @@ namespace tgui
|
||||||
{
|
{
|
||||||
states.transform.translate({-m_bordersCached.getLeft() + m_thumbs.second.left, -m_bordersCached.getTop() + m_thumbs.second.top});
|
states.transform.translate({-m_bordersCached.getLeft() + m_thumbs.second.left, -m_bordersCached.getTop() + m_thumbs.second.top});
|
||||||
|
|
||||||
// Draw the borders around the thumb
|
// Draw the borders around the thumb when using colors
|
||||||
if (m_bordersCached != Borders{0})
|
if ((m_bordersCached != Borders{0}) && !(m_spriteTrack.isSet() && m_spriteThumb.isSet()))
|
||||||
{
|
{
|
||||||
if (m_mouseHover && m_borderColorHoverCached.isSet())
|
if (m_mouseHover && m_borderColorHoverCached.isSet())
|
||||||
drawBorders(target, states, m_bordersCached, {m_thumbs.second.width, m_thumbs.second.height}, m_borderColorHoverCached);
|
drawBorders(target, states, m_bordersCached, {m_thumbs.second.width, m_thumbs.second.height}, m_borderColorHoverCached);
|
||||||
|
|
Loading…
Reference in New Issue