import Canvas from '../../renderer/canvas'; import AtomComponent from '../../atomComponent'; import { PieGraphOptions, DataItem } from '../../models'; import { SeriesCategory } from '../../constants'; /** * 数学中常用角度来描述一个圆 * 而在canvas中用弧度来描述一个圆 * * 角度:一个圆的角度是360度 * 半径:以一个点为中心,多长为放射半径 * 周长:2 * π * r * * 弧度:是一种长度的描述 * 一个弧度有多长:一个弧度等于一个半径的长度 * 一个圆有多少个弧度:2 * π * * 最终的结论:一个角度等于多少弧度 (2 * π) / 180 即:π / 180 */ export default class Pie extends AtomComponent { private static readonly defaultOptions; protected seriesCategory: SeriesCategory; private color; private options; private graphicData; constructor(id: string, chart: any, canvas: Canvas, data: DataItem[], options: PieGraphOptions); render(): void; /** * 事件绑定 * sector各自绑定tap事件,点击触发阴影遮罩; * 再次点击相同sector关闭遮罩; * 点击其他sector触发阴影遮罩并关闭前sector遮罩; */ bindInteraction(): void; private setupMessagebus; private update; private toggleTooltip; private processData; private updateData; private processStyle; private processRadius; private processOptions; private drawLabel; private drawPie; }