Option Strict On
Option Explicit On

Namespace Nexamas.UI.Rendering

    ''' <summary>
    ''' Centralizes the boundary between Surface Visual and Component Chrome.
    ''' Surface Visual owns app/panel/card/stage surfaces; Component Chrome owns
    ''' interactive control skins. The helpers are intentionally small because the
    ''' concrete component renderers still own layout, text, icons, and hit-testing.
    ''' </summary>
    Friend NotInheritable Class MASComponentChromeOwnershipPolicy
        Private Sub New()
        End Sub

        Friend Shared Function IsComponentChromeRole(role As MASComponentChromeRole) As Boolean
            Select Case role
                Case MASComponentChromeRole.Action,
                     MASComponentChromeRole.InputField,
                     MASComponentChromeRole.Chip,
                     MASComponentChromeRole.Bar
                    Return True
                Case Else
                    Return False
            End Select
        End Function

        Friend Shared Function RequiresComponentContract(role As MASComponentChromeRole) As Boolean
            Return IsComponentChromeRole(role)
        End Function
    End Class

End Namespace
