Package com.itextpdf.svg.renderers.impl
Class ClipPathSvgNodeRenderer
java.lang.Object
com.itextpdf.svg.renderers.impl.AbstractSvgNodeRenderer
com.itextpdf.svg.renderers.impl.AbstractBranchSvgNodeRenderer
com.itextpdf.svg.renderers.impl.ClipPathSvgNodeRenderer
- All Implemented Interfaces:
IBranchSvgNodeRenderer
,ISvgNodeRenderer
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.
-
Field Summary
FieldsFields inherited from class com.itextpdf.svg.renderers.impl.AbstractBranchSvgNodeRenderer
VIEWBOX_VALUES_NUMBER
Fields inherited from class com.itextpdf.svg.renderers.impl.AbstractSvgNodeRenderer
attributesAndStyles, doFill, doStroke, partOfClipPath
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionCreates a deep copy of this renderer, including it's subtree of childrenprotected void
doDraw
(SvgDrawContext context) 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.getObjectBoundingBox
(SvgDrawContext context) Calculates the current object bounding box.(package private) void
preDraw
(SvgDrawContext context) Operations to perform before drawing an element.void
setClippedRenderer
(AbstractSvgNodeRenderer clippedRenderer) Methods inherited from class com.itextpdf.svg.renderers.impl.AbstractBranchSvgNodeRenderer
addChild, addXObject, applyViewBox, calculateAndApplyViewBox, deepCopyChildren, getChildren, getViewBoxValues, postDraw, processAspectRatioPosition, retrieveAlignAndMeet, setPartOfClipPath
Methods inherited from class com.itextpdf.svg.renderers.impl.AbstractSvgNodeRenderer
calculateViewPortTranslation, canConstructViewPort, canElementFill, deepCopyAttributesAndStyles, draw, getAttribute, getAttributeMapCopy, getAttributeOrDefault, getCurrentFontSize, getParent, parseAbsoluteLength, setAttribute, setAttributesAndStyles, setParent
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface com.itextpdf.svg.renderers.ISvgNodeRenderer
draw, getAttribute, getAttributeMapCopy, getParent, setAttribute, setAttributesAndStyles, setParent
-
Field Details
-
clippedRenderer
-
-
Constructor Details
-
ClipPathSvgNodeRenderer
public ClipPathSvgNodeRenderer()
-
-
Method Details
-
createDeepCopy
Description copied from interface:ISvgNodeRenderer
Creates a deep copy of this renderer, including it's subtree of children- Specified by:
createDeepCopy
in interfaceISvgNodeRenderer
- Specified by:
createDeepCopy
in classAbstractBranchSvgNodeRenderer
- Returns:
- deep copy of this renderer
-
getObjectBoundingBox
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
-
preDraw
Description copied from class:AbstractSvgNodeRenderer
Operations to perform before drawing an element. This includes setting stroke color and width, fill color.- Overrides:
preDraw
in classAbstractSvgNodeRenderer
- Parameters:
context
- the svg draw context
-
doDraw
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 classAbstractBranchSvgNodeRenderer
- Parameters:
context
- the object that knows the place to draw this element and maintains its state
-
setClippedRenderer
-