IT. Expert System.

Android Reference

Path


android.graphics

Class Path



  • public class Path
    extends Object
    The Path class encapsulates compound (multiple contour) geometric paths consisting of straight line segments, quadratic curves, and cubic curves. It can be drawn with canvas.drawPath(path, paint), either filled or stroked (based on the paint's Style), or it can be used for clipping or to draw text on a path.
    • Nested Class Summary

      Nested Classes
      Modifier and Type Class and Description
      static class Path.Direction
      Specifies how closed shapes (e.g.
      static class Path.FillType
      Enum for the ways a path may be filled
    • Constructor Summary

      Constructors
      Constructor and Description
      Path()
      Create an empty path
      Path(Path src)
      Create a new path, copying the contents from the src path.
    • Method Summary

      Methods
      Modifier and Type Method and Description
      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, Path.Direction dir)
      Add a closed circle contour to the path
      void addOval(RectF oval, Path.Direction dir)
      Add a closed oval contour to the path
      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 addPath(Path src, Matrix matrix)
      Add a copy of src to the path, transformed by matrix
      void addRect(float left, float top, float right, float bottom, Path.Direction dir)
      Add a closed rectangle contour to the path
      void addRect(RectF rect, Path.Direction dir)
      Add a closed rectangle contour to the path
      void addRoundRect(RectF rect, float[] radii, Path.Direction dir)
      Add a closed round-rectangle contour to the path.
      void addRoundRect(RectF rect, float rx, float ry, Path.Direction dir)
      Add a closed round-rectangle contour to the path
      void arcTo(RectF oval, float startAngle, float sweepAngle)
      Append the specified arc to the path as a new contour.
      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 control points 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).
      protected void finalize()
      Invoked when the garbage collector has detected that this instance is no longer reachable.
      Path.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 isInverseFillType()
      Returns true if the filltype is one of the INVERSE variants
      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).
      void offset(float dx, float dy)
      Offset the path by (dx,dy), returning true on success
      void 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 reset()
      Clear any lines and curves from the path, making it empty.
      void rewind()
      Rewinds the path: clears any lines and curves from the path but keeps the internal data structure for faster reuse.
      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 set(Path src)
      Replace the contents of this with the contents of src.
      void setFillType(Path.FillType ft)
      Set the path's fill type.
      void setLastPoint(float dx, float dy)
      Sets the last point of the path.
      void toggleInverseFillType()
      Toggles the INVERSE state of the filltype
      void transform(Matrix matrix)
      Transform the points in this path by matrix.
      void transform(Matrix matrix, Path dst)
      Transform the points in this path by matrix, and write the answer into dst.
    • Field Detail

      • mNativePath

        public final int mNativePath
      • isSimplePath

        public boolean isSimplePath
    • Constructor Detail

      • Path

        public Path()
        Create an empty path
      • Path

        public Path(Path src)
        Create a new path, copying the contents from the src path.
        Parameters:
        src - The path to copy from when initializing the new path
    • Method Detail

      • reset

        public void reset()
        Clear any lines and curves from the path, making it empty. This does NOT change the fill-type setting.
      • rewind

        public void rewind()
        Rewinds the path: clears any lines and curves from the path but keeps the internal data structure for faster reuse.
      • set

        public void set(Path src)
        Replace the contents of this with the contents of src.
      • getFillType

        public Path.FillType getFillType()
        Return the path's fill type. This defines how "inside" is computed. The default value is WINDING.
        Returns:
        the path's fill type
      • setFillType

        public void setFillType(Path.FillType ft)
        Set the path's fill type. This defines how "inside" is computed.
        Parameters:
        ft - The new fill type for this path
      • isInverseFillType

        public boolean isInverseFillType()
        Returns true if the filltype is one of the INVERSE variants
        Returns:
        true if the filltype is one of the INVERSE variants
      • toggleInverseFillType

        public void toggleInverseFillType()
        Toggles the INVERSE state of the filltype
      • isEmpty

        public boolean isEmpty()
        Returns true if the path is empty (contains no lines or curves)
        Returns:
        true if the path is empty (contains no lines or curves)
      • isRect

        public boolean isRect(RectF rect)
        Returns true if the path specifies a rectangle. If so, and if rect is not null, set rect to the bounds of the path. If the path does not specify a rectangle, return false and ignore 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
      • computeBounds

        public void computeBounds(RectF bounds,
                         boolean exact)
        Compute the bounds of the control points of the path, and write the answer into bounds. If the path contains 0 or 1 points, the bounds is set to (0,0,0,0)
        Parameters:
        bounds - Returns the computed bounds of the path's control points.
        exact - This parameter is no longer used.
      • incReserve

        public void incReserve(int extraPtCount)
        Hint to the path to prepare for adding more points. This can allow the path to more efficiently allocate its storage.
        Parameters:
        extraPtCount - The number of extra points that may be added to this path
      • moveTo

        public void moveTo(float x,
                  float y)
        Set the beginning of the next contour to the point (x,y).
        Parameters:
        x - The x-coordinate of the start of a new contour
        y - The y-coordinate of the start of a new contour
      • rMoveTo

        public void rMoveTo(float dx,
                   float dy)
        Set the beginning of the next contour relative to the last point on the previous contour. If there is no previous contour, this is treated the same as moveTo().
        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
      • lineTo

        public void lineTo(float x,
                  float y)
        Add a line from the last point to the specified point (x,y). If no moveTo() call has been made for this contour, the first point is automatically set to (0,0).
        Parameters:
        x - The x-coordinate of the end of a line
        y - The y-coordinate of the end of a line
      • rLineTo

        public void rLineTo(float dx,
                   float dy)
        Same as lineTo, but the coordinates are considered relative to the last point on this contour. If there is no previous point, then a moveTo(0,0) is inserted automatically.
        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
      • quadTo

        public 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). If no moveTo() call has been made for this contour, the first point is automatically set to (0,0).
        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
      • rQuadTo

        public 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. If there is no previous point, then a moveTo(0,0) is inserted automatically.
        Parameters:
        dx1 - The amount to add to the x-coordinate of the last point on this contour, for the control point of a quadratic curve
        dy1 - The amount to add to the y-coordinate of the last point on this contour, for the control point of a quadratic curve
        dx2 - The amount to add to the x-coordinate of the last point on this contour, for the end point of a quadratic curve
        dy2 - The amount to add to the y-coordinate of the last point on this contour, for the end point of a quadratic curve
      • cubicTo

        public 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). If no moveTo() call has been made for this contour, the first point is automatically set to (0,0).
        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
      • rCubicTo

        public 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. If there is no previous point, then a moveTo(0,0) is inserted automatically.
      • arcTo

        public void arcTo(RectF oval,
                 float startAngle,
                 float sweepAngle,
                 boolean forceMoveTo)
        Append the specified arc to the path as a new contour. If the start of the path is different from the path's current last point, then an automatic lineTo() is added to connect the current contour to the start of the arc. However, if the path is empty, then we call moveTo() with the first point of the arc. The sweep angle is tread mod 360.
        Parameters:
        oval - The bounds of oval defining shape and size of the arc
        startAngle - Starting angle (in degrees) where the arc begins
        sweepAngle - Sweep angle (in degrees) measured clockwise, treated mod 360.
        forceMoveTo - If true, always begin a new contour with the arc
      • arcTo

        public void arcTo(RectF oval,
                 float startAngle,
                 float sweepAngle)
        Append the specified arc to the path as a new contour. If the start of the path is different from the path's current last point, then an automatic lineTo() is added to connect the current contour to the start of the arc. However, if the path is empty, then we call moveTo() with the first point of the arc.
        Parameters:
        oval - The bounds of oval defining shape and size of the arc
        startAngle - Starting angle (in degrees) where the arc begins
        sweepAngle - Sweep angle (in degrees) measured clockwise
      • close

        public void close()
        Close the current contour. If the current point is not equal to the first point of the contour, a line segment is automatically added.
      • addRect

        public void addRect(RectF rect,
                   Path.Direction dir)
        Add a closed rectangle contour to the path
        Parameters:
        rect - The rectangle to add as a closed contour to the path
        dir - The direction to wind the rectangle's contour
      • addRect

        public void addRect(float left,
                   float top,
                   float right,
                   float bottom,
                   Path.Direction dir)
        Add a closed rectangle contour to the path
        Parameters:
        left - The left side of a rectangle to add to the path
        top - The top of a rectangle to add to the path
        right - The right side of a rectangle to add to the path
        bottom - The bottom of a rectangle to add to the path
        dir - The direction to wind the rectangle's contour
      • addOval

        public void addOval(RectF oval,
                   Path.Direction dir)
        Add a closed oval contour to the path
        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
      • addCircle

        public void addCircle(float x,
                     float y,
                     float radius,
                     Path.Direction dir)
        Add a closed circle contour to the path
        Parameters:
        x - The x-coordinate of the center of a circle to add to the path
        y - The y-coordinate of the center of a circle to add to the path
        radius - The radius of a circle to add to the path
        dir - The direction to wind the circle's contour
      • addArc

        public void addArc(RectF oval,
                  float startAngle,
                  float sweepAngle)
        Add the specified arc to the path as a new contour.
        Parameters:
        oval - The bounds of oval defining the shape and size of the arc
        startAngle - Starting angle (in degrees) where the arc begins
        sweepAngle - Sweep angle (in degrees) measured clockwise
      • addRoundRect

        public void addRoundRect(RectF rect,
                        float rx,
                        float ry,
                        Path.Direction dir)
        Add a closed round-rectangle contour to the path
        Parameters:
        rect - The bounds of a round-rectangle to add 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
      • addRoundRect

        public void addRoundRect(RectF rect,
                        float[] radii,
                        Path.Direction dir)
        Add a closed round-rectangle contour to the path. Each corner receives two radius values [X, Y]. The corners are ordered top-left, top-right, bottom-right, bottom-left
        Parameters:
        rect - The bounds of a round-rectangle to add to the path
        radii - Array of 8 values, 4 pairs of [X,Y] radii
        dir - The direction to wind the round-rectangle's contour
      • addPath

        public void addPath(Path src,
                   float dx,
                   float dy)
        Add a copy of src to the path, offset by (dx,dy)
        Parameters:
        src - The path to add as a new contour
        dx - The amount to translate the path in X as it is added
      • addPath

        public void addPath(Path src)
        Add a copy of src to the path
        Parameters:
        src - The path that is appended to the current path
      • addPath

        public void addPath(Path src,
                   Matrix matrix)
        Add a copy of src to the path, transformed by matrix
        Parameters:
        src - The path to add as a new contour
      • offset

        public void offset(float dx,
                  float dy,
                  Path dst)
        Offset the path by (dx,dy), returning true on success
        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. If this is null, then the original path is modified.
      • offset

        public void offset(float dx,
                  float dy)
        Offset the path by (dx,dy), returning true on success
        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
      • setLastPoint

        public void setLastPoint(float dx,
                        float dy)
        Sets the last point of the path.
        Parameters:
        dx - The new X coordinate for the last point
        dy - The new Y coordinate for the last point
      • transform

        public void transform(Matrix matrix,
                     Path dst)
        Transform the points in this path by matrix, and write the answer into dst. If dst is null, then the the original path is modified.
        Parameters:
        matrix - The matrix to apply to the path
        dst - The transformed path is written here. If dst is null, then the the original path is modified
      • transform

        public void transform(Matrix matrix)
        Transform the points in this path by matrix.
        Parameters:
        matrix - The matrix to apply to the path
      • finalize

        protected void finalize()
                         throws Throwable
        Description copied from class: Object
        Invoked when the garbage collector has detected that this instance is no longer reachable. The default implementation does nothing, but this method can be overridden to free resources.

        Note that objects that override finalize are significantly more expensive than objects that don't. Finalizers may be run a long time after the object is no longer reachable, depending on memory pressure, so it's a bad idea to rely on them for cleanup. Note also that finalizers are run on a single VM-wide finalizer thread, so doing blocking work in a finalizer is a bad idea. A finalizer is usually only necessary for a class that has a native peer and needs to call a native method to destroy that peer. Even then, it's better to provide an explicit close method (and implement Closeable), and insist that callers manually dispose of instances. This works well for something like files, but less well for something like a BigInteger where typical calling code would have to deal with lots of temporaries. Unfortunately, code that creates lots of temporaries is the worst kind of code from the point of view of the single finalizer thread.

        If you must use finalizers, consider at least providing your own ReferenceQueue and having your own thread process that queue.

        Unlike constructors, finalizers are not automatically chained. You are responsible for calling super.finalize() yourself.

        Uncaught exceptions thrown by finalizers are ignored and do not terminate the finalizer thread. See Effective Java Item 7, "Avoid finalizers" for more.

        Overrides:
        finalize in class Object
        Throws:
        Throwable


Content

Android Reference

Java basics

Java Enterprise Edition (EE)

Java Standard Edition (SE)

SQL

HTML

PHP

CSS

Java Script

MYSQL

JQUERY

VBS

REGEX

C

C++

C#

Design patterns

RFC (standard status)

RFC (proposed standard status)

RFC (draft standard status)

RFC (informational status)

RFC (experimental status)

RFC (best current practice status)

RFC (historic status)

RFC (unknown status)

IT dictionary

License.
All information of this service is derived from the free sources and is provided solely in the form of quotations. This service provides information and interfaces solely for the familiarization (not ownership) and under the "as is" condition.
Copyright 2016 © ELTASK.COM. All rights reserved.
Site is optimized for mobile devices.
Downloads: 835 / . Delta: 0.05341 с