IImageImplementation.cs 1.4 KB

123456789101112131415161718192021222324252627282930
  1. using System;
  2. using PixiEditor.DrawingApi.Core.ColorsImpl;
  3. using PixiEditor.DrawingApi.Core.Numerics;
  4. using PixiEditor.DrawingApi.Core.Shaders;
  5. using PixiEditor.DrawingApi.Core.Surfaces;
  6. using PixiEditor.DrawingApi.Core.Surfaces.ImageData;
  7. using PixiEditor.Numerics;
  8. namespace PixiEditor.DrawingApi.Core.Bridge.Operations
  9. {
  10. public interface IImageImplementation
  11. {
  12. public Image Snapshot(DrawingSurface drawingSurface);
  13. public Image Snapshot(DrawingSurface drawingSurface, RectI bounds);
  14. public void DisposeImage(Image image);
  15. public Image? FromEncodedData(string path);
  16. public Image? FromEncodedData(byte[] dataBytes);
  17. public Image? FromPixelCopy(ImageInfo info, byte[] pixels);
  18. public void GetColorShifts(ref int platformColorAlphaShift, ref int platformColorRedShift, ref int platformColorGreenShift, ref int platformColorBlueShift);
  19. public ImgData Encode(Image image);
  20. public ImgData Encode(Image image, EncodedImageFormat format, int quality);
  21. public int GetWidth(IntPtr objectPointer);
  22. public int GetHeight(IntPtr objectPointer);
  23. public object GetNativeImage(IntPtr objectPointer);
  24. public Image Clone(Image image);
  25. public Pixmap PeekPixels(IntPtr objectPointer);
  26. public ImageInfo GetImageInfo(IntPtr objectPointer);
  27. public Shader ToShader(IntPtr objectPointer);
  28. }
  29. }