Position

external class Position(source)

A position represented either in physical or in logical pixels.

This type is basically a union type of {@linkcode LogicalSize} and {@linkcode 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 {@linkcode 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 });

Since

2.1.0

Constructors

Link copied to clipboard
constructor(position: LogicalPosition)
constructor(position: PhysicalPosition)

Properties

Link copied to clipboard

Functions

Link copied to clipboard
Link copied to clipboard
fun toLogical(scaleFactor: Double): LogicalPosition
Link copied to clipboard