Files
OpenRA/OpenRa.Game/Sheet.cs
chrisf 2a076b34bf reduces duplication; textures get put in hardware on demand now.
git-svn-id: svn://svn.ijw.co.nz/svn/OpenRa@1187 993157c7-ee19-0410-b2c4-bb4e9862e678
2007-07-13 02:06:38 +00:00

43 lines
780 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 Sheet(Bitmap b, GraphicsDevice d) { bitmap = b; 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;
}
}