Blame view

node_modules/zrender/lib/contain/arc.js 992 Bytes
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
28
29
30
31
32
33
34
35
  import { normalizeRadian } from './util.js';
  var PI2 = Math.PI * 2;
  export function containStroke(cx, cy, r, startAngle, endAngle, anticlockwise, lineWidth, x, y) {
      if (lineWidth === 0) {
          return false;
      }
      var _l = lineWidth;
      x -= cx;
      y -= cy;
      var d = Math.sqrt(x * x + y * y);
      if ((d - _l > r) || (d + _l < r)) {
          return false;
      }
      if (Math.abs(startAngle - endAngle) % PI2 < 1e-4) {
          return true;
      }
      if (anticlockwise) {
          var tmp = startAngle;
          startAngle = normalizeRadian(endAngle);
          endAngle = normalizeRadian(tmp);
      }
      else {
          startAngle = normalizeRadian(startAngle);
          endAngle = normalizeRadian(endAngle);
      }
      if (startAngle > endAngle) {
          endAngle += PI2;
      }
      var angle = Math.atan2(y, x);
      if (angle < 0) {
          angle += PI2;
      }
      return (angle >= startAngle && angle <= endAngle)
          || (angle + PI2 >= startAngle && angle + PI2 <= endAngle);
  }