public void Draw(ImageSurface dst, PixelOp pixelOp) { if (disposed) { throw new ObjectDisposedException("PlacedSurface"); } Gdk.Rectangle dstRect = Bounds; Gdk.Rectangle dstClip = Gdk.Rectangle.Intersect(dstRect, dst.GetBounds()); if (dstClip.Width > 0 && dstClip.Height > 0) { int dtX = dstClip.X - where.X; int dtY = dstClip.Y - where.Y; pixelOp.Apply(dst, dstClip.Location, what, new Gdk.Point(dtX, dtY), dstClip.Size); } }
public void Draw(ImageSurface dst, PixelOp pixelOp) { if (disposed) throw new ObjectDisposedException ("PlacedSurface"); Gdk.Rectangle dstRect = Bounds; Gdk.Rectangle dstClip = Gdk.Rectangle.Intersect (dstRect, dst.GetBounds ()); if (dstClip.Width > 0 && dstClip.Height > 0) { int dtX = dstClip.X - where.X; int dtY = dstClip.Y - where.Y; pixelOp.Apply (dst, dstClip.Location, what, new Gdk.Point (dtX, dtY), dstClip.Size); } }