
# IPCB_DocumentPainterListener interface

*No description yet.*

```csharp
public interface IPCB_DocumentPainterListener
```

**Namespace:** PCB · **Assembly:** Altium.SDK.Interfaces

## Methods

| Method | Returns | Description |
| --- | --- | --- |
| [OnBeginDrag](#onbegindrag) | `double` |  |
| [OnClick](#onclick) | `void` |  |
| [OnDegreeOfFreedomChanged](#ondegreeoffreedomchanged) | `void` |  |
| [OnDragging](#ondragging) | `void` |  |
| [OnEndDrag](#onenddrag) | `void` |  |
| [OnPan](#onpan) | `void` |  |
| [OnPrimitivesMeshed](#onprimitivesmeshed) | `void` |  |
| [OnRotate](#onrotate) | `void` |  |
| [OnZoom](#onzoom) | `void` |  |

### OnBeginDrag

*No description yet.*

```csharp
double OnBeginDrag(IPCB_Primitive argPrim, TDegreeOfFreedom argDegreeOfFreedom);
double OnBeginDrag(object argPrim, int argDegreeOfFreedom);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argPrim` | [IPCB_Primitive](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md) | value |
| `argDegreeOfFreedom` | [TDegreeOfFreedom](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/TDegreeOfFreedom.md) | value |

**Returns:** `double`

The first overload is an extension method of `IPCB_DocumentPainterListenerHelper` (`using PCB;`) with typed parameters; the second is declared by the interface.

### OnClick

*No description yet.*

```csharp
void OnClick(IPCB_Primitive argPrim, TDegreeOfFreedom argDegreeOfFreedom);
void OnClick(object argPrim, int argDegreeOfFreedom);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argPrim` | [IPCB_Primitive](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md) | value |
| `argDegreeOfFreedom` | [TDegreeOfFreedom](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/TDegreeOfFreedom.md) | value |

**Returns:** nothing (`void`)

The first overload is an extension method of `IPCB_DocumentPainterListenerHelper` (`using PCB;`) with typed parameters; the second is declared by the interface.

### OnDegreeOfFreedomChanged

*No description yet.*

```csharp
void OnDegreeOfFreedomChanged(TDegreeOfFreedom argDegreeOfFreedom);
void OnDegreeOfFreedomChanged(int argDegreeOfFreedom);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argDegreeOfFreedom` | [TDegreeOfFreedom](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/TDegreeOfFreedom.md) | value |

**Returns:** nothing (`void`)

The first overload is an extension method of `IPCB_DocumentPainterListenerHelper` (`using PCB;`) with typed parameters; the second is declared by the interface.

### OnDragging

*No description yet.*

```csharp
void OnDragging(IPCB_Primitive argPrim, TDegreeOfFreedom argDegreeOfFreedom, double argDist);
void OnDragging(object argPrim, int argDegreeOfFreedom, double argDist);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argPrim` | [IPCB_Primitive](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md) | value |
| `argDegreeOfFreedom` | [TDegreeOfFreedom](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/TDegreeOfFreedom.md) | value |
| `argDist` | `double` | value |

**Returns:** nothing (`void`)

The first overload is an extension method of `IPCB_DocumentPainterListenerHelper` (`using PCB;`) with typed parameters; the second is declared by the interface.

### OnEndDrag

*No description yet.*

```csharp
void OnEndDrag(IPCB_Primitive argPrim);
void OnEndDrag(object argPrim);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argPrim` | [IPCB_Primitive](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md) | value |

**Returns:** nothing (`void`)

The first overload is an extension method of `IPCB_DocumentPainterListenerHelper` (`using PCB;`) with typed parameters; the second is declared by the interface.

### OnPan

*No description yet.*

```csharp
void OnPan(double argLookAtX, double argLookAtY, double argLookAtZ);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argLookAtX` | `double` | value |
| `argLookAtY` | `double` | value |
| `argLookAtZ` | `double` | value |

**Returns:** nothing (`void`)

### OnPrimitivesMeshed

*No description yet.*

```csharp
void OnPrimitivesMeshed();
```

**Returns:** nothing (`void`)

### OnRotate

*No description yet.*

```csharp
void OnRotate(double argRotationX, double argRotationY, double argRotationZ, double argRotationW);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argRotationX` | `double` | value |
| `argRotationY` | `double` | value |
| `argRotationZ` | `double` | value |
| `argRotationW` | `double` | value |

**Returns:** nothing (`void`)

### OnZoom

*No description yet.*

```csharp
void OnZoom(double argZoomMultiplier);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argZoomMultiplier` | `double` | value |

**Returns:** nothing (`void`)

## Accepted by

[IPCB_DocumentPainterView.SetDocumentPainterListener](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_DocumentPainterView.md#setdocumentpainterlistener)
