feat(ui): distinct Dark palette and recolor drawings on scheme switch
- Replace Dark part colors with high-contrast neon/electric palette - Recolor existing drawings in open nests when scheme changes Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -1,9 +1,11 @@
|
|||||||
|
using OpenNest.Forms;
|
||||||
using OpenNest.Properties;
|
using OpenNest.Properties;
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Drawing;
|
using System.Drawing;
|
||||||
using System.IO;
|
using System.IO;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
|
using System.Windows.Forms;
|
||||||
|
|
||||||
namespace OpenNest
|
namespace OpenNest
|
||||||
{
|
{
|
||||||
@@ -62,6 +64,26 @@ namespace OpenNest
|
|||||||
d.PartColors = scheme.PartColors;
|
d.PartColors = scheme.PartColors;
|
||||||
|
|
||||||
Drawing.PartColors = scheme.PartColors;
|
Drawing.PartColors = scheme.PartColors;
|
||||||
|
|
||||||
|
RecolorOpenNests(scheme.PartColors);
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void RecolorOpenNests(Color[] palette)
|
||||||
|
{
|
||||||
|
foreach (Form f in Application.OpenForms)
|
||||||
|
{
|
||||||
|
if (f is not EditNestForm enf)
|
||||||
|
continue;
|
||||||
|
|
||||||
|
var i = 0;
|
||||||
|
foreach (var drawing in enf.Nest.Drawings)
|
||||||
|
{
|
||||||
|
if (drawing.IsCutOff)
|
||||||
|
continue;
|
||||||
|
drawing.Color = palette[i % palette.Length];
|
||||||
|
i++;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private static IEnumerable<ColorScheme> LoadDiskSchemes()
|
private static IEnumerable<ColorScheme> LoadDiskSchemes()
|
||||||
@@ -163,12 +185,18 @@ namespace OpenNest
|
|||||||
PreviewPartColor = Color.FromArgb(255, 170, 60),
|
PreviewPartColor = Color.FromArgb(255, 170, 60),
|
||||||
PartColors = new[]
|
PartColors = new[]
|
||||||
{
|
{
|
||||||
Color.FromArgb(220, 110, 110), Color.FromArgb(170, 130, 215),
|
Color.FromArgb(255, 85, 85), // Neon Red
|
||||||
Color.FromArgb(90, 200, 195), Color.FromArgb(230, 210, 100),
|
Color.FromArgb(80, 220, 255), // Electric Cyan
|
||||||
Color.FromArgb(215, 110, 200), Color.FromArgb(210, 140, 110),
|
Color.FromArgb(255, 200, 50), // Amber
|
||||||
Color.FromArgb(140, 125, 215), Color.FromArgb(225, 125, 165),
|
Color.FromArgb(130, 255, 130), // Lime Green
|
||||||
Color.FromArgb(100, 200, 180), Color.FromArgb(220, 185, 110),
|
Color.FromArgb(255, 130, 220), // Hot Pink
|
||||||
Color.FromArgb(200, 120, 185), Color.FromArgb(240, 155, 155),
|
Color.FromArgb(255, 165, 70), // Tangerine
|
||||||
|
Color.FromArgb(100, 180, 255), // Sky Blue
|
||||||
|
Color.FromArgb(200, 160, 255), // Lavender
|
||||||
|
Color.FromArgb(50, 230, 180), // Mint
|
||||||
|
Color.FromArgb(255, 255, 100), // Lemon
|
||||||
|
Color.FromArgb(255, 120, 120), // Salmon
|
||||||
|
Color.FromArgb(140, 230, 255), // Ice Blue
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user