@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
TypeScript
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 {};