Esempio n. 1
0
        public virtual void CalculateNestedViewportDifferentFromParentTest()
        {
            Rectangle      expected = new Rectangle(0, 0, 500, 500);
            SvgDrawContext context  = new SvgDrawContext(null, null);
            PdfDocument    document = new PdfDocument(new PdfWriter(new MemoryStream(), new WriterProperties().SetCompressionLevel
                                                                        (0)));

            document.AddNewPage();
            PdfFormXObject pdfForm = new PdfFormXObject(expected);
            PdfCanvas      canvas  = new PdfCanvas(pdfForm, document);

            context.PushCanvas(canvas);
            context.AddViewPort(expected);
            SvgTagSvgNodeRenderer        parent   = new SvgTagSvgNodeRenderer();
            SvgTagSvgNodeRenderer        renderer = new SvgTagSvgNodeRenderer();
            PdfRootSvgNodeRenderer       root     = new PdfRootSvgNodeRenderer(parent);
            IDictionary <String, String> styles   = new Dictionary <String, String>();

            styles.Put("width", "500");
            styles.Put("height", "500");
            renderer.SetAttributesAndStyles(styles);
            renderer.SetParent(parent);
            Rectangle actual = root.CalculateViewPort(context);

            NUnit.Framework.Assert.IsTrue(expected.EqualsWithEpsilon(actual));
        }
        private String[] RetrieveAlignAndMeet(String align, String meet)
        {
            AbstractBranchSvgNodeRenderer renderer            = new SvgTagSvgNodeRenderer();
            IDictionary <String, String>  attributesAndStyles = new Dictionary <String, String>();

            if (!"".Equals(align) || !"".Equals(meet))
            {
                attributesAndStyles.Put(SvgConstants.Attributes.PRESERVE_ASPECT_RATIO, align + " " + meet);
            }
            renderer.SetAttributesAndStyles(attributesAndStyles);
            return(renderer.RetrieveAlignAndMeet());
        }
        private void ProcessAspectRatioPositionAndCompare(String alignValue, AffineTransform cmpTransform)
        {
            SvgDrawContext context = new SvgDrawContext(null, null);

            // topmost viewport has default page size values for bounding rectangle
            context.AddViewPort(VIEWPORT_VALUE);
            float[] viewboxValues = VIEWBOX_VALUES;
            float   scaleWidth    = 1.0f;
            float   scaleHeight   = 1.0f;
            AbstractBranchSvgNodeRenderer renderer            = new SvgTagSvgNodeRenderer();
            IDictionary <String, String>  attributesAndStyles = new Dictionary <String, String>();

            renderer.SetAttributesAndStyles(attributesAndStyles);
            AffineTransform outTransform = renderer.ProcessAspectRatioPosition(context, viewboxValues, alignValue, scaleWidth
                                                                               , scaleHeight);

            NUnit.Framework.Assert.IsTrue(cmpTransform.Equals(outTransform));
        }