summaryrefslogtreecommitdiffstats
path: root/native/src/widget/pane_grid
diff options
context:
space:
mode:
authorLibravatar Héctor Ramón <hector0193@gmail.com>2022-01-13 15:42:40 +0700
committerLibravatar GitHub <noreply@github.com>2022-01-13 15:42:40 +0700
commit15a13a76b4b0534d08afc0328b90267048e41b9d (patch)
treedd5fa045c9fd3f8f116f230c3e70dcba2d32d011 /native/src/widget/pane_grid
parent1a31aefab401712e44cd613fc1337ab90579d926 (diff)
parentf6c436aec1acb674078bf7e878b9e49f28e947a7 (diff)
downloadiced-15a13a76b4b0534d08afc0328b90267048e41b9d.tar.gz
iced-15a13a76b4b0534d08afc0328b90267048e41b9d.tar.bz2
iced-15a13a76b4b0534d08afc0328b90267048e41b9d.zip
Merge pull request #1193 from iced-rs/responsive-widget
`Responsive` widget
Diffstat (limited to 'native/src/widget/pane_grid')
-rw-r--r--native/src/widget/pane_grid/content.rs11
-rw-r--r--native/src/widget/pane_grid/title_bar.rs14
2 files changed, 18 insertions, 7 deletions
diff --git a/native/src/widget/pane_grid/content.rs b/native/src/widget/pane_grid/content.rs
index 533827b7..6d12aa2d 100644
--- a/native/src/widget/pane_grid/content.rs
+++ b/native/src/widget/pane_grid/content.rs
@@ -205,6 +205,7 @@ where
layout: Layout<'_>,
cursor_position: Point,
viewport: &Rectangle,
+ renderer: &Renderer,
) -> mouse::Interaction {
let (body_layout, title_bar_interaction) =
if let Some(title_bar) = &self.title_bar {
@@ -222,6 +223,7 @@ where
title_bar_layout,
cursor_position,
viewport,
+ renderer,
);
(children.next().unwrap(), mouse_interaction)
@@ -230,7 +232,7 @@ where
};
self.body
- .mouse_interaction(body_layout, cursor_position, viewport)
+ .mouse_interaction(body_layout, cursor_position, viewport, renderer)
.max(title_bar_interaction)
}
@@ -245,17 +247,18 @@ where
pub(crate) fn overlay(
&mut self,
layout: Layout<'_>,
+ renderer: &Renderer,
) -> Option<overlay::Element<'_, Message, Renderer>> {
if let Some(title_bar) = self.title_bar.as_mut() {
let mut children = layout.children();
let title_bar_layout = children.next()?;
- match title_bar.overlay(title_bar_layout) {
+ match title_bar.overlay(title_bar_layout, renderer) {
Some(overlay) => Some(overlay),
- None => self.body.overlay(children.next()?),
+ None => self.body.overlay(children.next()?, renderer),
}
} else {
- self.body.overlay(layout)
+ self.body.overlay(layout, renderer)
}
}
}
diff --git a/native/src/widget/pane_grid/title_bar.rs b/native/src/widget/pane_grid/title_bar.rs
index 353e1ce9..ea9ebfc4 100644
--- a/native/src/widget/pane_grid/title_bar.rs
+++ b/native/src/widget/pane_grid/title_bar.rs
@@ -258,6 +258,7 @@ where
layout: Layout<'_>,
cursor_position: Point,
viewport: &Rectangle,
+ renderer: &Renderer,
) -> mouse::Interaction {
let mut children = layout.children();
let padded = children.next().unwrap();
@@ -269,13 +270,19 @@ where
title_layout,
cursor_position,
viewport,
+ renderer,
);
if let Some(controls) = &self.controls {
let controls_layout = children.next().unwrap();
controls
- .mouse_interaction(controls_layout, cursor_position, viewport)
+ .mouse_interaction(
+ controls_layout,
+ cursor_position,
+ viewport,
+ renderer,
+ )
.max(title_interaction)
} else {
title_interaction
@@ -285,6 +292,7 @@ where
pub(crate) fn overlay(
&mut self,
layout: Layout<'_>,
+ renderer: &Renderer,
) -> Option<overlay::Element<'_, Message, Renderer>> {
let mut children = layout.children();
let padded = children.next()?;
@@ -296,11 +304,11 @@ where
content, controls, ..
} = self;
- content.overlay(title_layout).or_else(move || {
+ content.overlay(title_layout, renderer).or_else(move || {
controls.as_mut().and_then(|controls| {
let controls_layout = children.next()?;
- controls.overlay(controls_layout)
+ controls.overlay(controls_layout, renderer)
})
})
}