From af8a22d34d66a3567e243a8fa47969e923cfa0c5 Mon Sep 17 00:00:00 2001 From: Frederic Junod Date: Tue, 22 Jan 2019 12:47:34 +0100 Subject: [PATCH] Keep two digits for the opacity value in layer state --- src/ol/layer/Base.js | 2 +- src/ol/layer/Layer.js | 2 +- test/spec/ol/layer/layer.test.js | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/ol/layer/Base.js b/src/ol/layer/Base.js index e601b7a3a7..0921af2c2b 100644 --- a/src/ol/layer/Base.js +++ b/src/ol/layer/Base.js @@ -91,7 +91,7 @@ class BaseLayer extends BaseObject { layer: this, managed: true }); - state.opacity = clamp(this.getOpacity(), 0, 1); + state.opacity = clamp(Math.round(this.getOpacity() * 100) / 100, 0, 1); state.sourceState = this.getSourceState(); state.visible = this.getVisible(); state.extent = this.getExtent(); diff --git a/src/ol/layer/Layer.js b/src/ol/layer/Layer.js index d735a4eeef..fccecf809e 100644 --- a/src/ol/layer/Layer.js +++ b/src/ol/layer/Layer.js @@ -35,7 +35,7 @@ import SourceState from '../source/State.js'; /** * @typedef {Object} State * @property {import("./Base.js").default} layer - * @property {number} opacity + * @property {number} opacity Opacity, the value is rounded to two digits to appear after the decimal point. * @property {SourceState} sourceState * @property {boolean} visible * @property {boolean} managed diff --git a/test/spec/ol/layer/layer.test.js b/test/spec/ol/layer/layer.test.js index e077455ac1..dba518a47a 100644 --- a/test/spec/ol/layer/layer.test.js +++ b/test/spec/ol/layer/layer.test.js @@ -162,14 +162,14 @@ describe('ol.layer.Layer', function() { }); it('returns a layerState from the properties values', function() { - layer.setOpacity(0.3); + layer.setOpacity(1 / 3); layer.setVisible(false); layer.setMaxResolution(500); layer.setMinResolution(0.25); layer.setZIndex(10); expect(layer.getLayerState()).to.eql({ layer: layer, - opacity: 0.3, + opacity: 0.33, visible: false, managed: true, sourceState: 'ready',