PointerPath.js 888 B

123456789101112131415161718192021222324252627282930
  1. var Path = require("zrender/lib/graphic/Path");
  2. var _default = Path.extend({
  3. type: 'echartsGaugePointer',
  4. shape: {
  5. angle: 0,
  6. width: 10,
  7. r: 10,
  8. x: 0,
  9. y: 0
  10. },
  11. buildPath: function (ctx, shape) {
  12. var mathCos = Math.cos;
  13. var mathSin = Math.sin;
  14. var r = shape.r;
  15. var width = shape.width;
  16. var angle = shape.angle;
  17. var x = shape.x - mathCos(angle) * width * (width >= r / 3 ? 1 : 2);
  18. var y = shape.y - mathSin(angle) * width * (width >= r / 3 ? 1 : 2);
  19. angle = shape.angle - Math.PI / 2;
  20. ctx.moveTo(x, y);
  21. ctx.lineTo(shape.x + mathCos(angle) * width, shape.y + mathSin(angle) * width);
  22. ctx.lineTo(shape.x + mathCos(shape.angle) * r, shape.y + mathSin(shape.angle) * r);
  23. ctx.lineTo(shape.x - mathCos(angle) * width, shape.y - mathSin(angle) * width);
  24. ctx.lineTo(x, y);
  25. return;
  26. }
  27. });
  28. module.exports = _default;