Files
Ely-GPUI-Components/Cargo.toml
T
ZacharyZhang-NY 9ed801b67d T26a Media: images
A new chapter, src/media. ImageViewer fits a picture to its stage and
zooms by the document steps, by keys, buttons and Cmd-scroll about the
pointer; a drag through gpui's drag, a scroll or the arrows pan it once it
overhangs; R turns it a quarter at a time. gpui paints pictures without a
transform, so media::turn turns the decoded frames off the main thread,
an asset keyed by the picture and the turn; `image` 0.25, which gpui
already decodes with, is now a dependency. ImageThumbnail shows a picture
in its own shape with a corner label and a ring when chosen, and is a Tab
stop only with a handler. Lightbox / Gallery Viewer points to
overlays::Lightbox, which the gallery opens from the thumbnails.

T26 splits into T26a–e. AGENTS.md: the drag rule says drags that pan,
turn or slide go through gpui's drag; pictures turn by their pixels.
2026-09-26 15:34:45 -04:00

65 lines
1.9 KiB
TOML

[package]
name = "ely-gpui-component"
version = "0.1.0"
edition = "2024"
rust-version = "1.95"
license = "MIT OR Apache-2.0"
description = "A restrained component library for GPUI, in light and dark."
repository = "https://github.com/ZacharyZhang-NY/Ely-GPUI-Components"
publish = false
[features]
default = ["runtime_shaders"]
runtime_shaders = ["gpui/runtime_shaders"]
test-support = ["gpui/test-support"]
[dependencies]
alacritty_terminal = { version = "0.26", default-features = false }
anyhow = "1"
barcoders = { version = "2", default-features = false, features = ["std"] }
emojis = "0.9"
futures = "0.3"
gpui = "0.2.2"
image = { version = "0.25", default-features = false }
iso_currency = { version = "0.7", features = ["iterator"] }
isocountry = "0.3"
isolang = { version = "2.4", features = ["local_names", "list_languages"] }
jiff = "0.2"
log = "0.4"
pulldown-cmark = { version = "0.13", default-features = false }
qrcode = { version = "0.14", default-features = false }
regex = "1"
rust-embed = "8.12"
serde = { version = "1", features = ["derive"] }
serde_json = "1"
similar = { version = "3.2", default-features = false, features = ["std", "text", "inline", "unicode"] }
smallvec = "1"
unicode-segmentation = "1"
[target.'cfg(target_os = "macos")'.dependencies]
block = "0.1"
cocoa = "0.26"
objc = "0.2"
raw-window-handle = "0.6"
[target.'cfg(unix)'.dependencies]
rustix = { version = "1", default-features = false, features = ["std", "fs"] }
[dev-dependencies]
env_logger = "0.11"
[target.'cfg(target_os = "macos")'.dev-dependencies]
core-foundation = "0.10"
core-graphics = "0.24"
image = { version = "0.25", default-features = false, features = ["png"] }
[lints.rust]
unexpected_cfgs = { level = "warn", check-cfg = ['cfg(feature, values("cargo-clippy"))'] }
[lints.clippy]
all = { level = "warn", priority = -1 }
[[example]]
name = "gallery"
path = "examples/gallery/main.rs"