public void Apply (Cairo.ImageSurface dst, Cairo.ImageSurface lhs, Cairo.ImageSurface rhs) { if (dst.GetSize () != lhs.GetSize ()) { throw new ArgumentException ("dst.Size != lhs.Size"); } if (lhs.GetSize () != rhs.GetSize ()) { throw new ArgumentException ("lhs.Size != rhs.Size"); } unsafe { for (int y = 0; y < dst.Height; ++y) { ColorBgra* dstPtr = dst.GetRowAddressUnchecked (y); ColorBgra* lhsPtr = lhs.GetRowAddressUnchecked (y); ColorBgra* rhsPtr = rhs.GetRowAddressUnchecked (y); Apply (dstPtr, lhsPtr, rhsPtr, dst.Width); } } }
public void Apply (Cairo.ImageSurface dst, Cairo.ImageSurface src) { if (dst.GetSize () != src.GetSize ()) { throw new ArgumentException ("dst.Size != src.Size"); } unsafe { for (int y = 0; y < dst.Height; ++y) { ColorBgra* dstPtr = dst.GetRowAddressUnchecked (y); ColorBgra* srcPtr = src.GetRowAddressUnchecked (y); Apply (dstPtr, srcPtr, dst.Width); } } }