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() {};