2019-08-09 22:23:16 +02:00
|
|
|
using Microsoft.Xna.Framework;
|
|
|
|
using Microsoft.Xna.Framework.Graphics;
|
|
|
|
using MLEM.Extensions;
|
|
|
|
using MLEM.Textures;
|
|
|
|
|
|
|
|
namespace MLEM.Ui.Elements {
|
|
|
|
public class Image : Element {
|
|
|
|
|
|
|
|
public Color Color = Color.White;
|
2019-08-14 22:06:06 +02:00
|
|
|
public TextureRegion Texture;
|
2019-08-09 22:23:16 +02:00
|
|
|
private readonly bool scaleToImage;
|
|
|
|
|
|
|
|
public Image(Anchor anchor, Vector2 size, TextureRegion texture, bool scaleToImage = false) : base(anchor, size) {
|
2019-08-14 22:06:06 +02:00
|
|
|
this.Texture = texture;
|
2019-08-09 22:23:16 +02:00
|
|
|
this.scaleToImage = scaleToImage;
|
|
|
|
}
|
|
|
|
|
|
|
|
protected override Point CalcActualSize(Rectangle parentArea) {
|
2019-08-14 22:06:06 +02:00
|
|
|
return this.scaleToImage ? this.Texture.Size : base.CalcActualSize(parentArea);
|
2019-08-09 22:23:16 +02:00
|
|
|
}
|
|
|
|
|
2019-08-12 19:44:16 +02:00
|
|
|
public override void Draw(GameTime time, SpriteBatch batch, float alpha, Point offset) {
|
2019-08-14 22:06:06 +02:00
|
|
|
batch.Draw(this.Texture, this.DisplayArea.OffsetCopy(offset), this.Color * alpha);
|
2019-08-12 19:44:16 +02:00
|
|
|
base.Draw(time, batch, alpha, offset);
|
2019-08-09 22:23:16 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|