1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- import {Style} from "./Style";
- import {GradientColorStop} from "./GradientColorStop";
- /**
- * Gradient style is used to represent any type of gradient based style.
- *
- * It handles any gradient based operations and should be used as base for other gradient styles.
- *
- * @class
- * @extends {Style}
- */
- function GradientStyle()
- {
- Style.call(this);
- /**
- * List of colors that compose this gradient ordered.
- *
- * You need to add at least one color stop to have a visible gradient.
- *
- * @type {GradientColorStop[]}
- */
- this.colors = [];
- }
- GradientStyle.prototype = Object.create(Style.prototype);
- /**
- * Add a new color stop defined by an offset and a color to the gradient.
- *
- * If the offset is not between 0 and 1 inclusive, or if color can't be parsed as a CSS color, an error is raised.
- *
- * @param {number} offset Offset of the color stop between 0 and 1 inclusive.
- * @param {string} color CSS color value.
- */
- GradientStyle.prototype.addColorStop = function(offset, color)
- {
- this.colors.push(new GradientColorStop(offset, color));
- };
- GradientStyle.prototype.serialize = function()
- {
- return {
- colors: this.colors
- };
- };
- GradientStyle.prototype.parse = function(data)
- {
- var colors = [];
- for(var i = 0; i < data.colors.length; i++)
- {
- colors.push(new GradientColorStop(data.colors[i].offset, data.colors[i].color));
- }
- this.colors = colors;
- };
- export {GradientStyle};
|