summaryrefslogtreecommitdiffstats
path: root/pure/src/element.rs
diff options
context:
space:
mode:
authorLibravatar Richard <richardsoncusto@gmail.com>2022-05-10 09:50:17 -0300
committerLibravatar Richard <richardsoncusto@gmail.com>2022-05-10 09:50:17 -0300
commitb440df9afbb2b63717e84d209a0995ada0e72e6d (patch)
tree80b0a55ff3834647a6527d8856632e79d8352789 /pure/src/element.rs
parent27fdc707562d4e229f07ed9496ed5d64f4e108bc (diff)
parentd4ed8afa1ed15486144dc7afee52c09e044a92e0 (diff)
downloadiced-b440df9afbb2b63717e84d209a0995ada0e72e6d.tar.gz
iced-b440df9afbb2b63717e84d209a0995ada0e72e6d.tar.bz2
iced-b440df9afbb2b63717e84d209a0995ada0e72e6d.zip
Merge branch 'master' into dev/system-information
Diffstat (limited to 'pure/src/element.rs')
-rw-r--r--pure/src/element.rs18
1 files changed, 18 insertions, 0 deletions
diff --git a/pure/src/element.rs b/pure/src/element.rs
index 704b3d0b..5450db20 100644
--- a/pure/src/element.rs
+++ b/pure/src/element.rs
@@ -8,6 +8,8 @@ use iced_native::mouse;
use iced_native::renderer;
use iced_native::{Clipboard, Length, Point, Rectangle, Shell};
+use std::borrow::Borrow;
+
/// A generic [`Widget`].
///
/// It is useful to build composable user interfaces that do not leak
@@ -321,3 +323,19 @@ where
.map(move |overlay| overlay.map(mapper))
}
}
+
+impl<'a, Message, Renderer> Borrow<dyn Widget<Message, Renderer> + 'a>
+ for Element<'a, Message, Renderer>
+{
+ fn borrow(&self) -> &(dyn Widget<Message, Renderer> + 'a) {
+ self.widget.borrow()
+ }
+}
+
+impl<'a, Message, Renderer> Borrow<dyn Widget<Message, Renderer> + 'a>
+ for &Element<'a, Message, Renderer>
+{
+ fn borrow(&self) -> &(dyn Widget<Message, Renderer> + 'a) {
+ self.widget.borrow()
+ }
+}