/*! * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the MIT License. */ import { Actor, BoxAlignment } from '..'; /** Options for [[GridLayout.addCell]]. */ export interface AddCellOptions { /** The actor to be placed in the grid cell. Must be parented to the grid root. */ contents: Actor; /** The row index, with 0 at the top. */ row: number; /** The column index, with 0 on the left. */ column: number; /** The width of this cell for layout purposes. Should include any desired padding. */ width: number; /** The height of this cell for layout purposes. Should include any desired padding. */ height: number; /** Where the actor should be placed within the cell box. Defaults to [[GridLayout.defaultCellAlignment]]. */ alignment?: BoxAlignment; } /** * Lay out actors in a grid along the root actor's local XY plane. Assign actors to the grid with [[addCell]], * and apply updates with [[applyLayout]]. */ export declare class PlanarGridLayout { private anchor; gridAlignment: BoxAlignment; defaultCellAlignment: BoxAlignment; private contents; /** * Initialize a new grid layout. * @param anchor The grid's anchor actor, the point to which the grid is aligned. * @param gridAlignment How the grid should be aligned to its anchor, where [[BoxAlignment.TopLeft]] will place * the grid above and to the left of the anchor, and the lower right corner will touch the anchor. * @param defaultCellAlignment How cells should be aligned by default. */ constructor(anchor: Actor, gridAlignment?: BoxAlignment, defaultCellAlignment?: BoxAlignment); /** The number of columns in this grid. */ getColumnCount(): number; /** The number of rows in this grid. */ getRowCount(): number; /** The width of the full grid. */ getGridWidth(): number; /** The height of the full grid. */ getGridHeight(): number; /** * The width of a particular column. * @param i The column index. */ getColumnWidth(i: number): number; /** * The height of a particular row. * @param i The row index. */ getRowHeight(i: number): number; /** The widths of every column. */ getColumnWidths(): number[]; /** The heights of every row. */ getRowHeights(): number[]; /** * Add an actor to the grid. The actor's position will not be updated until [[applyLayout]] is called. * @param options The cell's configuration. */ addCell(options: AddCellOptions): void; /** Recompute the positions of all actors in the grid. */ applyLayout(animateDuration?: number, animateCurve?: import("..").EaseCurve): void; private static getOffsetFromAlignment; } //# sourceMappingURL=planarGridLayout.d.ts.map