summaryrefslogtreecommitdiffstats
path: root/winit
diff options
context:
space:
mode:
Diffstat (limited to 'winit')
-rw-r--r--winit/src/conversion.rs28
-rw-r--r--winit/src/program.rs7
2 files changed, 34 insertions, 1 deletions
diff --git a/winit/src/conversion.rs b/winit/src/conversion.rs
index 01c6abc8..538ac4d2 100644
--- a/winit/src/conversion.rs
+++ b/winit/src/conversion.rs
@@ -1120,7 +1120,7 @@ pub fn native_key_code(
}
}
-/// Converts some [`UserAttention`] into it's `winit` counterpart.
+/// Converts some [`UserAttention`] into its `winit` counterpart.
///
/// [`UserAttention`]: window::UserAttention
pub fn user_attention(
@@ -1136,6 +1136,32 @@ pub fn user_attention(
}
}
+/// Converts some [`ResizeDirection`] into its `winit` counterpart.
+///
+/// [`ResizeDirection`]: window::ResizeDirection
+pub fn resize_direction(
+ resize_direction: window::Direction,
+) -> winit::window::ResizeDirection {
+ match resize_direction {
+ window::Direction::North => winit::window::ResizeDirection::North,
+ window::Direction::South => winit::window::ResizeDirection::South,
+ window::Direction::East => winit::window::ResizeDirection::East,
+ window::Direction::West => winit::window::ResizeDirection::West,
+ window::Direction::NorthEast => {
+ winit::window::ResizeDirection::NorthEast
+ }
+ window::Direction::NorthWest => {
+ winit::window::ResizeDirection::NorthWest
+ }
+ window::Direction::SouthEast => {
+ winit::window::ResizeDirection::SouthEast
+ }
+ window::Direction::SouthWest => {
+ winit::window::ResizeDirection::SouthWest
+ }
+ }
+}
+
/// Converts some [`window::Icon`] into it's `winit` counterpart.
///
/// Returns `None` if there is an error during the conversion.
diff --git a/winit/src/program.rs b/winit/src/program.rs
index dddaf33d..5387e5e5 100644
--- a/winit/src/program.rs
+++ b/winit/src/program.rs
@@ -1265,6 +1265,13 @@ fn run_action<P, C>(
let _ = window.raw.drag_window();
}
}
+ window::Action::DragResize(id, direction) => {
+ if let Some(window) = window_manager.get_mut(id) {
+ let _ = window.raw.drag_resize_window(
+ conversion::resize_direction(direction),
+ );
+ }
+ }
window::Action::Resize(id, size) => {
if let Some(window) = window_manager.get_mut(id) {
let _ = window.raw.request_inner_size(