---
title: "ISelectionProcessModifier | Customer's Canvas On-Premises"
canonical: "https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms/ISelectionProcessModifier/"
---

# ISelectionProcessModifier

> ***

## Interfaces

### IItemHandlerRectData

#### Properties

##### itemType

```ts
itemType: string;
```

##### startRectangle

```ts
startRectangle: RotatedRectangleF;
```

### IMoveData

#### Properties

##### border?

```ts
optional border?: ILtrb;
```

##### delta

```ts
delta: PointF;
```

Delta between startPoint and currentPoint

##### momentDelta

```ts
momentDelta: PointF;
```

Delta between currentPoint and previousPoint

##### startPoint

```ts
startPoint: PointF;
```

Point of mousedown or touchstart in workspace coordinates

##### startRectangle?

```ts
optional startRectangle?: RotatedRectangleF;
```

Rectangle state when move was started

***

### IResizeData

#### Properties

##### arbitraryResize

```ts
arbitraryResize: boolean;
```

Availability of arbitrary resize

##### currentRect

```ts
currentRect: RotatedRectangleF;
```

Current rectangle state

##### previousRectangle

```ts
previousRectangle: RotatedRectangleF;
```

Previous rectangle state

##### rectangleItemHandlers?

```ts
optional rectangleItemHandlers?: BaseRectangleItemHandler[];
```

##### resizeIndex

```ts
resizeIndex: number;
```

Index of grips is being resized now

##### startItemHandlersRects

```ts
startItemHandlersRects: IItemHandlerRectData[];
```

##### startRectangle

```ts
startRectangle: RotatedRectangleF;
```

Rectangle state when resize was started

***

### IRotateData

#### Properties

##### currentRect

```ts
currentRect: RotatedRectangleF;
```

Current rectangle state

##### previousRectangle

```ts
previousRectangle: RotatedRectangleF;
```

Previous rectangle state

***

### ISelectionProcessModifier

#### Methods

##### beforeMovePerformed()

```ts
beforeMovePerformed(data): PointF;
```

Returns delta between startPoint and currentPoint

###### Parameters

| Parameter | Type |
| ------ | ------ |
| `data` | [`IMoveData`](#imovedata) |

###### Returns

`PointF`

##### beforeResizePerformed()

```ts
beforeResizePerformed(data): RotatedRectangleF;
```

Returns target rectangle

###### Parameters

| Parameter | Type |
| ------ | ------ |
| `data` | [`IResizeData`](#iresizedata) |

###### Returns

`RotatedRectangleF`

##### beforeRotatePerformed()

```ts
beforeRotatePerformed(data): RotatedRectangleF;
```

Returns target rectangle

###### Parameters

| Parameter | Type |
| ------ | ------ |
| `data` | [`IRotateData`](#irotatedata) |

###### Returns

`RotatedRectangleF`
