Class AbstractPathShape
- java.lang.Object
-
- com.itextpdf.svg.renderers.path.impl.AbstractPathShape
-
- All Implemented Interfaces:
IPathShape
- Direct Known Subclasses:
CurveTo,EllipticalCurveTo,LineTo,MoveTo,QuadraticCurveTo
public abstract class AbstractPathShape extends java.lang.Object implements IPathShape
This class handles common behaviour in IPathShape implementations
-
-
Field Summary
Fields Modifier and Type Field Description protected SvgDrawContextcontextprotected java.lang.String[]coordinatesprotected IOperatorConvertercopierprivate PathSvgNodeRendererparentprotected java.util.Map<java.lang.String,java.lang.String>propertiesThe properties of this shape.protected booleanrelativeWhether this is a relative operator or not.private AffineTransformtransform
-
Constructor Summary
Constructors Constructor Description AbstractPathShape()Creates newAbstractPathShapeinstance.AbstractPathShape(boolean relative)Creates newAbstractPathShapeinstance.AbstractPathShape(boolean relative, IOperatorConverter copier)Creates newAbstractPathShapeinstance.
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description (package private) voidapplyTransform(double[] points)protected PointcreatePoint(java.lang.String coordX, java.lang.String coordY)abstract voiddraw()Draws this instruction to a canvas object.voiddraw(PdfCanvas canvas)Draws this instruction to a canvas object.PointgetEndingPoint()Gets the ending point on the canvas after the path shape has been drawn via theIPathShape.draw(PdfCanvas)method, in SVG space coordinates.RectanglegetPathShapeRectangle(Point lastPoint)Get bounding rectangle of the current path shape.booleanisRelative()Returns true when this shape is a relative operator.protected floatparseHorizontalLength(java.lang.String length)Parse x axis length value.protected floatparseVerticalLength(java.lang.String length)Parse y axis length value.voidsetContext(SvgDrawContext context)Set svg draw context for this shape.voidsetParent(PathSvgNodeRenderer parent)Set parent path for this shape.voidsetTransform(AffineTransform transform)SetsAffineTransformto apply before drawing the shape.-
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.path.IPathShape
setCoordinates
-
-
-
-
Field Detail
-
parent
private PathSvgNodeRenderer parent
-
transform
private AffineTransform transform
-
properties
protected java.util.Map<java.lang.String,java.lang.String> properties
The properties of this shape.
-
relative
protected boolean relative
Whether this is a relative operator or not.
-
copier
protected final IOperatorConverter copier
-
coordinates
protected java.lang.String[] coordinates
-
context
protected SvgDrawContext context
-
-
Constructor Detail
-
AbstractPathShape
public AbstractPathShape()
Creates newAbstractPathShapeinstance.
-
AbstractPathShape
public AbstractPathShape(boolean relative)
Creates newAbstractPathShapeinstance.- Parameters:
relative- boolean defining whether this is a relative operator
-
AbstractPathShape
public AbstractPathShape(boolean relative, IOperatorConverter copier)Creates newAbstractPathShapeinstance.- Parameters:
relative- boolean defining whether this is a relative operatorcopier-IOperatorConvertercopier for converting relative coordinates to absolute coordinates
-
-
Method Detail
-
isRelative
public boolean isRelative()
Description copied from interface:IPathShapeReturns true when this shape is a relative operator. False if it is an absolute operator.- Specified by:
isRelativein interfaceIPathShape- Returns:
- true if relative, false if absolute
-
createPoint
protected Point createPoint(java.lang.String coordX, java.lang.String coordY)
- Parameters:
coordX-xcoordinate of the pointcoordY-ycoordinate of the point- Returns:
- created
Pointinstance
-
getEndingPoint
public Point getEndingPoint()
Description copied from interface:IPathShapeGets the ending point on the canvas after the path shape has been drawn via theIPathShape.draw(PdfCanvas)method, in SVG space coordinates.- Specified by:
getEndingPointin interfaceIPathShape- Returns:
- The
Pointrepresenting the final point in the drawn path. If the point does not exist or does not changenullmay be returned.
-
getPathShapeRectangle
public Rectangle getPathShapeRectangle(Point lastPoint)
Get bounding rectangle of the current path shape.- Specified by:
getPathShapeRectanglein interfaceIPathShape- Parameters:
lastPoint- start point for this shape- Returns:
- calculated rectangle
-
draw
public void draw(PdfCanvas canvas)
Description copied from interface:IPathShapeDraws this instruction to a canvas object.Deprecated in favour of
draw()and later this method should be introduced in this interface, along withsetContext(SvgDrawContext)method. Since canvas can be got fromSvgDrawContextthePdfCanvasparameter is no more needed.- Specified by:
drawin interfaceIPathShape- Parameters:
canvas- to which this instruction is drawn
-
draw
public abstract void draw()
Draws this instruction to a canvas object.
-
setParent
public void setParent(PathSvgNodeRenderer parent)
Set parent path for this shape.- Parameters:
parent-PathSvgNodeRendererinstance
-
setContext
public void setContext(SvgDrawContext context)
Set svg draw context for this shape.- Parameters:
context-SvgDrawContextinstance.
-
setTransform
public void setTransform(AffineTransform transform)
SetsAffineTransformto apply before drawing the shape.- Parameters:
transform-AffineTransformto apply before drawing
-
parseHorizontalLength
protected float parseHorizontalLength(java.lang.String length)
Parse x axis length value.- Parameters:
length-Stringlength for parsing- Returns:
- absolute length in points
-
parseVerticalLength
protected float parseVerticalLength(java.lang.String length)
Parse y axis length value.- Parameters:
length-Stringlength for parsing- Returns:
- absolute length in points
-
applyTransform
void applyTransform(double[] points)
-
-