From d644b6bc8c17fe1c13c3e575c9ec84c7cbb87742 Mon Sep 17 00:00:00 2001 From: SunDoge <384813529@qq.com> Date: Mon, 14 Nov 2022 21:02:59 +0800 Subject: [PATCH] add overlap icon when maximized --- examples/custom_window_frame/src/main.rs | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/examples/custom_window_frame/src/main.rs b/examples/custom_window_frame/src/main.rs index 455daa12..780512bc 100644 --- a/examples/custom_window_frame/src/main.rs +++ b/examples/custom_window_frame/src/main.rs @@ -21,9 +21,7 @@ fn main() { } #[derive(Default)] -struct MyApp { - maximized: bool, -} +struct MyApp {} impl eframe::App for MyApp { fn clear_color(&self, _visuals: &egui::Visuals) -> egui::Rgba { @@ -118,16 +116,17 @@ fn custom_window_frame( frame.set_minimized(true); } + let is_maximized = frame.info().window_info.maximized; let maximized_response = ui.put( Rect::from_min_size( rect.left_top() + vec2((height - 4.0) * 2.0, 0.0), Vec2::splat(height), ), - Button::new(RichText::new("🗖").size(height - 4.0)).frame(false), + Button::new(RichText::new(if is_maximized { "🗗" } else { "🗖" }).size(height - 4.0)) + .frame(false), ); if maximized_response.clicked() { - app.maximized = !app.maximized; - frame.set_maximized(app.maximized); + frame.set_maximized(!is_maximized); } // Add the contents: