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