---
title: "PathIterator"
description: "A path iterator can be used to iterate over all the [segments][PathSegment] that make up a path.
Those segments may in turn define multiple contours inside the path. Conic segments are by
default evaluated as approximated quadratic segments. To preserve conic segments as conics, set
[conicEvaluation] to [AsConic][ConicEvaluation.AsConic]. The error of the approximation is
controlled by [tolerance].

A [PathIterator] can be created implicitly through a given [Path] object: using one of the two
[Path.iterator] functions."
type: "function"
---

<div class='type'>Function</div>


<a id='references'></a>
<div class='sourceset sourceset-common'>Common</div>


```kotlin
expect fun PathIterator(
    path: Path,
    conicEvaluation: ConicEvaluation = ConicEvaluation.AsQuadratics,
    tolerance: Float = 0.25f,
): PathIterator
```


A path iterator can be used to iterate over all the `segments` that make up a path.
Those segments may in turn define multiple contours inside the path. Conic segments are by
default evaluated as approximated quadratic segments. To preserve conic segments as conics, set
`conicEvaluation` to `AsConic`. The error of the approximation is
controlled by `tolerance`.

A `PathIterator` can be created implicitly through a given `Path` object: using one of the two
`Path.iterator` functions.

#### Parameters

| | |
| --- | --- |
| path | The `Path` to iterate over |
| conicEvaluation | Indicates how to evaluate conic segments |
| tolerance | When `conicEvaluation` is set to `PathIterator.ConicEvaluation.AsQuadratics` defines the maximum distance between the original conic curve and its quadratic approximations |




<div class='sourceset sourceset-android'>Android</div>


```kotlin
actual fun PathIterator(
    path: Path,
    conicEvaluation: PathIterator.ConicEvaluation,
    tolerance: Float,
): PathIterator
```


