@magnetman103/react-native-sketch-canvas
Version:
A fork of react native sketch canvas from sourcetoad for modification.
85 lines • 2.57 kB
TypeScript
import React from 'react';
export declare enum OnChangeEventType {
PathsUpdate = "pathsUpdate",
Save = "save"
}
export interface CanvasText {
text: string;
font?: string;
fontSize?: number;
fontColor?: string;
overlay?: 'TextOnSketch' | 'SketchOnText';
anchor: {
x: number;
y: number;
};
position: {
x: number;
y: number;
};
coordinate?: 'Absolute' | 'Ratio';
alignment?: 'Left' | 'Center' | 'Right';
lineHeightMultiple?: number;
}
export interface PathData {
id: number;
color: string;
width: number;
data: string[];
}
export interface Path {
path: PathData;
size: {
width: number;
height: number;
};
drawer: string | undefined;
}
export interface StrokeEndData {
path: PathData;
size: {
width: number;
height: number;
};
drawer: string | null;
}
export interface SketchCanvasProps {
style?: any;
strokeColor?: string;
strokeWidth?: number;
onPathsChange?: (pathsUpdate: any) => void;
onStrokeStart?: (x: number, y: number) => void;
onStrokeChanged?: (x: number, y: number) => void;
onStrokeEnd?: (data: StrokeEndData) => void;
onSketchSaved?: (success: boolean, path: string) => void;
onGenerateBase64?: (result: any) => void;
onCanvasReady?: () => void;
user?: string;
touchEnabled?: boolean;
text?: CanvasText[];
localSourceImage?: {
filename: string;
directory: string;
mode?: 'AspectFill' | 'AspectFit' | 'ScaleToFill';
};
permissionDialogTitle?: string;
permissionDialogMessage?: string;
}
interface DrawCanvasProps extends Omit<SketchCanvasProps, 'touchEnabled'> {
pathsToProcess: Path[];
paths: Path[];
currentPath: PathData | null;
}
export interface DrawCanvasRef {
clear: () => void;
addPath: (data: Path) => void;
deletePath: (id: number) => void;
newPath: (id: number, color: string, width: number) => void;
addPoint: (x: number, y: number) => void;
endPath: () => void;
save: (imageType: string, transparent: boolean, folder: string, filename: string, includeImage: boolean, includeText: boolean, cropToImageSize: boolean) => void;
getBase64: (imageType: string, transparent: boolean, includeImage: boolean, includeText: boolean, cropToImageSize: boolean) => void;
}
declare const DrawCanvas: React.ForwardRefExoticComponent<DrawCanvasProps & React.RefAttributes<DrawCanvasRef>>;
export default DrawCanvas;
//# sourceMappingURL=DrawCanvas.d.ts.map