类名 common/base/symbol/LineSymbol.js
import Symbol from './Symbol'
import { defaultValue } from '../../util'
import { SymbolType } from '../enum'
import Color from '../Color'

/**
 * 线符号基类
 * @class LineSymbol
 * @moduleEX SymbolModule
 * @extends Symbol
 * @param {Object} options 线符号样式
 * @param {Number} [options.width = 1] 线符号宽度,默认为1
 */

class LineSymbol extends Symbol {
  constructor(options) {
    super(options)
    options = defaultValue(options, {})
    /**
     * 颜色
     * @member {Color} LineSymbol.prototype.color
     */
    this.color = Color.fromColor(
      defaultValue(options.color, new Color(0, 0, 0, 1))
    )
    /**
     * 符号类型
     * @member {String} LineSymbol.prototype.type
     */
    this.type = SymbolType.simpleLine

    /**
     * 线宽度
     * @member {Number} LineSymbol.prototype.width
     */
    this.width = defaultValue(options.width, 1)
  }

  /**
   * @function LineSymbol.prototype.toJSON
   * @description 将JS对象转换为JSON格式
   * @returns {Object} 符号的实例化JSON
   */
  toJSON() {
    const json = super.toJSON()
    json.type = this.type
    json.width = this.width
    return json
  }
}

export default LineSymbol
构造函数
成员变量
方法
事件