ISurfaceImplementation.cs 1.0 KB

12345678910111213141516171819202122
  1. using System;
  2. using PixiEditor.DrawingApi.Core.Surfaces;
  3. using PixiEditor.DrawingApi.Core.Surfaces.ImageData;
  4. using PixiEditor.DrawingApi.Core.Surfaces.PaintImpl;
  5. namespace PixiEditor.DrawingApi.Core.Bridge.Operations;
  6. public interface ISurfaceImplementation
  7. {
  8. public Pixmap PeekPixels(DrawingSurface drawingSurface);
  9. public DrawingSurface Create(ImageInfo imageInfo, IntPtr pixels, int rowBytes);
  10. public bool ReadPixels(DrawingSurface drawingSurface, ImageInfo dstInfo, IntPtr dstPixels, int dstRowBytes, int srcX, int srcY);
  11. public void Draw(DrawingSurface drawingSurface, Canvas surfaceToDraw, int x, int y, Paint drawingPaint);
  12. public DrawingSurface Create(ImageInfo imageInfo, IntPtr pixelBuffer);
  13. public DrawingSurface Create(Pixmap pixmap);
  14. public DrawingSurface Create(ImageInfo imageInfo);
  15. public void Dispose(DrawingSurface drawingSurface);
  16. public object GetNativeSurface(IntPtr objectPointer);
  17. public void Flush(DrawingSurface drawingSurface);
  18. public DrawingSurface CreateFromNative(object native);
  19. }