From 10e10e5e06841574425d2633f1c2916733f7b4ff Mon Sep 17 00:00:00 2001 From: Héctor Ramón Jiménez Date: Tue, 8 Oct 2019 03:13:41 +0200 Subject: Make `iced_core::Button` customizable Now it supports: - Any kind of content - Custom border radius - Custom background --- web/src/widget/button.rs | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'web/src/widget') diff --git a/web/src/widget/button.rs b/web/src/widget/button.rs index 23a4165a..257034a7 100644 --- a/web/src/widget/button.rs +++ b/web/src/widget/button.rs @@ -2,7 +2,10 @@ use crate::{Bus, Element, Widget}; use dodrio::bumpalo; -pub use iced_core::button::*; +pub use iced_core::button::State; + +pub type Button<'a, Message> = + iced_core::Button<'a, Message, Element<'a, Message>>; impl<'a, Message> Widget for Button<'a, Message> where @@ -15,9 +18,8 @@ where ) -> dodrio::Node<'b> { use dodrio::builder::*; - let label = bumpalo::format!(in bump, "{}", self.label); - - let mut node = button(bump).children(vec![text(label.into_bump_str())]); + let mut node = + button(bump).children(vec![self.content.node(bump, bus)]); if let Some(on_press) = self.on_press { let event_bus = bus.clone(); -- cgit From f8a232c8af4c50557fbf0c2e0b2ba46fb63f6adc Mon Sep 17 00:00:00 2001 From: Héctor Ramón Jiménez Date: Tue, 22 Oct 2019 23:20:24 +0200 Subject: Remove generic handle in `Image` For now, we will simply assume images will be loaded from a given path. --- web/src/widget/image.rs | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'web/src/widget') diff --git a/web/src/widget/image.rs b/web/src/widget/image.rs index fd4ff0df..bd3e5daf 100644 --- a/web/src/widget/image.rs +++ b/web/src/widget/image.rs @@ -2,9 +2,9 @@ use crate::{Bus, Element, Length, Widget}; use dodrio::bumpalo; -pub type Image<'a> = iced_core::Image<&'a str>; +pub use iced_core::Image; -impl<'a, Message> Widget for Image<'a> { +impl Widget for Image { fn node<'b>( &self, bump: &'b bumpalo::Bump, @@ -12,7 +12,7 @@ impl<'a, Message> Widget for Image<'a> { ) -> dodrio::Node<'b> { use dodrio::builder::*; - let src = bumpalo::format!(in bump, "{}", self.handle); + let src = bumpalo::format!(in bump, "{}", self.path); let mut image = img(bump).attr("src", src.into_bump_str()); @@ -35,8 +35,8 @@ impl<'a, Message> Widget for Image<'a> { } } -impl<'a, Message> From> for Element<'a, Message> { - fn from(image: Image<'a>) -> Element<'a, Message> { +impl<'a, Message> From for Element<'a, Message> { + fn from(image: Image) -> Element<'a, Message> { Element::new(image) } } -- cgit