public class
android.graphics.Path
java.lang.Object | |
android.graphics.Path |
The Path class encapsulates compound (multiple contour) geometric paths consisting of straight line segments, quadratic curves, and cubic curves.
Nested Classes
Path.Direction | Specifies how closed shapes (e.g. |
Path.FillType | Enum for the ways a path may be filled |
Summary
Public Constructors
Path() | |||||
Path(Path src) |
Public Methods
void | addArc(RectF oval, float startAngle, float sweepAngle) | ||||
Add the specified arc to the path as a new contour. | |||||
void | addCircle(float x, float y, float radius, Direction dir) | ||||
Add a closed circle contour to the path | |||||
void | addOval(RectF oval, Direction dir) | ||||
Add a closed oval contour to the path | |||||
void | addPath(Path src, Matrix matrix) | ||||
Add a copy of src to the path, transformed by matrix | |||||
void | addPath(Path src) | ||||
Add a copy of src to the path | |||||
void | addPath(Path src, float dx, float dy) | ||||
Add a copy of src to the path, offset by (dx,dy) | |||||
void | addRect(RectF rect, Direction dir) | ||||
Add a closed rectangle contour to the path | |||||
void | addRect(float left, float top, float right, float bottom, Direction dir) | ||||
Add a closed rectangle contour to the path | |||||
void | addRoundRect(RectF rect, float rx, float ry, Direction dir) | ||||
Add a closed round-rectangle contour to the path | |||||
void | arcTo(RectF oval, float startAngle, float sweepAngle, boolean forceMoveTo) | ||||
Append the specified arc to the path as a new contour. | |||||
void | close() | ||||
Close the current contour. | |||||
void | computeBounds(RectF bounds, boolean exact) | ||||
Compute the bounds of the path, and write the answer into bounds. | |||||
void | cubicTo(float x1, float y1, float x2, float y2, float x3, float y3) | ||||
Add a cubic bezier from the last point, approaching control points (x1,y1) and (x2,y2), and ending at (x3,y3). | |||||
FillType | getFillType() | ||||
Return the path's fill type. | |||||
void | incReserve(int extraPtCount) | ||||
Hint to the path to prepare for adding more points. | |||||
boolean | isEmpty() | ||||
Returns true if the path is empty (contains no lines or curves) | |||||
boolean | isRect(RectF rect) | ||||
Returns true if the path specifies a rectangle. | |||||
void | lineTo(float x, float y) | ||||
Add a line from the last point to the specified point (x,y). | |||||
void | moveTo(float x, float y) | ||||
Set the beginning of the next contour to the point (x,y). | |||||
boolean | offset(float dx, float dy) | ||||
Offset the path by (dx,dy), returning true on success | |||||
boolean | offset(float dx, float dy, Path dst) | ||||
Offset the path by (dx,dy), returning true on success | |||||
void | quadTo(float x1, float y1, float x2, float y2) | ||||
Add a quadratic bezier from the last point, approaching control point (x1,y1), and ending at (x2,y2). | |||||
void | rCubicTo(float x1, float y1, float x2, float y2, float x3, float y3) | ||||
Same as cubicTo, but the coordinates are considered relative to the current point on this contour. | |||||
void | rLineTo(float dx, float dy) | ||||
Same as lineTo, but the coordinates are considered relative to the last point on this contour. | |||||
void | rMoveTo(float dx, float dy) | ||||
Set the beginning of the next contour relative to the last point on the previous contour. | |||||
void | rQuadTo(float dx1, float dy1, float dx2, float dy2) | ||||
Same as quadTo, but the coordinates are considered relative to the last point on this contour. | |||||
void | reset() | ||||
Clear any lines and curves from the path, making it empty. | |||||
void | set(Path src) | ||||
Replace the contents of this with the contents of src. | |||||
void | setFillType(FillType ft) | ||||
Set the path's fill type. | |||||
boolean | transform(Matrix matrix) | ||||
Transform the points in this path by matrix, and write the answer into dst. | |||||
boolean | transform(Matrix matrix, Path dst) | ||||
Transform the points in this path by matrix, and write the answer into dst. |
Protected Methods
void | finalize() | ||||
Called by the virtual machine when there are no longer any (non-weak) references to the receiver. |
Methods inherited from class java.lang.Object
Object | clone() | ||||
Answers a new instance of the same class as the receiver, whose slots have been filled in with the values in the slots of the receiver. | |||||
boolean | equals(Object o) | ||||
Compares the argument to the receiver, and answers true if they represent the same object using a class specific comparison. | |||||
void | finalize() | ||||
Called by the virtual machine when there are no longer any (non-weak) references to the receiver. | |||||
final | Class | getClass() | |||
Answers the unique instance of java.lang.Class which represents the class of the receiver. | |||||
int | hashCode() | ||||
Answers an integer hash code for the receiver. | |||||
final | void | notify() | |||
Causes one thread which is wait ing on the receiver to be made ready to run. | |||||
final | void | notifyAll() | |||
Causes all threads which are wait ing on the receiver to be made ready to run. | |||||
String | toString() | ||||
Answers a string containing a concise, human-readable description of the receiver. | |||||
final | void | wait(long time, int frac) | |||
Causes the thread which sent this message to be made not ready to run either pending some change in the receiver (as indicated by notify or notifyAll ) or the expiration of the timeout. | |||||
final | void | wait(long time) | |||
Causes the thread which sent this message to be made not ready to run either pending some change in the receiver (as indicated by notify or notifyAll ) or the expiration of the timeout. | |||||
final | void | wait() | |||
Causes the thread which sent this message to be made not ready to run pending some change in the receiver (as indicated by notify or notifyAll ). |
Details
Public Constructors
public Path()
public Path(Path src)
Public Methods
public void addArc(RectF oval, float startAngle, float sweepAngle)
Parameters
oval | The bounds of oval used to define the shape and size of the arc |
---|---|
startAngle | Starting angle (in degrees) where the arc begins |
sweepAngle | Sweep angle (in degrees) measured clockwise |
public void addCircle(float x, float y, float radius, Direction dir)
Parameters
x | The x-coordinate of the center of a circle to add as a closed contour to the path |
---|---|
y | The y-coordinate of the center of a circle to add as a closed contour to the path |
radius | The radius of a circle to add as a closed contour to the path |
dir | The direction to wind the circle's contour |
public void addOval(RectF oval, Direction dir)
Parameters
oval | The bounds of the oval to add as a closed contour to the path |
---|---|
dir | The direction to wind the oval's contour |
public void addPath(Path src, Matrix matrix)
Parameters
src | The path to add as a new contour |
---|
public void addPath(Path src)
public void addPath(Path src, float dx, float dy)
Parameters
src | The path to add as a new contour |
---|---|
dx | The amount to translate the path in X as it is added |
public void addRect(RectF rect, Direction dir)
Parameters
rect | The rectangle to add as a closed contour to the path |
---|---|
dir | The direction to wind the rectangle's contour |
public void addRect(float left, float top, float right, float bottom, Direction dir)
Parameters
left | The left side of a rectangle to add as a closed contour to the path |
---|---|
top | The top of a rectangle to add as a closed contour to the path |
right | The right side of a rectangle to add as a closed contour to the path |
bottom | The bottom of a rectangle to add as a closed contour to the path |
dir | The direction to wind the rectangle's contour |
public void addRoundRect(RectF rect, float rx, float ry, Direction dir)
Parameters
rect | The bounds of a round-rectangle to add as a closed contour to the path |
---|---|
rx | The x-radius of the rounded corners on the round-rectangle |
ry | The y-radius of the rounded corners on the round-rectangle |
dir | The direction to wind the round-rectangle's contour |
public void arcTo(RectF oval, float startAngle, float sweepAngle, boolean forceMoveTo)
Parameters
oval | The bounds of oval used to define the shape and size of the arc |
---|---|
startAngle | Starting angle (in degrees) where the arc begins |
sweepAngle | Sweep angle (in degrees) measured clockwise |
forceMoveTo | If true, always begin a new contour with the arc |
public void close()
public void computeBounds(RectF bounds, boolean exact)
Parameters
bounds | Returns the computed bounds of the path |
---|---|
exact | If true, return the exact (but slower) bounds, else return just the bounds of all control points |
public void cubicTo(float x1, float y1, float x2, float y2, float x3, float y3)
Parameters
x1 | The x-coordinate of the 1st control point on a cubic curve |
---|---|
y1 | The y-coordinate of the 1st control point on a cubic curve |
x2 | The x-coordinate of the 2nd control point on a cubic curve |
y2 | The y-coordinate of the 2nd control point on a cubic curve |
x3 | The x-coordinate of the end point on a cubic curve |
y3 | The y-coordinate of the end point on a cubic curve |
public FillType getFillType()
Returns
- the path's fill type
public void incReserve(int extraPtCount)
Parameters
extraPtCount | The number of extra points that may be added to this path |
---|
public boolean isEmpty()
Returns
- true if the path is empty (contains no lines or curves)
public boolean isRect(RectF rect)
Parameters
rect | If not null, returns the bounds of the path if it specifies a rectangle |
---|
Returns
- true if the path specifies a rectangle
public void lineTo(float x, float y)
Parameters
x | The x-coordinate of the end of a line |
---|---|
y | The y-coordinate of the end of a line |
public void moveTo(float x, float y)
Parameters
x | The x-coordinate of the start of a new contour |
---|---|
y | The y-coordinate of the start of a new contour |
public boolean offset(float dx, float dy)
Parameters
dx | The amount in the X direction to offset the entire path |
---|---|
dy | The amount in the Y direction to offset the entire path |
Returns
- true
public boolean offset(float dx, float dy, Path dst)
Parameters
dx | The amount in the X direction to offset the entire path |
---|---|
dy | The amount in the Y direction to offset the entire path |
dst | The translated path is written here. Pass null to overwrite this path |
Returns
- true
public void quadTo(float x1, float y1, float x2, float y2)
Parameters
x1 | The x-coordinate of the control point on a quadratic curve |
---|---|
y1 | The y-coordinate of the control point on a quadratic curve |
x2 | The x-coordinate of the end point on a quadratic curve |
y2 | The y-coordinate of the end point on a quadratic curve |
public void rCubicTo(float x1, float y1, float x2, float y2, float x3, float y3)
public void rLineTo(float dx, float dy)
Parameters
dx | The amount to add to the x-coordinate of the previous point on this contour, to specify a line |
---|---|
dy | The amount to add to the y-coordinate of the previous point on this contour, to specify a line |
public void rMoveTo(float dx, float dy)
Parameters
dx | The amount to add to the x-coordinate of the end of the previous contour, to specify the start of a new contour |
---|---|
dy | The amount to add to the y-coordinate of the end of the previous contour, to specify the start of a new contour |
public void rQuadTo(float dx1, float dy1, float dx2, float dy2)
Parameters
dx1 | The amount to add to the x-coordinate of the last point on this contour, to specify the control point of a quadratic curve |
---|---|
dy1 | The amount to add to the y-coordinate of the last point on this contour, to specify the control point of a quadratic curve |
dx2 | The amount to add to the x-coordinate of the last point on this contour, to specify the end point of a quadratic curve |
dy2 | The amount to add to the y-coordinate of the last point on this contour, to specify the end point of a quadratic curve |
public void reset()
public void set(Path src)
public void setFillType(FillType ft)
Parameters
ft | The new fill type for this path |
---|
public boolean transform(Matrix matrix)
Parameters
matrix | The matrix to apply to the path |
---|
Returns
- true
public boolean transform(Matrix matrix, Path dst)
Parameters
matrix | The matrix to apply to the path |
---|---|
dst | The transformed path is written here. Pass null to overwrite this path |
Returns
- true
Protected Methods
protected void finalize()
Note: The virtual machine assumes that the implementation in class Object is empty.
Throws
Throwable | java.lang.Throwable |
---|