62 lines
1.2 KiB
JavaScript
62 lines
1.2 KiB
JavaScript
// Metro module 5452 (f5453).
|
|
export function findFirstVisibleIndex(a0, a1, a2) {
|
|
let r24;
|
|
let r1 = a0.length - 1;
|
|
let r6 = -1;
|
|
let r18 = -1;
|
|
let r8 = 0;
|
|
while (r8 <= r1) {
|
|
const r15 = Math.floor((r8 + r1) / 2);
|
|
const r17 = a0[r15];
|
|
let r19 = r6;
|
|
let r20 = r1;
|
|
const r21 = r8;
|
|
const r16 = a2 ? r17.x : r17.y;
|
|
const r22 = a2 ? r17.width : r17.height;
|
|
if (!(r16 >= a1) && !(r16 + r22 > a1)) {
|
|
r24 = r15 + 1;
|
|
} else {
|
|
r20 = r15 - 1;
|
|
r19 = r15;
|
|
r24 = r21;
|
|
}
|
|
r6 = r19;
|
|
r1 = r20;
|
|
r8 = r24;
|
|
r18 = r6;
|
|
}
|
|
return r18;
|
|
}
|
|
export function findLastVisibleIndex(a0, a1, a2) {
|
|
let r23;
|
|
let r1 = a0.length - 1;
|
|
let r6 = -1;
|
|
let r18 = -1;
|
|
let r8 = 0;
|
|
while (r8 <= r1) {
|
|
const r15 = Math.floor((r8 + r1) / 2);
|
|
const r16 = a0[r15];
|
|
let r19 = r6;
|
|
const r3 = r1;
|
|
let r20 = r8;
|
|
const r21 = a2 ? r16.x : r16.y;
|
|
if (a2) {
|
|
r16.width;
|
|
} else {
|
|
r16.height;
|
|
}
|
|
if (r21 <= a1) {
|
|
r20 = r15 + 1;
|
|
r19 = r15;
|
|
r23 = r3;
|
|
} else {
|
|
r23 = r15 - 1;
|
|
}
|
|
r6 = r19;
|
|
r1 = r23;
|
|
r8 = r20;
|
|
r18 = r6;
|
|
}
|
|
return r18;
|
|
}
|