Class ClipPathSvgNodeRenderer

  • All Implemented Interfaces:
    IBranchSvgNodeRenderer, ISvgNodeRenderer

    public class ClipPathSvgNodeRenderer
    extends AbstractBranchSvgNodeRenderer
    This renderer represents a collection of elements (simple shapes and paths). The elements are not drawn visibly, but the union of their shapes will be used to only show the parts of the drawn objects that fall within the clipping path.

    In PDF, the clipping path operators use the intersection of all its elements, not the union (as in SVG); thus, we need to draw the clipped elements multiple times if the clipping path consists of multiple elements.

    • Constructor Detail

      • ClipPathSvgNodeRenderer

        public ClipPathSvgNodeRenderer()
    • Method Detail

      • 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
      • doDraw

        protected void doDraw​(SvgDrawContext context)
        Description copied from class: AbstractBranchSvgNodeRenderer
        Method that will set properties to be inherited by this branch renderer's children and will iterate over all children in order to draw them.
        Overrides:
        doDraw in class AbstractBranchSvgNodeRenderer
        Parameters:
        context - the object that knows the place to draw this element and maintains its state
      • drawClippedRenderer

        public void drawClippedRenderer​(SvgDrawContext context)
        Draw the clipped renderer.
        Parameters:
        context - the context on which clipped renderer will be drawn
      • setClippedRenderer

        public void setClippedRenderer​(AbstractSvgNodeRenderer clippedRenderer)
        Sets the clipped renderer.
        Parameters:
        clippedRenderer - the clipped renderer
      • isHidden

        protected boolean isHidden()
        Description copied from class: AbstractSvgNodeRenderer
        Check if this renderer should draw the element based on its attributes (e.g. visibility/display)
        Overrides:
        isHidden in class AbstractSvgNodeRenderer
        Returns:
        true if element won't be drawn, false otherwise