UNPKG

@eclipse-scout/core

Version:
49 lines 2.43 kB
import { GridData, Tile } from '..'; export declare const tileUtil: { /** * Creates a matrix containing references to the given tiles at the points where these tiles are. * If the tiles span some columns or rows, the spanned cells reference the tiles as well. * * Example: If a tile has a `gridData` with `x = 2`, `y = 4`, `w = 2`, `h = 1` it will be at position `matrix[2][4]` and `matrix[3][4]`. * * It uses gridDataHints if x/y are set explicitly. Otherwise, gridData is used. * Tiles with no gridData set or whose gridData.x or y is < 0 are ignored. * * @returns a two-dimensional array where the first dimension is the x-axis and the second the y-axis. */ buildMatrix(tiles: Tile[]): TileMatrix; /** * Moves the tiles down that intersect with the resized tile to make space for the resized tile. * Existing tiles on the bottom will be pushed down as well if they are in the way. * * This only works for tiles with an explicit position which means it only works if gridDataHints.x and gridDataHints.y are greater than or equal to 0. * Tiles without an explicit position are ignored because they are arranged automatically by the logical grid. * * @param ignore If the function returns true the passed tile will be ignored and never be moved. This is typically used for placeholder tiles. */ moveOtherTilesDown(tiles: Tile[], resizedTile: Tile, newGridData: GridData, ignore?: (tile: Tile) => boolean): void; }; /** * A two-dimensional array where the first dimension is the x-axis and the second the y-axis. */ export type TileMatrix = Tile[][] & { /** * The starting point of the x-axis array. It is the lowest x of all grid datas in the matrix, never smaller than 0. */ x: number; /** * The starting point of the y-axis array. It is the lowest y of all grid datas in the matrix, never smaller than 0. */ y: number; /** * The length of the x-axis array adjusted by {@link x}. * It is the number of columns between the left most tile and the right side of the right most tile in the matrix. */ width: number; /** * The length of the y-axis array adjusted by {@link y}. * It is the number of rows between the uppermost tile and the bottom side of the lowest tile in the matrix. */ height: number; }; //# sourceMappingURL=tileUtil.d.ts.map