summaryrefslogtreecommitdiffstats
path: root/native/src/widget/scrollable.rs
diff options
context:
space:
mode:
authorLibravatar Héctor Ramón Jiménez <hector0193@gmail.com>2021-10-25 16:16:35 +0700
committerLibravatar Héctor Ramón Jiménez <hector0193@gmail.com>2021-10-25 16:35:02 +0700
commit4a11cbd99445338619dfaf1f327dbc25b2983cb7 (patch)
tree254598ff97f17cb33e44bd1402323d3b6892cb6b /native/src/widget/scrollable.rs
parent41394b4e90a81a43c796c070e706e6aa4d8652bc (diff)
downloadiced-4a11cbd99445338619dfaf1f327dbc25b2983cb7.tar.gz
iced-4a11cbd99445338619dfaf1f327dbc25b2983cb7.tar.bz2
iced-4a11cbd99445338619dfaf1f327dbc25b2983cb7.zip
Implement `Widget::mouse_interaction` for `PaneGrid`
... and fix rendering of drag interaction in `PaneGrid` by introducing an explicit `with_translation` method to `Renderer` and simplifying the `with_layer` and `Clip` primitive.
Diffstat (limited to 'native/src/widget/scrollable.rs')
-rw-r--r--native/src/widget/scrollable.rs25
1 files changed, 15 insertions, 10 deletions
diff --git a/native/src/widget/scrollable.rs b/native/src/widget/scrollable.rs
index 76badbde..563ea370 100644
--- a/native/src/widget/scrollable.rs
+++ b/native/src/widget/scrollable.rs
@@ -485,15 +485,20 @@ where
};
if let Some(scrollbar) = scrollbar {
- renderer.with_layer(bounds, Vector::new(0, offset), |renderer| {
- self.content.draw(
- renderer,
- style,
- content_layout,
- cursor_position,
- &Rectangle {
- y: bounds.y + offset as f32,
- ..bounds
+ renderer.with_layer(bounds, |renderer| {
+ renderer.with_translation(
+ Vector::new(0.0, -(offset as f32)),
+ |renderer| {
+ self.content.draw(
+ renderer,
+ style,
+ content_layout,
+ cursor_position,
+ &Rectangle {
+ y: bounds.y + offset as f32,
+ ..bounds
+ },
+ );
},
);
});
@@ -509,7 +514,7 @@ where
let is_scrollbar_visible =
style.background.is_some() || style.border_width > 0.0;
- renderer.with_layer(bounds, Vector::new(0, 0), |renderer| {
+ renderer.with_layer(bounds, |renderer| {
if is_scrollbar_visible {
renderer.fill_rectangle(renderer::Quad {
bounds: scrollbar.bounds,