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.

75 lines (74 loc) 2.57 kB
import { type NeedleXREventArgs } from "../../engine/xr/api.js"; import { Camera } from "../Camera.js"; import { UIRootComponent } from "./BaseUIComponent.js"; import type { ICanvas, ICanvasEventReceiver, ILayoutGroup, IRectTransform } from "./Interfaces.js"; export declare enum RenderMode { ScreenSpaceOverlay = 0, ScreenSpaceCamera = 1, WorldSpace = 2, Undefined = -1 } /** * @category User Interface * @group Components */ export declare class Canvas extends UIRootComponent implements ICanvas { get isCanvas(): boolean; get screenspace(): any; set renderOnTop(val: boolean); get renderOnTop(): boolean; private _renderOnTop; set depthWrite(val: boolean); get depthWrite(): boolean; private _depthWrite; set doubleSided(val: boolean); get doubleSided(): boolean; private _doubleSided; set castShadows(val: boolean); get castShadows(): boolean; private _castShadows; set receiveShadows(val: boolean); get receiveShadows(): boolean; private _receiveShadows; get renderMode(): RenderMode; set renderMode(val: RenderMode); private _renderMode; private _rootCanvas; set rootCanvas(val: Canvas); get rootCanvas(): Canvas; private _scaleFactor; get scaleFactor(): number; private set scaleFactor(value); worldCamera?: Camera; planeDistance: number; awake(): void; start(): void; onEnable(): void; onDisable(): void; private _boundRenderSettingsChanged; private previousParent; private _lastMatrixWorld; private _rectTransforms; registerTransform(rt: IRectTransform): void; unregisterTransform(rt: IRectTransform): void; private _layoutGroups; registerLayoutGroup(group: ILayoutGroup): void; unregisterLayoutGroup(group: ILayoutGroup): void; private _receivers; registerEventReceiver(receiver: ICanvasEventReceiver): void; unregisterEventReceiver(receiver: ICanvasEventReceiver): void; onEnterXR(args: NeedleXREventArgs): Promise<void>; onLeaveXR(args: NeedleXREventArgs): void; onBeforeRenderRoutine: () => void; onAfterRenderRoutine: () => void; private invokeBeforeRenderEvents; private handleLayoutUpdates; applyRenderSettings(): void; private _updateRenderSettingsRoutine?; private onRenderSettingsChanged; private _updateRenderSettingsDelayed; private _activeRenderMode; private _lastWidth; private _lastHeight; private onUpdateRenderMode; }