summaryrefslogtreecommitdiffstats
path: root/pure
diff options
context:
space:
mode:
authorLibravatar Héctor Ramón Jiménez <hector0193@gmail.com>2022-06-01 01:56:46 +0200
committerLibravatar Héctor Ramón Jiménez <hector0193@gmail.com>2022-06-01 01:56:46 +0200
commitc275fde67a7f5d1d5789540dc7905250a2f01fe7 (patch)
treee3ebeeebaeb69ff415b30d3720b00a8c0abf2d32 /pure
parent6f69df3d415bfc922ce15539746026843bd410e6 (diff)
downloadiced-c275fde67a7f5d1d5789540dc7905250a2f01fe7.tar.gz
iced-c275fde67a7f5d1d5789540dc7905250a2f01fe7.tar.bz2
iced-c275fde67a7f5d1d5789540dc7905250a2f01fe7.zip
Implement theme styling for `Rule`
Diffstat (limited to 'pure')
-rw-r--r--pure/src/helpers.rs12
-rw-r--r--pure/src/widget/rule.rs7
2 files changed, 15 insertions, 4 deletions
diff --git a/pure/src/helpers.rs b/pure/src/helpers.rs
index 9a8a29c1..2b5ac823 100644
--- a/pure/src/helpers.rs
+++ b/pure/src/helpers.rs
@@ -202,14 +202,22 @@ pub fn vertical_space(height: Length) -> widget::Space {
/// Creates a horizontal [`Rule`] with the given height.
///
/// [`Rule`]: widget::Rule
-pub fn horizontal_rule<'a>(height: u16) -> widget::Rule<'a> {
+pub fn horizontal_rule<Renderer>(height: u16) -> widget::Rule<Renderer>
+where
+ Renderer: iced_native::Renderer,
+ Renderer::Theme: widget::rule::StyleSheet,
+{
widget::Rule::horizontal(height)
}
/// Creates a vertical [`Rule`] with the given width.
///
/// [`Rule`]: widget::Rule
-pub fn vertical_rule<'a>(width: u16) -> widget::Rule<'a> {
+pub fn vertical_rule<Renderer>(width: u16) -> widget::Rule<Renderer>
+where
+ Renderer: iced_native::Renderer,
+ Renderer::Theme: widget::rule::StyleSheet,
+{
widget::Rule::vertical(width)
}
diff --git a/pure/src/widget/rule.rs b/pure/src/widget/rule.rs
index 8e6af58e..66a47653 100644
--- a/pure/src/widget/rule.rs
+++ b/pure/src/widget/rule.rs
@@ -10,9 +10,10 @@ use iced_native::{Clipboard, Length, Point, Rectangle, Shell};
pub use iced_native::widget::rule::*;
-impl<'a, Message, Renderer> Widget<Message, Renderer> for Rule<'a>
+impl<'a, Message, Renderer> Widget<Message, Renderer> for Rule<Renderer>
where
Renderer: iced_native::Renderer,
+ Renderer::Theme: StyleSheet,
{
fn width(&self) -> Length {
<Self as iced_native::Widget<Message, Renderer>>::width(self)
@@ -92,9 +93,11 @@ where
}
}
-impl<'a, Message, Renderer> Into<Element<'a, Message, Renderer>> for Rule<'a>
+impl<'a, Message, Renderer> Into<Element<'a, Message, Renderer>>
+ for Rule<Renderer>
where
Renderer: iced_native::Renderer + 'a,
+ Renderer::Theme: StyleSheet,
{
fn into(self) -> Element<'a, Message, Renderer> {
Element::new(self)