diff --git a/packages/core/src/textures/BaseTexture.js b/packages/core/src/textures/BaseTexture.js index 5c2731a..7e859f8 100644 --- a/packages/core/src/textures/BaseTexture.js +++ b/packages/core/src/textures/BaseTexture.js @@ -303,7 +303,7 @@ */ get realWidth() { - return Math.ceil(this.width * this.resolution); + return Math.ceil((this.width * this.resolution) - 1e-4); } /** @@ -314,7 +314,7 @@ */ get realHeight() { - return Math.ceil(this.height * this.resolution); + return Math.ceil((this.height * this.resolution) - 1e-4); } /** diff --git a/packages/core/src/textures/BaseTexture.js b/packages/core/src/textures/BaseTexture.js index 5c2731a..7e859f8 100644 --- a/packages/core/src/textures/BaseTexture.js +++ b/packages/core/src/textures/BaseTexture.js @@ -303,7 +303,7 @@ */ get realWidth() { - return Math.ceil(this.width * this.resolution); + return Math.ceil((this.width * this.resolution) - 1e-4); } /** @@ -314,7 +314,7 @@ */ get realHeight() { - return Math.ceil(this.height * this.resolution); + return Math.ceil((this.height * this.resolution) - 1e-4); } /** diff --git a/packages/core/test/BaseTexture.js b/packages/core/test/BaseTexture.js index 51879dd..137595c 100644 --- a/packages/core/test/BaseTexture.js +++ b/packages/core/test/BaseTexture.js @@ -1,5 +1,5 @@ const { BaseTextureCache, TextureCache } = require('@pixi/utils'); -const { BaseTexture, Texture, resources } = require('../'); +const { BaseTexture, Texture, RenderTexture, resources } = require('../'); const { ImageResource } = resources; const URL = 'foo.png'; @@ -174,4 +174,13 @@ expect(resource.destroyed).to.be.true; expect(baseTexture.destroyed).to.be.true; }); + + it('should show correct width/height after setResolution', function () + { + const texture = RenderTexture.create({ width: 15, height: 15 }); + + texture.setResolution(0.9); + expect(texture.baseTexture.realWidth).to.equal(15); + expect(texture.baseTexture.realHeight).to.equal(15); + }); });