Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 | 1x 1x 1x | import { EdgeInfo } from "../../types";
import { Grid } from "./grid";
export interface CellHit {
type: "cell";
row: number;
col: number;
}
export function getCellAtPixel(
grid: Grid,
width: number,
height: number,
x: number,
y: number
): CellHit | null {
const cell = grid.pixelToCell({ x, y });
if (cell && cell.col >= 0 && cell.col < width && cell.row >= 0 && cell.row < height) {
return { type: "cell", row: cell.row, col: cell.col };
}
return null;
}
export function getEdgeAtPixel(
grid: Grid,
width: number,
height: number,
x: number,
y: number,
threshold: number
): EdgeInfo | null {
return grid.getEdgeAt({ x, y }, threshold, width, height);
}
export function filterInBounds(
cells: Array<{ col: number; row: number }>,
width: number,
height: number
): Array<{ col: number; row: number }> {
return cells.filter(
(cell) =>
cell.col >= 0 &&
cell.col < width &&
cell.row >= 0 &&
cell.row < height
);
}
|