From 4225cd52a81de1ac1505430814a9e1082f99a5d6 Mon Sep 17 00:00:00 2001 From: UK992 Date: Sun, 24 Jun 2018 19:58:05 +0200 Subject: [PATCH] Add window icon on X11 and Windows --- ports/servo/Cargo.toml | 2 +- ports/servo/glutin_app/window.rs | 9 ++++++++- resources/servo64.png | Bin 0 -> 7952 bytes 3 files changed, 9 insertions(+), 2 deletions(-) create mode 100644 resources/servo64.png diff --git a/ports/servo/Cargo.toml b/ports/servo/Cargo.toml index 408082caab3..c7a9f3f25f8 100644 --- a/ports/servo/Cargo.toml +++ b/ports/servo/Cargo.toml @@ -43,7 +43,7 @@ lazy_static = "1" libservo = {path = "../../components/servo"} log = "0.4" tinyfiledialogs = "3.0" -winit = "0.15" +winit = {version = "0.15", features = ["icon_loading"]} [target.'cfg(not(target_os = "android"))'.dependencies] sig = "0.1" diff --git a/ports/servo/glutin_app/window.rs b/ports/servo/glutin_app/window.rs index d7cca306fc8..3816125bcfc 100644 --- a/ports/servo/glutin_app/window.rs +++ b/ports/servo/glutin_app/window.rs @@ -201,6 +201,13 @@ impl Window { .with_visibility(visible) .with_multitouch(); + #[cfg(any(target_os = "linux", target_os = "windows"))] + { + let icon_bytes = include_bytes!("../../../resources/servo64.png"); + let icon = Some(winit::Icon::from_bytes(icon_bytes).expect("Failed to open icon")); + window_builder = window_builder.with_window_icon(icon); + } + window_builder = builder_with_platform_options(window_builder); let mut context_builder = ContextBuilder::new() @@ -525,7 +532,7 @@ impl Window { .. } => self.event_queue.borrow_mut().push(WindowEvent::Refresh), Event::WindowEvent { - event: winit::WindowEvent::Closed, + event: winit::WindowEvent::CloseRequested, .. } => { self.event_queue.borrow_mut().push(WindowEvent::Quit); diff --git a/resources/servo64.png b/resources/servo64.png new file mode 100644 index 0000000000000000000000000000000000000000..3511b723c4f1913333b590345ac3eef2dd633e84 GIT binary patch literal 7952 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