using System.Runtime.InteropServices;
using OpenTK.Graphics.OpenGL;

namespace Engine.Graphics.Pixel;

[StructLayout(LayoutKind.Sequential)]
public struct Rgba8 : IPixel
{
  public PixelFormat Format => PixelFormat.Rgba;
  public PixelType Type => PixelType.UnsignedByte;

  public PixelInternalFormat InternalFormat => PixelInternalFormat.Rgba8;
  public SizedInternalFormat SizedInternalFormat => SizedInternalFormat.Rgba8;

  public byte R;
  public byte G;
  public byte B;
  public byte A;

  public override string ToString() => $"{R}, {G}, {B}, {A}";
}