react-native-filament
Version:
A real-time physically based 3D rendering engine for React Native
29 lines • 1.36 kB
TypeScript
import React, { PropsWithChildren } from 'react';
import { RenderCallback } from 'react-native-filament';
import { ISharedValue } from 'react-native-worklets-core';
type RenderCallbackList = {
callback: RenderCallback;
id: string;
}[];
/**
* In react-native-filament we can only have one render callback, which we provide to the FilamentView.
* This context allows us to have multiple render callbacks, as we call them in the render callback.
*/
export type RenderContextType = {
renderCallbacks: ISharedValue<RenderCallbackList>;
addRenderCallback: (callback: RenderCallback) => () => void;
};
export declare const makeRenderContext: () => {
useRenderContext: () => RenderContextType;
RenderContextProvider: ({ children }: PropsWithChildren) => React.JSX.Element;
useRenderCallback: (callback: RenderCallback, deps: React.DependencyList) => RenderCallback;
useRenderCallbacks: () => ISharedValue<RenderCallbackList>;
};
export declare const RenderCallbackContext: {
useRenderContext: () => RenderContextType;
RenderContextProvider: ({ children }: PropsWithChildren) => React.JSX.Element;
useRenderCallback: (callback: RenderCallback, deps: React.DependencyList) => RenderCallback;
useRenderCallbacks: () => ISharedValue<RenderCallbackList>;
};
export {};
//# sourceMappingURL=RenderCallbackContext.d.ts.map