Optional engine-neutral commands for features that only exist on the 2D renderer.

interface AsukaCanvas2DExtension {
    addShape(input: AsukaCanvas2DShapeInput): AsukaMutationPromise<null | AsukaObjectRef>;
    attachMagnifier(options: AsukaCanvas2DMagnifierOptions): (() => void);
    clear(): AsukaMutationPromise<boolean>;
    createAreaDraft(input: AsukaCanvas2DAreaDraftInput): AsukaMutationPromise<null | AsukaObjectRef>;
    enterTextEditing(objectId: string): void;
    getColorSelection(): null | AsukaCanvas2DColorSelection;
    getSelectedText(): null | AsukaCanvas2DTextSelection;
    getSnapping(): AsukaCanvas2DSnappingState;
    setSelectedTextCurved(curved: boolean, patch?: AsukaCanvas2DTextCurvePatch): AsukaMutationPromise<null | AsukaCanvas2DTextSelection>;
    setSnapping(patch: Partial<AsukaCanvas2DSnappingState>): AsukaCanvas2DSnappingState;
    startAreaDraft(input: Omit<AsukaCanvas2DAreaDraftInput, "svgText" | "bounds">, onComplete?: ((object: null | AsukaObjectRef) => void)): (() => void);
    subscribeInteractions(listener: ((event: AsukaCanvas2DInteractionEvent) => void), options?: AsukaCanvas2DInteractionOptions): (() => void);
    subscribeTextEditRequests(listener: ((selection: AsukaCanvas2DTextSelection) => void)): (() => void);
    updateColorSelection(patch: AsukaCanvas2DColorPatch): AsukaMutationPromise<null | AsukaCanvas2DColorSelection>;
    updateSelectedText(patch: AsukaCanvas2DTextPatch, options?: AsukaCanvas2DTextMutationOptions): AsukaMutationPromise<null | AsukaCanvas2DTextSelection>;
    updateSelectedTextCurve(patch: AsukaCanvas2DTextCurvePatch, options?: AsukaCanvas2DTextMutationOptions): AsukaMutationPromise<null | AsukaCanvas2DTextSelection>;
}

Methods

  • Parameters

    • objectId: string

    Returns void

  • Parameters

    Returns (() => void)

      • (): void
      • Returns void