@sourcetoad/react-native-sketch-canvas
Version:
react-native-sketch-canvas allows you to draw / sketch on both iOS and Android devices and sync the drawing data between users. Of course you can save as image.
80 lines • 2.99 kB
TypeScript
import type { ViewProps, HostComponent } from 'react-native';
import type { DirectEventHandler, BubblingEventHandler, Int32, Double } from 'react-native/Libraries/Types/CodegenTypes';
export interface LocalSourceImage {
filename: string;
directory?: string;
mode?: string;
}
type CanvasText = {
text: string;
font?: string;
fontSize?: Double;
fontColor?: Int32;
overlay?: string;
anchor?: {
x: Double;
y: Double;
};
position: {
x: Double;
y: Double;
};
coordinate?: string;
/**
* If your text is multiline, `alignment` can align shorter lines with left/center/right.
*/
alignment?: string;
/**
* If your text is multiline, `lineHeightMultiple` can adjust the space between lines.
*/
lineHeightMultiple?: Double;
};
type InitialPathData = {
pathId: Int32;
color: Int32;
width: Double;
points: Array<string>;
};
type CanvasChangeEvent = {
eventType: string;
pathsUpdate?: Int32;
success?: boolean;
path?: string;
};
type ComponentType = HostComponent<NativeProps>;
export interface NativeProps extends ViewProps {
/**
* Local source image to load into the canvas
*/
localSourceImage?: LocalSourceImage;
/**
* Text to be drawn on the canvas
*/
text?: CanvasText[];
/**
* Callback when the canvas has finished loading and is ready for interaction.
*/
onCanvasReady?: DirectEventHandler<null>;
onChange?: BubblingEventHandler<CanvasChangeEvent> | null;
onGenerateBase64?: DirectEventHandler<{
base64: string;
}> | null;
onInitialPathsLoaded?: DirectEventHandler<{
loadedCount: Int32;
}> | null;
}
export interface NativeCommands {
save: (viewRef: React.ElementRef<ComponentType>, imageType: string, folder: string, filename: string, transparent: boolean, includeImage: boolean, includeText: boolean, cropToImageSize: boolean) => void;
addPoint: (viewRef: React.ElementRef<ComponentType>, x: Double, y: Double) => void;
addPath: (viewRef: React.ElementRef<ComponentType>, pathId: Int32, color: Int32, width: Double, points: Array<string>) => void;
addInitialPaths: (viewRef: React.ElementRef<ComponentType>, pathsArray: Array<InitialPathData>) => void;
newPath: (viewRef: React.ElementRef<ComponentType>, pathId: Int32, color: Int32, width: Double) => void;
deletePath: (viewRef: React.ElementRef<ComponentType>, pathId: Int32) => void;
endPath: (viewRef: React.ElementRef<ComponentType>) => void;
clear: (viewRef: React.ElementRef<ComponentType>) => void;
transferToBase64: (viewRef: React.ElementRef<ComponentType>, imageType: string, transparent: boolean, includeImage: boolean, includeText: boolean, cropToImageSize: boolean) => void;
}
declare const _default: HostComponent<NativeProps>;
export default _default;
export declare const Commands: NativeCommands;
//# sourceMappingURL=SketchCanvasNativeComponent.d.ts.map