Fix: Signals were incorrectly shifted by 1 pixel when selected. (#12005)

Most shifting when pressed was removed by 884b9e66.
This commit is contained in:
Peter Nelson 2024-02-05 17:55:04 +00:00 committed by GitHub
parent 63708609fb
commit 09a12f230f
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 3 additions and 8 deletions

View File

@ -1693,12 +1693,9 @@ private:
/**
* Draw dynamic a signal-sprite in a button in the signal GUI
* Draw the sprite +1px to the right and down if the button is lowered
*
* @param widget_index index of this widget in the window
* @param image the sprite to draw
*/
void DrawSignalSprite(const Rect &r, WidgetID widget_index, SpriteID image) const
void DrawSignalSprite(const Rect &r, SpriteID image) const
{
Point offset;
Dimension sprite_size = GetSpriteSize(image, &offset);
@ -1707,9 +1704,7 @@ private:
int y = ir.top - sig_sprite_bottom_offset +
(ir.Height() + sig_sprite_size.height) / 2; // aligned to bottom
DrawSprite(image, PAL_NONE,
x + this->IsWidgetLowered(widget_index),
y + this->IsWidgetLowered(widget_index));
DrawSprite(image, PAL_NONE, x, y);
}
/** Show or hide buttons for non-path signals in the signal GUI */
@ -1786,7 +1781,7 @@ public:
int var = SIG_SEMAPHORE - (widget - WID_BS_SEMAPHORE_NORM) / SIGTYPE_END; // SignalVariant order is reversed compared to the widgets.
SpriteID sprite = GetRailTypeInfo(_cur_railtype)->gui_sprites.signals[type][var][this->IsWidgetLowered(widget)];
this->DrawSignalSprite(r, widget, sprite);
this->DrawSignalSprite(r, sprite);
}
}