# API

**Kind**: interface | **Module**: [Displays](https://docs.interop.io/desktop/reference/javascript/displays/index.md) | **Access**: `io.displays`

**Source**: https://docs.interop.io/desktop/reference/javascript/displays/api/index.html

Displays API.

## Methods

### all

Returns all available displays.

```ts
() => Promise<Display[]>
```

**Returns**: `Promise<Display[]>`

### capture

Returns a Base64 string of the screenshot of a single display.

```ts
(options: CaptureOptions) => Promise<string>
```

**Parameters**

- **`options`** (`CaptureOptions`, required)
  Options for capturing the display.

**Returns**: `Promise<string>`

### captureAll

Returns a Base64 string of the screenshots of all displays. The returned value depends on the `combined` property specified in the options object.

```ts
(options: CaptureAllOptions) => Promise<string | string[]>
```

**Parameters**

- **`options`** (`CaptureAllOptions`, required)
  Options for capturing the displays.

**Returns**: `Promise<string | string[]>`

### convertBounds

Converts display bounds between the different coordinate systems - physical (screen pixels), electron (Electron DIP pixels),
and logical (location scaled by primary display scale, size - by target display scale).

*Since: io.Connect Desktop 10.2, @interopio/desktop 6.20.0*

```ts
(options: ConvertBoundsOptions) => Promise<ConvertBoundsResult>
```

**Parameters**

- **`options`** (`ConvertBoundsOptions`, required)
  Options for converting display bounds.

**Returns**: `Promise<ConvertBoundsResult>`

### get

Returns a single display by ID.

```ts
(id: number) => Promise<Display>
```

**Parameters**

- **`id`** (`number`, required)
  ID of the desired display.

**Returns**: `Promise<Display>`

### getByBounds

Retrieves the display matching the specified bounds in the given coordinate system.

*Since: io.Connect Desktop 10.2, @interopio/desktop 6.20.0*

```ts
(options: GetByBoundsOptions) => Promise<Display>
```

**Parameters**

- **`options`** (`GetByBoundsOptions`, required)
  Options for retrieving a display by provided bounds.

**Returns**: `Promise<Display>`

### getByWindowId

Returns a single display by window ID.

```ts
(id: string) => Promise<Display>
```

**Parameters**

- **`id`** (`string`, required)
  Window ID of the desired display.

**Returns**: `Promise<Display>`

### getMousePosition

Returns the X and Y coordinates of the mouse cursor.

```ts
() => Promise<Point>
```

**Returns**: `Promise<Point>`

### getPrimary

Returns the primary display.

```ts
() => Promise<Display>
```

**Returns**: `Promise<Display>`

### onDisplayChanged

Notifies when the display is changed.

```ts
(cb: (displays: IOConnectDesktop.Displays.Display[]) => void) => UnsubscribeFunction
```

**Parameters**

- **`cb`** (`(displays: IOConnectDesktop.Displays.Display[]) => void`, required)

**Returns**: `UnsubscribeFunction`

## Related types

- [CaptureAllOptions](https://docs.interop.io/desktop/reference/javascript/displays/capturealloptions/index.md)
- [CaptureOptions](https://docs.interop.io/desktop/reference/javascript/displays/captureoptions/index.md)
- [ConvertBoundsOptions](https://docs.interop.io/desktop/reference/javascript/displays/convertboundsoptions/index.md)
- [ConvertBoundsResult](https://docs.interop.io/desktop/reference/javascript/displays/convertboundsresult/index.md)
- [Display](https://docs.interop.io/desktop/reference/javascript/displays/display/index.md)
- [GetByBoundsOptions](https://docs.interop.io/desktop/reference/javascript/displays/getbyboundsoptions/index.md)
- [Point](https://docs.interop.io/desktop/reference/javascript/displays/point/index.md)
- [UnsubscribeFunction](https://docs.interop.io/desktop/reference/javascript/search/unsubscribefunction/index.md)
