PaintOperation.cs 793 B

123456789101112131415161718192021222324252627282930313233
  1. using ChunkyImageLib.DataHolders;
  2. using PixiEditor.DrawingApi.Core.Surfaces.PaintImpl;
  3. using PixiEditor.Numerics;
  4. namespace ChunkyImageLib.Operations;
  5. public class PaintOperation : IDrawOperation
  6. {
  7. private Paint paint;
  8. public PaintOperation(Paint paint)
  9. {
  10. this.paint = paint;
  11. }
  12. public void Dispose()
  13. {
  14. }
  15. public bool IgnoreEmptyChunks => false;
  16. public void DrawOnChunk(Chunk targetChunk, VecI chunkPos)
  17. {
  18. targetChunk.Surface.DrawingSurface.Canvas.DrawPaint(paint);
  19. }
  20. public AffectedArea FindAffectedArea(VecI imageSize)
  21. {
  22. return new AffectedArea(OperationHelper.FindChunksTouchingRectangle(
  23. new RectI(0, 0, imageSize.X, imageSize.Y),
  24. ChunkyImage.FullChunkSize));
  25. }
  26. }