private Texture GetTilesChunkTexture(DevicePanel d, int x, int y) { if (this.TileChunksTextures[y][x] != null) { return(this.TileChunksTextures[y][x]); } Rectangle rect = GetTilesChunkArea(x, y); using (Bitmap bmp = new Bitmap(rect.Width * TILE_SIZE, rect.Height * TILE_SIZE, System.Drawing.Imaging.PixelFormat.Format32bppArgb)) { using (Graphics g = Graphics.FromImage(bmp)) { for (int ty = rect.Y; ty < rect.Y + rect.Height; ++ty) { for (int tx = rect.X; tx < rect.X + rect.Width; ++tx) { if (this.Layer.Tiles[ty][tx] != 0xffff) { DrawTile(g, Layer.Tiles[ty][tx], tx - rect.X, ty - rect.Y); } } } } this.TileChunksTextures[y][x] = TextureCreator.FromBitmap(d._device, bmp); } return(this.TileChunksTextures[y][x]); }
public void InitDeviceResources() { sprite = new Sprite(_device); sprite2 = new Sprite(_device); tx = TextureCreator.FromBitmap(_device, txb); tcircle = TextureCreator.FromBitmap(_device, tcircleb); tecircle = TextureCreator.FromBitmap(_device, tecircleb); hcursor = TextureCreator.FromBitmap(_device, hcursorb); vcursor = TextureCreator.FromBitmap(_device, vcursorb); hvcursor = TextureCreator.FromBitmap(_device, hvcursorb); FontDescription fontDescription = new FontDescription() { Height = 18, Italic = false, CharacterSet = FontCharacterSet.Ansi, FaceName = "Microsoft Sans Serif", MipLevels = 0, OutputPrecision = FontPrecision.TrueType, PitchAndFamily = FontPitchAndFamily.Default, Quality = FontQuality.Antialiased, Weight = FontWeight.Regular }; FontDescription fontDescriptionBold = new FontDescription() { Height = 18, Italic = false, CharacterSet = FontCharacterSet.Ansi, FaceName = "Microsoft Sans Serif", MipLevels = 0, OutputPrecision = FontPrecision.TrueType, PitchAndFamily = FontPitchAndFamily.Default, Quality = FontQuality.Antialiased, Weight = FontWeight.Bold }; font = new Font(_device, fontDescription); fontBold = new Font(_device, fontDescriptionBold); }