UNPKG

@needle-tools/engine

Version:

Needle Engine is a web-based runtime for 3D apps. It runs on your machine for development with great integrations into editors like Unity or Blender - and can be deployed onto any device! It is flexible, extensible and networking and XR are built-in.

39 lines (38 loc) 1.29 kB
import { type IComponent } from "../../engine/engine_types.js"; export interface ICanvas extends IComponent { get isCanvas(): boolean; get screenspace(): boolean; registerTransform(rt: IRectTransform): any; unregisterTransform(rt: IRectTransform): any; registerEventReceiver(receiver: ICanvasEventReceiver): any; unregisterEventReceiver(receiver: ICanvasEventReceiver): any; } export interface ICanvasGroup { get isCanvasGroup(): boolean; blocksRaycasts: boolean; interactable: boolean; } export interface IHasAlphaFactor { setAlphaFactor(val: number): any; } export interface IGraphic extends IComponent, IHasAlphaFactor { get isGraphic(): boolean; raycastTarget: boolean; } export interface IRectTransform extends IComponent { get isDirty(): boolean; markDirty(): any; updateTransform(): any; } export interface IRectTransformChangedReceiver { onParentRectTransformChanged(comp: IRectTransform): void; } export interface ILayoutGroup extends IComponent { get isLayoutGroup(): boolean; get isDirty(): boolean; updateLayout(): any; } export interface ICanvasEventReceiver { /** Called before the canvas is rendering */ onBeforeCanvasRender?(canvas: ICanvas): any; }