Code cleanup in eframe web backend
This commit is contained in:
parent
9b9c5005d3
commit
3ace620f37
1 changed files with 26 additions and 25 deletions
|
@ -141,35 +141,21 @@ pub struct AppRunner {
|
||||||
|
|
||||||
impl AppRunner {
|
impl AppRunner {
|
||||||
pub fn new(canvas_id: &str, app_creator: epi::AppCreator) -> Result<Self, JsValue> {
|
pub fn new(canvas_id: &str, app_creator: epi::AppCreator) -> Result<Self, JsValue> {
|
||||||
let painter = WrappedGlowPainter::new(canvas_id).map_err(JsValue::from)?;
|
let painter = WrappedGlowPainter::new(canvas_id).map_err(JsValue::from)?; // fail early
|
||||||
|
|
||||||
let prefer_dark_mode = super::prefer_dark_mode();
|
let prefer_dark_mode = super::prefer_dark_mode();
|
||||||
|
|
||||||
let frame = epi::Frame {
|
let info = epi::IntegrationInfo {
|
||||||
info: epi::IntegrationInfo {
|
|
||||||
web_info: Some(epi::WebInfo {
|
web_info: Some(epi::WebInfo {
|
||||||
location: web_location(),
|
location: web_location(),
|
||||||
}),
|
}),
|
||||||
prefer_dark_mode,
|
prefer_dark_mode,
|
||||||
cpu_usage: None,
|
cpu_usage: None,
|
||||||
native_pixels_per_point: Some(native_pixels_per_point()),
|
native_pixels_per_point: Some(native_pixels_per_point()),
|
||||||
},
|
|
||||||
output: Default::default(),
|
|
||||||
storage: Some(Box::new(LocalStorage::default())),
|
|
||||||
gl: painter.gl().clone(),
|
|
||||||
};
|
};
|
||||||
|
let storage = LocalStorage::default();
|
||||||
let needs_repaint: std::sync::Arc<NeedRepaint> = Default::default();
|
|
||||||
|
|
||||||
let egui_ctx = egui::Context::default();
|
let egui_ctx = egui::Context::default();
|
||||||
|
|
||||||
{
|
|
||||||
let needs_repaint = needs_repaint.clone();
|
|
||||||
egui_ctx.set_request_repaint_callback(move || {
|
|
||||||
needs_repaint.0.store(true, SeqCst);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
load_memory(&egui_ctx);
|
load_memory(&egui_ctx);
|
||||||
if prefer_dark_mode == Some(true) {
|
if prefer_dark_mode == Some(true) {
|
||||||
egui_ctx.set_visuals(egui::Visuals::dark());
|
egui_ctx.set_visuals(egui::Visuals::dark());
|
||||||
|
@ -179,11 +165,26 @@ impl AppRunner {
|
||||||
|
|
||||||
let app = app_creator(&epi::CreationContext {
|
let app = app_creator(&epi::CreationContext {
|
||||||
egui_ctx: egui_ctx.clone(),
|
egui_ctx: egui_ctx.clone(),
|
||||||
integration_info: frame.info(),
|
integration_info: info.clone(),
|
||||||
storage: frame.storage(),
|
storage: Some(&storage),
|
||||||
gl: painter.painter.gl().clone(),
|
gl: painter.painter.gl().clone(),
|
||||||
});
|
});
|
||||||
|
|
||||||
|
let frame = epi::Frame {
|
||||||
|
info,
|
||||||
|
output: Default::default(),
|
||||||
|
storage: Some(Box::new(storage)),
|
||||||
|
gl: painter.gl().clone(),
|
||||||
|
};
|
||||||
|
|
||||||
|
let needs_repaint: std::sync::Arc<NeedRepaint> = Default::default();
|
||||||
|
{
|
||||||
|
let needs_repaint = needs_repaint.clone();
|
||||||
|
egui_ctx.set_request_repaint_callback(move || {
|
||||||
|
needs_repaint.0.store(true, SeqCst);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
let mut runner = Self {
|
let mut runner = Self {
|
||||||
frame,
|
frame,
|
||||||
egui_ctx,
|
egui_ctx,
|
||||||
|
|
Loading…
Reference in a new issue