/** * ZUI CircularLayout Component * Layout optimized for circular displays with proper edge handling */ import { LayoutComponent, LayoutComponentProps } from '../core/Component'; import type { Rect, Size, PaddingInput, Alignment } from '../core/types'; export interface CircularLayoutProps extends LayoutComponentProps { /** Apply safe area margin (2px) */ safeAreaEnabled?: boolean; /** Center content in display */ centerContent?: boolean; /** Additional edge margin for circular display */ edgeMargin?: number; /** Container width */ width?: Size; /** Container height */ height?: Size; /** Internal padding */ padding?: PaddingInput; /** Vertical alignment */ verticalAlignment?: Alignment; /** Horizontal alignment */ horizontalAlignment?: Alignment; } /** * CircularLayout component optimized for circular displays * * Automatically handles: * - Safe area margins * - Circular edge constraints * - Content centering * * @example * ```ts * const layout = new CircularLayout({ * safeAreaEnabled: true, * centerContent: true, * edgeMargin: 16, * children: [ * new Text({ text: 'Centered content' }), * ], * }); * ``` */ export declare class CircularLayout extends LayoutComponent { readonly type = "CircularLayout"; private screenWidth; private screenHeight; protected getDefaultProps(): Partial; protected calculateLayout(parentRect?: Rect): void; /** * Clamp a rectangle to be visible within circular screen */ private clampToCircle; protected createWidgets(): void; protected updateWidgets(): void; protected destroyWidgets(): void; /** * Check if a point is within the circular display area */ isPointInDisplay(x: number, y: number): boolean; /** * Get the maximum content width at a given y position */ getMaxWidthAtY(y: number): number; /** * Get screen center point */ getCenter(): { x: number; y: number; }; /** * Get safe content radius */ getSafeRadius(): number; } /** * Create a CircularLayout component */ export declare function createCircularLayout(props: CircularLayoutProps): CircularLayout; //# sourceMappingURL=CircularLayout.d.ts.map