IGalFrameBuffer.cs 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. using System;
  2. namespace Ryujinx.Graphics.Gal
  3. {
  4. public interface IGalFrameBuffer
  5. {
  6. void Create(long Key, int Width, int Height);
  7. void Bind(long Key);
  8. void BindTexture(long Key, int Index);
  9. void Set(long Key);
  10. void Set(byte[] Data, int Width, int Height);
  11. void SetTransform(bool FlipX, bool FlipY, int Top, int Left, int Right, int Bottom);
  12. void SetWindowSize(int Width, int Height);
  13. void SetViewport(int X, int Y, int Width, int Height);
  14. void Render();
  15. void Copy(
  16. long SrcKey,
  17. long DstKey,
  18. int SrcX0,
  19. int SrcY0,
  20. int SrcX1,
  21. int SrcY1,
  22. int DstX0,
  23. int DstY0,
  24. int DstX1,
  25. int DstY1);
  26. void GetBufferData(long Key, Action<byte[]> Callback);
  27. void SetBufferData(
  28. long Key,
  29. int Width,
  30. int Height,
  31. GalTextureFormat Format,
  32. byte[] Buffer);
  33. }
  34. }