[package]
categories = ["gui"]
description = "Types for handling UI scaling"
edition.workspace = true
keywords = ["DPI", "HiDPI", "scale-factor"]
# N.B. This is "AND", because of the imported libm code.
license = "Apache-2.0 AND MIT"
name = "dpi"
repository.workspace = true
rust-version.workspace = true
version = "0.1.2"

[features]
default = ["std"]

mint = ["dep:mint"]
serde = ["dep:serde"]

# Access mathematical functions using the standard library implementations
std = []

[dependencies]
mint = { workspace = true, optional = true }
serde = { workspace = true, optional = true }

[package.metadata.docs.rs]
features = ["mint", "serde"]
# These are all tested in CI
rustdoc-args = ["--cfg", "docsrs"]
targets = [
    # Windows
    "i686-pc-windows-msvc",
    "x86_64-pc-windows-msvc",
    # macOS
    "aarch64-apple-darwin",
    "x86_64-apple-darwin",
    # Unix (X11 & Wayland)
    "i686-unknown-linux-gnu",
    "x86_64-unknown-linux-gnu",
    # iOS
    "aarch64-apple-ios",
    # Android
    "aarch64-linux-android",
    # Web
    "wasm32-unknown-unknown",
]
