@tencentcloud/roomkit-electron-vue3
Version:
<h1 align="center"> TUIRoomKit</h1> Conference (TUIRoomKit) is a product suitable for multi-person audio and video conversation scenarios such as business meetings, webinars, and online education. By integrating this product, you can add room management,
85 lines (84 loc) • 3.07 kB
TypeScript
import { Canvas as ICanvas, Object as IObject, ILineOptions, IImageOptions, IRectOptions, ICircleOptions, ITextOptions, IEllipseOptions, IEvent, ICanvasOptions, ITriangleOptions } from 'fabric/fabric-impl';
import EventEmitter from './../emitter';
import { DrawingTool, ToolSettings } from './../type';
interface FabricEvents {
'object:added': IEvent;
'object:modified': IEvent;
'object:removed': IEvent;
'mouse:down': IEvent;
'mouse:move': IEvent;
'mouse:up': IEvent;
'after:render': IEvent;
'push-canvas-to-stack': IEvent;
[key: string | symbol]: IEvent | any | undefined;
}
declare class FabricCanvas extends EventEmitter<FabricEvents> {
private canvas;
private currentShape;
private drawingTool;
private isDrawing;
private startX;
private startY;
private endX;
private endY;
private options;
private images;
private curImageIndex;
private isValidEraser;
private isValidSelection;
constructor(canvasId: string);
getCanvas(): ICanvas;
renderCanvas(data: any): void;
setBackgroundColor(color: string): void;
setBackgroundImage(imageUrl: string, options?: IImageOptions): void;
addObject(object: IObject): void;
removeObject(object: IObject): void;
removeAllObject(): void;
getObjects(): IObject[];
getActiveObject(): IObject | undefined | null;
setActiveObject(object: IObject): void;
resetActiveObject(): void;
setWidth(value: number | string): void;
setHeight(value: number | string): void;
exitTextEditing(): void;
setObjectsSelectable(objectsSelectable: boolean): void;
setEvented(): void;
clearCanvas(): void;
reloadCanvas(): void;
setDrawingTool(tool: DrawingTool): void;
setOptions(toolSetting: ToolSettings): void;
setTextOptions(): ITextOptions;
setPencilBrushOptions(): void;
discardActiveObject(): void;
drawRect(options: IRectOptions): void;
drawTriangle(options: ITriangleOptions): void;
drawCircle(options: ICircleOptions): void;
drawEllipse(options: IEllipseOptions): void;
drawLine(x1: number, y1: number, x2: number, y2: number, options?: ILineOptions): void;
drawArrow(x1: number, y1: number, x2: number, y2: number, options?: ILineOptions): void;
drawFreeDraw(): void;
drawText(text: string, options?: ITextOptions): void;
insertImage(url: string, options?: IImageOptions): void;
insertPPT(urls: string[]): void;
setCurrentScense(index: number): void;
setEraser(): void;
private initEvent;
private onMouseDown;
private onMouseMove;
private onMouseUp;
private onObjectMoving;
private onObjectScaling;
private onObjectRotating;
private isNeedPushToStack;
toDataURL(options?: ICanvasOptions): any;
toJSON(): any;
loadFromJSON(json: any, callback: any, reviver?: any): ICanvas;
renderAll(): ICanvas;
requestRenderAll(): any;
zoom(ratio?: number): void;
getZoom(): number;
zoomIn(): void;
zoomOut(): void;
destroy(): void;
}
export default FabricCanvas;