MCPcopy Create free account
hub / github.com/AryanpurTech/BlueEngine / resumed

Method resumed

crates/blue_engine_core/src/window.rs:30–94  ·  view source on GitHub ↗
(&mut self, event_loop: &winit::event_loop::ActiveEventLoop)

Source from the content-addressed store, hash-verified

28
29impl ApplicationHandler for Engine {
30 fn resumed(&mut self, event_loop: &winit::event_loop::ActiveEventLoop) {
31 if self.window.is_none() {
32 // ? This should move to Window instead of here to clear the clutter
33 if let Ok(new_window) = event_loop.create_window(self.window.default_attributes.clone())
34 {
35 let new_window = std::sync::Arc::new(new_window);
36
37 if self.renderer.surface.is_none() {
38 if let Ok(surface) = self.renderer.instance.create_surface(new_window.clone()) {
39 let surface_capabilities = surface.get_capabilities(&self.renderer.adapter);
40 let tex_format = surface_capabilities
41 .formats
42 .iter()
43 .copied()
44 .find(|f| f.is_srgb())
45 .unwrap_or(surface_capabilities.formats[0]);
46
47 self.renderer.config.format = tex_format;
48 self.renderer.config.view_formats = vec![tex_format];
49
50 surface.configure(&self.renderer.device, &self.renderer.config);
51 self.renderer.depth_buffer = Renderer::build_depth_buffer(
52 "Depth Buffer",
53 &self.renderer.device,
54 &self.renderer.config,
55 );
56 self.renderer.surface = Some(surface);
57
58 self.renderer.build_default_data();
59 self.objects.iter_mut().for_each(|i| {
60 i.1.update(&mut self.renderer);
61 });
62 }
63 }
64
65 new_window.set_min_inner_size(self.window.default_attributes.min_inner_size);
66 new_window.set_max_inner_size(self.window.default_attributes.max_inner_size);
67 if let Some(position) = self.window.default_attributes.position {
68 new_window.set_outer_position(position);
69 }
70 new_window.set_resizable(self.window.default_attributes.resizable);
71 new_window.set_enabled_buttons(self.window.default_attributes.enabled_buttons);
72 new_window.set_title(self.window.default_attributes.title.as_str());
73 new_window.set_maximized(self.window.default_attributes.maximized);
74 new_window.set_visible(self.window.default_attributes.visible);
75 new_window.set_transparent(self.window.default_attributes.transparent);
76 new_window.set_blur(self.window.default_attributes.blur);
77 new_window.set_decorations(self.window.default_attributes.decorations);
78 new_window.set_window_icon(self.window.default_attributes.window_icon.clone());
79 new_window.set_theme(self.window.default_attributes.preferred_theme);
80 new_window.set_resize_increments(self.window.default_attributes.resize_increments);
81 new_window.set_window_level(self.window.default_attributes.window_level);
82 new_window.set_cursor(self.window.default_attributes.cursor.clone());
83 new_window.set_fullscreen(self.window.default_attributes.fullscreen.clone());
84
85 self.window.window = Some(new_window);
86 }
87

Callers

nothing calls this directly

Calls 3

build_default_dataMethod · 0.80
updateMethod · 0.45
initMethod · 0.45

Tested by

no test coverage detected