UNPKG

@antv/f2

Version:

Charts for mobile visualization.

51 lines 1.62 kB
import { __assign, __extends } from "tslib"; import { jsx, Component } from '@antv/f-engine'; var getPoint = function getPoint(cener, angle, r) { var x = cener.x + Math.cos(angle) * r; var y = cener.y + Math.sin(angle) * r; return { x: x, y: y }; }; var getTicks = function getTicks(start, end, tickCount, center, r, tickOffset, tickLength) { var ticks = []; var diff = end - start; for (var i = 0; i <= tickCount; i++) { var tickValue = start + diff * i / tickCount; var startPoint = getPoint(center, tickValue, r + tickOffset - tickLength); var endPoint = getPoint(center, tickValue, r + tickOffset); ticks.push({ tickValue: tickValue, start: startPoint, end: endPoint }); } return ticks; }; var withGauge = function withGauge(View) { return /** @class */function (_super) { __extends(Gauge, _super); function Gauge() { return _super !== null && _super.apply(this, arguments) || this; } Gauge.prototype.render = function () { var _a = this, props = _a.props, context = _a.context; var startAngle = props.startAngle, endAngle = props.endAngle, tickCount = props.tickCount, center = props.center, r = props.r, tickOffset = props.tickOffset, tickLength = props.tickLength; var ticks = getTicks(startAngle, endAngle, tickCount, center, context.px2hd(r), context.px2hd(tickOffset), context.px2hd(tickLength)); return jsx(View, __assign({}, props, { ticks: ticks })); }; return Gauge; }(Component); }; export default withGauge;