bar + watch
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
use glam::{Vec2, vec2};
|
||||
use std::sync::Arc;
|
||||
use testbed::Testbed;
|
||||
use testbed::{Testbed, testbed_any::TestbedAny};
|
||||
use timestep::Timestep;
|
||||
use tracing_subscriber::EnvFilter;
|
||||
use tracing_subscriber::filter::LevelFilter;
|
||||
@@ -56,7 +56,8 @@ fn load_testbed() -> anyhow::Result<Box<dyn Testbed>> {
|
||||
let name = std::env::var("TESTBED").unwrap_or_default();
|
||||
Ok(match name.as_str() {
|
||||
"dashboard" => Box::new(TestbedDashboard::new()?),
|
||||
_ => Box::new(TestbedGeneric::new()?),
|
||||
"" => Box::new(TestbedGeneric::new()?),
|
||||
_ => Box::new(TestbedAny::new(&name)?),
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
use wgui::layout::Layout;
|
||||
|
||||
pub mod testbed_any;
|
||||
pub mod testbed_dashboard;
|
||||
pub mod testbed_generic;
|
||||
|
||||
|
||||
33
wgui/uidev-vk/src/testbed/testbed_any.rs
Normal file
33
wgui/uidev-vk/src/testbed/testbed_any.rs
Normal file
@@ -0,0 +1,33 @@
|
||||
use crate::{assets, testbed::Testbed};
|
||||
use glam::Vec2;
|
||||
use wgui::layout::Layout;
|
||||
|
||||
pub struct TestbedAny {
|
||||
pub layout: Layout,
|
||||
}
|
||||
|
||||
impl TestbedAny {
|
||||
pub fn new(name: &str) -> anyhow::Result<Self> {
|
||||
let path = format!("gui/{name}.xml");
|
||||
let mut layout = Layout::new(Box::new(assets::Asset {}))?;
|
||||
|
||||
let parent = layout.root_widget;
|
||||
|
||||
let _res = wgui::parser::parse_from_assets(&mut layout, parent, &path)?;
|
||||
|
||||
Ok(Self { layout })
|
||||
}
|
||||
}
|
||||
|
||||
impl Testbed for TestbedAny {
|
||||
fn update(&mut self, width: f32, height: f32, timestep_alpha: f32) -> anyhow::Result<()> {
|
||||
self
|
||||
.layout
|
||||
.update(Vec2::new(width, height), timestep_alpha)?;
|
||||
Ok(())
|
||||
}
|
||||
|
||||
fn layout(&mut self) -> &mut Layout {
|
||||
&mut self.layout
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user