Option Strict On
Option Explicit On

Imports System
Imports System.Collections.Generic
Imports Nexamas.UI.Controls
Imports Nexamas.UI.Host
Imports Nexamas.UI.Layout
Imports Nexamas.UI.Rendering
Imports Nexamas.UI.Theming
Imports Nexamas.UI.Components
Imports SkiaSharp

Namespace Nexamas.UI.Application


    ''' <summary>
    ''' Public semantic side-region width vocabulary for LayoutApplicationSurface. Consumers choose intent;
    ''' Nexamas UI resolves the final logical width from the active runtime size profile and viewport.
    ''' </summary>
    Public Enum MASApplicationSurfaceSideSize
        Compact = 0
        [Default] = 1
        Wide = 2
    End Enum


    ''' <summary>
    ''' Public semantic command/footer height vocabulary for LayoutApplicationSurface. The enum keeps normal
    ''' screens away from fixed pixel heights while still allowing compact or spacious command areas.
    ''' </summary>
    Public Enum MASApplicationSurfaceBarSize
        Compact = 0
        [Default] = 1
        Large = 2
    End Enum


    ''' <summary>
    ''' Public command-bar placement policy for application surfaces. Auto keeps command bars in
    ''' the main work area when a navigation side region exists, so navigation surfaces can remain
    ''' full height while the command surface becomes the true host for the action row.
    ''' </summary>
    Public Enum MASApplicationSurfaceCommandBarPlacement
        Auto = 0
        FullApplicationSurfaceTop = 1
        MainAreaTop = 2
    End Enum


    ''' <summary>
    ''' Public footer placement policy for application surfaces. FullApplicationSurfaceBottom preserves
    ''' the historical global footer. MainAreaBottom keeps navigation/sidebar regions full height while
    ''' placing the footer under the main work area and inspector.
    ''' </summary>
    Public Enum MASApplicationSurfaceFooterPlacement
        FullApplicationSurfaceBottom = 0
        MainAreaBottom = 1
    End Enum


    ''' <summary>
    ''' Public application-surface rhythm presets. A rhythm is not an application-specific skin and not a
    ''' second layout engine: it selects official MASLayout spacing tokens for the distances
    ''' between page regions so applications can choose compact, normal, or airy interfaces
    ''' without writing local Left/Top/Width/Height or raw gap values.
    ''' </summary>
    Public Enum MASApplicationSurfaceRhythm
        Compact = 0
        Comfortable = 1
        Spacious = 2
    End Enum

End Namespace
