Class RectangleSvgNodeRenderer

java.lang.Object
com.itextpdf.svg.renderers.impl.AbstractSvgNodeRenderer
com.itextpdf.svg.renderers.impl.RectangleSvgNodeRenderer
All Implemented Interfaces:
ISvgNodeRenderer

public class RectangleSvgNodeRenderer extends AbstractSvgNodeRenderer
ISvgNodeRenderer implementation for the <rect> tag.
  • Field Details

    • x

      private float x
    • y

      private float y
    • width

      private float width
    • height

      private float height
    • rxPresent

      private boolean rxPresent
    • ryPresent

      private boolean ryPresent
    • rx

      private float rx
    • ry

      private float ry
  • Constructor Details

    • RectangleSvgNodeRenderer

      public RectangleSvgNodeRenderer()
      Constructs a RectangleSvgNodeRenderer.
  • Method Details

    • doDraw

      protected void doDraw(SvgDrawContext context)
      Description copied from class: AbstractSvgNodeRenderer
      Draws this element to a canvas-like object maintained in the context.
      Specified by:
      doDraw in class AbstractSvgNodeRenderer
      Parameters:
      context - the object that knows the place to draw this element and maintains its state
    • getObjectBoundingBox

      public Rectangle getObjectBoundingBox(SvgDrawContext context)
      Description copied from interface: ISvgNodeRenderer
      Calculates the current object bounding box.
      Parameters:
      context - the current context, for instance it contains current viewport and available font data
      Returns:
      the Rectangle representing the current object's bounding box, or null if bounding box is undefined
    • setParameters

      private void setParameters()
    • arc

      private void arc(float x1, float y1, float x2, float y2, float startAng, float extent, PdfCanvas cv)
    • checkRadius

      float checkRadius(float radius, float distance)
      a radius must be positive, and cannot be more than half the distance in the dimension it is for. e.g. rx <= width / 2
    • findCircularRadius

      float findCircularRadius(float rx, float ry, float width, float height)
      In case of a circular radius, the calculation in checkRadius(float, float) isn't enough: the radius cannot be more than half of the smallest dimension. This method assumes that checkRadius(float, float) has already run, and it is silently assumed (though not necessary for this method) that either rx or ry is zero.
    • createDeepCopy

      public ISvgNodeRenderer createDeepCopy()
      Description copied from interface: ISvgNodeRenderer
      Creates a deep copy of this renderer, including it's subtree of children
      Returns:
      deep copy of this renderer