nhanh-pure-function
Version:
52 lines (51 loc) • 2.12 kB
TypeScript
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 {};