Ejemplo n.º 1
0
        public void SizeChanged()
        {
            var rect = SpriteGroup.GetVisibilityRectangleForFrameGroup();

            if (rect.Width == Width && rect.Height == Height)
            {
                return;
            }

            Width  = rect.Width;
            Height = rect.Height;

            _spriteTexture?.Dispose();
            _spriteTexture = _drawing.CreateSpriteTexture(Width, Height);

            if (TextureId == IntPtr.Zero)
            {
                TextureId = _textureBinder.BindTexture(_spriteTexture);
            }
            else
            {
                _textureBinder.RebindTexture(TextureId, _spriteTexture);
            }

            Draw(0, 0);
        }
Ejemplo n.º 2
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);
        }
Ejemplo n.º 3
0
        public SpriteEditDialog(
            List <SpriteModel> spriteModels,
            int selectedSpriteModel,
            ISpriteDrawing spriteDrawing,
            ISpriteTexture atlasTexture,
            ITextureBinder textureBinder,
            IEditorSettings settings)
        {
            _spriteModels                 = spriteModels;
            _selectedSpriteModel          = selectedSpriteModel;
            _spriteDrawing                = spriteDrawing;
            _atlasTexture                 = atlasTexture;
            _textureBinder                = textureBinder;
            _settings                     = settings;
            _settings.OnChangeBackground += (o, e) => DrawCropAtlasTexture();

            _cropAtlasTexture   = _spriteDrawing.CreateSpriteTexture(atlasTexture.Width, atlasTexture.Height);
            _cropAtlasTextureId = _textureBinder.BindTexture(_cropAtlasTexture);
            DrawCropAtlasTexture();
        }
Ejemplo n.º 4
0
 private void InitializeSurface(ref ISpriteTexture spriteTexture, IImageRead image)
 {
     spriteTexture?.Dispose();
     spriteTexture = _drawing?.CreateSpriteTexture(image);
 }