mirror of
https://github.com/emilk/egui.git
synced 2026-09-02 06:40:06 -04:00
Simplify arguments to process_viewport_commands
This commit is contained in:
@@ -1289,7 +1289,12 @@ mod glow_integration {
|
|||||||
viewport.window = None;
|
viewport.window = None;
|
||||||
viewport.gl_surface = None;
|
viewport.gl_surface = None;
|
||||||
} else if let Some(window) = &viewport.window {
|
} else if let Some(window) = &viewport.window {
|
||||||
process_viewport_commands(commands, *id, None, &window.borrow());
|
let is_viewport_focused = false; // TODO
|
||||||
|
process_viewport_commands(
|
||||||
|
commands,
|
||||||
|
&window.borrow(),
|
||||||
|
is_viewport_focused,
|
||||||
|
);
|
||||||
}
|
}
|
||||||
active_viewports_ids.insert(*id);
|
active_viewports_ids.insert(*id);
|
||||||
false
|
false
|
||||||
@@ -1616,11 +1621,11 @@ mod glow_integration {
|
|||||||
for (viewport_id, command) in viewport_commands {
|
for (viewport_id, command) in viewport_commands {
|
||||||
if let Some(viewport) = glutin.borrow().viewports.get(&viewport_id) {
|
if let Some(viewport) = glutin.borrow().viewports.get(&viewport_id) {
|
||||||
if let Some(window) = &viewport.borrow().window {
|
if let Some(window) = &viewport.borrow().window {
|
||||||
|
let is_viewport_focused = self.focused_viewport == Some(viewport_id);
|
||||||
egui_winit::process_viewport_commands(
|
egui_winit::process_viewport_commands(
|
||||||
vec![command],
|
vec![command],
|
||||||
viewport_id,
|
|
||||||
self.focused_viewport,
|
|
||||||
&window.borrow(),
|
&window.borrow(),
|
||||||
|
is_viewport_focused,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -2541,7 +2546,8 @@ mod wgpu_integration {
|
|||||||
..
|
..
|
||||||
}) = viewports.get(&id_pair.this)
|
}) = viewports.get(&id_pair.this)
|
||||||
{
|
{
|
||||||
process_viewport_commands(commands, id_pair.this, None, &window.borrow());
|
let is_viewport_focused = false; // TODO
|
||||||
|
process_viewport_commands(commands, &window.borrow(), is_viewport_focused);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
viewports.insert(
|
viewports.insert(
|
||||||
@@ -2561,11 +2567,11 @@ mod wgpu_integration {
|
|||||||
|
|
||||||
for (viewport_id, command) in viewport_commands {
|
for (viewport_id, command) in viewport_commands {
|
||||||
if let Some(window) = viewports.get(&viewport_id).and_then(|w| w.window.clone()) {
|
if let Some(window) = viewports.get(&viewport_id).and_then(|w| w.window.clone()) {
|
||||||
|
let is_viewport_focused = self.focused_viewport == Some(viewport_id);
|
||||||
egui_winit::process_viewport_commands(
|
egui_winit::process_viewport_commands(
|
||||||
vec![command],
|
vec![command],
|
||||||
viewport_id,
|
|
||||||
self.focused_viewport,
|
|
||||||
&window.borrow(),
|
&window.borrow(),
|
||||||
|
is_viewport_focused,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -990,9 +990,8 @@ fn translate_cursor(cursor_icon: egui::CursorIcon) -> Option<winit::window::Curs
|
|||||||
|
|
||||||
pub fn process_viewport_commands(
|
pub fn process_viewport_commands(
|
||||||
commands: Vec<ViewportCommand>,
|
commands: Vec<ViewportCommand>,
|
||||||
viewport_id: ViewportId,
|
|
||||||
focused: Option<ViewportId>,
|
|
||||||
window: &winit::window::Window,
|
window: &winit::window::Window,
|
||||||
|
is_viewport_focused: bool,
|
||||||
) {
|
) {
|
||||||
use winit::window::ResizeDirection;
|
use winit::window::ResizeDirection;
|
||||||
|
|
||||||
@@ -1000,11 +999,9 @@ pub fn process_viewport_commands(
|
|||||||
match command {
|
match command {
|
||||||
egui::ViewportCommand::Drag => {
|
egui::ViewportCommand::Drag => {
|
||||||
// if this is not checked on x11 the input will be permanently taken until the app is killed!
|
// if this is not checked on x11 the input will be permanently taken until the app is killed!
|
||||||
if let Some(focus) = focused {
|
if is_viewport_focused {
|
||||||
if focus == viewport_id {
|
// TODO possible return the error to `egui::Context`
|
||||||
// TODO possible return the error to `egui::Context`
|
let _ = window.drag_window();
|
||||||
let _ = window.drag_window();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
egui::ViewportCommand::InnerSize(size) => {
|
egui::ViewportCommand::InnerSize(size) => {
|
||||||
|
|||||||
Reference in New Issue
Block a user