export const inRect = (x: number, y: number, rectX: number, rectY: number, rectW: number, rectH: number) => {
	return (
		x >= rectX &&
		x < rectX+rectW &&
		y >= rectY &&
		y < rectY+rectH
	)
}

export function reGridWithGap (x: number, y: number, gridX: number, gridY: number, cellW: number, cellH: number, gapX: number, gapY: number): {x: number, y: number} | null {
	const gx = Math.floor((x-gridX)/(cellW+gapX));
	const gy = Math.floor((y-gridY)/(cellH+gapY));
	if (x >= gridX+(cellW+gapX)*gx+cellW || y >= gridY+(cellH+gapY)*gy+cellH) {
		return null;
	}
	return {
		x: Math.floor((x-gridX)/(cellW+gapX)),
		y: Math.floor((y-gridY)/(cellH+gapY)),
	}
}

export function reGrid (x: number, y: number, gridX: number, gridY: number, cellW: number, cellH: number): {x: number, y: number} {
	const gx = Math.floor((x-gridX)/(cellW));
	const gy = Math.floor((y-gridY)/(cellH));
	return {
		x: gx,
		y: gy,
	}
}