ColorF.cs 1.0 KB

1234567891011121314151617181920212223242526272829303132
  1. using System;
  2. namespace Ryujinx.Graphics.GAL
  3. {
  4. public struct ColorF : IEquatable<ColorF>
  5. {
  6. public float Red { get; }
  7. public float Green { get; }
  8. public float Blue { get; }
  9. public float Alpha { get; }
  10. public ColorF(float red, float green, float blue, float alpha)
  11. {
  12. Red = red;
  13. Green = green;
  14. Blue = blue;
  15. Alpha = alpha;
  16. }
  17. public bool Equals(ColorF color) => Red == color.Red &&
  18. Green == color.Green &&
  19. Blue == color.Blue &&
  20. Alpha == color.Alpha;
  21. public override bool Equals(object obj) => (obj is ColorF color) && Equals(color);
  22. public override int GetHashCode() => HashCode.Combine(Red, Green, Blue, Alpha);
  23. public static bool operator ==(ColorF l, ColorF r) => l.Equals(r);
  24. public static bool operator !=(ColorF l, ColorF r) => !l.Equals(r);
  25. }
  26. }