PathIterator
  public
  
  
  
  class
  PathIterator
  
    extends Object
  
  
  
  
  
      implements
      
        Iterator<PathIterator.Segment>
      
  
  
| java.lang.Object | |
| ↳ | android.graphics.PathIterator | 
PathIterator can be used to query a given Path object, to discover its
 operations and point values.
Summary
| Nested classes | |
|---|---|
| 
        
        
        
        
        class | PathIterator.SegmentThis class holds the data for a given segment in a path, as returned by
  | 
| Constants | |
|---|---|
| int | VERB_CLOSE
 | 
| int | VERB_CONIC
 | 
| int | VERB_CUBIC
 | 
| int | VERB_DONE
 | 
| int | VERB_LINE
 | 
| int | VERB_MOVE
 | 
| int | VERB_QUAD
 | 
| Public methods | |
|---|---|
| 
        
        
        
        
        
        boolean | 
      hasNext()
      Returns true if the there are more elements in this iterator to be returned. | 
| 
        
        
        
        
        
        int | 
      next(float[] points, int offset)
      Returns the next verb in this iterator's  | 
| 
        
        
        
        
        
        PathIterator.Segment | 
      next()
      Returns the next  | 
| 
        
        
        
        
        
        int | 
      peek()
      Returns the next verb in the iteration, or  | 
| Inherited methods | |
|---|---|
Constants
Public methods
hasNext
public boolean hasNext ()
Returns true if the there are more elements in this iterator to be returned.
 A return value of false means there are no more elements, and an
 ensuing call to next() or next(float[], int) )} will return
 VERB_DONE.
| Returns | |
|---|---|
| boolean | true if there are more elements to be iterated through, false otherwise | 
| Throws | |
|---|---|
| ConcurrentModificationException | if the underlying path was modified since this iterator was created. | 
next
public int next (float[] points, 
                int offset)Returns the next verb in this iterator's Path, and fills entries in the
 points array with the point data (if any) for that operation.
 Each two floats represent the data for a single point of that operation.
 The number of pairs of floats supplied in the resulting array depends on the verb:
 
- VERB_MOVE: 1 pair (indices 0 to 1)
- VERB_LINE: 2 pairs (indices 0 to 3)
- VERB_QUAD: 3 pairs (indices 0 to 5)
- VERB_CONIC: 3.5 pairs (indices 0 to 6), the seventh entry has the conic weight
- VERB_CUBIC: 4 pairs (indices 0 to 7)
- VERB_CLOSE: 0 pairs
- VERB_DONE: 0 pairs
| Parameters | |
|---|---|
| points | float: The point data for this operation, must have at least
               8 items available to hold up to 4 pairs of point values
 This value cannot benull. | 
| offset | int: An offset into thepointsarray where entries should be placed. | 
| Returns | |
|---|---|
| int | the operation for the next element in the iteration
 This value cannot be null.
 Value isVERB_MOVE,VERB_LINE,VERB_QUAD,VERB_CONIC,VERB_CUBIC,VERB_CLOSE, orVERB_DONE | 
| Throws | |
|---|---|
| ArrayIndexOutOfBoundsException | if the points array is too small | 
| ConcurrentModificationException | if the underlying path was modified since this iterator was created. | 
next
public PathIterator.Segment next ()
Returns the next Segment element in this iterator.
 There are two versions of next(). This version is slightly more
 expensive at runtime, since it allocates a new Segment object with
 every call. The other version, next(float[], int) requires no such allocation, but
 requires a little more manual effort to use.
| Returns | |
|---|---|
| PathIterator.Segment | the next segment in this iterator
 This value cannot be null. | 
| Throws | |
|---|---|
| ConcurrentModificationException | if the underlying path was modified since this iterator was created. | 
peek
public int peek ()
Returns the next verb in the iteration, or VERB_DONE if there are no more
 elements.
| Returns | |
|---|---|
| int | the next verb in the iteration, or VERB_DONEif there are no more
 elements
 This value cannot benull.
 Value isVERB_MOVE,VERB_LINE,VERB_QUAD,VERB_CONIC,VERB_CUBIC,VERB_CLOSE, orVERB_DONE | 
| Throws | |
|---|---|
| ConcurrentModificationException | if the underlying path was modified since this iterator was created. | 
Content and code samples on this page are subject to the licenses described in the Content License. Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
Last updated 2025-02-10 UTC.
