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
ISvgNodeRendererimplementation for the <linearGradient> tag.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class com.itextpdf.svg.renderers.impl.AbstractSvgNodeRenderer
AbstractSvgNodeRenderer.FillProperties, AbstractSvgNodeRenderer.StrokeProperties
-
-
Field Summary
Fields Modifier and Type Field Description private static doubleCONVERT_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
-
-
Constructor Summary
Constructors Constructor Description LinearGradientSvgNodeRenderer()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ColorcreateColor(SvgDrawContext context, Rectangle objectBoundingBox, float objectBoundingBoxMargin, float parentOpacity)Creates theColorthat represents the corresponding paint server for specified object box.ISvgNodeRenderercreateDeepCopy()Creates a deep copy of this renderer, including it's subtree of childrenprivate Point[]getCoordinates(SvgDrawContext context, boolean isObjectBoundingBox)private AffineTransformgetGradientTransformToUserSpaceOnUse(Rectangle objectBoundingBox, boolean isObjectBoundingBox)RectanglegetObjectBoundingBox(SvgDrawContext context)Calculates the current object bounding box.protected booleanisHidden()Check if this renderer should draw the element based on its attributes (e.g.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, applyViewBox, calculateAndApplyViewBox, deepCopyChildren, getChildren, postDraw
-
Methods inherited from class com.itextpdf.svg.renderers.impl.AbstractSvgNodeRenderer
applyFillAndStrokeProperties, applyNonScalingStrokeTransform, calculateViewPortTranslation, canConstructViewPort, canElementFill, deepCopyAttributesAndStyles, doStrokeOrFill, draw, getAttribute, getAttributeMapCopy, getAttributeOrDefault, getCurrentFontSize, getCurrentFontSize, getCurrentViewBox, getParent, getParentClipPath, parseAbsoluteLength, parseHorizontalLength, parseVerticalLength, preDraw, retrieveAlignAndMeet, 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:ISvgPaintServerCreates theColorthat 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:ISvgNodeRendererCreates a deep copy of this renderer, including it's subtree of children- Specified by:
createDeepCopyin interfaceISvgNodeRenderer- Specified by:
createDeepCopyin classAbstractBranchSvgNodeRenderer- Returns:
- deep copy of this renderer
-
getObjectBoundingBox
public Rectangle getObjectBoundingBox(SvgDrawContext context)
Description copied from interface:ISvgNodeRendererCalculates the current object bounding box.- Parameters:
context- the current context, for instance it contains current viewport and available font data- Returns:
- the
Rectanglerepresenting the current object's bounding box, or null if bounding box is undefined
-
isHidden
protected boolean isHidden()
Description copied from class:AbstractSvgNodeRendererCheck if this renderer should draw the element based on its attributes (e.g. visibility/display)- Overrides:
isHiddenin classAbstractSvgNodeRenderer- Returns:
- true if element won't be drawn, false otherwise
-
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)
-
-