Editor/Canvas/ArtboardFillMode.cs
using Sandbox;

namespace Grains.RazorDesigner.Canvas;

public enum ArtboardFillMode
{
	Dark,
	Mid,
	Light,
	Checker,
	Custom,
}

public static class ArtboardFillModeExtensions
{
	public static Color PresetColor( this ArtboardFillMode mode ) => mode switch
	{
		ArtboardFillMode.Dark    => new Color( 0.137f, 0.165f, 0.200f ),  // ~#232a33 — current default
		ArtboardFillMode.Mid     => new Color( 0.353f, 0.373f, 0.392f ),  // ~#5a5f64
		ArtboardFillMode.Light   => new Color( 0.910f, 0.910f, 0.910f ),  // ~#e8e8e8 (off-white)
		ArtboardFillMode.Checker => new Color( 0.165f, 0.176f, 0.200f ),  // ~#2a2d33 — checker base
		_                        => new Color( 0.137f, 0.165f, 0.200f ),  // Custom falls back to Dark if no color set
	};

	public static string DisplayLabel( this ArtboardFillMode mode ) => mode switch
	{
		ArtboardFillMode.Dark    => "Dark",
		ArtboardFillMode.Mid     => "Mid",
		ArtboardFillMode.Light   => "Light",
		ArtboardFillMode.Checker => "Checker",
		ArtboardFillMode.Custom  => "Custom",
		_                        => mode.ToString(),
	};
}