Package org.apache.batik.parser
Class AWTPathProducer
- java.lang.Object
-
- org.apache.batik.parser.AWTPathProducer
-
- All Implemented Interfaces:
PathHandler,ShapeProducer
public class AWTPathProducer extends java.lang.Object implements PathHandler, ShapeProducer
This class provides an implementation of the PathHandler that initializes a Shape from the value of a path's 'd' attribute.- Version:
- $Id: AWTPathProducer.java 1733416 2016-03-03 07:07:13Z gadams $
-
-
Field Summary
Fields Modifier and Type Field Description protected floatcurrentXThe current x position.protected floatcurrentYThe current y position.protected ExtendedGeneralPathpathThe temporary value of extendedGeneralPath.protected intwindingRuleThe winding rule to use to construct the path.protected floatxCenterThe reference x point for smooth arcs.protected floatyCenterThe reference y point for smooth arcs.
-
Constructor Summary
Constructors Constructor Description AWTPathProducer()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidarcAbs(float rx, float ry, float xAxisRotation, boolean largeArcFlag, boolean sweepFlag, float x, float y)voidarcRel(float rx, float ry, float xAxisRotation, boolean largeArcFlag, boolean sweepFlag, float x, float y)voidclosePath()ImplementsPathHandler.closePath().static java.awt.ShapecreateShape(java.io.Reader r, int wr)Utility method for creating an ExtendedGeneralPath.voidcurvetoCubicAbs(float x1, float y1, float x2, float y2, float x, float y)voidcurvetoCubicRel(float x1, float y1, float x2, float y2, float x, float y)voidcurvetoCubicSmoothAbs(float x2, float y2, float x, float y)voidcurvetoCubicSmoothRel(float x2, float y2, float x, float y)voidcurvetoQuadraticAbs(float x1, float y1, float x, float y)voidcurvetoQuadraticRel(float x1, float y1, float x, float y)voidcurvetoQuadraticSmoothAbs(float x, float y)voidcurvetoQuadraticSmoothRel(float x, float y)voidendPath()ImplementsPathHandler.endPath().java.awt.ShapegetShape()Returns the Shape object initialized during the last parsing.intgetWindingRule()Returns the current winding rule.voidlinetoAbs(float x, float y)ImplementsPathHandler.linetoAbs(float,float).voidlinetoHorizontalAbs(float x)ImplementsPathHandler.linetoHorizontalAbs(float).voidlinetoHorizontalRel(float x)ImplementsPathHandler.linetoHorizontalRel(float).voidlinetoRel(float x, float y)ImplementsPathHandler.linetoRel(float,float).voidlinetoVerticalAbs(float y)ImplementsPathHandler.linetoVerticalAbs(float).voidlinetoVerticalRel(float y)ImplementsPathHandler.linetoVerticalRel(float).voidmovetoAbs(float x, float y)ImplementsPathHandler.movetoAbs(float,float).voidmovetoRel(float x, float y)ImplementsPathHandler.movetoRel(float,float).voidsetWindingRule(int i)Sets the winding rule used to construct the path.voidstartPath()ImplementsPathHandler.startPath().
-
-
-
Field Detail
-
path
protected ExtendedGeneralPath path
The temporary value of extendedGeneralPath.
-
currentX
protected float currentX
The current x position.
-
currentY
protected float currentY
The current y position.
-
xCenter
protected float xCenter
The reference x point for smooth arcs.
-
yCenter
protected float yCenter
The reference y point for smooth arcs.
-
windingRule
protected int windingRule
The winding rule to use to construct the path.
-
-
Method Detail
-
createShape
public static java.awt.Shape createShape(java.io.Reader r, int wr) throws java.io.IOException, ParseExceptionUtility method for creating an ExtendedGeneralPath.- Parameters:
r- The reader used to read the path specification.wr- The winding rule to use for creating the path.- Throws:
java.io.IOExceptionParseException
-
setWindingRule
public void setWindingRule(int i)
Sets the winding rule used to construct the path.- Specified by:
setWindingRulein interfaceShapeProducer
-
getWindingRule
public int getWindingRule()
Returns the current winding rule.- Specified by:
getWindingRulein interfaceShapeProducer
-
getShape
public java.awt.Shape getShape()
Returns the Shape object initialized during the last parsing.- Specified by:
getShapein interfaceShapeProducer- Returns:
- the shape or null if this handler has not been used by a parser.
-
startPath
public void startPath() throws ParseExceptionImplementsPathHandler.startPath().- Specified by:
startPathin interfacePathHandler- Throws:
ParseException- if an error occured while processing the path
-
endPath
public void endPath() throws ParseExceptionImplementsPathHandler.endPath().- Specified by:
endPathin interfacePathHandler- Throws:
ParseException- if an error occured while processing the path
-
movetoRel
public void movetoRel(float x, float y) throws ParseExceptionImplementsPathHandler.movetoRel(float,float).- Specified by:
movetoRelin interfacePathHandler- Parameters:
x- the relative x coordinate for the end pointy- the relative y coordinate for the end point- Throws:
ParseException- if an error occured while processing the path
-
movetoAbs
public void movetoAbs(float x, float y) throws ParseExceptionImplementsPathHandler.movetoAbs(float,float).- Specified by:
movetoAbsin interfacePathHandler- Parameters:
x- the absolute x coordinate for the end pointy- the absolute y coordinate for the end point- Throws:
ParseException- if an error occured while processing the path
-
closePath
public void closePath() throws ParseExceptionImplementsPathHandler.closePath().- Specified by:
closePathin interfacePathHandler- Throws:
ParseException- if an error occured while processing the path
-
linetoRel
public void linetoRel(float x, float y) throws ParseExceptionImplementsPathHandler.linetoRel(float,float).- Specified by:
linetoRelin interfacePathHandler- Parameters:
x- the relative x coordinates for the end pointy- the relative y coordinates for the end point- Throws:
ParseException- if an error occured while processing the path
-
linetoAbs
public void linetoAbs(float x, float y) throws ParseExceptionImplementsPathHandler.linetoAbs(float,float).- Specified by:
linetoAbsin interfacePathHandler- Parameters:
x- the absolute x coordinate for the end pointy- the absolute y coordinate for the end point- Throws:
ParseException- if an error occured while processing the path
-
linetoHorizontalRel
public void linetoHorizontalRel(float x) throws ParseExceptionImplementsPathHandler.linetoHorizontalRel(float).- Specified by:
linetoHorizontalRelin interfacePathHandler- Parameters:
x- the relative X coordinate of the end point- Throws:
ParseException- if an error occured while processing the path
-
linetoHorizontalAbs
public void linetoHorizontalAbs(float x) throws ParseExceptionImplementsPathHandler.linetoHorizontalAbs(float).- Specified by:
linetoHorizontalAbsin interfacePathHandler- Parameters:
x- the absolute X coordinate of the end point- Throws:
ParseException- if an error occured while processing the path
-
linetoVerticalRel
public void linetoVerticalRel(float y) throws ParseExceptionImplementsPathHandler.linetoVerticalRel(float).- Specified by:
linetoVerticalRelin interfacePathHandler- Parameters:
y- the relative Y coordinate of the end point- Throws:
ParseException- if an error occured while processing the path
-
linetoVerticalAbs
public void linetoVerticalAbs(float y) throws ParseExceptionImplementsPathHandler.linetoVerticalAbs(float).- Specified by:
linetoVerticalAbsin interfacePathHandler- Parameters:
y- the absolute Y coordinate of the end point- Throws:
ParseException- if an error occured while processing the path
-
curvetoCubicRel
public void curvetoCubicRel(float x1, float y1, float x2, float y2, float x, float y) throws ParseException- Specified by:
curvetoCubicRelin interfacePathHandler- Parameters:
x1- the relative x coordinate for the first control pointy1- the relative y coordinate for the first control pointx2- the relative x coordinate for the second control pointy2- the relative y coordinate for the second control pointx- the relative x coordinate for the end pointy- the relative y coordinate for the end point- Throws:
ParseException- if an error occured while processing the path
-
curvetoCubicAbs
public void curvetoCubicAbs(float x1, float y1, float x2, float y2, float x, float y) throws ParseException- Specified by:
curvetoCubicAbsin interfacePathHandler- Parameters:
x1- the absolute x coordinate for the first control pointy1- the absolute y coordinate for the first control pointx2- the absolute x coordinate for the second control pointy2- the absolute y coordinate for the second control pointx- the absolute x coordinate for the end pointy- the absolute y coordinate for the end point- Throws:
ParseException- if an error occured while processing the path
-
curvetoCubicSmoothRel
public void curvetoCubicSmoothRel(float x2, float y2, float x, float y) throws ParseException- Specified by:
curvetoCubicSmoothRelin interfacePathHandler- Parameters:
x2- the relative x coordinate for the second control pointy2- the relative y coordinate for the second control pointx- the relative x coordinate for the end pointy- the relative y coordinate for the end point- Throws:
ParseException- if an error occured while processing the path
-
curvetoCubicSmoothAbs
public void curvetoCubicSmoothAbs(float x2, float y2, float x, float y) throws ParseException- Specified by:
curvetoCubicSmoothAbsin interfacePathHandler- Parameters:
x2- the absolute x coordinate for the second control pointy2- the absolute y coordinate for the second control pointx- the absolute x coordinate for the end pointy- the absolute y coordinate for the end point- Throws:
ParseException- if an error occured while processing the path
-
curvetoQuadraticRel
public void curvetoQuadraticRel(float x1, float y1, float x, float y) throws ParseException- Specified by:
curvetoQuadraticRelin interfacePathHandler- Parameters:
x1- the relative x coordinate for the control pointy1- the relative y coordinate for the control pointx- the relative x coordinate for the end pointy- the relative x coordinate for the end point- Throws:
ParseException- if an error occured while processing the path
-
curvetoQuadraticAbs
public void curvetoQuadraticAbs(float x1, float y1, float x, float y) throws ParseException- Specified by:
curvetoQuadraticAbsin interfacePathHandler- Parameters:
x1- the absolute x coordinate for the control pointy1- the absolute y coordinate for the control pointx- the absolute x coordinate for the end pointy- the absolute x coordinate for the end point- Throws:
ParseException- if an error occured while processing the path
-
curvetoQuadraticSmoothRel
public void curvetoQuadraticSmoothRel(float x, float y) throws ParseException- Specified by:
curvetoQuadraticSmoothRelin interfacePathHandler- Parameters:
x- the relative x coordinate for the end pointy- the relative y coordinate for the end point- Throws:
ParseException- if an error occured while processing the path
-
curvetoQuadraticSmoothAbs
public void curvetoQuadraticSmoothAbs(float x, float y) throws ParseException- Specified by:
curvetoQuadraticSmoothAbsin interfacePathHandler- Parameters:
x- the absolute x coordinate for the end pointy- the absolute y coordinate for the end point- Throws:
ParseException- if an error occured while processing the path
-
arcRel
public void arcRel(float rx, float ry, float xAxisRotation, boolean largeArcFlag, boolean sweepFlag, float x, float y) throws ParseException- Specified by:
arcRelin interfacePathHandler- Parameters:
rx- the X axis radius for the ellipsery- the Y axis radius for the ellipsexAxisRotation- the rotation angle in degrees for the ellipse's X-axis relative to the X-axislargeArcFlag- the value of the large-arc-flagsweepFlag- the value of the sweep-flagx- the relative x coordinate for the end pointy- the relative y coordinate for the end point- Throws:
ParseException- if an error occured while processing the path
-
arcAbs
public void arcAbs(float rx, float ry, float xAxisRotation, boolean largeArcFlag, boolean sweepFlag, float x, float y) throws ParseException- Specified by:
arcAbsin interfacePathHandler- Parameters:
rx- the X axis radius for the ellipsery- the Y axis radius for the ellipsexAxisRotation- the rotation angle in degrees for the ellipse's X-axis relative to the X-axislargeArcFlag- the value of the large-arc-flagsweepFlag- the value of the sweep-flagx- the absolute x coordinate for the end pointy- the absolute y coordinate for the end point- Throws:
ParseException- if an error occured while processing the path
-
-