Skip to content

dpi

Classes

LogicalPosition

A position represented in logical pixels.

Constructors

new LogicalPosition()
new LogicalPosition(x, y): LogicalPosition
Parameters
ParameterType
xnumber
ynumber
Returns

LogicalPosition

new LogicalPosition()
new LogicalPosition(object): LogicalPosition
Parameters
ParameterType
objectobject
object.Logicalobject
object.Logical.xnumber
object.Logical.ynumber
Returns

LogicalPosition

new LogicalPosition()
new LogicalPosition(object): LogicalPosition
Parameters
ParameterType
objectobject
object.xnumber
object.ynumber
Returns

LogicalPosition

Properties

PropertyModifierTypeDefault valueDefined in
typereadonly"Logical"'Logical'
xpublicnumberundefined
ypublicnumberundefined

Methods

__TAURI_TO_IPC_KEY__()
__TAURI_TO_IPC_KEY__(): object
Returns

object

NameTypeDefined in
xnumber
ynumber

toJSON()
toJSON(): object
Returns

object

NameTypeDefined in
xnumber
ynumber

toPhysical()
toPhysical(scaleFactor): PhysicalPosition

Converts the logical position to a physical one.

Parameters
ParameterType
scaleFactornumber
Returns

PhysicalPosition

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

LogicalSize

A size represented in logical pixels.

Constructors

new LogicalSize()
new LogicalSize(width, height): LogicalSize
Parameters
ParameterType
widthnumber
heightnumber
Returns

LogicalSize

new LogicalSize()
new LogicalSize(object): LogicalSize
Parameters
ParameterType
objectobject
object.Logicalobject
object.Logical.heightnumber
object.Logical.widthnumber
Returns

LogicalSize

new LogicalSize()
new LogicalSize(object): LogicalSize
Parameters
ParameterType
objectobject
object.heightnumber
object.widthnumber
Returns

LogicalSize

Properties

PropertyModifierTypeDefault valueDefined in
heightpublicnumberundefined
typereadonly"Logical"'Logical'
widthpublicnumberundefined

Methods

__TAURI_TO_IPC_KEY__()
__TAURI_TO_IPC_KEY__(): object
Returns

object

NameTypeDefined in
heightnumber
widthnumber

toJSON()
toJSON(): object
Returns

object

NameTypeDefined in
heightnumber
widthnumber

toPhysical()
toPhysical(scaleFactor): PhysicalSize

Converts the logical size to a physical one.

Parameters
ParameterType
scaleFactornumber
Returns

PhysicalSize

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

PhysicalPosition

A position represented in physical pixels.

Constructors

new PhysicalPosition()
new PhysicalPosition(x, y): PhysicalPosition
Parameters
ParameterType
xnumber
ynumber
Returns

PhysicalPosition

new PhysicalPosition()
new PhysicalPosition(object): PhysicalPosition
Parameters
ParameterType
objectobject
object.Physicalobject
object.Physical.xnumber
object.Physical.ynumber
Returns

PhysicalPosition

new PhysicalPosition()
new PhysicalPosition(object): PhysicalPosition
Parameters
ParameterType
objectobject
object.xnumber
object.ynumber
Returns

PhysicalPosition

Properties

PropertyModifierTypeDefault valueDefined in
typereadonly"Physical"'Physical'
xpublicnumberundefined
ypublicnumberundefined

Methods

__TAURI_TO_IPC_KEY__()
__TAURI_TO_IPC_KEY__(): object
Returns

object

NameTypeDefined in
xnumber
ynumber

toJSON()
toJSON(): object
Returns

object

NameTypeDefined in
xnumber
ynumber

toLogical()
toLogical(scaleFactor): LogicalPosition

Converts the physical position to a logical one.

Parameters
ParameterType
scaleFactornumber
Returns

LogicalPosition

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

PhysicalSize

A size represented in physical pixels.

Constructors

new PhysicalSize()
new PhysicalSize(width, height): PhysicalSize
Parameters
ParameterType
widthnumber
heightnumber
Returns

PhysicalSize

new PhysicalSize()
new PhysicalSize(object): PhysicalSize
Parameters
ParameterType
objectobject
object.Physicalobject
object.Physical.heightnumber
object.Physical.widthnumber
Returns

PhysicalSize

new PhysicalSize()
new PhysicalSize(object): PhysicalSize
Parameters
ParameterType
objectobject
object.heightnumber
object.widthnumber
Returns

PhysicalSize

Properties

PropertyModifierTypeDefault valueDefined in
heightpublicnumberundefined
typereadonly"Physical"'Physical'
widthpublicnumberundefined

Methods

__TAURI_TO_IPC_KEY__()
__TAURI_TO_IPC_KEY__(): object
Returns

object

NameTypeDefined in
heightnumber
widthnumber

toJSON()
toJSON(): object
Returns

object

NameTypeDefined in
heightnumber
widthnumber

toLogical()
toLogical(scaleFactor): LogicalSize

Converts the physical size to a logical one.

Parameters
ParameterType
scaleFactornumber
Returns

LogicalSize

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

Position

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 '@crabnebula/taurify-api/core';
import { LogicalPosition, PhysicalPosition } from '@crabnebula/taurify-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 '@crabnebula/taurify-api/core';
import { LogicalPosition, PhysicalPosition, Position } from '@crabnebula/taurify-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 });

Constructors

new Position()
new Position(position): Position
Parameters
ParameterType
positionLogicalPosition | PhysicalPosition
Returns

Position

Properties

PropertyTypeDefined in
positionLogicalPosition | PhysicalPosition

Methods

__TAURI_TO_IPC_KEY__()
__TAURI_TO_IPC_KEY__(): object
Returns

object

toJSON()
toJSON(): object
Returns

object

toLogical()
toLogical(scaleFactor): LogicalPosition
Parameters
ParameterType
scaleFactornumber
Returns

LogicalPosition

toPhysical()
toPhysical(scaleFactor): PhysicalPosition
Parameters
ParameterType
scaleFactornumber
Returns

PhysicalPosition


Size

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 '@crabnebula/taurify-api/core';
import { LogicalSize, PhysicalSize } from '@crabnebula/taurify-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 '@crabnebula/taurify-api/core';
import { LogicalSize, PhysicalSize, Size } from '@crabnebula/taurify-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 });

Constructors

new Size()
new Size(size): Size
Parameters
ParameterType
sizeLogicalSize | PhysicalSize
Returns

Size

Properties

PropertyTypeDefined in
sizeLogicalSize | PhysicalSize

Methods

__TAURI_TO_IPC_KEY__()
__TAURI_TO_IPC_KEY__(): object
Returns

object

toJSON()
toJSON(): object
Returns

object

toLogical()
toLogical(scaleFactor): LogicalSize
Parameters
ParameterType
scaleFactornumber
Returns

LogicalSize

toPhysical()
toPhysical(scaleFactor): PhysicalSize
Parameters
ParameterType
scaleFactornumber
Returns

PhysicalSize