Option Strict On
Option Explicit On

Imports SkiaSharp

Namespace Nexamas.UI.Rendering

    Friend Structure MASSurfaceFrameBorderPalette
        Friend OuterColor As SKColor
        Friend InnerColor As SKColor
        Friend HairlineColor As SKColor
        Friend GlowColor As SKColor
    End Structure

    Friend Structure MASSurfaceFrameBorderSpec
        Friend OuterColor As SKColor
        Friend InnerColor As SKColor
        Friend HairlineColor As SKColor
        Friend GlowColor As SKColor

        Friend OuterStrokePx As Single
        Friend InnerStrokePx As Single
        Friend HairlineStrokePx As Single
        Friend GlowStrokePx As Single

        Friend InnerInsetPx As Single
        Friend HairlineAlpha As Byte
        Friend GlowAlpha As Byte
        Friend GlowBlurSigmaPx As Single

        Friend DrawOuter As Boolean
        Friend DrawInner As Boolean
        Friend DrawHairline As Boolean
        Friend DrawGlow As Boolean
    End Structure

    Friend Structure MASSurfaceFramePalette
        Friend TopColor As SKColor
        Friend MidColor As SKColor
        Friend BottomColor As SKColor
        Friend WashColor As SKColor

        Friend DrawColdTint As Boolean
        Friend ColdTintColor As SKColor
        Friend ColdTintAlpha As Byte

        Friend DrawLift As Boolean
        Friend LiftTopColor As SKColor
        Friend LiftMidColor As SKColor
        Friend LiftInsetXPx As Single
        Friend LiftInsetTopPx As Single
        Friend LiftHeightPx As Single

        Friend Border As MASSurfaceFrameBorderPalette
    End Structure

    Friend Structure MASSurfaceFrameBodySpec
        Friend TopColor As SKColor
        Friend MidColor As SKColor
        Friend BottomColor As SKColor
        Friend WashColor As SKColor

        Friend DrawColdTint As Boolean
        Friend ColdTintColor As SKColor
        Friend ColdTintAlpha As Byte
    End Structure

    Friend Structure MASSurfaceFrameLiftSpec
        Friend Draw As Boolean
        Friend TopColor As SKColor
        Friend MidColor As SKColor
        Friend InsetXPx As Single
        Friend InsetTopPx As Single
        Friend HeightPx As Single
    End Structure

    Friend Structure MASSurfaceFrameSpec
        Friend Body As MASSurfaceFrameBodySpec
        Friend Lift As MASSurfaceFrameLiftSpec
        Friend Border As MASSurfaceFrameBorderSpec
    End Structure

End Namespace