alex_image_marker
Version:
41 lines (40 loc) • 1.03 kB
TypeScript
import { default as Graph } from './graph';
export interface InitOptions {
container: HTMLDivElement;
url: string;
fit?: 'contain' | 'cover';
move?: boolean;
zoom?: boolean;
scaleMax?: number;
}
export interface CtxConfigType {
fillStyle?: string;
strokeStyle?: string;
lineWidth?: number;
}
export interface MatrixType {
left: number;
top: number;
width: number;
height: number;
}
export type PolygonDataType = [number, number][];
export type DrawType = {
rect: MatrixType;
polygon: PolygonDataType;
};
export type GraphConfigType<T extends keyof DrawType> = {
data: DrawType[T];
style?: CtxConfigType;
};
export type GraphMap = new (options: GraphConfigType<any>, scale: number, imageMatrix: MatrixType) => Graph;
export type DrawTaskResolve = {
id: string;
data: DrawType[keyof DrawType];
};
export type DrawTaskType = {
type: keyof DrawType;
graph: Graph;
resolve: (params: DrawTaskResolve) => void;
reject: (params: any) => void;
};