From 7cca691b9f4cfb4910c96f664316629da9b2f625 Mon Sep 17 00:00:00 2001 From: Tim Schaub Date: Mon, 7 Jan 2013 01:41:02 -0500 Subject: [PATCH] Start of style package These literals will be used internally only - created when evaluating non-literal symbolizers (with properties that are expressions). --- src/ol/style/fill.js | 27 +++++++++++++++++++++++ src/ol/style/shape.js | 45 ++++++++++++++++++++++++++++++++++++++ src/ol/style/stroke.js | 32 +++++++++++++++++++++++++++ src/ol/style/symbolizer.js | 8 +++++++ 4 files changed, 112 insertions(+) create mode 100644 src/ol/style/fill.js create mode 100644 src/ol/style/shape.js create mode 100644 src/ol/style/stroke.js create mode 100644 src/ol/style/symbolizer.js diff --git a/src/ol/style/fill.js b/src/ol/style/fill.js new file mode 100644 index 0000000000..a583b8beff --- /dev/null +++ b/src/ol/style/fill.js @@ -0,0 +1,27 @@ +goog.provide('ol.style.LiteralFill'); + +goog.require('ol.style.LiteralSymbolizer'); + + +/** + * @typedef {{color: (string), + * opacity: (number)}} + */ +ol.style.LiteralFillConfig; + + + +/** + * @constructor + * @implements {ol.style.LiteralSymbolizer} + * @param {ol.style.LiteralFillConfig} config Symbolizer properties. + */ +ol.style.LiteralFill = function(config) { + + /** @type {string} */ + this.color = config.color; + + /** @type {number} */ + this.opacity = config.opacity; + +}; diff --git a/src/ol/style/shape.js b/src/ol/style/shape.js new file mode 100644 index 0000000000..09ce5a4a8c --- /dev/null +++ b/src/ol/style/shape.js @@ -0,0 +1,45 @@ +goog.provide('ol.style.LiteralShape'); + +goog.require('ol.style.LiteralFill'); +goog.require('ol.style.LiteralStroke'); +goog.require('ol.style.LiteralSymbolizer'); + + +/** + * @enum {string} + */ +ol.style.ShapeType = { + CIRCLE: 'circle' +}; + + +/** + * @typedef {{type: (ol.style.ShapeType), + * size: (number), + * fill: (ol.style.LiteralFill), + * stroke: (ol.style.LiteralStroke)}} + */ +ol.style.LiteralShapeConfig; + + + +/** + * @constructor + * @implements {ol.style.LiteralSymbolizer} + * @param {ol.style.LiteralShapeConfig} config Symbolizer properties. + */ +ol.style.LiteralShape = function(config) { + + /** @type {string} */ + this.type = config.type; + + /** @type {number} */ + this.size = config.size; + + /** @type {ol.style.LiteralFill} */ + this.fill = config.fill; + + /** @type {ol.style.LiteralStroke} */ + this.stroke = config.stroke; + +}; diff --git a/src/ol/style/stroke.js b/src/ol/style/stroke.js new file mode 100644 index 0000000000..c8ac1a76a2 --- /dev/null +++ b/src/ol/style/stroke.js @@ -0,0 +1,32 @@ +goog.provide('ol.style.LiteralStroke'); + +goog.require('ol.style.LiteralSymbolizer'); + + +/** + * @typedef {{width: (number), + * color: (string), + * opacity: (number)}} + */ +ol.style.LiteralStrokeConfig; + + + +/** + * @constructor + * @implements {ol.style.LiteralSymbolizer} + * @param {ol.style.LiteralStrokeConfig} config Symbolizer properties. + */ +ol.style.LiteralStroke = function(config) { + + /** @type {string} */ + this.color = config.color; + + /** @type {number} */ + this.opacity = config.opacity; + + /** @type {number} */ + this.width = config.width; + +}; + diff --git a/src/ol/style/symbolizer.js b/src/ol/style/symbolizer.js new file mode 100644 index 0000000000..1959afa171 --- /dev/null +++ b/src/ol/style/symbolizer.js @@ -0,0 +1,8 @@ +goog.provide('ol.style.LiteralSymbolizer'); + + + +/** + * @interface + */ +ol.style.LiteralSymbolizer = function() {};