Option Strict On
Option Explicit On

Imports System.Collections.Generic
Imports SkiaSharp

Namespace Nexamas.UI.Rendering

    Friend NotInheritable Class MessageBoxLayoutResult

        Friend Sub New()
            PanelRect = SKRect.Empty
            CompanyIconRect = SKRect.Empty
            HeaderRect = SKRect.Empty
            IconRect = SKRect.Empty
            CloseRect = SKRect.Empty
            TitleRect = SKRect.Empty
            ContentRect = SKRect.Empty
            ContentViewportRect = SKRect.Empty
            ContentScrollHostRect = SKRect.Empty
            ContentScrollRailRect = SKRect.Empty
            MessageRect = SKRect.Empty
            DetailRect = SKRect.Empty
            ButtonsBlockRect = SKRect.Empty
            ButtonsRowRect = SKRect.Empty
            ButtonRects = New List(Of SKRect)()

            TitleLines = New List(Of String)()
            MessageLines = New List(Of String)()
            DetailLines = New List(Of String)()

            TextLeft = 0.0F
            TextRight = 0.0F
            HeaderHeight = 0.0F
            MessageIconSize = 0.0F
            CompanyIconSize = 0.0F
            CloseButtonSize = 0.0F
            ButtonsRowCount = 0

            CheckBoxRowRect = SKRect.Empty
            CheckBoxBoxRect = SKRect.Empty
            CheckBoxTextRect = SKRect.Empty

            ShellContentRect = SKRect.Empty
            ShellResult = Nothing
        End Sub

        Friend Property PanelRect As SKRect
        Friend Property CompanyIconRect As SKRect
        Friend Property HeaderRect As SKRect
        Friend Property IconRect As SKRect
        Friend Property CloseRect As SKRect
        Friend Property TitleRect As SKRect

        Friend Property ContentRect As SKRect
        Friend Property ContentViewportRect As SKRect
        Friend Property ContentScrollHostRect As SKRect
        Friend Property ContentScrollRailRect As SKRect
        Friend Property MessageRect As SKRect
        Friend Property DetailRect As SKRect

        Friend Property ButtonsBlockRect As SKRect
        Friend Property ButtonsRowRect As SKRect
        Friend Property ButtonRects As List(Of SKRect)

        Friend Property TitleLines As List(Of String)
        Friend Property MessageLines As List(Of String)
        Friend Property DetailLines As List(Of String)

        Friend Property TextLeft As Single
        Friend Property TextRight As Single

        Friend Property HeaderHeight As Single

        Friend Property CompanyIconSize As Single
        Friend Property CloseButtonSize As Single
        Friend Property ButtonsRowCount As Integer

        Friend Property HasScrollableContent As Boolean
        Friend Property MaxContentScrollOffsetY As Single

        Friend Property CheckBoxRowRect As SKRect
        Friend Property CheckBoxBoxRect As SKRect
        Friend Property CheckBoxTextRect As SKRect
        Friend Property MessageIconSize As Single

        Friend Property ShellContentRect As SKRect
        Friend Property ShellResult As MASPanelShellResult
    End Class

End Namespace
