@orca-fe/painter
Version:
Konva Painter
62 lines (61 loc) • 1.62 kB
TypeScript
export type ShapeType = 'line' | 'ellipse' | 'rectangle' | 'line-path' | 'image' | string;
export type Point = [number, number];
export type StrokeStyle = {
stroke?: string;
strokeWidth?: number;
};
export type CommonShapeType = {
disabled?: boolean;
};
export type LineShapeType = StrokeStyle & CommonShapeType & {
type: 'line';
point1: Point;
point2: Point;
};
export type EllipseType = StrokeStyle & CommonShapeType & {
type: 'ellipse';
x: number;
y: number;
width: number;
height: number;
rotate: number;
};
export type MarkType = StrokeStyle & CommonShapeType & {
type: 'mark';
x: number;
y: number;
width: number;
height: number;
rotate: number;
markNum: number;
};
export type RectangleType = StrokeStyle & CommonShapeType & {
type: 'rectangle';
x: number;
y: number;
width: number;
height: number;
rotate: number;
};
export type LinePathType = StrokeStyle & CommonShapeType & {
type: 'line-path';
x: number;
y: number;
width: number;
height: number;
rotate: number;
points: Point[];
};
export type ImageType = CommonShapeType & {
type: 'image';
x: number;
y: number;
width: number;
height: number;
rotate: number;
src: string;
};
export type GraphShapeType = LineShapeType | EllipseType | RectangleType | LinePathType | MarkType;
export type ShapeDataType = GraphShapeType | ImageType;
export declare function isGraphShapeType(shape: ShapeDataType): shape is GraphShapeType;
export declare function isImageType(shape: ShapeDataType): shape is ImageType;