summaryrefslogtreecommitdiffstats
path: root/style/src/pane_grid.rs
diff options
context:
space:
mode:
authorLibravatar Héctor Ramón Jiménez <hector0193@gmail.com>2022-06-01 01:44:59 +0200
committerLibravatar Héctor Ramón Jiménez <hector0193@gmail.com>2022-06-01 01:46:14 +0200
commit6f69df3d415bfc922ce15539746026843bd410e6 (patch)
tree8683025be83c085aa5363d8927e46b7aa4d22694 /style/src/pane_grid.rs
parenta206d22670eda60d6364444f690633dc11e75a41 (diff)
downloadiced-6f69df3d415bfc922ce15539746026843bd410e6.tar.gz
iced-6f69df3d415bfc922ce15539746026843bd410e6.tar.bz2
iced-6f69df3d415bfc922ce15539746026843bd410e6.zip
Implement theme styling for `PaneGrid`
Diffstat (limited to '')
-rw-r--r--style/src/pane_grid.rs33
1 files changed, 4 insertions, 29 deletions
diff --git a/style/src/pane_grid.rs b/style/src/pane_grid.rs
index a12ac3f5..5bae353f 100644
--- a/style/src/pane_grid.rs
+++ b/style/src/pane_grid.rs
@@ -4,11 +4,13 @@ use iced_core::Color;
/// A set of rules that dictate the style of a container.
pub trait StyleSheet {
+ type Style: Default + Copy;
+
/// The [`Line`] to draw when a split is picked.
- fn picked_split(&self) -> Option<Line>;
+ fn picked_split(&self, style: Self::Style) -> Option<Line>;
/// The [`Line`] to draw when a split is hovered.
- fn hovered_split(&self) -> Option<Line>;
+ fn hovered_split(&self, style: Self::Style) -> Option<Line>;
}
/// A line.
@@ -22,30 +24,3 @@ pub struct Line {
/// The width of the [`Line`].
pub width: f32,
}
-
-struct Default;
-
-impl StyleSheet for Default {
- fn picked_split(&self) -> Option<Line> {
- None
- }
-
- fn hovered_split(&self) -> Option<Line> {
- None
- }
-}
-
-impl<'a> std::default::Default for Box<dyn StyleSheet + 'a> {
- fn default() -> Self {
- Box::new(Default)
- }
-}
-
-impl<'a, T> From<T> for Box<dyn StyleSheet + 'a>
-where
- T: StyleSheet + 'a,
-{
- fn from(style_sheet: T) -> Self {
- Box::new(style_sheet)
- }
-}