From e34af1fbd376a18df4979d4b3234033800ba53b1 Mon Sep 17 00:00:00 2001 From: Darth Affe Date: Mon, 8 Jul 2024 23:38:35 +0200 Subject: [PATCH] Changed ColorFormat-ByteMapping to use constants --- HPPH.Generators/ColorFormatData.cs | 20 +++++-------------- HPPH/Colors/Colors.cs | 8 ++++++++ .../ColorFormatABGR.g.cs | 2 +- .../ColorFormatARGB.g.cs | 2 +- .../ColorFormatBGR.g.cs | 2 +- .../ColorFormatBGRA.g.cs | 2 +- .../ColorFormatRGB.g.cs | 2 +- .../ColorFormatRGBA.g.cs | 2 +- 8 files changed, 19 insertions(+), 21 deletions(-) diff --git a/HPPH.Generators/ColorFormatData.cs b/HPPH.Generators/ColorFormatData.cs index ae5c62c..6460ac8 100644 --- a/HPPH.Generators/ColorFormatData.cs +++ b/HPPH.Generators/ColorFormatData.cs @@ -44,7 +44,7 @@ internal readonly struct ColorFormatData(string typeName, int bpp, char firstEnt } #endregion - + #region Methods private string CreateByteMapping() @@ -52,19 +52,19 @@ internal readonly struct ColorFormatData(string typeName, int bpp, char firstEnt string[] mapping = new string[Bpp]; if (Bpp > 0) { - mapping[0] = GetByteMappingIndex(FirstEntry).ToString(); + mapping[0] = "Color." + FirstEntry.ToUpper(); if (Bpp > 1) { - mapping[1] = GetByteMappingIndex(SecondEntry).ToString(); + mapping[1] = "Color." + SecondEntry.ToUpper(); if (Bpp > 2) { - mapping[2] = GetByteMappingIndex(ThirdEntry).ToString(); + mapping[2] = "Color." + ThirdEntry.ToUpper(); if (Bpp > 3) { - mapping[3] = GetByteMappingIndex(FourthEntry).ToString(); + mapping[3] = "Color." + FourthEntry.ToUpper(); } } } @@ -83,15 +83,5 @@ internal readonly struct ColorFormatData(string typeName, int bpp, char firstEnt _ => string.Empty }; - private static int GetByteMappingIndex(string entry) - => entry switch - { - "r" => 0, - "g" => 1, - "b" => 2, - "a" => 3, - _ => throw new IndexOutOfRangeException() - }; - #endregion } \ No newline at end of file diff --git a/HPPH/Colors/Colors.cs b/HPPH/Colors/Colors.cs index 9e22c38..65d61cf 100644 --- a/HPPH/Colors/Colors.cs +++ b/HPPH/Colors/Colors.cs @@ -3,6 +3,14 @@ namespace HPPH; +internal static class Color +{ + internal const int R = 0; + internal const int G = 1; + internal const int B = 2; + internal const int A = 3; +} + [ColorGenerator] public readonly partial struct ColorRGB; diff --git a/HPPH/Generated/HPPH.Generators/HPPH.Generators.ColorSourceGenerator/ColorFormatABGR.g.cs b/HPPH/Generated/HPPH.Generators/HPPH.Generators.ColorSourceGenerator/ColorFormatABGR.g.cs index 1ac7a80..9275a29 100644 --- a/HPPH/Generated/HPPH.Generators/HPPH.Generators.ColorSourceGenerator/ColorFormatABGR.g.cs +++ b/HPPH/Generated/HPPH.Generators/HPPH.Generators.ColorSourceGenerator/ColorFormatABGR.g.cs @@ -10,7 +10,7 @@ public sealed partial class ColorFormatABGR : IColorFormat public string Name => "ABGR"; - ReadOnlySpan IColorFormat.ByteMapping => [3, 2, 1, 0]; + ReadOnlySpan IColorFormat.ByteMapping => [Color.A, Color.B, Color.G, Color.R]; #endregion diff --git a/HPPH/Generated/HPPH.Generators/HPPH.Generators.ColorSourceGenerator/ColorFormatARGB.g.cs b/HPPH/Generated/HPPH.Generators/HPPH.Generators.ColorSourceGenerator/ColorFormatARGB.g.cs index b677ae5..1e71c0f 100644 --- a/HPPH/Generated/HPPH.Generators/HPPH.Generators.ColorSourceGenerator/ColorFormatARGB.g.cs +++ b/HPPH/Generated/HPPH.Generators/HPPH.Generators.ColorSourceGenerator/ColorFormatARGB.g.cs @@ -10,7 +10,7 @@ public sealed partial class ColorFormatARGB : IColorFormat public string Name => "ARGB"; - ReadOnlySpan IColorFormat.ByteMapping => [3, 0, 1, 2]; + ReadOnlySpan IColorFormat.ByteMapping => [Color.A, Color.R, Color.G, Color.B]; #endregion diff --git a/HPPH/Generated/HPPH.Generators/HPPH.Generators.ColorSourceGenerator/ColorFormatBGR.g.cs b/HPPH/Generated/HPPH.Generators/HPPH.Generators.ColorSourceGenerator/ColorFormatBGR.g.cs index f536251..3a0fc8d 100644 --- a/HPPH/Generated/HPPH.Generators/HPPH.Generators.ColorSourceGenerator/ColorFormatBGR.g.cs +++ b/HPPH/Generated/HPPH.Generators/HPPH.Generators.ColorSourceGenerator/ColorFormatBGR.g.cs @@ -10,7 +10,7 @@ public sealed partial class ColorFormatBGR : IColorFormat public string Name => "BGR"; - ReadOnlySpan IColorFormat.ByteMapping => [2, 1, 0]; + ReadOnlySpan IColorFormat.ByteMapping => [Color.B, Color.G, Color.R]; #endregion diff --git a/HPPH/Generated/HPPH.Generators/HPPH.Generators.ColorSourceGenerator/ColorFormatBGRA.g.cs b/HPPH/Generated/HPPH.Generators/HPPH.Generators.ColorSourceGenerator/ColorFormatBGRA.g.cs index db43afa..69cf37b 100644 --- a/HPPH/Generated/HPPH.Generators/HPPH.Generators.ColorSourceGenerator/ColorFormatBGRA.g.cs +++ b/HPPH/Generated/HPPH.Generators/HPPH.Generators.ColorSourceGenerator/ColorFormatBGRA.g.cs @@ -10,7 +10,7 @@ public sealed partial class ColorFormatBGRA : IColorFormat public string Name => "BGRA"; - ReadOnlySpan IColorFormat.ByteMapping => [2, 1, 0, 3]; + ReadOnlySpan IColorFormat.ByteMapping => [Color.B, Color.G, Color.R, Color.A]; #endregion diff --git a/HPPH/Generated/HPPH.Generators/HPPH.Generators.ColorSourceGenerator/ColorFormatRGB.g.cs b/HPPH/Generated/HPPH.Generators/HPPH.Generators.ColorSourceGenerator/ColorFormatRGB.g.cs index 6625f97..67d0832 100644 --- a/HPPH/Generated/HPPH.Generators/HPPH.Generators.ColorSourceGenerator/ColorFormatRGB.g.cs +++ b/HPPH/Generated/HPPH.Generators/HPPH.Generators.ColorSourceGenerator/ColorFormatRGB.g.cs @@ -10,7 +10,7 @@ public sealed partial class ColorFormatRGB : IColorFormat public string Name => "RGB"; - ReadOnlySpan IColorFormat.ByteMapping => [0, 1, 2]; + ReadOnlySpan IColorFormat.ByteMapping => [Color.R, Color.G, Color.B]; #endregion diff --git a/HPPH/Generated/HPPH.Generators/HPPH.Generators.ColorSourceGenerator/ColorFormatRGBA.g.cs b/HPPH/Generated/HPPH.Generators/HPPH.Generators.ColorSourceGenerator/ColorFormatRGBA.g.cs index 7410b75..02e9a73 100644 --- a/HPPH/Generated/HPPH.Generators/HPPH.Generators.ColorSourceGenerator/ColorFormatRGBA.g.cs +++ b/HPPH/Generated/HPPH.Generators/HPPH.Generators.ColorSourceGenerator/ColorFormatRGBA.g.cs @@ -10,7 +10,7 @@ public sealed partial class ColorFormatRGBA : IColorFormat public string Name => "RGBA"; - ReadOnlySpan IColorFormat.ByteMapping => [0, 1, 2, 3]; + ReadOnlySpan IColorFormat.ByteMapping => [Color.R, Color.G, Color.B, Color.A]; #endregion