Polish: Offset button children by pressed state.

This commit is contained in:
Paul Chote
2010-11-28 11:18:03 +13:00
parent 306bece709
commit 7884cb310b

View File

@@ -64,6 +64,9 @@ namespace OpenRA.Widgets
return Depressed; return Depressed;
} }
public override int2 ChildOrigin { get { return RenderOrigin +
((Depressed) ? new int2(VisualHeight, VisualHeight) : new int2(0, 0)); } }
public override void DrawInner( WorldRenderer wr ) public override void DrawInner( WorldRenderer wr )
{ {
var font = (Bold) ? Game.Renderer.BoldFont : Game.Renderer.RegularFont; var font = (Bold) ? Game.Renderer.BoldFont : Game.Renderer.RegularFont;
@@ -97,13 +100,15 @@ namespace OpenRA.Widgets
public override void DrawInner(WorldRenderer wr) public override void DrawInner(WorldRenderer wr)
{ {
base.DrawInner(wr); base.DrawInner(wr);
var stateOffset = (Depressed) ? new int2(VisualHeight, VisualHeight) : new int2(0, 0);
var image = ChromeProvider.GetImage("scrollbar", "down_arrow"); var image = ChromeProvider.GetImage("scrollbar", "down_arrow");
WidgetUtils.DrawRGBA( image, WidgetUtils.DrawRGBA( image,
new float2( RenderBounds.Right - RenderBounds.Height + 4, stateOffset + new float2( RenderBounds.Right - RenderBounds.Height + 4,
RenderBounds.Top + (RenderBounds.Height - image.bounds.Height) / 2 )); RenderBounds.Top + (RenderBounds.Height - image.bounds.Height) / 2 ));
WidgetUtils.FillRectWithColor(new Rectangle(RenderBounds.Right - RenderBounds.Height, WidgetUtils.FillRectWithColor(new Rectangle(stateOffset.X + RenderBounds.Right - RenderBounds.Height,
RenderBounds.Top + 3, 1, RenderBounds.Height - 6), stateOffset.Y + RenderBounds.Top + 3, 1, RenderBounds.Height - 6),
Color.White); Color.White);
} }