dave: prepare for android
This commit is contained in:
165
Cargo.lock
generated
165
Cargo.lock
generated
@@ -1031,7 +1031,7 @@ dependencies = [
|
|||||||
"bitflags 1.3.2",
|
"bitflags 1.3.2",
|
||||||
"core-foundation 0.9.4",
|
"core-foundation 0.9.4",
|
||||||
"core-graphics-types",
|
"core-graphics-types",
|
||||||
"foreign-types 0.5.0",
|
"foreign-types",
|
||||||
"libc",
|
"libc",
|
||||||
]
|
]
|
||||||
|
|
||||||
@@ -1495,15 +1495,6 @@ dependencies = [
|
|||||||
"serde",
|
"serde",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "encoding_rs"
|
|
||||||
version = "0.8.35"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "75030f3c4f45dafd7586dd6780965a8c7e8e285a5ecb86713e63a79c5b2766f3"
|
|
||||||
dependencies = [
|
|
||||||
"cfg-if",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "endi"
|
name = "endi"
|
||||||
version = "1.1.0"
|
version = "1.1.0"
|
||||||
@@ -1743,15 +1734,6 @@ version = "0.1.5"
|
|||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2"
|
checksum = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2"
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "foreign-types"
|
|
||||||
version = "0.3.2"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1"
|
|
||||||
dependencies = [
|
|
||||||
"foreign-types-shared 0.1.1",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "foreign-types"
|
name = "foreign-types"
|
||||||
version = "0.5.0"
|
version = "0.5.0"
|
||||||
@@ -1759,7 +1741,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
|||||||
checksum = "d737d9aa519fb7b749cbc3b962edcf310a8dd1f4b67c91c4f83975dbdd17d965"
|
checksum = "d737d9aa519fb7b749cbc3b962edcf310a8dd1f4b67c91c4f83975dbdd17d965"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"foreign-types-macros",
|
"foreign-types-macros",
|
||||||
"foreign-types-shared 0.3.1",
|
"foreign-types-shared",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@@ -1773,12 +1755,6 @@ dependencies = [
|
|||||||
"syn",
|
"syn",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "foreign-types-shared"
|
|
||||||
version = "0.1.1"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b"
|
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "foreign-types-shared"
|
name = "foreign-types-shared"
|
||||||
version = "0.3.1"
|
version = "0.3.1"
|
||||||
@@ -2111,25 +2087,6 @@ dependencies = [
|
|||||||
"bitflags 2.9.0",
|
"bitflags 2.9.0",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "h2"
|
|
||||||
version = "0.4.9"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "75249d144030531f8dee69fe9cea04d3edf809a017ae445e2abdff6629e86633"
|
|
||||||
dependencies = [
|
|
||||||
"atomic-waker",
|
|
||||||
"bytes",
|
|
||||||
"fnv",
|
|
||||||
"futures-core",
|
|
||||||
"futures-sink",
|
|
||||||
"http",
|
|
||||||
"indexmap",
|
|
||||||
"slab",
|
|
||||||
"tokio",
|
|
||||||
"tokio-util",
|
|
||||||
"tracing",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "half"
|
name = "half"
|
||||||
version = "2.5.0"
|
version = "2.5.0"
|
||||||
@@ -2269,7 +2226,6 @@ dependencies = [
|
|||||||
"bytes",
|
"bytes",
|
||||||
"futures-channel",
|
"futures-channel",
|
||||||
"futures-util",
|
"futures-util",
|
||||||
"h2",
|
|
||||||
"http",
|
"http",
|
||||||
"http-body",
|
"http-body",
|
||||||
"httparse",
|
"httparse",
|
||||||
@@ -2298,22 +2254,6 @@ dependencies = [
|
|||||||
"tower-service",
|
"tower-service",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "hyper-tls"
|
|
||||||
version = "0.6.0"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "70206fc6890eaca9fde8a0bf71caa2ddfc9fe045ac9e5c70df101a7dbde866e0"
|
|
||||||
dependencies = [
|
|
||||||
"bytes",
|
|
||||||
"http-body-util",
|
|
||||||
"hyper",
|
|
||||||
"hyper-util",
|
|
||||||
"native-tls",
|
|
||||||
"tokio",
|
|
||||||
"tokio-native-tls",
|
|
||||||
"tower-service",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "hyper-util"
|
name = "hyper-util"
|
||||||
version = "0.1.11"
|
version = "0.1.11"
|
||||||
@@ -2881,7 +2821,7 @@ dependencies = [
|
|||||||
"bitflags 2.9.0",
|
"bitflags 2.9.0",
|
||||||
"block",
|
"block",
|
||||||
"core-graphics-types",
|
"core-graphics-types",
|
||||||
"foreign-types 0.5.0",
|
"foreign-types",
|
||||||
"log",
|
"log",
|
||||||
"objc",
|
"objc",
|
||||||
"paste",
|
"paste",
|
||||||
@@ -2963,23 +2903,6 @@ dependencies = [
|
|||||||
"unicode-xid",
|
"unicode-xid",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "native-tls"
|
|
||||||
version = "0.2.14"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "87de3442987e9dbec73158d5c715e7ad9072fda936bb03d19d7fa10e00520f0e"
|
|
||||||
dependencies = [
|
|
||||||
"libc",
|
|
||||||
"log",
|
|
||||||
"openssl",
|
|
||||||
"openssl-probe",
|
|
||||||
"openssl-sys",
|
|
||||||
"schannel",
|
|
||||||
"security-framework 2.11.1",
|
|
||||||
"security-framework-sys",
|
|
||||||
"tempfile",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "natord"
|
name = "natord"
|
||||||
version = "1.0.9"
|
version = "1.0.9"
|
||||||
@@ -3306,7 +3229,6 @@ dependencies = [
|
|||||||
"nostrdb",
|
"nostrdb",
|
||||||
"notedeck",
|
"notedeck",
|
||||||
"rand 0.9.0",
|
"rand 0.9.0",
|
||||||
"reqwest",
|
|
||||||
"serde",
|
"serde",
|
||||||
"serde_json",
|
"serde_json",
|
||||||
"time",
|
"time",
|
||||||
@@ -3698,50 +3620,12 @@ dependencies = [
|
|||||||
"pathdiff",
|
"pathdiff",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "openssl"
|
|
||||||
version = "0.10.72"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "fedfea7d58a1f73118430a55da6a286e7b044961736ce96a16a17068ea25e5da"
|
|
||||||
dependencies = [
|
|
||||||
"bitflags 2.9.0",
|
|
||||||
"cfg-if",
|
|
||||||
"foreign-types 0.3.2",
|
|
||||||
"libc",
|
|
||||||
"once_cell",
|
|
||||||
"openssl-macros",
|
|
||||||
"openssl-sys",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "openssl-macros"
|
|
||||||
version = "0.1.1"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c"
|
|
||||||
dependencies = [
|
|
||||||
"proc-macro2",
|
|
||||||
"quote",
|
|
||||||
"syn",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "openssl-probe"
|
name = "openssl-probe"
|
||||||
version = "0.1.6"
|
version = "0.1.6"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "d05e27ee213611ffe7d6348b942e8f942b37114c00cc03cec254295a4a17852e"
|
checksum = "d05e27ee213611ffe7d6348b942e8f942b37114c00cc03cec254295a4a17852e"
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "openssl-sys"
|
|
||||||
version = "0.9.107"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "8288979acd84749c744a9014b4382d42b8f7b2592847b5afb2ed29e5d16ede07"
|
|
||||||
dependencies = [
|
|
||||||
"cc",
|
|
||||||
"libc",
|
|
||||||
"pkg-config",
|
|
||||||
"vcpkg",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "option-ext"
|
name = "option-ext"
|
||||||
version = "0.2.0"
|
version = "0.2.0"
|
||||||
@@ -4398,23 +4282,19 @@ checksum = "d19c46a6fdd48bc4dab94b6103fccc55d34c67cc0ad04653aad4ea2a07cd7bbb"
|
|||||||
dependencies = [
|
dependencies = [
|
||||||
"base64 0.22.1",
|
"base64 0.22.1",
|
||||||
"bytes",
|
"bytes",
|
||||||
"encoding_rs",
|
|
||||||
"futures-core",
|
"futures-core",
|
||||||
"futures-util",
|
"futures-util",
|
||||||
"h2",
|
|
||||||
"http",
|
"http",
|
||||||
"http-body",
|
"http-body",
|
||||||
"http-body-util",
|
"http-body-util",
|
||||||
"hyper",
|
"hyper",
|
||||||
"hyper-rustls",
|
"hyper-rustls",
|
||||||
"hyper-tls",
|
|
||||||
"hyper-util",
|
"hyper-util",
|
||||||
"ipnet",
|
"ipnet",
|
||||||
"js-sys",
|
"js-sys",
|
||||||
"log",
|
"log",
|
||||||
"mime",
|
"mime",
|
||||||
"mime_guess",
|
"mime_guess",
|
||||||
"native-tls",
|
|
||||||
"once_cell",
|
"once_cell",
|
||||||
"percent-encoding",
|
"percent-encoding",
|
||||||
"pin-project-lite",
|
"pin-project-lite",
|
||||||
@@ -4427,9 +4307,7 @@ dependencies = [
|
|||||||
"serde_json",
|
"serde_json",
|
||||||
"serde_urlencoded",
|
"serde_urlencoded",
|
||||||
"sync_wrapper",
|
"sync_wrapper",
|
||||||
"system-configuration",
|
|
||||||
"tokio",
|
"tokio",
|
||||||
"tokio-native-tls",
|
|
||||||
"tokio-rustls",
|
"tokio-rustls",
|
||||||
"tokio-util",
|
"tokio-util",
|
||||||
"tower",
|
"tower",
|
||||||
@@ -5140,27 +5018,6 @@ dependencies = [
|
|||||||
"syn",
|
"syn",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "system-configuration"
|
|
||||||
version = "0.6.1"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "3c879d448e9d986b661742763247d3693ed13609438cf3d006f51f5368a5ba6b"
|
|
||||||
dependencies = [
|
|
||||||
"bitflags 2.9.0",
|
|
||||||
"core-foundation 0.9.4",
|
|
||||||
"system-configuration-sys",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "system-configuration-sys"
|
|
||||||
version = "0.6.0"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "8e1d1b10ced5ca923a1fcb8d03e96b8d3268065d724548c0211415ff6ac6bac4"
|
|
||||||
dependencies = [
|
|
||||||
"core-foundation-sys",
|
|
||||||
"libc",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "system-deps"
|
name = "system-deps"
|
||||||
version = "6.2.2"
|
version = "6.2.2"
|
||||||
@@ -5379,16 +5236,6 @@ dependencies = [
|
|||||||
"syn",
|
"syn",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "tokio-native-tls"
|
|
||||||
version = "0.3.1"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "bbae76ab933c85776efabc971569dd6119c580d8f5d448769dec1764bf796ef2"
|
|
||||||
dependencies = [
|
|
||||||
"native-tls",
|
|
||||||
"tokio",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "tokio-rustls"
|
name = "tokio-rustls"
|
||||||
version = "0.26.2"
|
version = "0.26.2"
|
||||||
@@ -5852,12 +5699,6 @@ version = "0.1.1"
|
|||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "ba73ea9cf16a25df0c8caa16c51acb937d5712a8429db78a3ee29d5dcacd3a65"
|
checksum = "ba73ea9cf16a25df0c8caa16c51acb937d5712a8429db78a3ee29d5dcacd3a65"
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "vcpkg"
|
|
||||||
version = "0.2.15"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426"
|
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "vec1"
|
name = "vec1"
|
||||||
version = "1.12.1"
|
version = "1.12.1"
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ name = "notedeck_chrome"
|
|||||||
version = { workspace = true }
|
version = { workspace = true }
|
||||||
authors = ["William Casarin <jb55@jb55.com>", "kernelkind <kernelkind@gmail.com>"]
|
authors = ["William Casarin <jb55@jb55.com>", "kernelkind <kernelkind@gmail.com>"]
|
||||||
edition = "2021"
|
edition = "2021"
|
||||||
default-run = "notedeck"
|
#default-run = "notedeck"
|
||||||
#rust-version = "1.60"
|
#rust-version = "1.60"
|
||||||
license = "GPLv3"
|
license = "GPLv3"
|
||||||
description = "The nostr browser"
|
description = "The nostr browser"
|
||||||
|
|||||||
@@ -3,8 +3,9 @@
|
|||||||
|
|
||||||
use egui_winit::winit::platform::android::activity::AndroidApp;
|
use egui_winit::winit::platform::android::activity::AndroidApp;
|
||||||
use notedeck_columns::Damus;
|
use notedeck_columns::Damus;
|
||||||
|
use notedeck_dave::Dave;
|
||||||
|
|
||||||
use crate::setup::setup_chrome;
|
use crate::{setup::setup_chrome, chrome::Chrome};
|
||||||
use notedeck::Notedeck;
|
use notedeck::Notedeck;
|
||||||
use serde_json::Value;
|
use serde_json::Value;
|
||||||
use std::fs;
|
use std::fs;
|
||||||
@@ -13,7 +14,7 @@ use std::path::PathBuf;
|
|||||||
#[no_mangle]
|
#[no_mangle]
|
||||||
#[tokio::main]
|
#[tokio::main]
|
||||||
pub async fn android_main(app: AndroidApp) {
|
pub async fn android_main(app: AndroidApp) {
|
||||||
use tracing_logcat::{LogcatMakeWriter, LogcatTag};
|
//use tracing_logcat::{LogcatMakeWriter, LogcatTag};
|
||||||
use tracing_subscriber::{prelude::*, EnvFilter};
|
use tracing_subscriber::{prelude::*, EnvFilter};
|
||||||
|
|
||||||
std::env::set_var("RUST_BACKTRACE", "full");
|
std::env::set_var("RUST_BACKTRACE", "full");
|
||||||
@@ -24,8 +25,8 @@ pub async fn android_main(app: AndroidApp) {
|
|||||||
// "enostr=debug,notedeck_columns=debug,notedeck_chrome=debug",
|
// "enostr=debug,notedeck_columns=debug,notedeck_chrome=debug",
|
||||||
//);
|
//);
|
||||||
|
|
||||||
let writer =
|
//let writer =
|
||||||
LogcatMakeWriter::new(LogcatTag::Target).expect("Failed to initialize logcat writer");
|
//LogcatMakeWriter::new(LogcatTag::Target).expect("Failed to initialize logcat writer");
|
||||||
|
|
||||||
let fmt_layer = tracing_subscriber::fmt::layer()
|
let fmt_layer = tracing_subscriber::fmt::layer()
|
||||||
.with_level(false)
|
.with_level(false)
|
||||||
@@ -62,12 +63,15 @@ pub async fn android_main(app: AndroidApp) {
|
|||||||
let mut notedeck = Notedeck::new(ctx, path, &app_args);
|
let mut notedeck = Notedeck::new(ctx, path, &app_args);
|
||||||
setup_chrome(ctx, ¬edeck.args(), notedeck.theme());
|
setup_chrome(ctx, ¬edeck.args(), notedeck.theme());
|
||||||
|
|
||||||
let damus = Damus::new(&mut notedeck.app_context(), &app_args);
|
let context = &mut notedeck.app_context();
|
||||||
|
let dave = Dave::new(cc.wgpu_render_state.as_ref());
|
||||||
|
let columns = Damus::new(context, &app_args);
|
||||||
|
let mut chrome = Chrome::new();
|
||||||
|
|
||||||
// ensure we recognized all the arguments
|
// ensure we recognized all the arguments
|
||||||
let completely_unrecognized: Vec<String> = notedeck
|
let completely_unrecognized: Vec<String> = notedeck
|
||||||
.unrecognized_args()
|
.unrecognized_args()
|
||||||
.intersection(damus.unrecognized_args())
|
.intersection(columns.unrecognized_args())
|
||||||
.cloned()
|
.cloned()
|
||||||
.collect();
|
.collect();
|
||||||
assert!(
|
assert!(
|
||||||
@@ -76,7 +80,13 @@ pub async fn android_main(app: AndroidApp) {
|
|||||||
completely_unrecognized
|
completely_unrecognized
|
||||||
);
|
);
|
||||||
|
|
||||||
notedeck.set_app(damus);
|
chrome.add_app(columns);
|
||||||
|
chrome.add_app(dave);
|
||||||
|
|
||||||
|
// test dav
|
||||||
|
chrome.set_active(1);
|
||||||
|
|
||||||
|
notedeck.set_app(chrome);
|
||||||
|
|
||||||
Ok(Box::new(notedeck))
|
Ok(Box::new(notedeck))
|
||||||
}),
|
}),
|
||||||
|
|||||||
37
crates/notedeck_chrome/src/chrome.rs
Normal file
37
crates/notedeck_chrome/src/chrome.rs
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
|
||||||
|
// Entry point for wasm
|
||||||
|
//#[cfg(target_arch = "wasm32")]
|
||||||
|
//use wasm_bindgen::prelude::*;
|
||||||
|
|
||||||
|
pub struct Chrome {
|
||||||
|
active: i32,
|
||||||
|
apps: Vec<Box<dyn notedeck::App>>,
|
||||||
|
}
|
||||||
|
|
||||||
|
impl Chrome {
|
||||||
|
pub fn new() -> Self {
|
||||||
|
Chrome {
|
||||||
|
active: 0,
|
||||||
|
apps: vec![],
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
pub fn add_app(&mut self, app: impl notedeck::App + 'static) {
|
||||||
|
self.apps.push(Box::new(app));
|
||||||
|
}
|
||||||
|
|
||||||
|
pub fn set_active(&mut self, app: i32) {
|
||||||
|
self.active = app;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
impl notedeck::App for Chrome {
|
||||||
|
fn update(&mut self, ctx: &mut notedeck::AppContext, ui: &mut egui::Ui) {
|
||||||
|
let active = self.active;
|
||||||
|
self.apps[active as usize].update(ctx, ui);
|
||||||
|
//for i in 0..self.apps.len() {
|
||||||
|
// self.apps[i].update(ctx, ui);
|
||||||
|
//}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@@ -4,3 +4,7 @@ pub mod theme;
|
|||||||
|
|
||||||
#[cfg(target_os = "android")]
|
#[cfg(target_os = "android")]
|
||||||
mod android;
|
mod android;
|
||||||
|
|
||||||
|
mod chrome;
|
||||||
|
|
||||||
|
pub use chrome::Chrome;
|
||||||
|
|||||||
@@ -1,49 +1,16 @@
|
|||||||
#![cfg_attr(not(debug_assertions), windows_subsystem = "windows")]
|
//#![cfg_attr(not(debug_assertions), windows_subsystem = "windows")]
|
||||||
// hide console window on Windows in release
|
// hide console window on Windows in release
|
||||||
use notedeck_chrome::setup::{generate_native_options, setup_chrome};
|
|
||||||
|
|
||||||
use notedeck::{DataPath, DataPathType, Notedeck};
|
use notedeck::{DataPath, DataPathType, Notedeck};
|
||||||
|
use notedeck_chrome::{
|
||||||
|
setup::{generate_native_options, setup_chrome},
|
||||||
|
Chrome,
|
||||||
|
};
|
||||||
use notedeck_columns::Damus;
|
use notedeck_columns::Damus;
|
||||||
use notedeck_dave::Dave;
|
use notedeck_dave::Dave;
|
||||||
use tracing_appender::non_blocking::WorkerGuard;
|
use tracing_appender::non_blocking::WorkerGuard;
|
||||||
use tracing_subscriber::EnvFilter;
|
use tracing_subscriber::EnvFilter;
|
||||||
|
|
||||||
// Entry point for wasm
|
|
||||||
//#[cfg(target_arch = "wasm32")]
|
|
||||||
//use wasm_bindgen::prelude::*;
|
|
||||||
|
|
||||||
struct Chrome {
|
|
||||||
active: i32,
|
|
||||||
apps: Vec<Box<dyn notedeck::App>>,
|
|
||||||
}
|
|
||||||
|
|
||||||
impl Chrome {
|
|
||||||
pub fn new() -> Self {
|
|
||||||
Chrome {
|
|
||||||
active: 0,
|
|
||||||
apps: vec![],
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
pub fn add_app(&mut self, app: impl notedeck::App + 'static) {
|
|
||||||
self.apps.push(Box::new(app));
|
|
||||||
}
|
|
||||||
|
|
||||||
pub fn set_active(&mut self, app: i32) {
|
|
||||||
self.active = app;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
impl notedeck::App for Chrome {
|
|
||||||
fn update(&mut self, ctx: &mut notedeck::AppContext, ui: &mut egui::Ui) {
|
|
||||||
let active = self.active;
|
|
||||||
self.apps[active as usize].update(ctx, ui);
|
|
||||||
//for i in 0..self.apps.len() {
|
|
||||||
// self.apps[i].update(ctx, ui);
|
|
||||||
//}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
fn setup_logging(path: &DataPath) -> Option<WorkerGuard> {
|
fn setup_logging(path: &DataPath) -> Option<WorkerGuard> {
|
||||||
#[allow(unused_variables)] // need guard to live for lifetime of program
|
#[allow(unused_variables)] // need guard to live for lifetime of program
|
||||||
let (maybe_non_blocking, maybe_guard) = {
|
let (maybe_non_blocking, maybe_guard) = {
|
||||||
|
|||||||
@@ -19,4 +19,4 @@ time = "0.3.41"
|
|||||||
rand = "0.9.0"
|
rand = "0.9.0"
|
||||||
bytemuck = "1.22.0"
|
bytemuck = "1.22.0"
|
||||||
futures = "0.3.31"
|
futures = "0.3.31"
|
||||||
reqwest = "0.12.15"
|
#reqwest = "0.12.15"
|
||||||
|
|||||||
@@ -394,8 +394,8 @@ impl Dave {
|
|||||||
});
|
});
|
||||||
|
|
||||||
if let Some(avatar) = &mut self.avatar {
|
if let Some(avatar) = &mut self.avatar {
|
||||||
let avatar_size = Vec2::splat(100.0);
|
let avatar_size = Vec2::splat(300.0);
|
||||||
let pos = Vec2::splat(10.0).to_pos2();
|
let pos = Vec2::splat(100.0).to_pos2();
|
||||||
let pos = Rect::from_min_max(pos, pos + avatar_size);
|
let pos = Rect::from_min_max(pos, pos + avatar_size);
|
||||||
avatar.render(pos, ui);
|
avatar.render(pos, ui);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user