diff --git a/Sources/SushiBelt/Private/VisibleRatioCalculator.swift b/Sources/SushiBelt/Private/VisibleRatioCalculator.swift index 8faf2d3..504b6b5 100644 --- a/Sources/SushiBelt/Private/VisibleRatioCalculator.swift +++ b/Sources/SushiBelt/Private/VisibleRatioCalculator.swift @@ -24,20 +24,9 @@ public struct DefaultVisibleRatioCalculator: VisibleRatioCalculator { trackingRect: CGRect, scrollDirection: SushiBeltTrackerScrollDirection? ) -> CGFloat? { - - guard let scrollDirection = scrollDirection else { - return nil - } - let visibleRect = trackingRect.intersection(item.rect.frameInWindow) - - switch scrollDirection { - case .up, .down: - return min(1.0, visibleRect.height / item.rect.frameInWindow.height) - case .left, .right: - return min(1.0, visibleRect.width / item.rect.frameInWindow.width) - case .diagonal: - return nil - } + let itemRectPixels = item.rect.frameInWindow.height * item.rect.frameInWindow.width + let visiblePixels = visibleRect.height * visibleRect.width + return visiblePixels / itemRectPixels } }