Example #1
0
		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);
				}
			}
		}
Example #2
0
		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);
				}
			}
		}