mirror of
https://github.com/zed-industries/zed.git
synced 2025-01-11 05:00:16 +00:00
26103e8bb9
Associates every window with its own refresh event. Removes the use of X11 present. Alternative to #8592. Instead of doing the rendering on idle and then involving a hack for polling X11 events, this PR just tries to do the rendering inside the main loop. This guarantees that we continue to poll for events after the draw, and not get screwed by the driver talking to X11 via the same file descriptor. Release Notes: - N/A
120 lines
3.1 KiB
TOML
120 lines
3.1 KiB
TOML
[package]
|
|
name = "gpui"
|
|
version = "0.1.0"
|
|
edition = "2021"
|
|
authors = ["Nathan Sobo <nathan@zed.dev>"]
|
|
description = "Zed's GPU-accelerated UI framework"
|
|
publish = false
|
|
license = "Apache-2.0"
|
|
|
|
[features]
|
|
test-support = [
|
|
"backtrace",
|
|
"env_logger",
|
|
"collections/test-support",
|
|
"util/test-support",
|
|
]
|
|
runtime_shaders = []
|
|
macos-blade = ["blade-graphics", "blade-macros", "blade-rwh", "bytemuck"]
|
|
|
|
[lib]
|
|
path = "src/gpui.rs"
|
|
doctest = false
|
|
|
|
[dependencies]
|
|
anyhow.workspace = true
|
|
async-task = "4.7"
|
|
backtrace = { version = "0.3", optional = true }
|
|
blade-graphics = { workspace = true, optional = true }
|
|
blade-macros = { workspace = true, optional = true }
|
|
blade-rwh = { workspace = true, optional = true }
|
|
bytemuck = { version = "1", optional = true }
|
|
collections.workspace = true
|
|
ctor.workspace = true
|
|
derive_more.workspace = true
|
|
env_logger = { version = "0.9", optional = true }
|
|
etagere = "0.2"
|
|
futures.workspace = true
|
|
font-kit = { git = "https://github.com/zed-industries/font-kit", rev = "5a5c4d4" }
|
|
gpui_macros.workspace = true
|
|
image = "0.23"
|
|
itertools.workspace = true
|
|
lazy_static.workspace = true
|
|
linkme = "0.3"
|
|
log.workspace = true
|
|
num_cpus = "1.13"
|
|
parking = "2.0.0"
|
|
parking_lot.workspace = true
|
|
pathfinder_geometry = "0.5"
|
|
postage.workspace = true
|
|
profiling.workspace = true
|
|
rand.workspace = true
|
|
raw-window-handle = "0.6"
|
|
refineable.workspace = true
|
|
resvg = "0.14"
|
|
schemars.workspace = true
|
|
seahash = "4.1"
|
|
serde.workspace = true
|
|
serde_derive.workspace = true
|
|
serde_json.workspace = true
|
|
slotmap = "1.0.6"
|
|
smallvec.workspace = true
|
|
smol.workspace = true
|
|
sum_tree.workspace = true
|
|
taffy = { git = "https://github.com/DioxusLabs/taffy", rev = "1876f72bee5e376023eaa518aa7b8a34c769bd1b" }
|
|
thiserror.workspace = true
|
|
time.workspace = true
|
|
tiny-skia = "0.5"
|
|
usvg = { version = "0.14", features = [] }
|
|
util.workspace = true
|
|
uuid = { version = "1.1.2", features = ["v4"] }
|
|
waker-fn = "1.1.0"
|
|
|
|
[dev-dependencies]
|
|
backtrace = "0.3"
|
|
collections = { workspace = true, features = ["test-support"] }
|
|
env_logger.workspace = true
|
|
util = { workspace = true, features = ["test-support"] }
|
|
|
|
[build-dependencies]
|
|
bindgen = "0.65.1"
|
|
cbindgen = "0.26.0"
|
|
|
|
[target.'cfg(target_os = "macos")'.dependencies]
|
|
block = "0.1"
|
|
cocoa = "0.25"
|
|
core-foundation.workspace = true
|
|
core-graphics = "0.23"
|
|
core-text = "20.1"
|
|
foreign-types = "0.5"
|
|
log.workspace = true
|
|
media.workspace = true
|
|
metal = "0.25"
|
|
objc = "0.2"
|
|
|
|
[target.'cfg(target_os = "linux")'.dependencies]
|
|
flume = "0.11"
|
|
open = "5.0.1"
|
|
ashpd = "0.7.0"
|
|
xcb = { version = "1.3", features = ["as-raw-xcb-connection", "randr", "xkb"] }
|
|
wayland-client= { version = "0.31.2" }
|
|
wayland-protocols = { version = "0.31.2", features = ["client", "staging", "unstable"] }
|
|
wayland-backend = { version = "0.3.3", features = ["client_system"] }
|
|
xkbcommon = { version = "0.7", features = ["wayland", "x11"] }
|
|
as-raw-xcb-connection = "1"
|
|
calloop = "0.12.4"
|
|
calloop-wayland-source = "0.2.0"
|
|
#TODO: use these on all platforms
|
|
blade-graphics.workspace = true
|
|
blade-macros.workspace = true
|
|
blade-rwh.workspace = true
|
|
bytemuck = "1"
|
|
cosmic-text = "0.10.0"
|
|
|
|
[[example]]
|
|
name = "hello_world"
|
|
path = "examples/hello_world.rs"
|
|
|
|
[[example]]
|
|
name = "image"
|
|
path = "examples/image/image.rs"
|