import { defaultValue } from '../../../../util'
/**
* 透明度分段
* @class OpacityStop
* @moduleEX RendererModule
* @param {Object} options 初始化参数
* @param {Number} [options.opacity] 透明度
* @param {Number} [options.value] 数值
* @param {String} [options.label] 视觉变量分段描述
*/
class OpacityStop {
constructor(options) {
options = defaultValue(options, {})
/**
* 透明度
* @member {Number} OpacityStop.prototype.opacity
*/
this.opacity = options.opacity
/**
* 数值
* @member {Number} OpacityStop.prototype.value
*/
this.value = options.value
/**
* 视觉变量分段描述
* @member {String} OpacityStop.prototype.label
*/
this.label = options.label
}
/**
* 通过json构造OpacityStop对象
* @return {OpacityStop} json对象
* */
static fromJSON(json) {
return new OpacityStop(json)
}
/**
* 导出为json对象
* @return {Object} json对象
* */
toJSON() {
const json = {}
json.opacity = this.opacity
json.value = this.value
json.label = this.label
return json
}
/**
* 克隆对象
* @return {OpacityStop} 克隆后的OpacityStop对象
*/
clone() {
return new OpacityStop(this.toJSON())
}
}
export default OpacityStop