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.

85 lines (84 loc) 2.43 kB
import { Behaviour } from "../Component.js"; import { type ILayoutGroup, type IRectTransform } from "./Interfaces.js"; import { RectTransform } from "./RectTransform.js"; export declare class Padding { left: number; right: number; top: number; bottom: number; get vertical(): number; get horizontal(): number; } export declare enum TextAnchor { UpperLeft = 0, UpperCenter = 1, UpperRight = 2, MiddleLeft = 3, MiddleCenter = 4, MiddleRight = 5, LowerLeft = 6, LowerCenter = 7, LowerRight = 8, Custom = 9 } declare enum Axis { Horizontal = "x", Vertical = "y" } export declare abstract class LayoutGroup extends Behaviour implements ILayoutGroup { private _rectTransform; private get rectTransform(); onParentRectTransformChanged(_comp: IRectTransform): void; private _needsUpdate; get isDirty(): boolean; get isLayoutGroup(): boolean; updateLayout(): void; childAlignment: TextAnchor; reverseArrangement: boolean; spacing: number; padding: Padding; minWidth: number; minHeight: number; flexibleHeight: number; flexibleWidth: number; preferredHeight: number; preferredWidth: number; start(): void; onEnable(): void; onDisable(): void; protected abstract onCalculateLayout(rt: RectTransform): any; private set m_Spacing(value); get m_Spacing(): number; } export declare abstract class HorizontalOrVerticalLayoutGroup extends LayoutGroup { childControlHeight: boolean; childControlWidth: boolean; childForceExpandHeight: boolean; childForceExpandWidth: boolean; childScaleHeight: boolean; childScaleWidth: boolean; protected abstract get primaryAxis(): Axis; protected onCalculateLayout(rect: RectTransform): void; } /** * @category User Interface * @group Components */ export declare class VerticalLayoutGroup extends HorizontalOrVerticalLayoutGroup { protected get primaryAxis(): Axis; } /** * @category User Interface * @group Components */ export declare class HorizontalLayoutGroup extends HorizontalOrVerticalLayoutGroup { protected get primaryAxis(): Axis; } /** * @category User Interface * @group Components */ export declare class GridLayoutGroup extends LayoutGroup { protected onCalculateLayout(): void; } export {};