Files @ de6e00728a10
Branch filter:

Location: ATITD-Tools/Desert-Paint-Codex/Util/PixelColor.cs

Jason Maltzen
Fixed scanning of RGB bars to correctly account for the right edge highlight. Fixes problems detecting high-value clipping.
using System;
using System.Drawing;

namespace DesertPaintCodex.Util
{
    public class PixelColor
    {
        private const int ColorTolerance = 2;
        
        public static bool IsMatch(Color colorA, Color colorB)
        {
            return ((Math.Abs(colorA.R - colorB.R) <= ColorTolerance) &&
                (Math.Abs(colorA.G - colorB.G) <= ColorTolerance) &&
                (Math.Abs(colorA.B - colorB.B) <= ColorTolerance));
        }

        public static bool IsDark(Color color)
        {
            return (color.R < 0x47) && (color.G < 0x47) && (color.B < 0x47);
        }

        public static bool IsUiBackground(Color color)
        {
            return (color.R is >= 0x27 and <= 0x2F) && (color.G is >= 0x3B and <= 0x42) && (color.B is >= 0x41 and <= 0x48);
        }

        public static bool IsRed(Color color)
        {
            return (color.R > 0x9D) && (color.G < 0x64) && (color.B < 0x64);
        }
        public static bool IsGreen(Color color)
        {
            return (color.R < 0x64) && (color.G > 0x9D) && (color.B < 0x64);
        }
        public static bool IsBlue(Color color)
        {
            return (color.R < 0x64) && (color.G < 0x64) && (color.B > 0x9D);
        }

    }
}