Files
OpenRA/OpenRa.Game/Sheet.cs

49 lines
883 B
C#

using System;
using System.Collections.Generic;
using System.Text;
using System.Drawing;
using BluntDirectX.Direct3D;
using System.IO;
using System.Drawing.Imaging;
namespace OpenRa.Game
{
class Sheet
{
public readonly Bitmap bitmap;
readonly GraphicsDevice device;
Texture texture;
public Size Size { get { return bitmap.Size; } }
public Sheet(Size size, GraphicsDevice d)
{
bitmap = new Bitmap(size.Width, size.Height);
device = d;
}
public Texture Texture
{
get
{
if (texture == null)
LoadTexture();
return texture;
}
}
void LoadTexture()
{
string tempFile = string.Format("../../../block-cache-{0}.png", suffix++);
bitmap.Save(tempFile);
using( Stream s = File.OpenRead(tempFile) )
texture = Texture.Create(s, device);
}
static int suffix = 0;
}
}