Cleaning
This commit is contained in:
parent
1961ac6249
commit
164f752338
6 changed files with 95 additions and 122 deletions
34
src/ui.ts
34
src/ui.ts
|
|
@ -249,29 +249,27 @@ export function _measure(ui: UIValue): { width: number, height: number } {
|
|||
}
|
||||
}
|
||||
|
||||
export function hitTest(x: number, y: number): { onClick: any, relativeX: number, relativeY: number } | null {
|
||||
for (let i = clickRegions.length - 1; i >= 0; i--) {
|
||||
const region = clickRegions[i];
|
||||
function findRegion<T extends { x: number, y: number, width: number, height: number }>(regions: T[], x: number, y: number ): T | null {
|
||||
for (let i = regions.length - 1; i >= 0; i--) {
|
||||
const r = regions[i];
|
||||
|
||||
if (x >= region.x && x < region.x + region.width &&
|
||||
y >= region.y && y < region.y + region.height) {
|
||||
return {
|
||||
onClick: region.onClick,
|
||||
relativeX: x - region.x,
|
||||
relativeY: y - region.y,
|
||||
};
|
||||
if (x >= r.x && x < r.x + r.width &&
|
||||
y >= r.y && y < r.y + r.height) {
|
||||
return r;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
|
||||
}
|
||||
|
||||
export function hitTest(x: number, y: number): { onClick: any, relativeX: number, relativeY: number } | null {
|
||||
const region = findRegion(clickRegions, x, y);
|
||||
if (!region) return null;
|
||||
return { onClick: region.onClick, relativeX: x - region.x, relativeY: y - region.y };
|
||||
}
|
||||
|
||||
export function scrollHitTest(x: number, y: number): { onScroll: any } | null {
|
||||
for (let i = scrollRegions.length - 1; i >= 0; i--) {
|
||||
const region = scrollRegions[i];
|
||||
if (x >= region.x && x < region.x + region.width &&
|
||||
y >= region.y && y < region.y + region.height) {
|
||||
return { onScroll: region.onScroll };
|
||||
}
|
||||
}
|
||||
return null;
|
||||
const region = findRegion(scrollRegions, x, y);
|
||||
if (!region) return null;
|
||||
return { onScroll: region.onScroll };
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue