---
title: PKInkingToolReference
framework: pencilkit
role: symbol
role_heading: Class
path: pencilkit/pkinkingtoolreference
---

# PKInkingToolReference

An object that defines the drawing characteristics (width, color, pen style) to use when drawing lines on a canvas view.

## Declaration

```swift
class PKInkingToolReference
```

## Overview

Overview A PKInkingTool object supports the creation of new content on a PKCanvasView. With an inking tool, the canvas turns touch input from the user into a continuously rendered stroke. The value in the width property determines the base width of that stroke; however, that base value also depends on input from Apple Pencil, including force, azimuth, and angle data. Create an inking tool programmatically, or display a PKToolPicker object and from which a user can select a tool. Assign the resulting object to the tool property of your PKCanvasView object. The canvas uses any subsequent touch sequences to draw new content on the canvas. Assigning a new inking tool doesn’t change the characteristics for any previously drawn strokes.

## Topics

### Creating an inking tool

- [init(inkType:color:width:)](pencilkit/pkinkingtoolreference/init(inktype:color:width:).md)
- [init(inkType:color:)](pencilkit/pkinkingtoolreference/init(inktype:color:).md)
- [init(ink:width:)](pencilkit/pkinkingtoolreference/init(ink:width:).md)

### Getting the inking tool attributes

- [color](pencilkit/pkinkingtoolreference/color.md)
- [width](pencilkit/pkinkingtoolreference/width.md)
- [ink](pencilkit/pkinkingtoolreference/ink.md)

### Getting the tool type

- [inkType](pencilkit/pkinkingtoolreference/inktype.md)

### Working with colors

- [convert(_:from:to:)](pencilkit/pkinkingtoolreference/convert(_:from:to:).md)

### Getting the standard ink widths

- [defaultWidth(forInkType:)](pencilkit/pkinkingtoolreference/defaultwidth(forinktype:).md)
- [minimumWidth(forInkType:)](pencilkit/pkinkingtoolreference/minimumwidth(forinktype:).md)
- [maximumWidth(forInkType:)](pencilkit/pkinkingtoolreference/maximumwidth(forinktype:).md)

### Supporting backward compatibility

- [requiredContentVersion](pencilkit/pkinkingtoolreference/requiredcontentversion.md)

### Initializers

- [init(inkType:color:width:azimuth:)](pencilkit/pkinkingtoolreference/init(inktype:color:width:azimuth:).md)

### Instance Properties

- [azimuth](pencilkit/pkinkingtoolreference/azimuth.md)

### Type Methods

- [invertColor(_:)](pencilkit/pkinkingtoolreference/invertcolor(_:).md)

## Relationships

### Conforms To

- [CVarArg](swift/cvararg.md)
- [CustomDebugStringConvertible](swift/customdebugstringconvertible.md)
- [CustomStringConvertible](swift/customstringconvertible.md)
- [Equatable](swift/equatable.md)
- [Hashable](swift/hashable.md)
- [NSCopying](foundation/nscopying.md)
- [NSObjectProtocol](objectivec/nsobjectprotocol.md)
- [Sendable](swift/sendable.md)
- [SendableMetatype](swift/sendablemetatype.md)
