public virtual void BackgroundColorClipTest() { PdfDocument pdfDocument = new PdfDocument(new PdfWriter(new ByteArrayOutputStream())); PdfCanvas pdfCanvas = new _PdfCanvas_523(pdfDocument.AddNewPage()); DrawContext drawContext = new DrawContext(pdfDocument, pdfCanvas); AbstractRenderer renderer = new DivRenderer(new Div().SetPadding(20).SetBorder(new DashedBorder(10))); renderer.occupiedArea = new LayoutArea(1, new Rectangle(100f, 200f, 300f, 400f)); renderer.SetProperty(Property.BACKGROUND, new Background(new DeviceRgb(), 1, BackgroundBox.CONTENT_BOX)); renderer.DrawBackground(drawContext); }
public virtual void InlineBlockWithBigMinWidth01() { Document dummyDocument = CreateDocument(); LineRenderer lineRenderer = (LineRenderer) new LineRenderer().SetParent(dummyDocument.GetRenderer()); Div div = new Div().SetMinWidth(2000).SetHeight(100); DivRenderer inlineBlockRenderer = (DivRenderer)div.CreateRendererSubTree(); lineRenderer.AddChild(inlineBlockRenderer); LayoutResult result = lineRenderer.Layout(new LayoutContext(CreateLayoutArea(1000, 1000))); // In case there is an inline block child with large min-width, the inline block child will be force placed (not layouted properly) NUnit.Framework.Assert.AreEqual(LayoutResult.FULL, result.GetStatus()); NUnit.Framework.Assert.AreEqual(0, result.GetOccupiedArea().GetBBox().GetHeight(), EPS); NUnit.Framework.Assert.AreEqual(true, inlineBlockRenderer.GetPropertyAsBoolean(Property.FORCED_PLACEMENT)); }
public virtual void BlockRendererAddByIDTest() { DocumentRenderer documentRenderer = new DocumentRenderer(null); DivRenderer divRenderer = new DivRenderer(new Div()); divRenderer.SetParent(documentRenderer); String id = "id5"; divRenderer.SetProperty(Property.ID, id); LayoutContext layoutContext = new LayoutContext(new LayoutArea(4, new Rectangle(50, 50))); divRenderer.Layout(layoutContext); documentRenderer.GetTargetCounterHandler().PrepareHandlerToRelayout(); NUnit.Framework.Assert.AreEqual((int?)4, TargetCounterHandler.GetPageByID(divRenderer, id)); }
public virtual void BackgroundImageClipOriginNoRepeatTest() { PdfDocument pdfDocument = new PdfDocument(new PdfWriter(new ByteArrayOutputStream())); byte[] bytes = new byte[] { 54, 25, 47, 15, 2, 2, 2, 44, 55, 77, 86, 24 }; PdfXObject rawImage = new _PdfImageXObject_544(ImageDataFactory.CreateRawImage(bytes)); PdfCanvas pdfCanvas = new _PdfCanvas_555(rawImage, pdfDocument.AddNewPage()); DrawContext drawContext = new DrawContext(pdfDocument, pdfCanvas); AbstractRenderer renderer = new DivRenderer(new Div().SetPadding(20).SetBorder(new DashedBorder(10))); renderer.occupiedArea = new LayoutArea(1, new Rectangle(100f, 200f, 300f, 400f)); BackgroundImage backgroundImage = new BackgroundImage.Builder().SetImage(rawImage).SetBackgroundRepeat(new BackgroundRepeat(BackgroundRepeat.BackgroundRepeatValue.NO_REPEAT)).SetBackgroundClip(BackgroundBox.CONTENT_BOX ).SetBackgroundOrigin(BackgroundBox.BORDER_BOX).Build(); renderer.SetProperty(Property.BACKGROUND_IMAGE, backgroundImage); renderer.DrawBackground(drawContext); }
public virtual void BackgroundLinearGradientClipOriginNoRepeatTest() { PdfDocument pdfDocument = new PdfDocument(new PdfWriter(new ByteArrayOutputStream())); byte[] bytes = new byte[] { 54, 25, 47, 15, 2, 2, 2, 44, 55, 77, 86, 24 }; PdfCanvas pdfCanvas = new _PdfCanvas_589(pdfDocument.AddNewPage()); DrawContext drawContext = new DrawContext(pdfDocument, pdfCanvas); AbstractRenderer renderer = new DivRenderer(new Div().SetPadding(20).SetBorder(new DashedBorder(10))); renderer.occupiedArea = new LayoutArea(1, new Rectangle(100f, 200f, 300f, 400f)); Rectangle targetBoundingBox = new Rectangle(50f, 150f, 300f, 300f); AbstractLinearGradientBuilder gradientBuilder = new LinearGradientBuilder().SetGradientVector(targetBoundingBox .GetLeft() + 100f, targetBoundingBox.GetBottom() + 100f, targetBoundingBox.GetRight() - 100f, targetBoundingBox .GetTop() - 100f).SetSpreadMethod(GradientSpreadMethod.PAD).AddColorStop(new GradientColorStop(ColorConstants .RED.GetColorValue(), 0d, GradientColorStop.OffsetType.RELATIVE)).AddColorStop(new GradientColorStop(ColorConstants .BLUE.GetColorValue(), 1d, GradientColorStop.OffsetType.RELATIVE)); BackgroundImage backgroundImage = new BackgroundImage.Builder().SetLinearGradientBuilder(gradientBuilder). SetBackgroundRepeat(new BackgroundRepeat(BackgroundRepeat.BackgroundRepeatValue.NO_REPEAT)).SetBackgroundClip (BackgroundBox.CONTENT_BOX).SetBackgroundOrigin(BackgroundBox.BORDER_BOX).Build(); renderer.SetProperty(Property.BACKGROUND_IMAGE, backgroundImage); renderer.DrawBackground(drawContext); }