Exemple #1
0
        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();
 }
Exemple #3
0
 public void Dispose()
 {
     if (TextureId != IntPtr.Zero)
     {
         _textureBinder.UnbindTexture(TextureId);
     }
     _spriteTexture?.Dispose();
 }