public void SizeChanged() { var newWidth = Math.Max(1, Math.Max(Sprite.Left, Sprite.Right) - Math.Min(Sprite.Left, Sprite.Right)); var newHeight = Math.Max(1, Math.Max(Sprite.Top, Sprite.Bottom) - Math.Max(1, Math.Min(Sprite.Top, Sprite.Bottom))); if (newWidth == Width && newHeight == Height) { return; } if (TextureId != IntPtr.Zero) { _textureBinder.UnbindTexture(TextureId); } _spriteTexture?.Dispose(); Width = newWidth; Height = newHeight; _sequence.SpriteGroups[0][0].Right = Width; _sequence.SpriteGroups[0][0].Bottom = Height; _spriteTexture = _drawing.CreateSpriteTexture(Width, Height); TextureId = _textureBinder.BindTexture(_spriteTexture); Draw(0, 0); }
public void Dispose() { if (_cropAtlasTextureId != IntPtr.Zero) { _textureBinder.UnbindTexture(_cropAtlasTextureId); } _cropAtlasTexture?.Dispose(); }
public void Dispose() { if (TextureId != IntPtr.Zero) { _textureBinder.UnbindTexture(TextureId); } _spriteTexture?.Dispose(); }