Option Strict On
Option Explicit On

Imports System.Collections.Generic

Namespace Nexamas.UI.Rendering

    Friend NotInheritable Class MessageBoxMeasureResult

        Friend Sub New()
            ButtonWidths = New List(Of Single)()
            TitleLines = New List(Of String)()
            MessageLines = New List(Of String)()
            DetailLines = New List(Of String)()
        End Sub

        Friend Property PanelWidth As Single
        Friend Property PanelHeight As Single

        Friend Property HeaderHeight As Single

        Friend Property CompanyIconSize As Single
        Friend Property MessageIconSize As Single
        Friend Property CloseButtonSize As Single

        Friend Property TitleHeight As Single
        Friend Property MessageHeight As Single
        Friend Property DetailHeight As Single

        Friend Property TitleLineCount As Integer
        Friend Property MessageLineCount As Integer
        Friend Property DetailLineCount As Integer

        Friend Property ContentWidthUsed As Single
        Friend Property ButtonsBlockWidth As Single
        Friend Property ButtonsBlockHeight As Single

        Friend Property ButtonRowsCount As Integer
        Friend Property EffectiveButtonsTopGap As Single

        Friend Property ContentNaturalHeight As Single
        Friend Property ContentViewportHeight As Single
        Friend Property MaxContentScrollOffsetY As Single
        Friend Property HasScrollableContent As Boolean

        Friend Property IsHeightClamped As Boolean
        Friend Property ContentOverflowY As Boolean
        Friend Property RequiresScroll As Boolean
        Friend Property WasTitleTrimmed As Boolean

        Friend Property TitleLines As List(Of String)
        Friend Property MessageLines As List(Of String)
        Friend Property DetailLines As List(Of String)
        Friend Property ButtonWidths As List(Of Single)
        Friend Property CheckBoxBlockHeight As Single
    End Class

End Namespace