Option Strict On
Option Explicit On

Imports System
Imports SkiaSharp

Namespace Nexamas.UI.Components

    Friend NotInheritable Class MASPropertyGridRenderRow

        Friend Sub New(isCategory As Boolean,
                       entryIndex As Integer,
                       category As String,
                       name As String,
                       valueText As String,
                       kindName As String,
                       isEditable As Boolean,
                       rowRectPx As SKRect,
                       nameRectPx As SKRect,
                       valueRectPx As SKRect,
                       Optional categoryItemCount As Integer = 0,
                       Optional isCategoryCollapsed As Boolean = False)
            Me.IsCategory = isCategory
            Me.EntryIndex = entryIndex
            Me.Category = If(category, String.Empty)
            Me.Name = If(name, String.Empty)
            Me.ValueText = If(valueText, String.Empty)
            Me.KindName = If(kindName, String.Empty)
            Me.IsEditable = isEditable
            Me.RowRectPx = rowRectPx
            Me.NameRectPx = nameRectPx
            Me.ValueRectPx = valueRectPx
            Me.CategoryItemCount = Math.Max(0, categoryItemCount)
            Me.IsCategoryCollapsed = isCategoryCollapsed
        End Sub

        Friend ReadOnly Property IsCategory As Boolean
        Friend ReadOnly Property EntryIndex As Integer
        Friend ReadOnly Property Category As String
        Friend ReadOnly Property Name As String
        Friend ReadOnly Property ValueText As String
        Friend ReadOnly Property KindName As String
        Friend ReadOnly Property IsEditable As Boolean
        Friend ReadOnly Property RowRectPx As SKRect
        Friend ReadOnly Property NameRectPx As SKRect
        Friend ReadOnly Property ValueRectPx As SKRect
        Friend ReadOnly Property CategoryItemCount As Integer
        Friend ReadOnly Property IsCategoryCollapsed As Boolean

    End Class

End Namespace
