Skip to content

dpi

Defined in: packages/api/src/dpi.ts:214

A position represented in logical pixels. For an explanation of what logical pixels are, see description of LogicalSize.

2.0.0

new LogicalPosition(x, y): LogicalPosition;

Defined in: packages/api/src/dpi.ts:219

Parameter Type
x number
y number

LogicalPosition

new LogicalPosition(object): LogicalPosition;

Defined in: packages/api/src/dpi.ts:220

Parameter Type
object { Logical: { x: number; y: number; }; }
object.Logical { x: number; y: number; }
object.Logical.x number
object.Logical.y number

LogicalPosition

new LogicalPosition(object): LogicalPosition;

Defined in: packages/api/src/dpi.ts:221

Parameter Type
object { x: number; y: number; }
object.x number
object.y number

LogicalPosition

Property Modifier Type Default value Defined in
type readonly "Logical" 'Logical' packages/api/src/dpi.ts:215
x public number undefined packages/api/src/dpi.ts:216
y public number undefined packages/api/src/dpi.ts:217

__TAURI_TO_IPC_KEY__(): object;

Defined in: packages/api/src/dpi.ts:261

object

Name Type Defined in
x number packages/api/src/dpi.ts:263
y number packages/api/src/dpi.ts:264

toJSON(): object;

Defined in: packages/api/src/dpi.ts:268

object

Name Type Defined in
x number packages/api/src/dpi.ts:263
y number packages/api/src/dpi.ts:264

toPhysical(scaleFactor): PhysicalPosition;

Defined in: packages/api/src/dpi.ts:257

Converts the logical position to a physical one.

Parameter Type
scaleFactor number

PhysicalPosition

import { LogicalPosition } from '@tauri-apps/api/dpi';
import { getCurrentWindow } from '@tauri-apps/api/window';
const appWindow = getCurrentWindow();
const factor = await appWindow.scaleFactor();
const position = new LogicalPosition(400, 500);
const physical = position.toPhysical(factor);

2.0.0


Defined in: packages/api/src/dpi.ts:16

A size represented in logical pixels. Logical pixels are scaled according to the window’s DPI scale. Most browser APIs (i.e. MouseEvent’s clientX) will return logical pixels.

For logical-pixel-based position, see LogicalPosition.

2.0.0

new LogicalSize(width, height): LogicalSize;

Defined in: packages/api/src/dpi.ts:21

Parameter Type
width number
height number

LogicalSize

new LogicalSize(object): LogicalSize;

Defined in: packages/api/src/dpi.ts:22

Parameter Type
object { Logical: { height: number; width: number; }; }
object.Logical { height: number; width: number; }
object.Logical.height number
object.Logical.width number

LogicalSize

new LogicalSize(object): LogicalSize;

Defined in: packages/api/src/dpi.ts:23

Parameter Type
object { height: number; width: number; }
object.height number
object.width number

LogicalSize

Property Modifier Type Default value Defined in
height public number undefined packages/api/src/dpi.ts:19
type readonly "Logical" 'Logical' packages/api/src/dpi.ts:17
width public number undefined packages/api/src/dpi.ts:18

__TAURI_TO_IPC_KEY__(): object;

Defined in: packages/api/src/dpi.ts:63

object

Name Type Defined in
height number packages/api/src/dpi.ts:66
width number packages/api/src/dpi.ts:65

toJSON(): object;

Defined in: packages/api/src/dpi.ts:70

object

Name Type Defined in
height number packages/api/src/dpi.ts:66
width number packages/api/src/dpi.ts:65

toPhysical(scaleFactor): PhysicalSize;

Defined in: packages/api/src/dpi.ts:59

Converts the logical size to a physical one.

Parameter Type
scaleFactor number

PhysicalSize

import { LogicalSize } from '@tauri-apps/api/dpi';
import { getCurrentWindow } from '@tauri-apps/api/window';
const appWindow = getCurrentWindow();
const factor = await appWindow.scaleFactor();
const size = new LogicalSize(400, 500);
const physical = size.toPhysical(factor);

2.0.0


Defined in: packages/api/src/dpi.ts:281

A position represented in physical pixels.

For an explanation of what physical pixels are, see description of PhysicalSize.

2.0.0

new PhysicalPosition(x, y): PhysicalPosition;

Defined in: packages/api/src/dpi.ts:286

Parameter Type
x number
y number

PhysicalPosition

new PhysicalPosition(object): PhysicalPosition;

Defined in: packages/api/src/dpi.ts:287

Parameter Type
object { Physical: { x: number; y: number; }; }
object.Physical { x: number; y: number; }
object.Physical.x number
object.Physical.y number

PhysicalPosition

new PhysicalPosition(object): PhysicalPosition;

Defined in: packages/api/src/dpi.ts:288

Parameter Type
object { x: number; y: number; }
object.x number
object.y number

PhysicalPosition

Property Modifier Type Default value Defined in
type readonly "Physical" 'Physical' packages/api/src/dpi.ts:282
x public number undefined packages/api/src/dpi.ts:283
y public number undefined packages/api/src/dpi.ts:284

__TAURI_TO_IPC_KEY__(): object;

Defined in: packages/api/src/dpi.ts:328

object

Name Type Defined in
x number packages/api/src/dpi.ts:330
y number packages/api/src/dpi.ts:331

toJSON(): object;

Defined in: packages/api/src/dpi.ts:335

object

Name Type Defined in
x number packages/api/src/dpi.ts:330
y number packages/api/src/dpi.ts:331

toLogical(scaleFactor): LogicalPosition;

Defined in: packages/api/src/dpi.ts:324

Converts the physical position to a logical one.

Parameter Type
scaleFactor number

LogicalPosition

import { PhysicalPosition } from '@tauri-apps/api/dpi';
import { getCurrentWindow } from '@tauri-apps/api/window';
const appWindow = getCurrentWindow();
const factor = await appWindow.scaleFactor();
const position = new PhysicalPosition(400, 500);
const physical = position.toLogical(factor);

2.0.0


Defined in: packages/api/src/dpi.ts:87

A size represented in physical pixels.

Physical pixels represent actual screen pixels, and are DPI-independent. For high-DPI windows, this means that any point in the window on the screen will have a different position in logical pixels LogicalSize.

For physical-pixel-based position, see PhysicalPosition.

2.0.0

new PhysicalSize(width, height): PhysicalSize;

Defined in: packages/api/src/dpi.ts:92

Parameter Type
width number
height number

PhysicalSize

new PhysicalSize(object): PhysicalSize;

Defined in: packages/api/src/dpi.ts:93

Parameter Type
object { Physical: { height: number; width: number; }; }
object.Physical { height: number; width: number; }
object.Physical.height number
object.Physical.width number

PhysicalSize

new PhysicalSize(object): PhysicalSize;

Defined in: packages/api/src/dpi.ts:94

Parameter Type
object { height: number; width: number; }
object.height number
object.width number

PhysicalSize

Property Modifier Type Default value Defined in
height public number undefined packages/api/src/dpi.ts:90
type readonly "Physical" 'Physical' packages/api/src/dpi.ts:88
width public number undefined packages/api/src/dpi.ts:89

__TAURI_TO_IPC_KEY__(): object;

Defined in: packages/api/src/dpi.ts:130

object

Name Type Defined in
height number packages/api/src/dpi.ts:133
width number packages/api/src/dpi.ts:132

toJSON(): object;

Defined in: packages/api/src/dpi.ts:137

object

Name Type Defined in
height number packages/api/src/dpi.ts:133
width number packages/api/src/dpi.ts:132

toLogical(scaleFactor): LogicalSize;

Defined in: packages/api/src/dpi.ts:126

Converts the physical size to a logical one.

Parameter Type
scaleFactor number

LogicalSize

import { getCurrentWindow } from '@tauri-apps/api/window';
const appWindow = getCurrentWindow();
const factor = await appWindow.scaleFactor();
const size = await appWindow.innerSize(); // PhysicalSize
const logical = size.toLogical(factor);

Defined in: packages/api/src/dpi.ts:372

A position represented either in physical or in logical pixels.

This type is basically a union type of LogicalSize and PhysicalSize but comes in handy when using tauri::Position in Rust as an argument to a command, as this class automatically serializes into a valid format so it can be deserialized correctly into tauri::Position

So instead of

import { invoke } from '@tauri-apps/api/core';
import { LogicalPosition, PhysicalPosition } from '@tauri-apps/api/dpi';
const position: LogicalPosition | PhysicalPosition = someFunction(); // where someFunction returns either LogicalPosition or PhysicalPosition
const validPosition = position instanceof LogicalPosition
? { Logical: { x: position.x, y: position.y } }
: { Physical: { x: position.x, y: position.y } }
await invoke("do_something_with_position", { position: validPosition });

You can just use Position

import { invoke } from '@tauri-apps/api/core';
import { LogicalPosition, PhysicalPosition, Position } from '@tauri-apps/api/dpi';
const position: LogicalPosition | PhysicalPosition = someFunction(); // where someFunction returns either LogicalPosition or PhysicalPosition
const validPosition = new Position(position);
await invoke("do_something_with_position", { position: validPosition });

2.1.0

new Position(position): Position;

Defined in: packages/api/src/dpi.ts:375

Parameter Type
position | PhysicalPosition | LogicalPosition

Position

Property Type Defined in
position | PhysicalPosition | LogicalPosition packages/api/src/dpi.ts:373

__TAURI_TO_IPC_KEY__(): object;

Defined in: packages/api/src/dpi.ts:391

object

toJSON(): object;

Defined in: packages/api/src/dpi.ts:400

object

toLogical(scaleFactor): LogicalPosition;

Defined in: packages/api/src/dpi.ts:379

Parameter Type
scaleFactor number

LogicalPosition

toPhysical(scaleFactor): PhysicalPosition;

Defined in: packages/api/src/dpi.ts:385

Parameter Type
scaleFactor number

PhysicalPosition


Defined in: packages/api/src/dpi.ts:174

A size represented either in physical or in logical pixels.

This type is basically a union type of LogicalSize and PhysicalSize but comes in handy when using tauri::Size in Rust as an argument to a command, as this class automatically serializes into a valid format so it can be deserialized correctly into tauri::Size

So instead of

import { invoke } from '@tauri-apps/api/core';
import { LogicalSize, PhysicalSize } from '@tauri-apps/api/dpi';
const size: LogicalSize | PhysicalSize = someFunction(); // where someFunction returns either LogicalSize or PhysicalSize
const validSize = size instanceof LogicalSize
? { Logical: { width: size.width, height: size.height } }
: { Physical: { width: size.width, height: size.height } }
await invoke("do_something_with_size", { size: validSize });

You can just use Size

import { invoke } from '@tauri-apps/api/core';
import { LogicalSize, PhysicalSize, Size } from '@tauri-apps/api/dpi';
const size: LogicalSize | PhysicalSize = someFunction(); // where someFunction returns either LogicalSize or PhysicalSize
const validSize = new Size(size);
await invoke("do_something_with_size", { size: validSize });

2.1.0

new Size(size): Size;

Defined in: packages/api/src/dpi.ts:177

Parameter Type
size | PhysicalSize | LogicalSize

Size

Property Type Defined in
size | PhysicalSize | LogicalSize packages/api/src/dpi.ts:175

__TAURI_TO_IPC_KEY__(): object;

Defined in: packages/api/src/dpi.ts:193

object

toJSON(): object;

Defined in: packages/api/src/dpi.ts:202

object

toLogical(scaleFactor): LogicalSize;

Defined in: packages/api/src/dpi.ts:181

Parameter Type
scaleFactor number

LogicalSize

toPhysical(scaleFactor): PhysicalSize;

Defined in: packages/api/src/dpi.ts:187

Parameter Type
scaleFactor number

PhysicalSize


© 2026 Tauri Contributors. CC-BY / MIT