Add RGBASpriteWidget.

This commit is contained in:
Paul Chote
2014-03-23 22:45:22 +13:00
parent 3f63eb4ec6
commit de4898badf
2 changed files with 38 additions and 0 deletions

View File

@@ -233,6 +233,7 @@
<Compile Include="MapPreview.cs" />
<Compile Include="Widgets\SpriteWidget.cs" />
<Compile Include="Widgets\SpriteSequenceWidget.cs" />
<Compile Include="Widgets\RGBASpriteWidget.cs" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\OpenRA.FileFormats\OpenRA.FileFormats.csproj">

View File

@@ -0,0 +1,37 @@
#region Copyright & License Information
/*
* Copyright 2007-2014 The OpenRA Developers (see AUTHORS)
* This file is part of OpenRA, which is free software. It is made
* available to you under the terms of the GNU General Public License
* as published by the Free Software Foundation. For more information,
* see COPYING.
*/
#endregion
using System;
using OpenRA.Graphics;
namespace OpenRA.Widgets
{
public class RGBASpriteWidget : Widget
{
public Func<Sprite> GetSprite = () => null;
public RGBASpriteWidget() { }
protected RGBASpriteWidget(RGBASpriteWidget other)
: base(other)
{
GetSprite = other.GetSprite;
}
public override Widget Clone() { return new RGBASpriteWidget(this); }
public override void Draw()
{
var sprite = GetSprite();
if (sprite != null)
Game.Renderer.RgbaSpriteRenderer.DrawSprite(sprite, RenderOrigin);
}
}
}