Package com.itextpdf.svg.renderers.impl
Class LinearGradientSvgNodeRenderer
- java.lang.Object
-
- com.itextpdf.svg.renderers.impl.AbstractSvgNodeRenderer
-
- com.itextpdf.svg.renderers.impl.AbstractBranchSvgNodeRenderer
-
- com.itextpdf.svg.renderers.impl.AbstractGradientSvgNodeRenderer
-
- com.itextpdf.svg.renderers.impl.LinearGradientSvgNodeRenderer
-
- All Implemented Interfaces:
IBranchSvgNodeRenderer
,INoDrawSvgNodeRenderer
,ISvgNodeRenderer
,ISvgPaintServer
public class LinearGradientSvgNodeRenderer extends AbstractGradientSvgNodeRenderer
ISvgNodeRenderer
implementation for the <linearGradient> tag.
-
-
Field Summary
Fields Modifier and Type Field Description private static double
CONVERT_COEFF
-
Fields 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 Constructor Description LinearGradientSvgNodeRenderer()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Color
createColor(SvgDrawContext context, Rectangle objectBoundingBox, float objectBoundingBoxMargin, float parentOpacity)
Creates theColor
that represents the corresponding paint server for specified object box.ISvgNodeRenderer
createDeepCopy()
Creates a deep copy of this renderer, including it's subtree of childrenprivate Point[]
getCoordinates(SvgDrawContext context, boolean isObjectBoundingBox)
private AffineTransform
getGradientTransformToUserSpaceOnUse(Rectangle objectBoundingBox, boolean isObjectBoundingBox)
Rectangle
getObjectBoundingBox(SvgDrawContext context)
Calculates the current object bounding box.private java.util.List<GradientColorStop>
parseStops(float parentOpacity)
-
Methods inherited from class com.itextpdf.svg.renderers.impl.AbstractGradientSvgNodeRenderer
doDraw, getChildStopRenderers, getGradientTransform, isObjectBoundingBoxUnits, parseSpreadMethod
-
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, preDraw, 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.IBranchSvgNodeRenderer
addChild, getChildren
-
Methods inherited from interface com.itextpdf.svg.renderers.ISvgNodeRenderer
draw, getAttribute, getAttributeMapCopy, getParent, setAttribute, setAttributesAndStyles, setParent
-
-
-
-
Field Detail
-
CONVERT_COEFF
private static final double CONVERT_COEFF
- See Also:
- Constant Field Values
-
-
Method Detail
-
createColor
public Color createColor(SvgDrawContext context, Rectangle objectBoundingBox, float objectBoundingBoxMargin, float parentOpacity)
Description copied from interface:ISvgPaintServer
Creates theColor
that represents the corresponding paint server for specified object box.- Parameters:
context
- the current svg draw contextobjectBoundingBox
- the coloring object bounding box without any adjustments (additional stroke width or others)objectBoundingBoxMargin
- the objectBoundingBoxMargin of the object bounding box to be colored (for example - the part of stroke width that exceeds the object bounding box, i.e. the half of stroke width value)parentOpacity
- current parent opacity modifier- Returns:
- the created color
-
createDeepCopy
public ISvgNodeRenderer 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
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
-
parseStops
private java.util.List<GradientColorStop> parseStops(float parentOpacity)
-
getGradientTransformToUserSpaceOnUse
private AffineTransform getGradientTransformToUserSpaceOnUse(Rectangle objectBoundingBox, boolean isObjectBoundingBox)
-
getCoordinates
private Point[] getCoordinates(SvgDrawContext context, boolean isObjectBoundingBox)
-
-