From fef6826bf58a2d00dadbdbc1b11b0cb5816b7e7f Mon Sep 17 00:00:00 2001 From: chenshenhai Date: Wed, 17 Nov 2021 21:30:05 +0800 Subject: [PATCH] feat: update types/plugin --- packages/types/src/lib/plugin.ts | 37 +++++++++++++++++++++++++++++--- 1 file changed, 34 insertions(+), 3 deletions(-) diff --git a/packages/types/src/lib/plugin.ts b/packages/types/src/lib/plugin.ts index f387b50..cb59b85 100644 --- a/packages/types/src/lib/plugin.ts +++ b/packages/types/src/lib/plugin.ts @@ -1,7 +1,38 @@ +import { TypeData } from './data'; +import { TypeElemDesc, TypeElement } from './element'; import { TypeContext } from './context'; +import { TypePoint, TypePointCursor } from './board'; + export interface TypePlugin { - drawTopContext?(ctx: TypeContext): void; - drawTopDisplayContext?(ctx2d: CanvasRenderingContext2D): void; - drawBottomDisplayContext?(ctx2d: CanvasRenderingContext2D): void; + onHover?: (detail: { + point: TypePoint, + selectedElement: TypeElement | null, + data: TypeData, + helperCtx:TypeContext, + }) => void | { cursor?: TypePointCursor }; + onClick?: (detail: { + point: TypePoint, + selectedElement: TypeElement | null, + data: TypeData, + helperCtx:TypeContext + }) => void; + onMoveStart?: (detail: { + point: TypePoint, + selectedElement: TypeElement | null, + data: TypeData, + helperCtx:TypeContext + }) => void; + onMove?: (detail: { + point: TypePoint, + selectedElement: TypeElement | null, + data: TypeData, + helperCtx:TypeContext + }) => void; + onMoveEnd?: (detail: { + point: TypePoint, + selectedElement?: TypeElement | null, + data: TypeData, + helperCtx:TypeContext + }) => void; } \ No newline at end of file