1
0
mirror of https://github.com/emilk/egui.git synced 2026-09-01 14:20:04 -04:00
This commit is contained in:
Emil Ernerfeldt
2023-11-03 11:43:02 +01:00
parent 51b083a896
commit 29e1c4d101
4 changed files with 22 additions and 22 deletions

View File

@@ -620,13 +620,13 @@ impl Painter {
screenshot screenshot
} }
pub fn clean_surfaces(&mut self, avalibile_viewports: &[ViewportId]) { pub fn clean_surfaces(&mut self, available_viewports: &[ViewportId]) {
self.surfaces self.surfaces
.retain(|id, _| avalibile_viewports.contains(id)); .retain(|id, _| available_viewports.contains(id));
self.depth_texture_view self.depth_texture_view
.retain(|id, _| avalibile_viewports.contains(id)); .retain(|id, _| available_viewports.contains(id));
self.msaa_texture_view self.msaa_texture_view
.retain(|id, _| avalibile_viewports.contains(id)); .retain(|id, _| available_viewports.contains(id));
} }
#[allow(clippy::unused_self)] #[allow(clippy::unused_self)]

View File

@@ -1211,7 +1211,7 @@ pub fn changes_between_builders(
let mut commands = Vec::new(); let mut commands = Vec::new();
// Title is not compared because if has a new title will create a new window // Title is not compared because if has a new title will create a new window
// The title of a avalibile window can only be changed with ViewportCommand::Title // The title of a available window can only be changed with ViewportCommand::Title
if let Some(position) = new.position { if let Some(position) = new.position {
if Some(position) != last.position { if Some(position) != last.position {

View File

@@ -1558,16 +1558,16 @@ impl Context {
let shapes = self.drain_paint_lists(); let shapes = self.drain_paint_lists();
// If there are no viewport that contains the current viewport that viewport needs to be destroyed! // If there are no viewport that contains the current viewport that viewport needs to be destroyed!
let avalibile_viewports = self.read(|ctx| { let available_viewports = self.read(|ctx| {
let mut avalibile_viewports = vec![ViewportId::MAIN]; let mut available_viewports = vec![ViewportId::MAIN];
for Viewport { for Viewport {
pair: ViewportIdPair { this, .. }, pair: ViewportIdPair { this, .. },
.. ..
} in ctx.viewports.values() } in ctx.viewports.values()
{ {
avalibile_viewports.push(*this); available_viewports.push(*this);
} }
avalibile_viewports available_viewports
}); });
let viewport_id = self.viewport_id(); let viewport_id = self.viewport_id();
@@ -1582,7 +1582,7 @@ impl Context {
used, used,
render, render,
}| { }| {
let out = *used; let retain = *used;
if viewport_id == pair.parent { if viewport_id == pair.parent {
*used = false; *used = false;
@@ -1593,8 +1593,8 @@ impl Context {
pair: *pair, pair: *pair,
render: render.clone(), render: render.clone(),
}); });
(out || viewport_id != pair.parent) (retain || viewport_id != pair.parent)
&& avalibile_viewports.contains(&pair.parent) && available_viewports.contains(&pair.parent)
}, },
); );
}); });
@@ -1617,20 +1617,20 @@ impl Context {
} else { } else {
// ## Context Cleanup // ## Context Cleanup
self.write(|ctx| { self.write(|ctx| {
ctx.input.retain(|id, _| avalibile_viewports.contains(id)); ctx.input.retain(|id, _| available_viewports.contains(id));
ctx.layer_rects_prev_viewports ctx.layer_rects_prev_viewports
.retain(|id, _| avalibile_viewports.contains(id)); .retain(|id, _| available_viewports.contains(id));
ctx.layer_rects_this_viewports ctx.layer_rects_this_viewports
.retain(|id, _| avalibile_viewports.contains(id)); .retain(|id, _| available_viewports.contains(id));
ctx.output.retain(|id, _| avalibile_viewports.contains(id)); ctx.output.retain(|id, _| available_viewports.contains(id));
ctx.frame_state ctx.frame_state
.retain(|id, _| avalibile_viewports.contains(id)); .retain(|id, _| available_viewports.contains(id));
ctx.graphics ctx.graphics
.retain(|id, _| avalibile_viewports.contains(id)); .retain(|id, _| available_viewports.contains(id));
}); });
} }
self.write(|ctx| ctx.repaint.end_frame(viewport_id, &avalibile_viewports)); self.write(|ctx| ctx.repaint.end_frame(viewport_id, &available_viewports));
FullOutput { FullOutput {
platform_output, platform_output,

View File

@@ -275,13 +275,13 @@ fn drop_target<R>(
let background_id = ui.painter().add(egui::Shape::Noop); let background_id = ui.painter().add(egui::Shape::Noop);
let avalibile_rect = ui.available_rect_before_wrap(); let available_rect = ui.available_rect_before_wrap();
let inner_rect = avalibile_rect.shrink2(margin); let inner_rect = available_rect.shrink2(margin);
let mut content_ui = ui.child_ui(inner_rect, *ui.layout()); let mut content_ui = ui.child_ui(inner_rect, *ui.layout());
let ret = body(&mut content_ui); let ret = body(&mut content_ui);
let outer_rect = let outer_rect =
egui::Rect::from_min_max(avalibile_rect.min, content_ui.min_rect().max + margin); egui::Rect::from_min_max(available_rect.min, content_ui.min_rect().max + margin);
let (rect, response) = ui.allocate_at_least(outer_rect.size(), egui::Sense::hover()); let (rect, response) = ui.allocate_at_least(outer_rect.size(), egui::Sense::hover());
let style = if is_being_dragged && response.hovered() { let style = if is_being_dragged && response.hovered() {