diff --git a/lib/OpenLayers/Control/PanZoomBar.js b/lib/OpenLayers/Control/PanZoomBar.js index ab3c8848fa..f744957590 100644 --- a/lib/OpenLayers/Control/PanZoomBar.js +++ b/lib/OpenLayers/Control/PanZoomBar.js @@ -76,7 +76,7 @@ OpenLayers.Control.PanZoomBar.prototype = div = OpenLayers.Util.createAlphaImageDiv(id, centered, new OpenLayers.Size(sz.w, zoomStopSize), imgLocation + "zoombar.png", - "absolute"); + "absolute", null, "crop"); div.style.height = sz.h; } else { div = OpenLayers.Util.createDiv( diff --git a/lib/OpenLayers/Util.js b/lib/OpenLayers/Util.js index 561ad156a8..303d8156e0 100644 --- a/lib/OpenLayers/Util.js +++ b/lib/OpenLayers/Util.js @@ -705,13 +705,14 @@ OpenLayers.Util.alphaHack = function() { * @param {String} imgURL * @param {String} position * @param {String} border +* @param {String} sizing 'crop', 'scale', or 'image'. Default is "scale" * * @returns A DOM Div created with a DOM Image inside it. If the hack is * needed for transparency in IE, it is added. * @type DOMElement */ OpenLayers.Util.createAlphaImageDiv = function(id, px, sz, imgURL, - position, border) { + position, border, sizing) { var div = OpenLayers.Util.createDiv(id, px, sz); var img = OpenLayers.Util.createImage(id + "_innerImage", null, sz, @@ -720,8 +721,12 @@ OpenLayers.Util.createAlphaImageDiv = function(id, px, sz, imgURL, if (OpenLayers.Util.alphaHack()) { div.style.display = "inline-block"; + if (sizing == null) { + sizing = "scale"; + } div.style.filter = "progid:DXImageTransform.Microsoft" + - ".AlphaImageLoader(src='" + imgURL + "', sizingMethod='crop')"; + ".AlphaImageLoader(src='" + imgURL + "', " + + "sizingMethod='" + sizing + "')"; img.style.filter = "progid:DXImageTransform.Microsoft" + ".Alpha(opacity=0)"; }