Adding point, line, polygon, text, and raster symbolizer constructors. This paves the way for rendering multiple symbolizers per rule. The SLD parser now successfully round-trips documents with multiple symbolizers and multiple FeatureTypeStyle elements (through the symbolizer zIndex property). The Style2 (yes, ack) constructor is used to represent a collection of rules with multiple symbolizers. Style2 objects are currently only used by the SLD parser if the multipleSymbolizer property is set to true. Future enhancements to the renderers can be made to account for multiple symbolizers. r=ahocevar (closes #2760).

git-svn-id: http://svn.openlayers.org/trunk/openlayers@10560 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
This commit is contained in:
Tim Schaub
2010-08-02 19:49:52 +00:00
parent 9fd7463680
commit 6c0952934f
21 changed files with 1498 additions and 55 deletions

View File

@@ -0,0 +1,76 @@
/**
* @requires OpenLayers/Symbolizer.js
*/
/**
* Class: OpenLayers.Symbolizer.Polygon
* A symbolizer used to render line features.
*/
OpenLayers.Symbolizer.Polygon = OpenLayers.Class(OpenLayers.Symbolizer, {
/**
* APIProperty: strokeColor
* {String} Color for line stroke. This is a RGB hex value (e.g. "#ff0000"
* for red).
*/
strokeColor: null,
/**
* APIProperty: strokeOpacity
* {Number} Stroke opacity (0-1).
*/
strokeOpacity: null,
/**
* APIProperty: strokeWidth
* {Number} Pixel stroke width.
*/
strokeWidth: null,
/**
* APIProperty: strokeLinecap
* {String} Stroke cap type ("butt", "round", or "square").
*/
strokeLinecap: null,
/**
* Property: strokeDashstyle
* {String} Stroke dash style according to the SLD spec. Note that the
* OpenLayers values for strokeDashstyle ("dot", "dash", "dashdot",
* "longdash", "longdashdot", or "solid") will not work in SLD, but
* most SLD patterns will render correctly in OpenLayers.
*/
strokeDashstyle: "solid",
/**
* APIProperty: fillColor
* {String} RGB hex fill color (e.g. "#ff0000" for red).
*/
fillColor: null,
/**
* APIProperty: fillOpacity
* {Number} Fill opacity (0-1).
*/
fillOpacity: null,
/**
* Constructor: OpenLayers.Symbolizer.Polygon
* Create a symbolizer for rendering polygons.
*
* Parameters:
* config - {Object} An object containing properties to be set on the
* symbolizer. Any documented symbolizer property can be set at
* construction.
*
* Returns:
* A new polygon symbolizer.
*/
initialize: function(config) {
OpenLayers.Symbolizer.prototype.initialize.apply(this, arguments);
},
CLASS_NAME: "OpenLayers.Symbolizer.Polygon"
});