iText 8.0.5 API
iText.Layout.Renderer.BlockRenderer Class Reference

Represents a renderer for block elements. More...

Inheritance diagram for iText.Layout.Renderer.BlockRenderer:
iText.Layout.Renderer.AbstractRenderer iText.Layout.Renderer.IRenderer iText.Layout.IPropertyContainer iText.Forms.Form.Renderer.AbstractFormFieldRenderer iText.Forms.Form.Renderer.AbstractSelectFieldRenderer iText.Layout.Renderer.CellRenderer iText.Layout.Renderer.DivRenderer iText.Layout.Renderer.GridContainerRenderer iText.Layout.Renderer.LineSeparatorRenderer iText.Layout.Renderer.ListRenderer iText.Layout.Renderer.ParagraphRenderer

Public Member Functions

override LayoutResult  Layout (LayoutContext layoutContext)
  This method simulates positioning of the renderer, including all of its children, and returns the iText.Layout.Layout.LayoutResult , representing the layout result, including occupied area, status, i.e. if there was enough place to fit the renderer subtree, etc. More...
 
override void  Draw (DrawContext drawContext)
  Flushes the renderer subtree contents, i.e. draws itself on canvas, adds necessary objects to the iText.Kernel.Pdf.PdfDocument etc. More...
 
override Rectangle  GetOccupiedAreaBBox ()
  Gets the bounding box that contains all content written to the DrawContext by this IRenderer. More...
 
override MinMaxWidth  GetMinMaxWidth ()
  Calculates min and max width values for current renderer. More...
 
- Public Member Functions inherited from iText.Layout.Renderer.AbstractRenderer
virtual void  AddChild (IRenderer renderer)
  Adds a child to the current renderer More...
 
virtual IPropertyContainer  GetModelElement ()
  Gets the model element associated with this renderer. More...
 
virtual IList< IRenderer GetChildRenderers ()
  Gets the child IRenderer s. More...
 
virtual bool  HasProperty (int property)
  Checks if this entity has the specified property. More...
 
virtual bool  HasOwnProperty (int property)
  Checks if this entity has the specified property, i.e. if it was set to this very element earlier More...
 
virtual bool  HasOwnOrModelProperty (int property)
  Checks if this renderer or its model element have the specified property, i.e. if it was set to this very element or its very model element earlier. More...
 
virtual void  DeleteOwnProperty (int property)
  Deletes the own property of this entity. More...
 
virtual void  DeleteProperty (int property)
  Deletes property from this very renderer, or in case the property is specified on its model element, the property of the model element is deleted More...
 
virtual T1  GetProperty< T1 > (int key)
  Gets the property from this entity. More...
 
virtual T1  GetOwnProperty< T1 > (int property)
  Gets own property from this entity. More...
 
virtual T1  GetProperty< T1 > (int property, T1 defaultValue)
  Gets a property from this entity or one of its hierarchical parents. More...
 
virtual void  SetProperty (int property, Object value)
  Sets a property for this entity. More...
 
virtual T1  GetDefaultProperty< T1 > (int property)
  Gets the default property from this entity. More...
 
virtual PdfFont  GetPropertyAsFont (int property)
  Returns a property with a certain key, as a font object. More...
 
virtual Color  GetPropertyAsColor (int property)
  Returns a property with a certain key, as a color. More...
 
virtual TransparentColor  GetPropertyAsTransparentColor (int property)
  Returns a property with a certain key, as a iText.Layout.Properties.TransparentColor. More...
 
virtual ? float  GetPropertyAsFloat (int property)
  Returns a property with a certain key, as a floating point value. More...
 
virtual ? float  GetPropertyAsFloat (int property, float? defaultValue)
  Returns a property with a certain key, as a floating point value. More...
 
virtual ? bool  GetPropertyAsBoolean (int property)
  Returns a property with a certain key, as a boolean value. More...
 
virtual UnitValue  GetPropertyAsUnitValue (int property)
  Returns a property with a certain key, as a unit value. More...
 
virtual ? int  GetPropertyAsInteger (int property)
  Returns a property with a certain key, as an integer value. More...
 
override String  ToString ()
  Returns a string representation of the renderer. More...
 
virtual LayoutArea  GetOccupiedArea ()
  Gets the resultant occupied area after the last call to the Layout(iText.Layout.Layout.LayoutContext) method. More...
 
virtual void  DrawBackground (DrawContext drawContext)
  Draws a background layer if it is defined by a key iText.Layout.Properties.Property.BACKGROUND in either the layout element or this IRenderer itself. More...
 
virtual void  DrawChildren (DrawContext drawContext)
  Performs the drawing operation for all children of this renderer. More...
 
virtual void  DrawBorder (DrawContext drawContext)
  Performs the drawing operation for the border of this renderer, if defined by any of the iText.Layout.Properties.Property.BORDER values in either the layout element or this IRenderer itself. More...
 
virtual bool  IsFlushed ()
  Indicates whether this renderer is flushed or not, i.e. if Draw(DrawContext) has already been called. More...
 
virtual IRenderer  SetParent (IRenderer parent)
  Explicitly sets this object as the child of another IRenderer in the renderer hierarchy. More...
 
virtual IRenderer  GetParent ()
  Gets the parent IRenderer. More...
 
virtual void  Move (float dxRight, float dyUp)
  Moves the renderer subtree by the specified offset. More...
 
virtual IList< Rectangle InitElementAreas (LayoutArea area)
  Gets all rectangles that this IRenderer can draw upon in the given area. More...
 
virtual Rectangle  GetBorderAreaBBox ()
  Gets the border box of a renderer. More...
 
virtual Rectangle  GetInnerAreaBBox ()
 
virtual Rectangle  ApplyMargins (Rectangle rect, bool reverse)
  Applies margins of the renderer on the given rectangle More...
 
virtual Rectangle  ApplyBorderBox (Rectangle rect, bool reverse)
  Applies the border box of the renderer on the given rectangle If the border of a certain side is null, the side will remain as it was. More...
 
virtual Rectangle  ApplyPaddings (Rectangle rect, bool reverse)
  Applies paddings of the renderer on the given rectangle More...
 
virtual bool  IsFirstOnRootArea ()
 
abstract IRenderer  GetNextRenderer ()
  Gets a new instance of this class to be used as a next renderer, after this renderer is used, if Layout(iText.Layout.Layout.LayoutContext) is called more than once. More...
 

Package Functions

  BlockRenderer (IElement modelElement)
  Creates a BlockRenderer from its corresponding layout object. More...
 
virtual AbstractRenderer  CreateSplitRenderer (int layoutResult)
  Creates a split renderer. More...
 
virtual AbstractRenderer  CreateOverflowRenderer (int layoutResult)
  Creates an overflow renderer. More...
 
virtual void  ApplyVerticalAlignment ()
  This method applies vertical alignment for the occupied area of the renderer and its children renderers. More...
 
virtual void  ApplyRotationLayout (Rectangle layoutBox)
  This method rotates content of the renderer and calculates correct occupied area for the rotated element. More...
 
virtual AffineTransform  CreateRotationTransformInsideOccupiedArea ()
  This method creates iText.Kernel.Geom.AffineTransform instance that could be used to rotate content inside the occupied area. More...
 
virtual void  BeginRotationIfApplied (PdfCanvas canvas)
  This method starts rotation for the renderer if rotation angle property is specified. More...
 
virtual void  EndRotationIfApplied (PdfCanvas canvas)
  This method ends rotation for the renderer if applied. More...
 
virtual PdfFont  GetResolvedFont (PdfDocument pdfDocument)
  Get the font set in properties, if it is not set, then resolves the first iText.Kernel.Font.PdfFont from iText.Layout.Font.FontProvider. More...
 
- Package Functions inherited from iText.Layout.Renderer.AbstractRenderer
  AbstractRenderer ()
  Creates a renderer. More...
 
  AbstractRenderer (IElement modelElement)
  Creates a renderer for the specified layout element. More...
 
  AbstractRenderer (iText.Layout.Renderer.AbstractRenderer other)
  Creates a new renderer based on an instance of another renderer. More...
 
virtual void  BeginElementOpacityApplying (DrawContext drawContext)
  Apply Property.OPACITY property if specified by setting corresponding values in graphic state dictionary opacity will be applied to all elements drawn after calling this method and before calling EndElementOpacityApplying(DrawContext) ()}. More...
 
virtual void  EndElementOpacityApplying (DrawContext drawContext)
  BeginElementOpacityApplying(DrawContext). More...
 
virtual Rectangle  GetBackgroundArea (Rectangle occupiedAreaWithMargins)
  Evaluate the actual background More...
 
virtual bool  ClipBorderArea (DrawContext drawContext, Rectangle outerBorderBox)
 
virtual bool  ClipBackgroundArea (DrawContext drawContext, Rectangle outerBorderBox)
 
virtual bool  ClipBackgroundArea (DrawContext drawContext, Rectangle outerBorderBox, bool considerBordersBeforeClipping)
 
virtual void  ApplyDestinationsAndAnnotation (DrawContext drawContext)
 
virtual bool  IsOverflowProperty (OverflowPropertyValue? equalsTo, int overflowProperty)
 
virtual ? float  RetrieveWidth (float parentBoxWidth)
  Retrieves element's fixed content box width, if it's set. More...
 
virtual ? float  RetrieveMaxWidth (float parentBoxWidth)
  Retrieves element's fixed content box max width, if it's set. More...
 
virtual ? float  RetrieveMinWidth (float parentBoxWidth)
  Retrieves element's fixed content box max width, if it's set. More...
 
virtual void  UpdateWidth (UnitValue updatedWidthValue)
  Updates fixed content box width value for this renderer. More...
 
virtual ? float  RetrieveHeight ()
  Retrieves the element's fixed content box height, if it's set. More...
 
virtual void  UpdateHeight (UnitValue updatedHeight)
  Updates fixed content box height value for this renderer. More...
 
virtual ? float  RetrieveMaxHeight ()
  Retrieve element's content box max-ehight, if it's set. More...
 
virtual void  UpdateMaxHeight (UnitValue updatedMaxHeight)
  Updates content box max-height value for this renderer. More...
 
virtual ? float  RetrieveMinHeight ()
  Retrieves element's content box min-height, if it's set. More...
 
virtual void  UpdateMinHeight (UnitValue updatedMinHeight)
  Updates content box min-height value for this renderer. More...
 
virtual ? float  RetrieveUnitValue (float baseValue, int property)
 
virtual ? float  RetrieveUnitValue (float baseValue, int property, bool pointOnly)
 
virtual IDictionary< int, Object >  GetOwnProperties ()
 
virtual void  AddAllProperties (IDictionary< int, Object > properties)
 
virtual ? float  GetFirstYLineRecursively ()
  Gets the first yLine of the nested children recursively. More...
 
virtual ? float  GetLastYLineRecursively ()
 
virtual bool  AllowLastYLineRecursiveExtraction ()
 
virtual Rectangle  ApplyMargins (Rectangle rect, UnitValue[] margins, bool reverse)
  Applies given margins on the given rectangle More...
 
virtual UnitValue[]  GetMargins ()
  Returns margins of the renderer [0] - top; [1] - right; [2] - bottom; [3] - left More...
 
virtual UnitValue[]  GetPaddings ()
  Returns paddings of the renderer [0] - top; [1] - right; [2] - bottom; [3] - left More...
 
virtual Rectangle  ApplyPaddings (Rectangle rect, UnitValue[] paddings, bool reverse)
  Applies given paddings to the given rectangle. More...
 
virtual Rectangle  ApplyBorderBox (Rectangle rect, Border[] borders, bool reverse)
  Applies the given border box (borders) on the given rectangle More...
 
virtual void  ApplyAbsolutePosition (Rectangle parentRect)
 
virtual void  ApplyRelativePositioningTranslation (bool reverse)
 
virtual void  ApplyDestination (PdfDocument document)
 
virtual void  ApplyAction (PdfDocument document)
 
virtual void  ApplyLinkAnnotation (PdfDocument document)
 
virtual void  UpdateHeightsOnSplit (bool wasHeightClipped, iText.Layout.Renderer.AbstractRenderer splitRenderer, iText.Layout.Renderer.AbstractRenderer overflowRenderer)
 
virtual bool  SetMinMaxWidthBasedOnFixedWidth (MinMaxWidth minMaxWidth)
 
virtual bool  IsNotFittingHeight (LayoutArea layoutArea)
 
virtual bool  IsNotFittingWidth (LayoutArea layoutArea)
 
virtual bool  IsNotFittingLayoutArea (LayoutArea layoutArea)
 
virtual bool  IsPositioned ()
  Indicates whether the renderer's position is fixed or not. More...
 
virtual bool  IsFixedLayout ()
  Indicates whether the renderer's position is fixed or not. More...
 
virtual bool  IsStaticLayout ()
 
virtual bool  IsRelativePosition ()
 
virtual bool  IsAbsolutePosition ()
 
virtual bool  IsKeepTogether ()
 
virtual void  AlignChildHorizontally (IRenderer childRenderer, Rectangle currentArea)
 
virtual Border[]  GetBorders ()
  Gets borders of the element in the specified order: top, right, bottom, left. More...
 
virtual BorderRadius[]  GetBorderRadii ()
  Gets border radii of the element in the specified order: top-left, top-right, bottom-right, bottom-left. More...
 
virtual iText.Layout.Renderer.AbstractRenderer  SetBorders (Border border, int borderNumber)
 
virtual Rectangle  CalculateAbsolutePdfBBox ()
  Calculates the bounding box of the content in the coordinate system of the pdf entity on which content is placed, e.g. document page or form xObject. More...
 
virtual Rectangle  CalculateBBox (IList< Point > points)
  Calculates bounding box around points. More...
 
virtual IList< Point RectangleToPointsList (Rectangle rect)
 
virtual IList< Point TransformPoints (IList< Point > points, AffineTransform transform)
 
virtual float[]  CalculateShiftToPositionBBoxOfPointsAt (float left, float top, IList< Point > points)
  This method calculates the shift needed to be applied to the points in order to position upper and left borders of their bounding box at the given lines. More...
 
virtual bool  HasAbsoluteUnitValue (int property)
  Check if corresponding property has point value. More...
 
virtual bool  HasRelativeUnitValue (int property)
  Check if corresponding property has relative value. More...
 
virtual void  BeginTransformationIfApplied (PdfCanvas canvas)
 
virtual void  EndTransformationIfApplied (PdfCanvas canvas)
 

Additional Inherited Members

- Static Public Member Functions inherited from iText.Layout.Renderer.AbstractRenderer
static PdfFormXObject  CreateXObject (AbstractLinearGradientBuilder linearGradientBuilder, Rectangle xObjectArea, PdfDocument document)
  Create a iText.Kernel.Pdf.Xobject.PdfFormXObject with the given area and containing a linear gradient inside. More...
 
- Static Public Attributes inherited from iText.Layout.Renderer.AbstractRenderer
const float  OVERLAP_EPSILON = 1e-4f
 
- Static Package Functions inherited from iText.Layout.Renderer.AbstractRenderer
static bool  IsBorderBoxSizing (IRenderer renderer)
 
static bool  IsOverflowProperty (OverflowPropertyValue? equalsTo, IRenderer renderer, int overflowProperty)
 
static bool  IsOverflowProperty (OverflowPropertyValue? equalsTo, OverflowPropertyValue? rendererOverflowProperty)
 
static bool  IsOverflowFit (OverflowPropertyValue? rendererOverflowProperty)
 
- Package Attributes inherited from iText.Layout.Renderer.AbstractRenderer
IList< IRenderer childRenderers = new List<IRenderer>()
 
IList< IRenderer positionedRenderers = new List<IRenderer>()
 
IPropertyContainer  modelElement
 
bool  flushed = false
 
LayoutArea  occupiedArea
 
IRenderer  parent
 
IDictionary< int, Object >  properties = new Dictionary()
 
bool  isLastRendererForModelElement = true
 
- Static Package Attributes inherited from iText.Layout.Renderer.AbstractRenderer
const float  EPS = 1e-4f
  The maximum difference between iText.Kernel.Geom.Rectangle coordinates to consider rectangles equal More...
 
const float  INF = 1e6f
  The infinity value which is used while layouting More...
 

Detailed Description

Represents a renderer for block elements.

Constructor & Destructor Documentation

◆ BlockRenderer()

iText.Layout.Renderer.BlockRenderer.BlockRenderer ( IElement  modelElement )
inlinepackage

Creates a BlockRenderer from its corresponding layout object.

Parameters
modelElement the iText.Layout.Element.IElement which this object should manage

Member Function Documentation

◆ ApplyRotationLayout()

virtual void iText.Layout.Renderer.BlockRenderer.ApplyRotationLayout ( Rectangle  layoutBox )
inlinepackagevirtual

This method rotates content of the renderer and calculates correct occupied area for the rotated element.

Parameters
layoutBox a iText.Kernel.Geom.Rectangle

◆ ApplyVerticalAlignment()

virtual void iText.Layout.Renderer.BlockRenderer.ApplyVerticalAlignment ( )
inlinepackagevirtual

This method applies vertical alignment for the occupied area of the renderer and its children renderers.

◆ BeginRotationIfApplied()

virtual void iText.Layout.Renderer.BlockRenderer.BeginRotationIfApplied ( PdfCanvas  canvas )
inlinepackagevirtual

This method starts rotation for the renderer if rotation angle property is specified.

Parameters
canvas the iText.Kernel.Pdf.Canvas.PdfCanvas to draw on

◆ CreateOverflowRenderer()

virtual AbstractRenderer iText.Layout.Renderer.BlockRenderer.CreateOverflowRenderer ( int  layoutResult )
inlinepackagevirtual

Creates an overflow renderer.

Parameters
layoutResult the result of content layouting
Returns
a new AbstractRenderer instance

Reimplemented in iText.Layout.Renderer.ParagraphRenderer, iText.Layout.Renderer.ListItemRenderer, iText.Layout.Renderer.ListRenderer, and iText.Layout.Renderer.CellRenderer.

◆ CreateRotationTransformInsideOccupiedArea()

virtual AffineTransform iText.Layout.Renderer.BlockRenderer.CreateRotationTransformInsideOccupiedArea ( )
inlinepackagevirtual

This method creates iText.Kernel.Geom.AffineTransform instance that could be used to rotate content inside the occupied area.

This method creates iText.Kernel.Geom.AffineTransform instance that could be used to rotate content inside the occupied area. Be aware that it should be used only after layout rendering is finished and correct occupied area for the rotated element is calculated.

Returns

iText.Kernel.Geom.AffineTransform that rotates the content and places it inside occupied area.

◆ CreateSplitRenderer()

virtual AbstractRenderer iText.Layout.Renderer.BlockRenderer.CreateSplitRenderer ( int  layoutResult )
inlinepackagevirtual

Creates a split renderer.

Parameters
layoutResult the result of content layouting
Returns
a new AbstractRenderer instance

Reimplemented in iText.Layout.Renderer.ListItemRenderer, iText.Layout.Renderer.ListRenderer, and iText.Layout.Renderer.CellRenderer.

◆ Draw()

override void iText.Layout.Renderer.BlockRenderer.Draw ( DrawContext  drawContext )
inlinevirtual

Flushes the renderer subtree contents, i.e. draws itself on canvas, adds necessary objects to the iText.Kernel.Pdf.PdfDocument etc.

Reimplemented from iText.Layout.Renderer.AbstractRenderer.

Reimplemented in iText.Layout.Renderer.ListItemRenderer.

◆ EndRotationIfApplied()

virtual void iText.Layout.Renderer.BlockRenderer.EndRotationIfApplied ( PdfCanvas  canvas )
inlinepackagevirtual

This method ends rotation for the renderer if applied.

Parameters
canvas the iText.Kernel.Pdf.Canvas.PdfCanvas to draw on

◆ GetMinMaxWidth()

override MinMaxWidth iText.Layout.Renderer.BlockRenderer.GetMinMaxWidth ( )
inlinevirtual

Calculates min and max width values for current renderer.

Reimplemented from iText.Layout.Renderer.AbstractRenderer.

Reimplemented in iText.Layout.Renderer.ParagraphRenderer, iText.Layout.Renderer.FlexContainerRenderer, and iText.Layout.Renderer.ListRenderer.

◆ GetOccupiedAreaBBox()

override Rectangle iText.Layout.Renderer.BlockRenderer.GetOccupiedAreaBBox ( )
inlinevirtual

Gets the bounding box that contains all content written to the DrawContext by this IRenderer.

Returns
the smallest iText.Kernel.Geom.Rectangle that surrounds the content

Reimplemented from iText.Layout.Renderer.AbstractRenderer.

◆ GetResolvedFont()

virtual PdfFont iText.Layout.Renderer.BlockRenderer.GetResolvedFont ( PdfDocument  pdfDocument )
inlinepackagevirtual

Get the font set in properties, if it is not set, then resolves the first iText.Kernel.Font.PdfFont from iText.Layout.Font.FontProvider.

Get the font set in properties, if it is not set, then resolves the first iText.Kernel.Font.PdfFont from iText.Layout.Font.FontProvider. If iText.Layout.Font.FontProvider is not set, then returns null.

Parameters
pdfDocument the iText.Kernel.Pdf.PdfDocument to get default font from.
Returns
the font or null if it is not set and iText.Layout.Font.FontProvider is not set.

◆ Layout()

override LayoutResult iText.Layout.Renderer.BlockRenderer.Layout ( LayoutContext  layoutContext )
inlinevirtual

This method simulates positioning of the renderer, including all of its children, and returns the iText.Layout.Layout.LayoutResult , representing the layout result, including occupied area, status, i.e. if there was enough place to fit the renderer subtree, etc.

Implements iText.Layout.Renderer.AbstractRenderer.

Reimplemented in iText.Layout.Renderer.FlexContainerRenderer, iText.Layout.Renderer.ParagraphRenderer, iText.Layout.Renderer.ListItemRenderer, iText.Layout.Renderer.GridContainerRenderer, iText.Layout.Renderer.ListRenderer, and iText.Layout.Renderer.LineSeparatorRenderer.