---
title: "PathOperation"
description: "Strategies for combining paths.

See also:
* [Path.combine], which uses this enum to decide how to combine two paths."
type: "class"
---

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


<a id='references'></a>

<div class='sourceset sourceset-common'>Common</div>


```kotlin
value class PathOperation internal constructor(@Suppress("unused") private val value: Int)
```


Strategies for combining paths.

See also:
* `Path.combine`, which uses this enum to decide how to combine two paths.


## Companion Object

#### Properties

<div class='sourceset sourceset-common'>Common</div>


```kotlin
val Difference = PathOperation(0)
```


Subtract the second path from the first path.

For example, if the two paths are overlapping circles of equal diameter but differing
centers, the result would be a crescent portion of the first circle that was not
overlapped by the second circle.

See also:
* `ReverseDifference`, which is the same but subtracting the first path from the second.



<div class='sourceset sourceset-common'>Common</div>


```kotlin
val Intersect = PathOperation(1)
```


Create a new path that is the intersection of the two paths, leaving the overlapping
pieces of the path.

For example, if the two paths are overlapping circles of equal diameter but differing
centers, the result would be only the overlapping portion of the two circles.

See also:
* `Xor`, which is the inverse of this operation



<div class='sourceset sourceset-common'>Common</div>


```kotlin
val Union = PathOperation(2)
```


Create a new path that is the union (inclusive-or) of the two paths.

For example, if the two paths are overlapping circles of equal diameter but differing
centers, the result would be a figure-eight like shape matching the outer boundaries of
both circles.



<div class='sourceset sourceset-common'>Common</div>


```kotlin
val Xor = PathOperation(3)
```


Create a new path that is the exclusive-or of the two paths, leaving everything but the
overlapping pieces of the path.

For example, if the two paths are overlapping circles of equal diameter but differing
centers, the figure-eight like shape less the overlapping parts

See also:
* `Intersect`, which is the inverse of this operation



<div class='sourceset sourceset-common'>Common</div>


```kotlin
val ReverseDifference = PathOperation(4)
```


Subtract the first path from the second path.

For example, if the two paths are overlapping circles of equal diameter but differing
centers, the result would be a crescent portion of the second circle that was not
overlapped by the first circle.

See also:
* `Difference`, which is the same but subtracting the second path from the first.





