diff options
| author | Josh Kingsley <josh@joshkingsley.me> | 2025-10-25 22:05:04 +0300 |
|---|---|---|
| committer | Josh Kingsley <josh@joshkingsley.me> | 2025-10-25 22:10:04 +0300 |
| commit | 1b8d05bf83d7bd9ab425852f519ea81bdc379444 (patch) | |
| tree | a2555ce10f3c607c6809d020ba4d31fa3c05c7fb /web/src/renderGrid.ts | |
| parent | 5404a95c15e176d25728bf1a319ddb9828b23625 (diff) | |
feat(web): render and draw grid
Diffstat (limited to 'web/src/renderGrid.ts')
| -rw-r--r-- | web/src/renderGrid.ts | 64 |
1 files changed, 0 insertions, 64 deletions
diff --git a/web/src/renderGrid.ts b/web/src/renderGrid.ts deleted file mode 100644 index 476876b..0000000 --- a/web/src/renderGrid.ts +++ /dev/null @@ -1,64 +0,0 @@ -import Rect from "./math/Rect"; -import { Cell, CellRef, Grid, Row, RowRef } from "./types"; - -export interface RenderedCell extends Cell { - cellRef: CellRef; - rect: Rect; -} - -export interface RenderedRow { - rowRef: RowRef; - rect: Rect; - renderedCells: RenderedCell[]; -} - -export interface RenderedGrid extends Grid { - rect: Rect; - renderedRows: RenderedRow[]; -} - -function renderCell(grid: Grid, row: Row, cell: Cell): RenderedCell {} - -function renderRow(grid: Grid, row: Row): RenderedRow { - let topLeftX = 0; - - const renderedCells = row.cells.map((cell, cellIndex) => { - const renderedCell = renderCell(grid, row, cell); - topLeftX = renderedCell.rect.bottomRight.y; - return renderedCell; - }); -} - -function renderRows(grid: Grid): RenderedRow[] { - const renderedRows: RenderedRow[] = []; - - let partIndex = 0; - let rowIndex = 0; - let topLeftY = 0; - let renderedRowIndex = 0; - - while (true) { - if (!grid.parts[partIndex]?.rows[rowIndex]) break; - - const row = grid.parts[partIndex].rows[rowIndex]; - const renderedRow = renderRow(grid, row); - - topLeftY = renderedRow.rect.bottomRight.y; - renderedRows.push(renderedRow); - - if (!grid.parts[++partIndex]) { - partIndex = 0; - rowIndex++; - } - - renderedRowIndex++; - } - - return renderedRows; -} - -export default function renderGrid(grid: Grid) { - const renderedRows = renderRows(grid); - const rect = renderedRows[0].rect.extend(renderedRows.at(-1)!.rect); - return { ...grid, rect, renderedRows }; -} |
