dpi
Classes
Section titled “Classes”LogicalPosition
Section titled “LogicalPosition”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
Constructors
Section titled “Constructors”new LogicalPosition()
Section titled “new LogicalPosition()”new LogicalPosition(x, y): LogicalPosition;Defined in: packages/api/src/dpi.ts:219
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
x |
number |
y |
number |
Returns
Section titled “Returns”new LogicalPosition()
Section titled “new LogicalPosition()”new LogicalPosition(object): LogicalPosition;Defined in: packages/api/src/dpi.ts:220
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
object |
{ Logical: { x: number; y: number; }; } |
object.Logical |
{ x: number; y: number; } |
object.Logical.x |
number |
object.Logical.y |
number |
Returns
Section titled “Returns”new LogicalPosition()
Section titled “new LogicalPosition()”new LogicalPosition(object): LogicalPosition;Defined in: packages/api/src/dpi.ts:221
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
object |
{ x: number; y: number; } |
object.x |
number |
object.y |
number |
Returns
Section titled “Returns”Properties
Section titled “Properties”| 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 |
Methods
Section titled “Methods”__TAURI_TO_IPC_KEY__()
Section titled “__TAURI_TO_IPC_KEY__()”__TAURI_TO_IPC_KEY__(): object;Defined in: packages/api/src/dpi.ts:261
Returns
Section titled “Returns”object
| Name | Type | Defined in |
|---|---|---|
x |
number |
packages/api/src/dpi.ts:263 |
y |
number |
packages/api/src/dpi.ts:264 |
toJSON()
Section titled “toJSON()”toJSON(): object;Defined in: packages/api/src/dpi.ts:268
Returns
Section titled “Returns”object
| Name | Type | Defined in |
|---|---|---|
x |
number |
packages/api/src/dpi.ts:263 |
y |
number |
packages/api/src/dpi.ts:264 |
toPhysical()
Section titled “toPhysical()”toPhysical(scaleFactor): PhysicalPosition;Defined in: packages/api/src/dpi.ts:257
Converts the logical position to a physical one.
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
scaleFactor |
number |
Returns
Section titled “Returns”Example
Section titled “Example”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
LogicalSize
Section titled “LogicalSize”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
Constructors
Section titled “Constructors”new LogicalSize()
Section titled “new LogicalSize()”new LogicalSize(width, height): LogicalSize;Defined in: packages/api/src/dpi.ts:21
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
width |
number |
height |
number |
Returns
Section titled “Returns”new LogicalSize()
Section titled “new LogicalSize()”new LogicalSize(object): LogicalSize;Defined in: packages/api/src/dpi.ts:22
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
object |
{ Logical: { height: number; width: number; }; } |
object.Logical |
{ height: number; width: number; } |
object.Logical.height |
number |
object.Logical.width |
number |
Returns
Section titled “Returns”new LogicalSize()
Section titled “new LogicalSize()”new LogicalSize(object): LogicalSize;Defined in: packages/api/src/dpi.ts:23
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
object |
{ height: number; width: number; } |
object.height |
number |
object.width |
number |
Returns
Section titled “Returns”Properties
Section titled “Properties”| 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 |
Methods
Section titled “Methods”__TAURI_TO_IPC_KEY__()
Section titled “__TAURI_TO_IPC_KEY__()”__TAURI_TO_IPC_KEY__(): object;Defined in: packages/api/src/dpi.ts:63
Returns
Section titled “Returns”object
| Name | Type | Defined in |
|---|---|---|
height |
number |
packages/api/src/dpi.ts:66 |
width |
number |
packages/api/src/dpi.ts:65 |
toJSON()
Section titled “toJSON()”toJSON(): object;Defined in: packages/api/src/dpi.ts:70
Returns
Section titled “Returns”object
| Name | Type | Defined in |
|---|---|---|
height |
number |
packages/api/src/dpi.ts:66 |
width |
number |
packages/api/src/dpi.ts:65 |
toPhysical()
Section titled “toPhysical()”toPhysical(scaleFactor): PhysicalSize;Defined in: packages/api/src/dpi.ts:59
Converts the logical size to a physical one.
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
scaleFactor |
number |
Returns
Section titled “Returns”Example
Section titled “Example”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
PhysicalPosition
Section titled “PhysicalPosition”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
Constructors
Section titled “Constructors”new PhysicalPosition()
Section titled “new PhysicalPosition()”new PhysicalPosition(x, y): PhysicalPosition;Defined in: packages/api/src/dpi.ts:286
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
x |
number |
y |
number |
Returns
Section titled “Returns”new PhysicalPosition()
Section titled “new PhysicalPosition()”new PhysicalPosition(object): PhysicalPosition;Defined in: packages/api/src/dpi.ts:287
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
object |
{ Physical: { x: number; y: number; }; } |
object.Physical |
{ x: number; y: number; } |
object.Physical.x |
number |
object.Physical.y |
number |
Returns
Section titled “Returns”new PhysicalPosition()
Section titled “new PhysicalPosition()”new PhysicalPosition(object): PhysicalPosition;Defined in: packages/api/src/dpi.ts:288
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
object |
{ x: number; y: number; } |
object.x |
number |
object.y |
number |
Returns
Section titled “Returns”Properties
Section titled “Properties”| 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 |
Methods
Section titled “Methods”__TAURI_TO_IPC_KEY__()
Section titled “__TAURI_TO_IPC_KEY__()”__TAURI_TO_IPC_KEY__(): object;Defined in: packages/api/src/dpi.ts:328
Returns
Section titled “Returns”object
| Name | Type | Defined in |
|---|---|---|
x |
number |
packages/api/src/dpi.ts:330 |
y |
number |
packages/api/src/dpi.ts:331 |
toJSON()
Section titled “toJSON()”toJSON(): object;Defined in: packages/api/src/dpi.ts:335
Returns
Section titled “Returns”object
| Name | Type | Defined in |
|---|---|---|
x |
number |
packages/api/src/dpi.ts:330 |
y |
number |
packages/api/src/dpi.ts:331 |
toLogical()
Section titled “toLogical()”toLogical(scaleFactor): LogicalPosition;Defined in: packages/api/src/dpi.ts:324
Converts the physical position to a logical one.
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
scaleFactor |
number |
Returns
Section titled “Returns”Example
Section titled “Example”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
PhysicalSize
Section titled “PhysicalSize”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
Constructors
Section titled “Constructors”new PhysicalSize()
Section titled “new PhysicalSize()”new PhysicalSize(width, height): PhysicalSize;Defined in: packages/api/src/dpi.ts:92
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
width |
number |
height |
number |
Returns
Section titled “Returns”new PhysicalSize()
Section titled “new PhysicalSize()”new PhysicalSize(object): PhysicalSize;Defined in: packages/api/src/dpi.ts:93
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
object |
{ Physical: { height: number; width: number; }; } |
object.Physical |
{ height: number; width: number; } |
object.Physical.height |
number |
object.Physical.width |
number |
Returns
Section titled “Returns”new PhysicalSize()
Section titled “new PhysicalSize()”new PhysicalSize(object): PhysicalSize;Defined in: packages/api/src/dpi.ts:94
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
object |
{ height: number; width: number; } |
object.height |
number |
object.width |
number |
Returns
Section titled “Returns”Properties
Section titled “Properties”| 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 |
Methods
Section titled “Methods”__TAURI_TO_IPC_KEY__()
Section titled “__TAURI_TO_IPC_KEY__()”__TAURI_TO_IPC_KEY__(): object;Defined in: packages/api/src/dpi.ts:130
Returns
Section titled “Returns”object
| Name | Type | Defined in |
|---|---|---|
height |
number |
packages/api/src/dpi.ts:133 |
width |
number |
packages/api/src/dpi.ts:132 |
toJSON()
Section titled “toJSON()”toJSON(): object;Defined in: packages/api/src/dpi.ts:137
Returns
Section titled “Returns”object
| Name | Type | Defined in |
|---|---|---|
height |
number |
packages/api/src/dpi.ts:133 |
width |
number |
packages/api/src/dpi.ts:132 |
toLogical()
Section titled “toLogical()”toLogical(scaleFactor): LogicalSize;Defined in: packages/api/src/dpi.ts:126
Converts the physical size to a logical one.
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
scaleFactor |
number |
Returns
Section titled “Returns”Example
Section titled “Example”import { getCurrentWindow } from '@tauri-apps/api/window';const appWindow = getCurrentWindow();const factor = await appWindow.scaleFactor();const size = await appWindow.innerSize(); // PhysicalSizeconst logical = size.toLogical(factor);Position
Section titled “Position”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 PhysicalPositionconst 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 PhysicalPositionconst validPosition = new Position(position);await invoke("do_something_with_position", { position: validPosition });2.1.0
Constructors
Section titled “Constructors”new Position()
Section titled “new Position()”new Position(position): Position;Defined in: packages/api/src/dpi.ts:375
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
position |
| PhysicalPosition | LogicalPosition |
Returns
Section titled “Returns”Properties
Section titled “Properties”| Property | Type | Defined in |
|---|---|---|
position |
| PhysicalPosition | LogicalPosition |
packages/api/src/dpi.ts:373 |
Methods
Section titled “Methods”__TAURI_TO_IPC_KEY__()
Section titled “__TAURI_TO_IPC_KEY__()”__TAURI_TO_IPC_KEY__(): object;Defined in: packages/api/src/dpi.ts:391
Returns
Section titled “Returns”object
toJSON()
Section titled “toJSON()”toJSON(): object;Defined in: packages/api/src/dpi.ts:400
Returns
Section titled “Returns”object
toLogical()
Section titled “toLogical()”toLogical(scaleFactor): LogicalPosition;Defined in: packages/api/src/dpi.ts:379
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
scaleFactor |
number |
Returns
Section titled “Returns”toPhysical()
Section titled “toPhysical()”toPhysical(scaleFactor): PhysicalPosition;Defined in: packages/api/src/dpi.ts:385
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
scaleFactor |
number |
Returns
Section titled “Returns”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 PhysicalSizeconst 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 PhysicalSizeconst validSize = new Size(size);await invoke("do_something_with_size", { size: validSize });2.1.0
Constructors
Section titled “Constructors”new Size()
Section titled “new Size()”new Size(size): Size;Defined in: packages/api/src/dpi.ts:177
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
size |
| PhysicalSize | LogicalSize |
Returns
Section titled “Returns”Properties
Section titled “Properties”| Property | Type | Defined in |
|---|---|---|
size |
| PhysicalSize | LogicalSize |
packages/api/src/dpi.ts:175 |
Methods
Section titled “Methods”__TAURI_TO_IPC_KEY__()
Section titled “__TAURI_TO_IPC_KEY__()”__TAURI_TO_IPC_KEY__(): object;Defined in: packages/api/src/dpi.ts:193
Returns
Section titled “Returns”object
toJSON()
Section titled “toJSON()”toJSON(): object;Defined in: packages/api/src/dpi.ts:202
Returns
Section titled “Returns”object
toLogical()
Section titled “toLogical()”toLogical(scaleFactor): LogicalSize;Defined in: packages/api/src/dpi.ts:181
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
scaleFactor |
number |
Returns
Section titled “Returns”toPhysical()
Section titled “toPhysical()”toPhysical(scaleFactor): PhysicalSize;Defined in: packages/api/src/dpi.ts:187
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
scaleFactor |
number |
Returns
Section titled “Returns”© 2026 Tauri Contributors. CC-BY / MIT