Option Strict On
Option Explicit On

Imports SkiaSharp

Namespace Nexamas.UI.Components

    Friend NotInheritable Class MessageBoxCompanyIconSpec

        Friend Sub New()
            Mode = MessageBoxCompanyIconMode.None
            Image = Nothing
            FallbackText = String.Empty
        End Sub

        Friend Property Mode As MessageBoxCompanyIconMode
        Friend Property Image As SKImage
        Friend Property FallbackText As String

        Friend Function HasVisual() As Boolean
            Select Case Mode
                Case MessageBoxCompanyIconMode.ShowImage
                    Return Image IsNot Nothing

                Case MessageBoxCompanyIconMode.ShowFallback
                    Return Not String.IsNullOrWhiteSpace(FallbackText)

                Case Else
                    Return False
            End Select
        End Function

        Friend Function RequiresLayoutReservation() As Boolean
            Return Mode <> MessageBoxCompanyIconMode.None
        End Function

    End Class

End Namespace