UNPKG

@turbox3d/renderer-core

Version:

Large-scale declarative graphic ui core renderer

54 lines (53 loc) 3.09 kB
import { ViewEntity, SceneEvent } from '@turbox3d/event-manager'; import { SceneTool } from '@turbox3d/command-manager'; import { Element, VirtualNode } from './render'; import { SceneContext } from './scene'; export interface PreserveProps { key?: string | number; children?: Element<any>[]; onClick?: (viewEntity: Partial<ViewEntity>, event: SceneEvent, tools: SceneTool) => void; onDBClick?: (viewEntity: Partial<ViewEntity>, event: SceneEvent, tools: SceneTool) => void; onRightClick?: (viewEntity: Partial<ViewEntity>, event: SceneEvent, tools: SceneTool) => void; onDragStart?: (viewEntity: Partial<ViewEntity>, event: SceneEvent, tools: SceneTool) => void; onDragMove?: (viewEntity: Partial<ViewEntity>, event: SceneEvent, tools: SceneTool) => void; onDragEnd?: (viewEntity: Partial<ViewEntity>, event: SceneEvent, tools: SceneTool) => void; onPinchStart?: (viewEntity: Partial<ViewEntity>, event: SceneEvent, tools: SceneTool) => void; onPinch?: (viewEntity: Partial<ViewEntity>, event: SceneEvent, tools: SceneTool) => void; onPinchEnd?: (viewEntity: Partial<ViewEntity>, event: SceneEvent, tools: SceneTool) => void; onRotateStart?: (viewEntity: Partial<ViewEntity>, event: SceneEvent, tools: SceneTool) => void; onRotate?: (viewEntity: Partial<ViewEntity>, event: SceneEvent, tools: SceneTool) => void; onRotateEnd?: (viewEntity: Partial<ViewEntity>, event: SceneEvent, tools: SceneTool) => void; onPress?: (viewEntity: Partial<ViewEntity>, event: SceneEvent, tools: SceneTool) => void; onPressUp?: (viewEntity: Partial<ViewEntity>, event: SceneEvent, tools: SceneTool) => void; onHoverIn?: (viewEntity: Partial<ViewEntity>, event: SceneEvent, tools: SceneTool) => void; onHoverOut?: (viewEntity: Partial<ViewEntity>, event: SceneEvent, tools: SceneTool) => void; clickable?: boolean; hoverable?: boolean; draggable?: boolean; pinchable?: boolean; rotatable?: boolean; pressable?: boolean; } export type ComponentProps<P> = PreserveProps & Partial<ViewEntity> & P; /** * graphic render component */ export declare class Component<P extends object = {}> { props: ComponentProps<P>; _vNode: VirtualNode; get context(): SceneContext; constructor(props?: ComponentProps<P>); forceUpdate(): void; shouldComponentUpdate(nextProps?: Readonly<ComponentProps<P>>): boolean; shouldComponentInteractiveUpdate(nextProps?: Readonly<ComponentProps<P>>): boolean; shouldComponentCustomPropsUpdate(nextProps?: Readonly<ComponentProps<P>>): boolean; componentWillMount(): void | Promise<void>; componentWillUpdate(nextProps?: Readonly<ComponentProps<P>>): void | Promise<void>; render(): Element<any>[] | null; componentDidMount(): void | Promise<void>; componentDidUpdate(prevProps: Readonly<ComponentProps<P>>): void | Promise<void>; componentWillUnmount(): void | Promise<void>; } export declare class PureComponent<P extends object = {}> extends Component<P> { shouldComponentUpdate(nextProps: Readonly<ComponentProps<P>>): boolean; }