@mescius/dspdfviewer
Version:
Document Solutions PDF Viewer
87 lines (86 loc) • 2.09 kB
TypeScript
/// <reference path="../vendor/i18next.d.ts" />
//@ts-ignore
import { i18n } from "i18next";
//@ts-ignore
import { ModalPosition } from "@grapecity/core-ui";
import { SignToolSettings } from "../ViewerOptions";
import { SignToolStorage } from "./SignToolStorage";
/**
* Signature tool type.
* */
export type SignToolType = 'Type' | 'Draw' | 'Image';
/**
*
**/
export type SignToolDialogModel = {
autoResizeCanvas?: boolean;
canvasSize?: {
width: number;
height: number;
};
enabled: boolean;
hideSaveSignature?: boolean;
isChanged: boolean;
location?: 'Center' | 'Top' | 'Right' | 'Bottom' | 'Left' | 'TopLeft' | 'TopRight' | 'BottomRight' | 'BottomLeft' | {
x: number;
y: number;
};
pageIndex?: number;
tabs?: ('Type' | 'Draw' | 'Image');
title?: string;
selectedTab?: SignToolType;
saveSignature?: boolean;
subject?: string;
convertToContent?: boolean;
showModal: boolean;
modalPosition?: ModalPosition;
};
export type SignToolDialogProps = {};
/**
* Sign tool component state model.
**/
export type SignToolModel = {
penColor?: string;
penWidth?: number;
};
/**
* Sign tool component properties.
**/
export type BaseToolProps = {
enabled: boolean;
settings?: SignToolSettings;
in17n: i18n;
signToolStorage: SignToolStorage;
canvasSize: {
width: number;
height: number;
};
onChanged: (isDirty: boolean) => void;
};
/**
* Type tool component state model.
**/
export type TypeToolModel = {
textColor?: string;
text?: string;
fontSize?: number;
fontName?: string;
italic?: boolean;
bold?: boolean;
};
/**
* Image tool component state model.
**/
export type ImageToolModel = {
hasImage?: boolean;
};
export interface ISignTool {
/**
* Returns result image as data url.
**/
toDataURL(): string;
/**
* Returns result image blob data.
**/
toImageData(): Promise<Uint8Array | null>;
}