mirror of
https://github.com/emilk/egui.git
synced 2026-06-27 23:13:13 -04:00
Now if winit supports if the window cant be closed will not show the close button
This commit is contained in:
@@ -5,8 +5,9 @@ use std::time::Instant;
|
||||
|
||||
use egui::{epaint::ahash::HashMap, window::ViewportBuilder};
|
||||
use raw_window_handle::{HasRawDisplayHandle as _, HasRawWindowHandle as _};
|
||||
use winit::event_loop::{
|
||||
ControlFlow, EventLoop, EventLoopBuilder, EventLoopProxy, EventLoopWindowTarget,
|
||||
use winit::{
|
||||
event_loop::{ControlFlow, EventLoop, EventLoopBuilder, EventLoopProxy, EventLoopWindowTarget},
|
||||
window::WindowButtons,
|
||||
};
|
||||
|
||||
#[cfg(feature = "accesskit")]
|
||||
@@ -1943,6 +1944,15 @@ fn create_winit_window_builder(builder: &ViewportBuilder) -> winit::window::Wind
|
||||
.fullscreen
|
||||
.then(|| winit::window::Fullscreen::Borderless(None)),
|
||||
)
|
||||
.with_enabled_buttons(
|
||||
WindowButtons::MAXIMIZE
|
||||
| WindowButtons::MINIMIZE
|
||||
| if builder.close_button {
|
||||
WindowButtons::CLOSE
|
||||
} else {
|
||||
WindowButtons::empty()
|
||||
},
|
||||
)
|
||||
.with_active(builder.active);
|
||||
if let Some(inner_size) = builder.inner_size {
|
||||
window_builder = window_builder
|
||||
|
||||
@@ -26,6 +26,8 @@ pub struct ViewportBuilder {
|
||||
pub min_inner_size: Option<(u32, u32)>,
|
||||
pub max_inner_size: Option<(u32, u32)>,
|
||||
pub drag_and_drop: bool,
|
||||
|
||||
pub close_button: bool,
|
||||
}
|
||||
|
||||
impl Default for ViewportBuilder {
|
||||
@@ -49,6 +51,7 @@ impl Default for ViewportBuilder {
|
||||
min_inner_size: None,
|
||||
max_inner_size: None,
|
||||
drag_and_drop: true,
|
||||
close_button: true,
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -468,6 +471,7 @@ impl<'open> Window<'open> {
|
||||
window_builder =
|
||||
window_builder.with_inner_size((size.x as u32 + 1, size.y as u32 + 1));
|
||||
}
|
||||
window_builder.close_button = open.is_some();
|
||||
|
||||
let area_id = area.id;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user