UNPKG

react-babylonjs-x

Version:
33 lines (32 loc) 1.53 kB
import { MutableRefObject } from 'react'; import { Scene, EventState, ActionEvent, Mesh } from '@babylonjs/core'; import { Control } from '@babylonjs/gui/2D/controls/control'; import { ICustomPropsHandler } from './PropsHandler'; import { CreatedInstance } from "./CreatedInstance"; export declare type OnFrameRenderFn = (eventData: Scene, eventState: EventState) => void; export declare function useBeforeRender(callback: OnFrameRenderFn, mask?: number, insertFirst?: boolean, callOnce?: boolean): void; export declare function useAfterRender(callback: OnFrameRenderFn, mask?: number, insertFirst?: boolean, callOnce?: boolean): void; export declare const useCustomPropsHandler: (propsHandler: ICustomPropsHandler<any, any>) => void; export declare type MeshEventType = { (ev: ActionEvent): void; }; export declare type Gui2dEventType = { (eventData: Control, eventState: EventState): void; }; export declare type HoverType = MeshEventType | Gui2dEventType; /** * useHover hook * * TODO: support GUI 3D contols * * @param over expression when hover over starts * @param out expression when hover stops */ export declare const useHover: (over?: MeshEventType | Gui2dEventType | undefined, out?: MeshEventType | Gui2dEventType | undefined) => [MutableRefObject<CreatedInstance<Control | Mesh | null>>, boolean]; /** * useClick hook * * TODO: support UI * @param onClick */ export declare function useClick(onClick: MeshEventType): [MutableRefObject<CreatedInstance<Mesh | null>>];