Write out stroke dash style and linecap in SLD. r=ahocevar (closes #2270)

git-svn-id: http://svn.openlayers.org/trunk/openlayers@9706 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
This commit is contained in:
Tim Schaub
2009-10-05 22:34:16 +00:00
parent a84e06a075
commit 7e821da0b5
2 changed files with 45 additions and 0 deletions

View File

@@ -649,6 +649,21 @@ OpenLayers.Format.SLD.v1 = OpenLayers.Class(OpenLayers.Format.Filter.v1_0_0, {
node
);
}
if(symbolizer.strokeDashstyle != undefined && symbolizer.strokeDashstyle !== "solid") {
// assumes valid stroke-dasharray value
this.writeNode(
"CssParameter",
{symbolizer: symbolizer, key: "strokeDashstyle"},
node
);
}
if(symbolizer.strokeLinecap != undefined) {
this.writeNode(
"CssParameter",
{symbolizer: symbolizer, key: "strokeLinecap"},
node
);
}
return node;
},
"CssParameter": function(obj) {

View File

@@ -295,6 +295,36 @@
t.xml_eq(node, exp, "graphicName only written");
}
function test_writeLineSymbolizer(t) {
t.plan(1);
var parser = new OpenLayers.Format.SLD.v1_0_0();
var symbolizer, node, exp;
// test symbolizer with fill color only
symbolizer = {
strokeDashstyle: "4 4",
strokeLinecap: "round",
strokeColor: "#0000ff",
strokeWidth: 2
};
node = parser.writeNode("sld:LineSymbolizer", symbolizer);
exp =
'<LineSymbolizer xmlns="http://www.opengis.net/sld">' +
'<Stroke>' +
'<CssParameter name="stroke">#0000ff</CssParameter>' +
'<CssParameter name="stroke-width">2</CssParameter>' +
'<CssParameter name="stroke-dasharray">4 4</CssParameter>' +
'<CssParameter name="stroke-linecap">round</CssParameter>' +
'</Stroke>' +
'</LineSymbolizer>';
t.xml_eq(node, exp, "line symbolizer correctly written");
}
function test_writeTextSymbolizer(t) {