Option Strict On
Option Explicit On

Imports SkiaSharp

Namespace Nexamas.UI.Rendering

    ''' <summary>
    ''' General surface-frame color profile for platform frame/border/depth decisions.
    ''' This preserves the existing FrameSurface visual values while giving the reusable
    ''' visual layer a name that is not owned by a single component.
    ''' </summary>
    Friend Structure MASSurfaceFrameThemeProfile
        Friend ReadOnly FallbackFill As SKColor
        Friend ReadOnly BorderHairline As SKColor
        Friend ReadOnly SeparatorHairline As SKColor
        Friend ReadOnly SurfaceTop As SKColor
        Friend ReadOnly SurfaceMid As SKColor
        Friend ReadOnly SurfaceBottom As SKColor
        Friend ReadOnly MaterialWash As SKColor
        Friend ReadOnly ColdTint As SKColor
        Friend ReadOnly BorderOuter As SKColor
        Friend ReadOnly BorderInner As SKColor
        Friend ReadOnly ShadowBase As SKColor
        Friend ReadOnly BorderAccent As SKColor
        Friend ReadOnly TopLift As SKColor
        Friend ReadOnly BottomAnchor As SKColor

        Friend Sub New(fallbackFill As SKColor,
                       borderHairline As SKColor,
                       separatorHairline As SKColor,
                       surfaceTop As SKColor,
                       surfaceMid As SKColor,
                       surfaceBottom As SKColor,
                       materialWash As SKColor,
                       coldTint As SKColor,
                       borderOuter As SKColor,
                       borderInner As SKColor,
                       shadowBase As SKColor,
                       borderAccent As SKColor,
                       topLift As SKColor,
                       bottomAnchor As SKColor)

            Me.FallbackFill = fallbackFill
            Me.BorderHairline = borderHairline
            Me.SeparatorHairline = separatorHairline
            Me.SurfaceTop = surfaceTop
            Me.SurfaceMid = surfaceMid
            Me.SurfaceBottom = surfaceBottom
            Me.MaterialWash = materialWash
            Me.ColdTint = coldTint
            Me.BorderOuter = borderOuter
            Me.BorderInner = borderInner
            Me.ShadowBase = shadowBase
            Me.BorderAccent = borderAccent
            Me.TopLift = topLift
            Me.BottomAnchor = bottomAnchor
        End Sub
    End Structure

End Namespace
