Demos/RadialWheel/Components/WheelShadow.cs
using Sandbox;
using Goo;
using Sandbox.UI;

namespace Sandbox.RadialWheel;

// Thin dark inner rim hugging the wheel edge: a wheel-sized transparent Container
// whose Border draws inward, darkening the outermost wedge pixels for a "lit
// rim" feel without bleeding past the wheel boundary.
public static class WheelShadow
{
    public static Container Build( float thicknessPx, float alpha ) => new Container
    {
        Key             = "wheel-shadow",
        Position        = PositionMode.Absolute,
        Top             = 0,
        Left            = 0,
        Width           = Length.Percent( 100 ),
        Height          = Length.Percent( 100 ),
        BorderColor     = Color.Black.WithAlpha( alpha ),
        BorderWidth     = thicknessPx,
        BorderTopLeftRadius     = Length.Percent( 50 ),
        BorderTopRightRadius    = Length.Percent( 50 ),
        BorderBottomLeftRadius  = Length.Percent( 50 ),
        BorderBottomRightRadius = Length.Percent( 50 ),
        PointerEvents   = PointerEvents.None,
    };
}