diff --git a/examples/symbolizers-fill-stroke-graphic.html b/examples/symbolizers-fill-stroke-graphic.html index 848512b590..ab51159b04 100644 --- a/examples/symbolizers-fill-stroke-graphic.html +++ b/examples/symbolizers-fill-stroke-graphic.html @@ -51,7 +51,9 @@ stroke: true, fill: false, label: "Point without fill", - labelAlign: "rb" + labelAlign: "rb", + fontColor: "#ff0000", + fontOpacity: 0.4 }, filter: new OpenLayers.Filter.Comparison({ type: "==", diff --git a/lib/OpenLayers/Feature/Vector.js b/lib/OpenLayers/Feature/Vector.js index 74bd03e708..47016ce53b 100644 --- a/lib/OpenLayers/Feature/Vector.js +++ b/lib/OpenLayers/Feature/Vector.js @@ -362,6 +362,7 @@ OpenLayers.Feature.Vector = OpenLayers.Class(OpenLayers.Feature, { * labelSelect - {Boolean} If set to true, labels will be selectable using SelectFeature or similar controls. * Default is false. * fontColor - {String} The font color for the label, to be provided like CSS. + * fontOpacity - {Number} Opacity (0-1) for the label * fontFamily - {String} The font family for the label, to be provided like in CSS. * fontSize - {String} The font size for the label, to be provided like in CSS. * fontWeight - {String} The font weight for the label, to be provided like in CSS. diff --git a/lib/OpenLayers/Renderer/Canvas.js b/lib/OpenLayers/Renderer/Canvas.js index e59838883f..ba3583f644 100644 --- a/lib/OpenLayers/Renderer/Canvas.js +++ b/lib/OpenLayers/Renderer/Canvas.js @@ -365,7 +365,7 @@ OpenLayers.Renderer.Canvas = OpenLayers.Class(OpenLayers.Renderer, { this.setCanvasStyle("reset"); this.canvas.fillStyle = style.fontColor; - this.canvas.globalAlpha = 1; + this.canvas.globalAlpha = style.fontOpacity || 1.0; var fontStyle = style.fontWeight + " " + style.fontSize + " " + style.fontFamily; if (this.canvas.fillText) { // HTML5 diff --git a/lib/OpenLayers/Renderer/SVG.js b/lib/OpenLayers/Renderer/SVG.js index 7926a9f3f5..34d676ccca 100644 --- a/lib/OpenLayers/Renderer/SVG.js +++ b/lib/OpenLayers/Renderer/SVG.js @@ -702,6 +702,9 @@ OpenLayers.Renderer.SVG = OpenLayers.Class(OpenLayers.Renderer.Elements, { if (style.fontColor) { label.setAttributeNS(null, "fill", style.fontColor); } + if (style.fontOpacity) { + label.setAttributeNS(null, "opacity", style.fontOpacity); + } if (style.fontFamily) { label.setAttributeNS(null, "font-family", style.fontFamily); } diff --git a/lib/OpenLayers/Renderer/VML.js b/lib/OpenLayers/Renderer/VML.js index 8cb7ee6d07..ed53b73296 100644 --- a/lib/OpenLayers/Renderer/VML.js +++ b/lib/OpenLayers/Renderer/VML.js @@ -810,6 +810,9 @@ OpenLayers.Renderer.VML = OpenLayers.Class(OpenLayers.Renderer.Elements, { if (style.fillColor) { textbox.style.color = style.fontColor; } + if (style.fontOpacity) { + textbox.style.filter = 'alpha(opacity=' + (style.fontOpacity * 100) + ')'; + } if (style.fontFamily) { textbox.style.fontFamily = style.fontFamily; }