Blame view

node_modules/zrender/lib/canvas/dashStyle.js 1.01 KB
bd028579   易尊强   2/28
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
  import { isArray, isNumber, map } from '../core/util.js';
  export function normalizeLineDash(lineType, lineWidth) {
      if (!lineType || lineType === 'solid' || !(lineWidth > 0)) {
          return null;
      }
      return lineType === 'dashed'
          ? [4 * lineWidth, 2 * lineWidth]
          : lineType === 'dotted'
              ? [lineWidth]
              : isNumber(lineType)
                  ? [lineType] : isArray(lineType) ? lineType : null;
  }
  export function getLineDash(el) {
      var style = el.style;
      var lineDash = style.lineDash && style.lineWidth > 0 && normalizeLineDash(style.lineDash, style.lineWidth);
      var lineDashOffset = style.lineDashOffset;
      if (lineDash) {
          var lineScale_1 = (style.strokeNoScale && el.getLineScale) ? el.getLineScale() : 1;
          if (lineScale_1 && lineScale_1 !== 1) {
              lineDash = map(lineDash, function (rawVal) {
                  return rawVal / lineScale_1;
              });
              lineDashOffset /= lineScale_1;
          }
      }
      return [lineDash, lineDashOffset];
  }