Option Strict On
Option Explicit On

Imports System
Imports System.Collections.Generic
Imports System.Collections.ObjectModel
Imports System.Windows.Forms
Imports Nexamas.UI.Architecture
Imports Nexamas.UI.Composition
Imports Nexamas.UI.Controls
Imports Nexamas.UI.General
Imports Nexamas.UI.Layout
Imports Nexamas.UI.Motion
Imports Nexamas.UI.Rendering
Imports Nexamas.UI.TextRendering
Imports Nexamas.UI.Theming
Imports Nexamas.UI.Values
Imports SkiaSharp

Namespace Nexamas.UI.Components

    Partial Public NotInheritable Class MASContentCarousel
#Region "Pointer state / hit testing"

        Private Function HitTest(pt As SKPoint) As CarouselHit
            For i As Integer = _hits.Count - 1 To 0 Step -1
                Dim hit As CarouselHit = _hits(i)
                If hit.Rect.Contains(pt.X, pt.Y) Then Return hit
            Next
            Return Nothing
        End Function


        Private Sub ResetPointerState()
            If _hoverKind = CarouselHitKind.None AndAlso _hoverIndex < 0 AndAlso _pressedKind = CarouselHitKind.None AndAlso _pressedIndex < 0 Then Return
            _hoverKind = CarouselHitKind.None
            _hoverIndex = -1
            _pressedKind = CarouselHitKind.None
            _pressedIndex = -1
            InvalidateVisual()
        End Sub


#End Region
    End Class

End Namespace
