1
0
mirror of https://github.com/emilk/egui.git synced 2026-08-29 21:00:03 -04:00

eframe: Remove warm-starting (#3574)

This was an ill-supported feature with little benefit or use.
This commit is contained in:
Emil Ernerfeldt
2023-11-19 11:21:38 +01:00
committed by GitHub
parent 74862bd129
commit a23b959fd4
5 changed files with 7 additions and 75 deletions

View File

@@ -4,10 +4,7 @@ use winit::event_loop::EventLoopWindowTarget;
use raw_window_handle::{HasRawDisplayHandle as _, HasRawWindowHandle as _};
use egui::{
DeferredViewportUiCallback, NumExt as _, ViewportBuilder, ViewportId, ViewportIdPair,
ViewportInfo,
};
use egui::{DeferredViewportUiCallback, NumExt as _, ViewportBuilder, ViewportId};
use egui_winit::{EventResponse, WindowSettings};
use crate::{epi, Theme};
@@ -206,28 +203,6 @@ impl EpiIntegration {
});
}
pub fn warm_up(
&mut self,
app: &mut dyn epi::App,
window: &winit::window::Window,
egui_winit: &mut egui_winit::State,
) {
crate::profile_function!();
let saved_memory: egui::Memory = self.egui_ctx.memory(|mem| mem.clone());
self.egui_ctx
.memory_mut(|mem| mem.set_everything_is_visible(true));
let mut raw_input = egui_winit.take_egui_input(window, ViewportIdPair::ROOT);
raw_input.viewports =
std::iter::once((ViewportId::ROOT, ViewportInfo::default())).collect();
self.pre_update();
let full_output = self.update(app, None, raw_input);
self.post_update();
self.pending_full_output.append(full_output); // Handle it next frame
self.egui_ctx.memory_mut(|mem| *mem = saved_memory); // We don't want to remember that windows were huge.
self.egui_ctx.clear_animations();
}
/// If `true`, it is time to close the native window.
pub fn should_close(&self) -> bool {
self.close

View File

@@ -1151,12 +1151,6 @@ mod glow_integration {
.expect("viewport doesn't exist")
}
fn viewport_mut(&mut self, viewport_id: ViewportId) -> &mut Viewport {
self.viewports
.get_mut(&viewport_id)
.expect("viewport doesn't exist")
}
fn window(&self, viewport_id: ViewportId) -> Rc<Window> {
self.viewport(viewport_id)
.window
@@ -1488,7 +1482,7 @@ mod glow_integration {
let app = {
let window = glutin.window(ViewportId::ROOT);
let mut app = app_creator(&epi::CreationContext {
let cc = epi::CreationContext {
egui_ctx: integration.egui_ctx.clone(),
integration_info: integration.frame.info().clone(),
storage: integration.frame.storage(),
@@ -1497,18 +1491,9 @@ mod glow_integration {
wgpu_render_state: None,
raw_display_handle: window.raw_display_handle(),
raw_window_handle: window.raw_window_handle(),
});
if app.warm_up_enabled() {
let viewport = glutin.viewport_mut(ViewportId::ROOT);
integration.warm_up(
app.as_mut(),
&window,
viewport.egui_winit.as_mut().unwrap(),
);
}
app
};
crate::profile_scope!("app_creator");
app_creator(&cc)
};
let glutin = Rc::new(RefCell::new(glutin));
@@ -2124,15 +2109,11 @@ mod wgpu_integration {
raw_display_handle: window.raw_display_handle(),
raw_window_handle: window.raw_window_handle(),
};
let mut app = {
let app = {
crate::profile_scope!("user_app_creator");
app_creator(&cc)
};
if app.warm_up_enabled() {
integration.warm_up(app.as_mut(), &window, &mut egui_winit);
}
let mut viewport_from_window = HashMap::default();
viewport_from_window.insert(window.id(), ViewportId::ROOT);