mirror of
https://github.com/openflocon/Flocon.git
synced 2026-05-17 03:12:55 +00:00
feat: timeline test
This commit is contained in:
parent
d3a5410e67
commit
be9a92fd39
1 changed files with 21 additions and 9 deletions
|
|
@ -172,14 +172,17 @@ fun LaneCanvas(
|
|||
val width = max(2f, xEnd - xStart)
|
||||
|
||||
// --- keep partial visibility ---
|
||||
val intersects = if (xStart < viewportStartPx) {
|
||||
val intersects = if (xEnd > viewportStartPx &&
|
||||
xStart < viewportStartPx + viewportWidthPx
|
||||
) {
|
||||
true
|
||||
} else if (xStart <= viewportStartPx) {
|
||||
// draw inky if xEnd > viewportStartPx
|
||||
xEnd > viewportStartPx
|
||||
} else if (xEnd > viewportEndPx) {
|
||||
xStart < viewportEndPx
|
||||
xEnd >= viewportStartPx
|
||||
} else if (xEnd >= viewportEndPx) {
|
||||
xStart <= viewportEndPx
|
||||
} else {
|
||||
// there's a visible part
|
||||
(viewportStartPx < xEnd && xEnd < viewportEndPx) || (viewportStartPx < xStart && xStart < viewportEndPx)
|
||||
false
|
||||
}
|
||||
|
||||
if (!intersects) return@forEach
|
||||
|
|
@ -225,9 +228,18 @@ fun LaneCanvas(
|
|||
val xEnd = (ev.startMs + ev.durationMs - minStart) * scalePxPerMs
|
||||
val width = max(2f, xEnd - xStart)
|
||||
|
||||
val intersects =
|
||||
xEnd > viewportStartPx &&
|
||||
xStart < viewportStartPx + viewportWidthPx
|
||||
val intersects = if (xEnd > viewportStartPx &&
|
||||
xStart < viewportStartPx + viewportWidthPx
|
||||
) {
|
||||
true
|
||||
} else if (xStart <= viewportStartPx) {
|
||||
// draw inky if xEnd > viewportStartPx
|
||||
xEnd >= viewportStartPx
|
||||
} else if (xEnd >= viewportEndPx) {
|
||||
xStart <= viewportEndPx
|
||||
} else {
|
||||
false
|
||||
}
|
||||
|
||||
if (!intersects) return@forEach
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue