diff options
-rw-r--r-- | src/events.rs | 2 | ||||
-rw-r--r-- | src/lib.rs | 1 | ||||
-rw-r--r-- | src/window.rs | 3 | ||||
-rw-r--r-- | src/window_builder.rs | 6 |
4 files changed, 7 insertions, 5 deletions
diff --git a/src/events.rs b/src/events.rs index b738e5b..7729a63 100644 --- a/src/events.rs +++ b/src/events.rs @@ -3,7 +3,6 @@ use crate::*; use winit::dpi::PhysicalSize; use winit::event::ElementState; use winit::keyboard::KeyCode; -use winit::window::CursorIcon; use std::path::PathBuf; @@ -17,6 +16,7 @@ pub enum Request { SetVisible(bool), SetPixelScale(u32), SetCursor(Option<CursorIcon>), + SetIcon(Option<Icon>), Redraw, CreateWindow(WindowBuilder), CloseWindow, @@ -14,6 +14,7 @@ pub use phosphor::Phosphor; pub use event_queue::EventWriter; pub use winit::keyboard::{KeyCode, ModifiersState}; +pub use winit::window::{CursorIcon, Icon}; pub type Position = geometry::Point<i32>; pub type Dimensions = geometry::Dimensions<u32>; diff --git a/src/window.rs b/src/window.rs index 377d460..70c9c02 100644 --- a/src/window.rs +++ b/src/window.rs @@ -72,6 +72,8 @@ impl PhosphorWindow { window.set_cursor_visible(false); } + window.set_window_icon(builder.icon); + Self { winit: window, program: builder.program, @@ -100,6 +102,7 @@ impl PhosphorWindow { Request::SetVisible(visible) => self.winit.set_visible(visible), Request::SetPixelScale(scale) => self.set_scale(scale), Request::SetCursor(cursor) => self.set_cursor(cursor), + Request::SetIcon(icon) => self.winit.set_window_icon(icon), Request::Redraw => self.winit.request_redraw(), Request::CloseWindow => { self.marked_for_destruction = true; diff --git a/src/window_builder.rs b/src/window_builder.rs index 55c99f2..21787e6 100644 --- a/src/window_builder.rs +++ b/src/window_builder.rs @@ -1,7 +1,5 @@ use crate::*; -use winit::window::{Cursor, Icon}; - pub struct WindowBuilder { pub program: Box<dyn WindowProgram>, @@ -9,8 +7,8 @@ pub struct WindowBuilder { pub dimensions: Option<Dimensions>, pub scale: u32, pub title: Option<String>, + pub cursor: Option<CursorIcon>, pub icon: Option<Icon>, - pub cursor: Option<Cursor>, pub fullscreen: bool, } @@ -22,8 +20,8 @@ impl WindowBuilder { dimensions: None, scale: 1, title: None, - icon: None, cursor: None, + icon: None, fullscreen: false, } } |