From 0e8ab68c22138f2170f5f26e7392a70aac602ae6 Mon Sep 17 00:00:00 2001 From: Florian Rival Date: Thu, 5 Sep 2024 18:01:10 +0200 Subject: [PATCH] Update --- .../panelspriteruntimeobject-pixi-renderer.ts | 10 +++++++++- .../Renderers/RenderedPanelSpriteInstance.js | 18 ++++++++++++++++++ 2 files changed, 27 insertions(+), 1 deletion(-) diff --git a/Extensions/PanelSpriteObject/panelspriteruntimeobject-pixi-renderer.ts b/Extensions/PanelSpriteObject/panelspriteruntimeobject-pixi-renderer.ts index c4f39502ab64..ac7462eda810 100644 --- a/Extensions/PanelSpriteObject/panelspriteruntimeobject-pixi-renderer.ts +++ b/Extensions/PanelSpriteObject/panelspriteruntimeobject-pixi-renderer.ts @@ -213,7 +213,6 @@ namespace gdjs { this._textureHeight = texture.height; function makeInsideTexture(rect) { - //TODO if (rect.width < 0) { rect.width = 0; } @@ -240,6 +239,7 @@ namespace gdjs { } return rect; } + this._centerSprite.texture.destroy(false); this._centerSprite.texture = new PIXI.Texture( texture, makeInsideTexture( @@ -253,6 +253,7 @@ namespace gdjs { ); //Top, Bottom, Right, Left borders: + this._borderSprites[0].texture.destroy(false); this._borderSprites[0].texture = new PIXI.Texture( texture, makeInsideTexture( @@ -264,6 +265,7 @@ namespace gdjs { ) ) ); + this._borderSprites[2].texture.destroy(false); this._borderSprites[2].texture = new PIXI.Texture( texture, makeInsideTexture( @@ -275,6 +277,7 @@ namespace gdjs { ) ) ); + this._borderSprites[4].texture.destroy(false); this._borderSprites[4].texture = new PIXI.Texture( texture, makeInsideTexture( @@ -286,6 +289,7 @@ namespace gdjs { ) ) ); + this._borderSprites[6].texture.destroy(false); this._borderSprites[6].texture = new PIXI.Texture( texture, makeInsideTexture( @@ -297,6 +301,7 @@ namespace gdjs { ) ) ); + this._borderSprites[1].texture.destroy(false); this._borderSprites[1].texture = new PIXI.Texture( texture, makeInsideTexture( @@ -308,10 +313,12 @@ namespace gdjs { ) ) ); + this._borderSprites[3].texture.destroy(false); this._borderSprites[3].texture = new PIXI.Texture( texture, makeInsideTexture(new PIXI.Rectangle(0, 0, obj._lBorder, obj._tBorder)) ); + this._borderSprites[5].texture.destroy(false); this._borderSprites[5].texture = new PIXI.Texture( texture, makeInsideTexture( @@ -323,6 +330,7 @@ namespace gdjs { ) ) ); + this._borderSprites[7].texture.destroy(false); this._borderSprites[7].texture = new PIXI.Texture( texture, makeInsideTexture( diff --git a/newIDE/app/src/ObjectsRendering/Renderers/RenderedPanelSpriteInstance.js b/newIDE/app/src/ObjectsRendering/Renderers/RenderedPanelSpriteInstance.js index 3f32ffdf605f..b7518e689ad4 100644 --- a/newIDE/app/src/ObjectsRendering/Renderers/RenderedPanelSpriteInstance.js +++ b/newIDE/app/src/ObjectsRendering/Renderers/RenderedPanelSpriteInstance.js @@ -267,6 +267,8 @@ export default class RenderedPanelSpriteInstance extends RenderedInstance { return rect; } + if (this._centerSprite.texture.valid) + this._centerSprite.texture.destroy(false); this._centerSprite.texture = new PIXI.Texture( texture, makeInsideTexture( @@ -284,6 +286,8 @@ export default class RenderedPanelSpriteInstance extends RenderedInstance { ); //Right + if (this._borderSprites[0].texture.valid) + this._borderSprites[0].texture.destroy(false); this._borderSprites[0].texture = new PIXI.Texture( texture, makeInsideTexture( @@ -299,6 +303,8 @@ export default class RenderedPanelSpriteInstance extends RenderedInstance { ); //Top-right + if (this._borderSprites[1].texture.valid) + this._borderSprites[1].texture.destroy(false); this._borderSprites[1].texture = new PIXI.Texture( texture, makeInsideTexture( @@ -312,6 +318,8 @@ export default class RenderedPanelSpriteInstance extends RenderedInstance { ); //Top + if (this._borderSprites[2].texture.valid) + this._borderSprites[2].texture.destroy(false); this._borderSprites[2].texture = new PIXI.Texture( texture, makeInsideTexture( @@ -327,6 +335,8 @@ export default class RenderedPanelSpriteInstance extends RenderedInstance { ); //Top-Left + if (this._borderSprites[3].texture.valid) + this._borderSprites[3].texture.destroy(false); this._borderSprites[3].texture = new PIXI.Texture( texture, makeInsideTexture( @@ -340,6 +350,8 @@ export default class RenderedPanelSpriteInstance extends RenderedInstance { ); //Left + if (this._borderSprites[4].texture.valid) + this._borderSprites[4].texture.destroy(false); this._borderSprites[4].texture = new PIXI.Texture( texture, makeInsideTexture( @@ -355,6 +367,8 @@ export default class RenderedPanelSpriteInstance extends RenderedInstance { ); //Bottom-Left + if (this._borderSprites[5].texture.valid) + this._borderSprites[5].texture.destroy(false); this._borderSprites[5].texture = new PIXI.Texture( texture, makeInsideTexture( @@ -368,6 +382,8 @@ export default class RenderedPanelSpriteInstance extends RenderedInstance { ); //Bottom + if (this._borderSprites[6].texture.valid) + this._borderSprites[6].texture.destroy(false); this._borderSprites[6].texture = new PIXI.Texture( texture, makeInsideTexture( @@ -383,6 +399,8 @@ export default class RenderedPanelSpriteInstance extends RenderedInstance { ); //Bottom-Right + if (this._borderSprites[7].texture.valid) + this._borderSprites[7].texture.destroy(false); this._borderSprites[7].texture = new PIXI.Texture( texture, makeInsideTexture(