UNPKG

react-native-vision-camera

Version:

VisionCamera is the fastest and most powerful Camera for react-native.

36 lines (34 loc) 960 B
import { useMemo } from 'react' import type { FrameRenderer } from '../specs/FrameRenderer.nitro' import type { Frame } from '../specs/instances/Frame.nitro' import { VisionCamera } from '../VisionCamera' import type { NativeFrameRendererView } from '../views/NativeFrameRendererView' /** * Use a {@linkcode FrameRenderer}. * * A {@linkcode FrameRenderer} allows rendering * {@linkcode Frame}s to a * {@linkcode NativeFrameRendererView | <NativeFrameRendererView />}. * * @example * ```tsx * const frameRenderer = useFrameRenderer() * const frameOutput = useFrameOutput({ * onFrame(frame) { * 'worklet' * frameRenderer.renderFrame(frame) * frame.dispose() * } * }) * * return ( * <NativeFrameRendererView * style={StyleSheet.absoluteFill} * frameRenderer={frameRenderer} * /> * ) * ``` */ export function useFrameRenderer(): FrameRenderer { return useMemo(() => VisionCamera.createFrameRenderer(), []) }