Changeset - r28689:c14327eb21b9
[Not reviewed]
master
0 1 0
Peter Nelson - 3 months ago 2024-02-05 17:55:04
peter1138@openttd.org
Fix: Signals were incorrectly shifted by 1 pixel when selected. (#12005)

Most shifting when pressed was removed by 884b9e66.
1 file changed with 3 insertions and 8 deletions:
0 comments (0 inline, 0 general)
src/rail_gui.cpp
Show inline comments
 
@@ -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);
 
		}
 
	}
 

	
0 comments (0 inline, 0 general)