From b7b0d6b7121fca91f012fa7700918381ef7168b3 Mon Sep 17 00:00:00 2001 From: tschaub Date: Mon, 2 Jan 2012 11:40:50 -0700 Subject: [PATCH 1/2] Collecting image tile changes in the Image.js. --- lib/OpenLayers/Tile/Image.js | 37 +++++++++++++++++++++++++++++++++--- lib/OpenLayers/Util.js | 28 --------------------------- tests/Tile/Image.html | 16 ++++++++-------- 3 files changed, 42 insertions(+), 39 deletions(-) diff --git a/lib/OpenLayers/Tile/Image.js b/lib/OpenLayers/Tile/Image.js index 3ee6c0aa1c..1a4ce1ffa0 100644 --- a/lib/OpenLayers/Tile/Image.js +++ b/lib/OpenLayers/Tile/Image.js @@ -362,12 +362,12 @@ OpenLayers.Tile.Image = OpenLayers.Class(OpenLayers.Tile, { var opacity = this.layer.opacity, tileAnimation = this.layer.map.tileAnimation; - if (OpenLayers.TRANSITION && tileAnimation && opacity) { + if (OpenLayers.Tile.Image.TRANSITION && tileAnimation && opacity) { // if the displaying of the tile is animated we delay the // loadend event until after the end of the transition, this // to avoid flash effects because the backbuffer is removed // before the tile is actually displayed - OpenLayers.Event.observe(img, OpenLayers.TRANSITION_END, + OpenLayers.Event.observe(img, OpenLayers.Tile.Image.TRANSITION_END, OpenLayers.Function.bind(this.onTransitionEnd, this) ); } @@ -376,7 +376,7 @@ OpenLayers.Tile.Image = OpenLayers.Class(OpenLayers.Tile, { img.style.opacity = opacity; img.style.filter = 'alpha(opacity=' + (opacity * 100) + ')'; - if (!OpenLayers.TRANSITION || !tileAnimation || !opacity) { + if (!OpenLayers.Tile.Image.TRANSITION || !tileAnimation || !opacity) { this.isLoading = false; this.events.triggerEvent("loadend"); } @@ -432,3 +432,34 @@ OpenLayers.Tile.Image = OpenLayers.Class(OpenLayers.Tile, { CLASS_NAME: "OpenLayers.Tile.Image" }); + +// Test for support of CSS transitions and store appropriate property names +(function() { + function testProp(props) { + var style = document.documentElement.style; + for (var i=0; i 0 ? observers[0].name : undefined; } - OpenLayers.TRANSITION = true; + OpenLayers.Tile.Image.TRANSITION = true; map.tileAnimation = true; log = 0; tile.onImageLoad(); @@ -381,7 +381,7 @@ '[a] onImageLoad registers a transitionend observer'); OpenLayers.Event.stopObservingElement(tile.imgDiv); - OpenLayers.TRANSITION = true; + OpenLayers.Tile.Image.TRANSITION = true; map.tileAnimation = false; log = 0; tile.onImageLoad(); @@ -395,7 +395,7 @@ '[b] onImageLoad does not register a transitionend observer'); OpenLayers.Event.stopObservingElement(tile.imgDiv); - OpenLayers.TRANSITION = false; + OpenLayers.Tile.Image.TRANSITION = false; map.tileAnimation = true; log = 0; tile.onImageLoad(); @@ -410,8 +410,8 @@ OpenLayers.Event.stopObservingElement(tile.imgDiv); map.destroy(); - OpenLayers.TRANSITION = T; - OpenLayers.TRANSITION_END = TE; + OpenLayers.Tile.Image.TRANSITION = T; + OpenLayers.Tile.Image.TRANSITION_END = TE; } From 3eb34f587ec758a6aff28d63d0567cfe460f4100 Mon Sep 17 00:00:00 2001 From: tschaub Date: Mon, 2 Jan 2012 11:52:54 -0700 Subject: [PATCH 2/2] Add test for setOpacity. --- tests/Layer/WMS.html | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/tests/Layer/WMS.html b/tests/Layer/WMS.html index 757c6b92b2..61c7f126e1 100644 --- a/tests/Layer/WMS.html +++ b/tests/Layer/WMS.html @@ -271,6 +271,25 @@ } + function test_setOpacity(t) { + t.plan(1); + + var layer = new OpenLayers.Layer.WMS( + null, "/bogus/wms", {layers: "mylayer"} + ); + var map = new OpenLayers.Map("map"); + map.addLayer(layer); + + map.zoomToMaxExtent(); + + layer.setOpacity(0.5); + t.delay_call(1, function() { + t.eq(parseFloat(layer.div.firstChild.style.opacity), 0.5, "opacity set"); + map.destroy(); + }); + } + + function test_Layer_WMS_noGutters (t) { t.plan(2); var map = new OpenLayers.Map('map');