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

# SurfaceHandler

> [`SurfaceHandler`](#surfacehandler)

## Classes

### SurfaceHandler

#### Constructors

##### Constructor

```ts
new SurfaceHandler(surface): SurfaceHandler;
```

###### Parameters

| Parameter | Type |
| ------ | ------ |
| `surface` | `Surface` |

###### Returns

#### Methods

##### getBounds()

```ts
getBounds(type): any;
```

###### Parameters

| Parameter | Type |
| ------ | ------ |
| `type` | `PrintAreaBoundsType` |

###### Returns

`any`

##### getPrintAreasBounds()

```ts
getPrintAreasBounds(type): any;
```

###### Parameters

| Parameter | Type |
| ------ | ------ |
| `type` | `PrintAreaBoundsType` |

###### Returns

`any`

##### applyLayout()

```ts
static applyLayout(
   handlerFactory, 
   canvas, 
surface): Promise<void>;
```

###### Parameters

| Parameter | Type |
| ------ | ------ |
| `handlerFactory` | [`HandlerFactoryByItem`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms/HandlerFactoryByItem.md#handlerfactorybyitem) |
| `canvas` | [`ICanvas`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms/ICanvas.md#icanvas) |
| `surface` | `Surface` |

###### Returns

[`Promise`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms/finally.md#promise)\<`void`\>

##### getItemSurface()

```ts
static getItemSurface(item): any;
```

###### Parameters

| Parameter | Type |
| ------ | ------ |
| `item` | `Item` |

###### Returns

`any`
