<!--
{
  "availability" : [
    "FxPlug: 4.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "professional_video_applications",
  "identifier" : "/documentation/professional_video_applications/FxPathAPI_v3",
  "metadataVersion" : "0.1.0",
  "role" : "Protocol",
  "symbol" : {
    "kind" : "Protocol",
    "modules" : [
      "Professional Video Applications"
    ],
    "preciseIdentifier" : "c:objc(pl)FxPathAPI_v3"
  },
  "title" : "FxPathAPI_v3"
}
-->

# FxPathAPI_v3

An API that defines the methods to retrieve information about paths, shapes, and masks the user has drawn on an object.

```
protocol FxPathAPI_v3
```

## Overview

This API is used to get information about a path that the user has drawn on an object in the canvas. You can get the number of paths applied to the object, and then enumerate through them, or pick a specific one. You can use this API to retrieve the control points along the path and use that information to guide the rendering of your plug-in.

> Note:
> This API does not inherit from the `FxPathAPI`. It is a new API for FxPlug 4 that uses <doc://com.apple.documentation/documentation/CoreMedia/CMTime> and handles `NSErrors` consistently with other familiar APIs.

## Topics

### Getting Path Information

[`func numberOfPaths(at: CMTime) -> Int`](/documentation/professional_video_applications/FxPathAPI_v3/numberOfPaths(at:))

Provides the number of paths on the object to which your filter is applied, or on your generator.

[`func pathID(UnsafeMutablePointer<FxPathID?>!, for: Int) throws`](/documentation/professional_video_applications/FxPathAPI_v3/pathID(_:for:))

Gets the unique ID of the path at the index requested.

[`func name(AutoreleasingUnsafeMutablePointer<NSString?>!, ofPath: FxPathID!) throws`](/documentation/professional_video_applications/FxPathAPI_v3/name(_:ofPath:))

Provides the name the user has entered for the path with the given ID.

[`func isPath(FxPathID!, open: UnsafeMutablePointer<ObjCBool>!, at: CMTime) throws`](/documentation/professional_video_applications/FxPathAPI_v3/isPath(_:open:at:))

Tells whether the path is opened or closed.

[`func isPath(FxPathID!, inverted: UnsafeMutablePointer<ObjCBool>!, at: CMTime) throws`](/documentation/professional_video_applications/FxPathAPI_v3/isPath(_:inverted:at:))

Tells whether the path is inverted or not.

[`func style(UnsafeMutablePointer<FxPathStyle>!, ofPath: FxPathID!) throws`](/documentation/professional_video_applications/FxPathAPI_v3/style(_:ofPath:))

Provides the style of the path — linear, bezier, or b-spline.

[`func length(UnsafeMutablePointer<Double>!, ofPath: FxPathID!, at: CMTime) throws`](/documentation/professional_video_applications/FxPathAPI_v3/length(_:ofPath:at:))

Provides you the length of the entire path.

[`func length(UnsafeMutablePointer<Double>!, ofSegment: Int, ofPath: FxPathID!, at: CMTime) throws`](/documentation/professional_video_applications/FxPathAPI_v3/length(_:ofSegment:ofPath:at:))

Provides the length of one segment of the entire path.

[`func number(ofVertices: UnsafeMutablePointer<Int>!, inPath: FxPathID!, at: CMTime) throws`](/documentation/professional_video_applications/FxPathAPI_v3/number(ofVertices:inPath:at:))

Provides the number of vertices in the given path at the given time.

[`func vertex(UnsafeMutablePointer<FxVertex>!, at: Int, ofPath: FxPathID!, at: CMTime) throws`](/documentation/professional_video_applications/FxPathAPI_v3/vertex(_:at:ofPath:at:))

Provides information about a single vertex on the path at the given time.

[`func point(UnsafeMutablePointer<FxPoint2D>!, atPercentageOfDistance: Double, alongPath: FxPathID!, at: CMTime) throws`](/documentation/professional_video_applications/FxPathAPI_v3/point(_:atPercentageOfDistance:alongPath:at:))

Provides a 2D point that contains the location of the point on the path, at a distance along the path’s length  equal to the value of `percentDist`.

[`func point(UnsafeMutablePointer<FxPoint2D>!, atPercentageOfParameter: Double, alongPath: FxPathID!, at: CMTime) throws`](/documentation/professional_video_applications/FxPathAPI_v3/point(_:atPercentageOfParameter:alongPath:at:))

Provides a 2D point that contains the location of the point on the path, at a distance along the path’s parametric distance equal to the percent value of `percentParameter`.

[`func blendMode(UnsafeMutablePointer<FxPathBlendMode>!, ofPath: FxPathID!) throws`](/documentation/professional_video_applications/FxPathAPI_v3/blendMode(_:ofPath:))

Gets the blending mode for a given path.

[`func pathGeometryInfo(UnsafeMutablePointer<FxPathGeometryInfo>!, forPath: FxPathID!, at: CMTime) throws`](/documentation/professional_video_applications/FxPathAPI_v3/pathGeometryInfo(_:forPath:at:))

Gets geometry information about a given path.

### Setting Path Information

[`func setPath(FxPathID!, toColor: FxPathColor) throws`](/documentation/professional_video_applications/FxPathAPI_v3/setPath(_:toColor:))

Sets the color the host app uses to draw the path with the given ID.

### Structuring Path Information

[`struct FxPathGeometryInfo`](/documentation/professional_video_applications/FxPathGeometryInfo)

A structure that defines the geometry information of the path.

[`struct FxVertex`](/documentation/professional_video_applications/FxVertex)

The properties of one vertex in a path.

### Constants

[`typealias FxPathBlendMode`](/documentation/professional_video_applications/FxPathBlendMode)

The type of blending the user selects for the mask that a particular path describes.

[`typealias FxPathColor`](/documentation/professional_video_applications/FxPathColor)

The colors that the host app uses to display a path.

[`typealias FxPathID`](/documentation/professional_video_applications/FxPathID)

The unique identifier for a path.

[`typealias FxPathStyle`](/documentation/professional_video_applications/FxPathStyle)

The style of the path, which is linear, bezier, or b-spline.



---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)