* Working triangle rendering with wgpu in examples. Resize needs work in order to not reinitialize everything but only the bits needed. Naming of variables and resources are wonky and not the greatest. * The child window wasn't being resized along with the parent. This works. the abstractions in place should be passed the bounds rect down into the desktopservice to resize as opposed to in the app impl instead of how they are rn. --------- Co-authored-by: Vineeth Yeevani <vineethyeevani@Vineeths-MacBook-Air.local> Co-authored-by: Vineeth Yeevani <vineeth.yeevani@gmail.com>
151 lines
4.3 KiB
TOML
151 lines
4.3 KiB
TOML
[package]
|
|
name = "dioxus-desktop"
|
|
version = { workspace = true }
|
|
authors = ["Jonathan Kelley"]
|
|
edition = "2021"
|
|
description = "WebView renderer for Dioxus"
|
|
license = "MIT OR Apache-2.0"
|
|
repository = "https://github.com/DioxusLabs/dioxus/"
|
|
homepage = "https://dioxuslabs.com/learn/0.5/getting_started"
|
|
keywords = ["dom", "ui", "gui", "react"]
|
|
|
|
[dependencies]
|
|
dioxus-core = { workspace = true, features = ["serialize"] }
|
|
dioxus-html = { workspace = true, features = [
|
|
"serialize",
|
|
"mounted",
|
|
"file_engine",
|
|
] }
|
|
dioxus-document = { workspace = true }
|
|
dioxus-signals = { workspace = true, optional = true }
|
|
dioxus-interpreter-js = { workspace = true, features = ["binary-protocol", "serialize"] }
|
|
dioxus-cli-config = { workspace = true }
|
|
generational-box = { workspace = true }
|
|
# hotreload only works on desktop platforms.... mobile is still wip
|
|
dioxus-devtools = { workspace = true, optional = true }
|
|
|
|
serde = "1.0.136"
|
|
serde_json = "1.0.79"
|
|
thiserror = { workspace = true }
|
|
tracing = { workspace = true }
|
|
wry = { workspace = true, default-features = false, features = [
|
|
"os-webview",
|
|
"protocol",
|
|
"drag-drop",
|
|
] }
|
|
futures-channel = { workspace = true }
|
|
tokio = { workspace = true, features = [
|
|
"sync",
|
|
"rt-multi-thread",
|
|
"rt",
|
|
"time",
|
|
"macros",
|
|
"fs",
|
|
"io-util",
|
|
], optional = true }
|
|
webbrowser = "0.8.0"
|
|
infer = "0.11.0"
|
|
dunce = "1.0.2"
|
|
slab = { workspace = true }
|
|
rustc-hash = { workspace = true }
|
|
dioxus-hooks = { workspace = true }
|
|
futures-util = { workspace = true }
|
|
urlencoding = "2.1.2"
|
|
async-trait = "0.1.68"
|
|
tao = { workspace = true, features = ["rwh_05"] }
|
|
once_cell = { workspace = true }
|
|
dioxus-history.workspace = true
|
|
|
|
|
|
[target.'cfg(unix)'.dependencies]
|
|
signal-hook = "0.3.17"
|
|
|
|
[target.'cfg(target_os = "linux")'.dependencies]
|
|
wry = { workspace = true, features = [
|
|
"os-webview",
|
|
"protocol",
|
|
"drag-drop",
|
|
"linux-body"
|
|
] }
|
|
|
|
[target.'cfg(any(target_os = "windows",target_os = "macos",target_os = "linux",target_os = "dragonfly", target_os = "freebsd", target_os = "netbsd", target_os = "openbsd"))'.dependencies]
|
|
global-hotkey = "0.5.0"
|
|
rfd = { version = "0.14", default-features = false, features = ["xdg-portal", "tokio"] }
|
|
muda = "0.11.3"
|
|
|
|
[target.'cfg(any(target_os = "windows",target_os = "macos",target_os = "linux"))'.dependencies]
|
|
tray-icon = { workspace = true }
|
|
|
|
[target.'cfg(target_os = "ios")'.dependencies]
|
|
objc = "0.2.7"
|
|
objc_id = "0.1.1"
|
|
|
|
# use rustls on android
|
|
[target.'cfg(target_os = "android")'.dependencies]
|
|
tokio-tungstenite = { workspace = true, optional = true, features = ["rustls"]}
|
|
jni = "0.21.1"
|
|
ndk = { version = "0.9.0" }
|
|
ndk-sys = { version = "0.6.0" }
|
|
ndk-context = { version = "0.1.1" }
|
|
|
|
# use native tls on other platforms
|
|
[target.'cfg(not(target_os = "android"))'.dependencies]
|
|
tokio-tungstenite = { workspace = true, optional = true, features = ["native-tls"]}
|
|
|
|
[target.'cfg(target_os = "macos")'.dependencies]
|
|
cocoa = "0.25"
|
|
core-foundation = "0.9.3"
|
|
objc = "0.2.7"
|
|
|
|
[build-dependencies]
|
|
lazy-js-bundle = { workspace = true }
|
|
|
|
[features]
|
|
default = ["tokio_runtime", "exception", "transparent", "devtools"]
|
|
tokio_runtime = ["dep:tokio"]
|
|
fullscreen = ["wry/fullscreen"]
|
|
devtools = ["wry/devtools", "dep:dioxus-devtools", "dioxus-signals"]
|
|
exception = ["wry/objc-exception"]
|
|
transparent = ["wry/transparent"]
|
|
gnu = []
|
|
|
|
[package.metadata.docs.rs]
|
|
features = ["tokio_runtime", "devtools"]
|
|
cargo-args = ["-Zunstable-options", "-Zrustdoc-scrape-examples"]
|
|
default-features = false
|
|
targets = [
|
|
"x86_64-unknown-linux-gnu",
|
|
"x86_64-pc-windows-msvc",
|
|
"aarch64-apple-darwin",
|
|
"aarch64-apple-ios",
|
|
"aarch64-linux-android",
|
|
"armv7-linux-androideabi",
|
|
]
|
|
rustc-args = [ "--cfg", "docsrs" ]
|
|
rustdoc-args = [ "--cfg", "docsrs" ]
|
|
|
|
[dev-dependencies]
|
|
dioxus = { workspace = true, features = ["desktop"] }
|
|
exitcode = "1.1.2"
|
|
reqwest = { workspace = true, features = ["json"] }
|
|
http-range = { version = "0.1.5" }
|
|
dioxus-ssr = { workspace = true, default-features = false }
|
|
separator = "0.4.1"
|
|
rand = { version = "0.8.4", features = ["small_rng"] }
|
|
|
|
# These tests need to be run on the main thread, so they cannot use rust's test harness.
|
|
[[test]]
|
|
name = "check_events"
|
|
path = "headless_tests/events.rs"
|
|
harness = false
|
|
|
|
[[test]]
|
|
name = "check_rendering"
|
|
path = "headless_tests/rendering.rs"
|
|
harness = false
|
|
|
|
[[test]]
|
|
name = "check_eval"
|
|
path = "headless_tests/eval.rs"
|
|
harness = false
|