From 9b873183f5178d836a30d152c4bdcb984fc59696 Mon Sep 17 00:00:00 2001 From: Victoria Brekenfeld Date: Wed, 5 Jul 2023 23:49:24 +0200 Subject: [PATCH] shell: Allow ResizeEdge to be flipped --- src/shell/grabs.rs | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/src/shell/grabs.rs b/src/shell/grabs.rs index 60541ac5..668ffd39 100644 --- a/src/shell/grabs.rs +++ b/src/shell/grabs.rs @@ -30,6 +30,25 @@ bitflags::bitflags! { } } +impl ResizeEdge { + pub fn flip_direction(&mut self) { + let mut new_edge = ResizeEdge::empty(); + if self.contains(ResizeEdge::TOP) { + new_edge.insert(ResizeEdge::BOTTOM); + } + if self.contains(ResizeEdge::BOTTOM) { + new_edge.insert(ResizeEdge::TOP); + } + if self.contains(ResizeEdge::LEFT) { + new_edge.insert(ResizeEdge::RIGHT); + } + if self.contains(ResizeEdge::RIGHT) { + new_edge.insert(ResizeEdge::LEFT); + } + *self = new_edge; + } +} + impl From for ResizeEdge { #[inline] fn from(x: xdg_toplevel::ResizeEdge) -> Self {