Option Strict On
Option Explicit On

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

Namespace Nexamas.UI.Controls

    Partial Public NotInheritable Class MASNotificationPanel

#Region "Item model"

        Private NotInheritable Class NotificationRowHit
            Friend Sub New(index As Integer, rect As SKRect)
                Me.Index = index
                Me.Rect = rect
            End Sub

            Friend ReadOnly Property Index As Integer
            Friend ReadOnly Property Rect As SKRect
        End Class

        Private NotInheritable Class NotificationInfo
            Friend Property Title As String
            Friend Property Message As String
            Friend Property Tone As MASToastTone
            Friend Property TimestampText As String
            Friend Property ActionText As String
            Friend Property IsUnread As Boolean

            Friend Sub New(title As String,
                           message As String,
                           tone As MASToastTone,
                           timestampText As String,
                           actionText As String,
                           isUnread As Boolean)
                Me.Title = MASNotificationPanelContentPolicy.NormalizeTitle(title, NotificationPanelTokens.DefaultNotificationTitle)
                Me.Message = MASNotificationPanelContentPolicy.NormalizeMessage(message, NotificationPanelTokens.DefaultNotificationMessage)
                Me.Tone = MASNotificationPanelContentPolicy.NormalizeTone(tone)
                Me.TimestampText = MASNotificationPanelContentPolicy.NormalizeTimestampText(timestampText)
                Me.ActionText = MASNotificationPanelContentPolicy.NormalizeActionText(actionText)
                Me.IsUnread = isUnread
            End Sub
        End Class

#End Region
    End Class

End Namespace
