internal static IDisposable SaveClip(FixedContentEditor drawingSurface, UIElement element) { Geometry clip = null; FrameworkElement frameworkElement = element as FrameworkElement; if (frameworkElement != null) { clip = System.Windows.Controls.Primitives.LayoutInformation.GetLayoutClip(frameworkElement); } if (clip == null) { clip = element.Clip; } RectangleGeometry rectangleClip = clip as RectangleGeometry; if (rectangleClip == null) { return(null); } PathGeometry geometry = MathHelper.TransformRectangle(drawingSurface.Position.Matrix, rectangleClip.Rect); var pdfGeometry = PdfGeometryHelper.ConvertPathGeometry(geometry); return(drawingSurface.PushClipping(pdfGeometry)); }
internal static IDisposable SaveClip(FixedContentEditor drawingSurface, Rect rectangle) { PathGeometry geometry = MathHelper.TransformRectangle(drawingSurface.Position.Matrix, rectangle); var pdfGeometry = PdfGeometryHelper.ConvertPathGeometry(geometry); return(drawingSurface.PushClipping(pdfGeometry)); }