47 lines
1.2 KiB
Plaintext
47 lines
1.2 KiB
Plaintext
define(function (require) {
|
|
|
|
return require('zrender/graphic/Path').extend({
|
|
|
|
type: 'echartsGaugePointer',
|
|
|
|
shape: {
|
|
angle: 0,
|
|
|
|
width: 10,
|
|
|
|
r: 10,
|
|
|
|
x: 0,
|
|
|
|
y: 0
|
|
},
|
|
|
|
buildPath: function (ctx, shape) {
|
|
var mathCos = Math.cos;
|
|
var mathSin = Math.sin;
|
|
|
|
var r = shape.r;
|
|
var width = shape.width;
|
|
var angle = shape.angle;
|
|
var x = shape.x - mathCos(angle) * width * (width >= r / 3 ? 1 : 2);
|
|
var y = shape.y - mathSin(angle) * width * (width >= r / 3 ? 1 : 2);
|
|
|
|
angle = shape.angle - Math.PI / 2;
|
|
ctx.moveTo(x, y);
|
|
ctx.lineTo(
|
|
shape.x + mathCos(angle) * width,
|
|
shape.y + mathSin(angle) * width
|
|
);
|
|
ctx.lineTo(
|
|
shape.x + mathCos(shape.angle) * r,
|
|
shape.y + mathSin(shape.angle) * r
|
|
);
|
|
ctx.lineTo(
|
|
shape.x - mathCos(angle) * width,
|
|
shape.y - mathSin(angle) * width
|
|
);
|
|
ctx.lineTo(x, y);
|
|
return;
|
|
}
|
|
});
|
|
}); |