diff --git a/Ooui/Color.cs b/Ooui/Color.cs new file mode 100644 index 0000000..bd2846b --- /dev/null +++ b/Ooui/Color.cs @@ -0,0 +1,26 @@ +using System; + +namespace Ooui +{ + public struct Color + { + public byte R, G, B, A; + + public double Red { + get => R / 255.0; + set => R = value >= 1.0 ? (byte)255 : ((value <= 0.0) ? (byte)0 : (byte)(value * 255.0 + 0.5)); + } + public double Green { + get => G / 255.0; + set => G = value >= 1.0 ? (byte)255 : ((value <= 0.0) ? (byte)0 : (byte)(value * 255.0 + 0.5)); + } + public double Blue { + get => B / 255.0; + set => B = value >= 1.0 ? (byte)255 : ((value <= 0.0) ? (byte)0 : (byte)(value * 255.0 + 0.5)); + } + public double Alpha { + get => A / 255.0; + set => A = value >= 1.0 ? (byte)255 : ((value <= 0.0) ? (byte)0 : (byte)(value * 255.0 + 0.5)); + } + } +}