/// <summary> /// Accepts a <see cref="IImageVisitor"/> to implement a double-dispatch pattern in order to /// apply pixel-specific operations on non-generic <see cref="Image"/> instances /// </summary> /// <param name="source">The source.</param> /// <param name="visitor">The visitor.</param> public static void AcceptVisitor(this Image source, IImageVisitor visitor) => source.Accept(visitor);
/// <inheritdoc /> internal override void Accept(IImageVisitor visitor) { this.EnsureNotDisposed(); visitor.Visit(this); }
/// <summary> /// Accept a <see cref="IImageVisitor"/>. /// Implemented by <see cref="Image{TPixel}"/> invoking <see cref="IImageVisitor.Visit{TPixel}"/> /// with the pixel type of the image. /// </summary> internal abstract void AcceptVisitor(IImageVisitor visitor);