Initial commit
This commit is contained in:
289
node_modules/@tauri-apps/api/dpi.d.ts
generated
vendored
Normal file
289
node_modules/@tauri-apps/api/dpi.d.ts
generated
vendored
Normal file
@@ -0,0 +1,289 @@
|
||||
import { SERIALIZE_TO_IPC_FN } from './core';
|
||||
/**
|
||||
* 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 {@linkcode LogicalPosition}.
|
||||
*
|
||||
* @since 2.0.0
|
||||
*/
|
||||
declare class LogicalSize {
|
||||
readonly type = "Logical";
|
||||
width: number;
|
||||
height: number;
|
||||
constructor(width: number, height: number);
|
||||
constructor(object: {
|
||||
Logical: {
|
||||
width: number;
|
||||
height: number;
|
||||
};
|
||||
});
|
||||
constructor(object: {
|
||||
width: number;
|
||||
height: number;
|
||||
});
|
||||
/**
|
||||
* Converts the logical size to a physical one.
|
||||
* @example
|
||||
* ```typescript
|
||||
* 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);
|
||||
* ```
|
||||
*
|
||||
* @since 2.0.0
|
||||
*/
|
||||
toPhysical(scaleFactor: number): PhysicalSize;
|
||||
[SERIALIZE_TO_IPC_FN](): {
|
||||
width: number;
|
||||
height: number;
|
||||
};
|
||||
toJSON(): {
|
||||
width: number;
|
||||
height: number;
|
||||
};
|
||||
}
|
||||
/**
|
||||
* 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 {@linkcode LogicalSize}.
|
||||
*
|
||||
* For physical-pixel-based position, see {@linkcode PhysicalPosition}.
|
||||
*
|
||||
* @since 2.0.0
|
||||
*/
|
||||
declare class PhysicalSize {
|
||||
readonly type = "Physical";
|
||||
width: number;
|
||||
height: number;
|
||||
constructor(width: number, height: number);
|
||||
constructor(object: {
|
||||
Physical: {
|
||||
width: number;
|
||||
height: number;
|
||||
};
|
||||
});
|
||||
constructor(object: {
|
||||
width: number;
|
||||
height: number;
|
||||
});
|
||||
/**
|
||||
* Converts the physical size to a logical one.
|
||||
* @example
|
||||
* ```typescript
|
||||
* 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);
|
||||
* ```
|
||||
*/
|
||||
toLogical(scaleFactor: number): LogicalSize;
|
||||
[SERIALIZE_TO_IPC_FN](): {
|
||||
width: number;
|
||||
height: number;
|
||||
};
|
||||
toJSON(): {
|
||||
width: number;
|
||||
height: number;
|
||||
};
|
||||
}
|
||||
/**
|
||||
* A size 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::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
|
||||
* ```typescript
|
||||
* 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 {@linkcode Size}
|
||||
* ```typescript
|
||||
* 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 });
|
||||
* ```
|
||||
*
|
||||
* @since 2.1.0
|
||||
*/
|
||||
declare class Size {
|
||||
size: LogicalSize | PhysicalSize;
|
||||
constructor(size: LogicalSize | PhysicalSize);
|
||||
toLogical(scaleFactor: number): LogicalSize;
|
||||
toPhysical(scaleFactor: number): PhysicalSize;
|
||||
[SERIALIZE_TO_IPC_FN](): {
|
||||
[x: string]: {
|
||||
width: number;
|
||||
height: number;
|
||||
};
|
||||
};
|
||||
toJSON(): {
|
||||
[x: string]: {
|
||||
width: number;
|
||||
height: number;
|
||||
};
|
||||
};
|
||||
}
|
||||
/**
|
||||
* A position represented in logical pixels.
|
||||
* For an explanation of what logical pixels are, see description of {@linkcode LogicalSize}.
|
||||
*
|
||||
* @since 2.0.0
|
||||
*/
|
||||
declare class LogicalPosition {
|
||||
readonly type = "Logical";
|
||||
x: number;
|
||||
y: number;
|
||||
constructor(x: number, y: number);
|
||||
constructor(object: {
|
||||
Logical: {
|
||||
x: number;
|
||||
y: number;
|
||||
};
|
||||
});
|
||||
constructor(object: {
|
||||
x: number;
|
||||
y: number;
|
||||
});
|
||||
/**
|
||||
* Converts the logical position to a physical one.
|
||||
* @example
|
||||
* ```typescript
|
||||
* 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);
|
||||
* ```
|
||||
*
|
||||
* @since 2.0.0
|
||||
*/
|
||||
toPhysical(scaleFactor: number): PhysicalPosition;
|
||||
[SERIALIZE_TO_IPC_FN](): {
|
||||
x: number;
|
||||
y: number;
|
||||
};
|
||||
toJSON(): {
|
||||
x: number;
|
||||
y: number;
|
||||
};
|
||||
}
|
||||
/**
|
||||
* A position represented in physical pixels.
|
||||
*
|
||||
* For an explanation of what physical pixels are, see description of {@linkcode PhysicalSize}.
|
||||
*
|
||||
* @since 2.0.0
|
||||
*/
|
||||
declare class PhysicalPosition {
|
||||
readonly type = "Physical";
|
||||
x: number;
|
||||
y: number;
|
||||
constructor(x: number, y: number);
|
||||
constructor(object: {
|
||||
Physical: {
|
||||
x: number;
|
||||
y: number;
|
||||
};
|
||||
});
|
||||
constructor(object: {
|
||||
x: number;
|
||||
y: number;
|
||||
});
|
||||
/**
|
||||
* Converts the physical position to a logical one.
|
||||
* @example
|
||||
* ```typescript
|
||||
* 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);
|
||||
* ```
|
||||
*
|
||||
* @since 2.0.0
|
||||
*/
|
||||
toLogical(scaleFactor: number): LogicalPosition;
|
||||
[SERIALIZE_TO_IPC_FN](): {
|
||||
x: number;
|
||||
y: number;
|
||||
};
|
||||
toJSON(): {
|
||||
x: number;
|
||||
y: number;
|
||||
};
|
||||
}
|
||||
/**
|
||||
* 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
|
||||
* ```typescript
|
||||
* 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}
|
||||
* ```typescript
|
||||
* 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
|
||||
*/
|
||||
declare class Position {
|
||||
position: LogicalPosition | PhysicalPosition;
|
||||
constructor(position: LogicalPosition | PhysicalPosition);
|
||||
toLogical(scaleFactor: number): LogicalPosition;
|
||||
toPhysical(scaleFactor: number): PhysicalPosition;
|
||||
[SERIALIZE_TO_IPC_FN](): {
|
||||
[x: string]: {
|
||||
x: number;
|
||||
y: number;
|
||||
};
|
||||
};
|
||||
toJSON(): {
|
||||
[x: string]: {
|
||||
x: number;
|
||||
y: number;
|
||||
};
|
||||
};
|
||||
}
|
||||
export { LogicalPosition, LogicalSize, Size, PhysicalPosition, PhysicalSize, Position };
|
||||
Reference in New Issue
Block a user