UNPKG

nhanh-pure-function

Version:
52 lines (51 loc) 2.12 kB
import { default as Overlay } from './public/overlay'; import { OverlayType } from './index'; import { EventHandler } from '../public/eventController'; import { ArcToStyleType } from '../common.type'; type ConstructorOption = ConstructorParameters<typeof Overlay<ArcToStyleType, [number, number][]>>[0] & { /** 是否可显示控制点 */ isHandlePointsVisible?: boolean; /** 圆弧的半径。必须为正值。 */ radiusValue?: number; /** 圆弧的半径。必须为正值。 */ radiusPosition?: number; }; export default class ArcTo extends Overlay<ArcToStyleType, [number, number][]> { /** 控制点 */ private handlePoints?; /** 控制点数组 */ private get handlePointsArr(); /** 当前是否渲染了控制点 */ private isShowHandlePoint; /** 是否可显示控制点 */ private _isHandlePointsVisible; /** 是否可显示控制点 */ get isHandlePointsVisible(): boolean; set isHandlePointsVisible(value: boolean); private _radiusValue; /** 圆弧的半径。必须为正值。 */ get radiusValue(): number; set radiusValue(radius: number); private _radiusPosition; /** 圆弧的半径。必须为正值。 */ get radiusPosition(): number; set radiusPosition(radius: number); constructor(option: ConstructorOption); /** 默认点击事件 点击后切换控制点显示状态 */ defaultClick: EventHandler<"click">; /** 处理拖动状态变化 */ defaultDragg: EventHandler<"dragg">; protected updateValueScope(): void; isPointInPath(x: number, y: number): boolean; isPointInStroke(x: number, y: number): boolean; isPointInAnywhere(x: number, y: number): boolean; get cursorStyle(): string; protected setOverlayStyles(ctx?: CanvasRenderingContext2D): ArcToStyleType; protected get computedValueScopeStyles(): ArcToStyleType; /** 更新控制点 */ private updateHandlePoints; protected updateBaseData(): void; draw(ctx: CanvasRenderingContext2D): void; getDraw(): [(ctx: CanvasRenderingContext2D) => void, OverlayType] | void; } export {};