Class CellRenderer

All Implemented Interfaces:
IPropertyContainer, IRenderer

public class CellRenderer extends BlockRenderer
Represents a renderer for the Cell layout element.
  • Constructor Details

    • CellRenderer

      public CellRenderer (Cell modelElement)
      Creates a CellRenderer from its corresponding layout object.
      Parameters:
      modelElement - the Cell which this object should manage
  • Method Details

    • getModelElement

      public IPropertyContainer getModelElement()
      Gets the model element associated with this renderer.
      Specified by:
      getModelElement in interface IRenderer
      Overrides:
      getModelElement in class AbstractRenderer
      Returns:
      the model element, as a container of properties
    • retrieveWidth

      protected Float retrieveWidth (float parentBoxWidth)
      Description copied from class: AbstractRenderer
      Retrieves element's fixed content box width, if it's set. Takes into account Property.BOX_SIZING, Property.MIN_WIDTH, and Property.MAX_WIDTH properties.
      Overrides:
      retrieveWidth in class AbstractRenderer
      Parameters:
      parentBoxWidth - width of the parent element content box. If element has relative width, it will be calculated relatively to this parameter.
      Returns:
      element's fixed content box width or null if it's not set.
      See Also:
    • createSplitRenderer

      protected AbstractRenderer createSplitRenderer (int layoutResult)
      Creates a split renderer.
      Overrides:
      createSplitRenderer in class BlockRenderer
      Parameters:
      layoutResult - the result of content layouting
      Returns:
      a new AbstractRenderer instance
    • createOverflowRenderer

      protected AbstractRenderer createOverflowRenderer (int layoutResult)
      Creates an overflow renderer.
      Overrides:
      createOverflowRenderer in class BlockRenderer
      Parameters:
      layoutResult - the result of content layouting
      Returns:
      a new AbstractRenderer instance
    • drawBackground

      public void drawBackground (DrawContext drawContext)
      Description copied from class: AbstractRenderer
      Draws a background layer if it is defined by a key Property.BACKGROUND in either the layout element or this IRenderer itself.
      Overrides:
      drawBackground in class AbstractRenderer
      Parameters:
      drawContext - the context (canvas, document, etc) of this drawing operation.
    • drawBorder

      public void drawBorder (DrawContext drawContext)
      Performs the drawing operation for the border of this renderer, if defined by the Property.BORDER_TOP, Property.BORDER_RIGHT, Property.BORDER_BOTTOM and Property.BORDER_LEFT values in either the layout element or this IRenderer itself.
      Overrides:
      drawBorder in class AbstractRenderer
      Parameters:
      drawContext - the context (canvas, document, etc.) of this drawing operation
    • applyBorderBox

      protected Rectangle applyBorderBox (Rectangle rect, Border[] borders, boolean reverse)
      Description copied from class: AbstractRenderer
      Applies the given border box (borders) on the given rectangle
      Overrides:
      applyBorderBox in class AbstractRenderer
      Parameters:
      rect - a rectangle paddings will be applied on.
      borders - the borders to be applied on the given rectangle
      reverse - indicates whether the border box will be applied inside (in case of false) or outside (in case of false) the rectangle.
      Returns:
      a border box of the renderer
    • applyMargins

      protected Rectangle applyMargins (Rectangle rect, UnitValue[] margins, boolean reverse)
      Description copied from class: AbstractRenderer
      Applies given margins on the given rectangle
      Overrides:
      applyMargins in class AbstractRenderer
      Parameters:
      rect - a rectangle margins will be applied on.
      margins - the margins to be applied on the given rectangle
      reverse - indicates whether margins will be applied inside (in case of false) or outside (in case of true) the rectangle.
      Returns:
      a border box of the renderer
    • applySpacings

      protected Rectangle applySpacings (Rectangle rect, boolean reverse)
      Applies spacings on the given rectangle.
      Parameters:
      rect - a rectangle spacings will be applied on
      reverse - indicates whether spacings will be applied inside (in case of false) or outside (in case of true) the rectangle.
      Returns:
      a border box of the renderer
    • applySpacings

      protected Rectangle applySpacings (Rectangle rect, float[] spacings, boolean reverse)
      Applies given spacings on the given rectangle.
      Parameters:
      rect - a rectangle spacings will be applied on
      spacings - the spacings to be applied on the given rectangle
      reverse - indicates whether spacings will be applied inside (in case of false) or outside (in case of true) the rectangle.
      Returns:
      a border box of the renderer
    • getNextRenderer

      public IRenderer getNextRenderer()
      Gets a new instance of this class to be used as a next renderer, after this renderer is used, if BlockRenderer.layout(LayoutContext) is called more than once.

      If a renderer overflows to the next area, iText uses this method to create a renderer for the overflow part. So if one wants to extend CellRenderer, one should override this method: otherwise the default method will be used and thus the default rather than the custom renderer will be created.

      Returns:
      new renderer instance