summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/events.rs2
-rw-r--r--src/lib.rs1
-rw-r--r--src/window.rs3
-rw-r--r--src/window_builder.rs6
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,
diff --git a/src/lib.rs b/src/lib.rs
index f856775..acf8287 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -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,
}
}