editor-render-v2
Version:
编辑器渲染器
81 lines (80 loc) • 3.04 kB
TypeScript
import { fabric } from 'fabric';
import Handler from './Handler';
declare class GuidelineHandler {
handler: Handler;
verticalLines: {
x?: number;
y1?: number;
y2?: number;
}[];
horizontalLines: {
y?: number;
x1?: number;
x2?: number;
}[];
ctx: CanvasRenderingContext2D;
viewportTransform: number[];
aligningLineOffset: number;
aligningLineMargin: number;
aligningLineWidth: number;
horizontalInTheRange: boolean;
verticalInTheRange: boolean;
aligningLineColor: string;
zoom: number;
canvas: fabric.Canvas;
constructor(handler: Handler);
/**
* Initialize guideline handler
*
*/
initialize(): void;
/**
* Destroy guideline handler
*
*/
destroy(): void;
/**
* Before the render
*
*/
beforeRender: () => void;
/**
* After the render
*
*/
afterRender: () => void;
drawVerticalLine: (coords: {
x?: number;
y1?: number;
y2?: number;
}) => void;
drawHorizontalLine: (coords: {
y?: number;
x1?: number;
x2?: number;
}) => void;
drawLine: (x1: number, y1: number, x2: number, y2: number) => void;
isInRange: (v1: number, v2: number) => boolean;
horizontalCenter: (target: fabric.Object, canvasObjects: {
[key: string]: any;
}, i: number, objectLeft: number, objectTop: number, objectHeight: number, activeObjectTop: number, activeObjectHeight: number) => void;
leftEdge: (target: fabric.Object, canvasObjects: {
[key: string]: any;
}, i: number, objectLeft: number, objectTop: number, objectWidth: number, objectHeight: number, activeObjectTop: number, activeObjectWidth: number, activeObjectHeight: number) => void;
rightEdge: (target: fabric.Object, canvasObjects: {
[key: string]: any;
}, i: number, objectLeft: number, objectTop: number, objectWidth: number, objectHeight: number, activeObjectTop: number, activeObjectWidth: number, activeObjectHeight: number) => void;
verticalCenter: (target: fabric.Object, canvasObjects: {
[key: string]: any;
}, i: number, objectLeft: number, objectTop: number, objectWidth: number, activeObjectLeft: number, activeObjectWidth: number) => void;
topEdge: (target: fabric.Object, canvasObjects: {
[key: string]: any;
}, i: number, objectLeft: number, objectTop: number, objectWidth: number, objectHeight: number, activeObjectWidth: number, activeObjectHeight: number, activeObjectLeft: number) => void;
bottomEdge: (target: fabric.Object, canvasObjects: {
[key: string]: any;
}, i: number, objectLeft: number, objectTop: number, objectWidth: number, objectHeight: number, activeObjectWidth: number, activeObjectHeight: number, activeObjectLeft: number) => void;
movingGuidelines: (target: fabric.Object) => void;
movingGuidelines2: (target: fabric.Object) => void;
scalingGuidelines: () => void;
}
export default GuidelineHandler;