summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLibravatar Héctor Ramón Jiménez <hector0193@gmail.com>2021-11-02 15:03:29 +0700
committerLibravatar Héctor Ramón Jiménez <hector0193@gmail.com>2021-11-02 15:03:29 +0700
commit631e95ee0be01dc7f5e5183e1429972aee37787f (patch)
treeb7534cb783d02fefa2b2c040e5564efcfc24f487
parentc330bb1b69d55d767fa5bb2e0fcc059fbbe07d07 (diff)
downloadiced-631e95ee0be01dc7f5e5183e1429972aee37787f.tar.gz
iced-631e95ee0be01dc7f5e5183e1429972aee37787f.tar.bz2
iced-631e95ee0be01dc7f5e5183e1429972aee37787f.zip
Move `viewport` argument to last position in `mouse_interaction` methods
This keeps the order of the arguments consistent with `draw`.
-rw-r--r--graphics/src/widget/canvas.rs2
-rw-r--r--native/src/element.rs12
-rw-r--r--native/src/overlay.rs2
-rw-r--r--native/src/overlay/element.rs14
-rw-r--r--native/src/overlay/menu.rs6
-rw-r--r--native/src/user_interface.rs4
-rw-r--r--native/src/widget.rs2
-rw-r--r--native/src/widget/button.rs2
-rw-r--r--native/src/widget/checkbox.rs2
-rw-r--r--native/src/widget/column.rs4
-rw-r--r--native/src/widget/container.rs4
-rw-r--r--native/src/widget/image/viewer.rs2
-rw-r--r--native/src/widget/pane_grid.rs4
-rw-r--r--native/src/widget/pane_grid/content.rs6
-rw-r--r--native/src/widget/pane_grid/title_bar.rs6
-rw-r--r--native/src/widget/pick_list.rs2
-rw-r--r--native/src/widget/radio.rs2
-rw-r--r--native/src/widget/row.rs4
-rw-r--r--native/src/widget/scrollable.rs4
-rw-r--r--native/src/widget/slider.rs2
-rw-r--r--native/src/widget/text_input.rs2
-rw-r--r--native/src/widget/toggler.rs2
-rw-r--r--native/src/widget/tooltip.rs11
-rw-r--r--style/src/rule.rs1
24 files changed, 61 insertions, 41 deletions
diff --git a/graphics/src/widget/canvas.rs b/graphics/src/widget/canvas.rs
index ad9704d0..639c2a9b 100644
--- a/graphics/src/widget/canvas.rs
+++ b/graphics/src/widget/canvas.rs
@@ -191,8 +191,8 @@ where
fn mouse_interaction(
&self,
layout: Layout<'_>,
- _viewport: &Rectangle,
cursor_position: Point,
+ _viewport: &Rectangle,
) -> mouse::Interaction {
let bounds = layout.bounds();
let cursor = Cursor::from_window_position(cursor_position);
diff --git a/native/src/element.rs b/native/src/element.rs
index f4ae88b5..50ff9424 100644
--- a/native/src/element.rs
+++ b/native/src/element.rs
@@ -257,11 +257,11 @@ where
pub fn mouse_interaction(
&self,
layout: Layout<'_>,
- viewport: &Rectangle,
cursor_position: Point,
+ viewport: &Rectangle,
) -> mouse::Interaction {
self.widget
- .mouse_interaction(layout, viewport, cursor_position)
+ .mouse_interaction(layout, cursor_position, viewport)
}
/// Computes the _layout_ hash of the [`Element`].
@@ -362,11 +362,11 @@ where
fn mouse_interaction(
&self,
layout: Layout<'_>,
- viewport: &Rectangle,
cursor_position: Point,
+ viewport: &Rectangle,
) -> mouse::Interaction {
self.widget
- .mouse_interaction(layout, viewport, cursor_position)
+ .mouse_interaction(layout, cursor_position, viewport)
}
fn hash_layout(&self, state: &mut Hasher) {
@@ -479,12 +479,12 @@ where
fn mouse_interaction(
&self,
layout: Layout<'_>,
- viewport: &Rectangle,
cursor_position: Point,
+ viewport: &Rectangle,
) -> mouse::Interaction {
self.element
.widget
- .mouse_interaction(layout, viewport, cursor_position)
+ .mouse_interaction(layout, cursor_position, viewport)
}
fn hash_layout(&self, state: &mut Hasher) {
diff --git a/native/src/overlay.rs b/native/src/overlay.rs
index 70e3305b..1ac3cea5 100644
--- a/native/src/overlay.rs
+++ b/native/src/overlay.rs
@@ -82,8 +82,8 @@ where
fn mouse_interaction(
&self,
_layout: Layout<'_>,
- _viewport: &Rectangle,
_cursor_position: Point,
+ _viewport: &Rectangle,
) -> mouse::Interaction {
mouse::Interaction::Idle
}
diff --git a/native/src/overlay/element.rs b/native/src/overlay/element.rs
index 988cca09..ef676fb4 100644
--- a/native/src/overlay/element.rs
+++ b/native/src/overlay/element.rs
@@ -72,11 +72,11 @@ where
pub fn mouse_interaction(
&self,
layout: Layout<'_>,
- viewport: &Rectangle,
cursor_position: Point,
+ viewport: &Rectangle,
) -> mouse::Interaction {
self.overlay
- .mouse_interaction(layout, viewport, cursor_position)
+ .mouse_interaction(layout, cursor_position, viewport)
}
/// Draws the [`Element`] and its children using the given [`Layout`].
@@ -150,6 +150,16 @@ where
event_status
}
+ fn mouse_interaction(
+ &self,
+ layout: Layout<'_>,
+ cursor_position: Point,
+ viewport: &Rectangle,
+ ) -> mouse::Interaction {
+ self.content
+ .mouse_interaction(layout, cursor_position, viewport)
+ }
+
fn draw(
&self,
renderer: &mut Renderer,
diff --git a/native/src/overlay/menu.rs b/native/src/overlay/menu.rs
index c4d1e171..12dd4b0b 100644
--- a/native/src/overlay/menu.rs
+++ b/native/src/overlay/menu.rs
@@ -237,11 +237,11 @@ where
fn mouse_interaction(
&self,
layout: Layout<'_>,
- viewport: &Rectangle,
cursor_position: Point,
+ viewport: &Rectangle,
) -> mouse::Interaction {
self.container
- .mouse_interaction(layout, viewport, cursor_position)
+ .mouse_interaction(layout, cursor_position, viewport)
}
fn draw(
@@ -388,8 +388,8 @@ where
fn mouse_interaction(
&self,
layout: Layout<'_>,
- _viewport: &Rectangle,
cursor_position: Point,
+ _viewport: &Rectangle,
) -> mouse::Interaction {
let is_mouse_over = layout.bounds().contains(cursor_position);
diff --git a/native/src/user_interface.rs b/native/src/user_interface.rs
index a25fb0c4..39cac559 100644
--- a/native/src/user_interface.rs
+++ b/native/src/user_interface.rs
@@ -381,8 +381,8 @@ where
let base_interaction = self.root.widget.mouse_interaction(
Layout::new(&self.base.layout),
- &viewport,
cursor_position,
+ &viewport,
);
let Self {
@@ -403,8 +403,8 @@ where
root.overlay(Layout::new(&base.layout)).map(|overlay| {
let overlay_interaction = overlay.mouse_interaction(
Layout::new(&layer.layout),
- &viewport,
cursor_position,
+ &viewport,
);
let overlay_bounds = layer.layout.bounds();
diff --git a/native/src/widget.rs b/native/src/widget.rs
index 6a2bbfbd..07214b16 100644
--- a/native/src/widget.rs
+++ b/native/src/widget.rs
@@ -174,8 +174,8 @@ where
fn mouse_interaction(
&self,
_layout: Layout<'_>,
- _viewport: &Rectangle,
_cursor_position: Point,
+ _viewport: &Rectangle,
) -> mouse::Interaction {
mouse::Interaction::Idle
}
diff --git a/native/src/widget/button.rs b/native/src/widget/button.rs
index 588833a4..0d9eeebd 100644
--- a/native/src/widget/button.rs
+++ b/native/src/widget/button.rs
@@ -251,8 +251,8 @@ where
fn mouse_interaction(
&self,
layout: Layout<'_>,
- _viewport: &Rectangle,
cursor_position: Point,
+ _viewport: &Rectangle,
) -> mouse::Interaction {
let is_mouse_over = layout.bounds().contains(cursor_position);
let is_disabled = self.on_press.is_none();
diff --git a/native/src/widget/checkbox.rs b/native/src/widget/checkbox.rs
index b19a0a25..04f62cd9 100644
--- a/native/src/widget/checkbox.rs
+++ b/native/src/widget/checkbox.rs
@@ -193,8 +193,8 @@ where
fn mouse_interaction(
&self,
layout: Layout<'_>,
- _viewport: &Rectangle,
cursor_position: Point,
+ _viewport: &Rectangle,
) -> mouse::Interaction {
if layout.bounds().contains(cursor_position) {
mouse::Interaction::Pointer
diff --git a/native/src/widget/column.rs b/native/src/widget/column.rs
index 1d2c8485..0d4d6fa7 100644
--- a/native/src/widget/column.rs
+++ b/native/src/widget/column.rs
@@ -167,8 +167,8 @@ where
fn mouse_interaction(
&self,
layout: Layout<'_>,
- viewport: &Rectangle,
cursor_position: Point,
+ viewport: &Rectangle,
) -> mouse::Interaction {
self.children
.iter()
@@ -176,8 +176,8 @@ where
.map(|(child, layout)| {
child.widget.mouse_interaction(
layout,
- viewport,
cursor_position,
+ viewport,
)
})
.max()
diff --git a/native/src/widget/container.rs b/native/src/widget/container.rs
index 5ad07d6d..9e3d0193 100644
--- a/native/src/widget/container.rs
+++ b/native/src/widget/container.rs
@@ -182,13 +182,13 @@ where
fn mouse_interaction(
&self,
layout: Layout<'_>,
- viewport: &Rectangle,
cursor_position: Point,
+ viewport: &Rectangle,
) -> mouse::Interaction {
self.content.widget.mouse_interaction(
layout.children().next().unwrap(),
- viewport,
cursor_position,
+ viewport,
)
}
diff --git a/native/src/widget/image/viewer.rs b/native/src/widget/image/viewer.rs
index d9eccfad..95e5c6e4 100644
--- a/native/src/widget/image/viewer.rs
+++ b/native/src/widget/image/viewer.rs
@@ -284,8 +284,8 @@ where
fn mouse_interaction(
&self,
layout: Layout<'_>,
- _viewport: &Rectangle,
cursor_position: Point,
+ _viewport: &Rectangle,
) -> mouse::Interaction {
let bounds = layout.bounds();
let is_mouse_over = bounds.contains(cursor_position);
diff --git a/native/src/widget/pane_grid.rs b/native/src/widget/pane_grid.rs
index 48243c0b..d98369e4 100644
--- a/native/src/widget/pane_grid.rs
+++ b/native/src/widget/pane_grid.rs
@@ -474,8 +474,8 @@ where
fn mouse_interaction(
&self,
layout: Layout<'_>,
- viewport: &Rectangle,
cursor_position: Point,
+ viewport: &Rectangle,
) -> mouse::Interaction {
if self.state.picked_pane().is_some() {
return mouse::Interaction::Grab;
@@ -492,7 +492,7 @@ where
.iter()
.zip(layout.children())
.map(|((_pane, content), layout)| {
- content.mouse_interaction(layout, viewport, cursor_position)
+ content.mouse_interaction(layout, cursor_position, viewport)
})
.max()
.unwrap_or_default()
diff --git a/native/src/widget/pane_grid/content.rs b/native/src/widget/pane_grid/content.rs
index efb3493b..c44506dd 100644
--- a/native/src/widget/pane_grid/content.rs
+++ b/native/src/widget/pane_grid/content.rs
@@ -201,8 +201,8 @@ where
pub(crate) fn mouse_interaction(
&self,
layout: Layout<'_>,
- viewport: &Rectangle,
cursor_position: Point,
+ viewport: &Rectangle,
) -> mouse::Interaction {
let (body_layout, title_bar_interaction) =
if let Some(title_bar) = &self.title_bar {
@@ -218,8 +218,8 @@ where
let mouse_interaction = title_bar.mouse_interaction(
title_bar_layout,
- viewport,
cursor_position,
+ viewport,
);
(children.next().unwrap(), mouse_interaction)
@@ -228,7 +228,7 @@ where
};
self.body
- .mouse_interaction(body_layout, viewport, cursor_position)
+ .mouse_interaction(body_layout, cursor_position, viewport)
.max(title_bar_interaction)
}
diff --git a/native/src/widget/pane_grid/title_bar.rs b/native/src/widget/pane_grid/title_bar.rs
index ffd59488..070cf404 100644
--- a/native/src/widget/pane_grid/title_bar.rs
+++ b/native/src/widget/pane_grid/title_bar.rs
@@ -256,8 +256,8 @@ where
pub(crate) fn mouse_interaction(
&self,
layout: Layout<'_>,
- viewport: &Rectangle,
cursor_position: Point,
+ viewport: &Rectangle,
) -> mouse::Interaction {
let mut children = layout.children();
let padded = children.next().unwrap();
@@ -267,15 +267,15 @@ where
let title_interaction = self.content.mouse_interaction(
title_layout,
- viewport,
cursor_position,
+ viewport,
);
if let Some(controls) = &self.controls {
let controls_layout = children.next().unwrap();
controls
- .mouse_interaction(controls_layout, viewport, cursor_position)
+ .mouse_interaction(controls_layout, cursor_position, viewport)
.max(title_interaction)
} else {
title_interaction
diff --git a/native/src/widget/pick_list.rs b/native/src/widget/pick_list.rs
index 9d2f63db..a7fef37b 100644
--- a/native/src/widget/pick_list.rs
+++ b/native/src/widget/pick_list.rs
@@ -329,8 +329,8 @@ where
fn mouse_interaction(
&self,
layout: Layout<'_>,
- _viewport: &Rectangle,
cursor_position: Point,
+ _viewport: &Rectangle,
) -> mouse::Interaction {
let bounds = layout.bounds();
let is_mouse_over = bounds.contains(cursor_position);
diff --git a/native/src/widget/radio.rs b/native/src/widget/radio.rs
index eb732dc3..7d39c526 100644
--- a/native/src/widget/radio.rs
+++ b/native/src/widget/radio.rs
@@ -207,8 +207,8 @@ where
fn mouse_interaction(
&self,
layout: Layout<'_>,
- _viewport: &Rectangle,
cursor_position: Point,
+ _viewport: &Rectangle,
) -> mouse::Interaction {
if layout.bounds().contains(cursor_position) {
mouse::Interaction::Pointer
diff --git a/native/src/widget/row.rs b/native/src/widget/row.rs
index af83f106..6fe3284b 100644
--- a/native/src/widget/row.rs
+++ b/native/src/widget/row.rs
@@ -166,8 +166,8 @@ where
fn mouse_interaction(
&self,
layout: Layout<'_>,
- viewport: &Rectangle,
cursor_position: Point,
+ viewport: &Rectangle,
) -> mouse::Interaction {
self.children
.iter()
@@ -175,8 +175,8 @@ where
.map(|(child, layout)| {
child.widget.mouse_interaction(
layout,
- viewport,
cursor_position,
+ viewport,
)
})
.max()
diff --git a/native/src/widget/scrollable.rs b/native/src/widget/scrollable.rs
index 05e9b347..00f80bc6 100644
--- a/native/src/widget/scrollable.rs
+++ b/native/src/widget/scrollable.rs
@@ -426,8 +426,8 @@ where
fn mouse_interaction(
&self,
layout: Layout<'_>,
- _viewport: &Rectangle,
cursor_position: Point,
+ _viewport: &Rectangle,
) -> mouse::Interaction {
let bounds = layout.bounds();
let content_layout = layout.children().next().unwrap();
@@ -453,11 +453,11 @@ where
self.content.mouse_interaction(
content_layout,
+ cursor_position,
&Rectangle {
y: bounds.y + offset as f32,
..bounds
},
- cursor_position,
)
}
}
diff --git a/native/src/widget/slider.rs b/native/src/widget/slider.rs
index ee9db6cf..01053081 100644
--- a/native/src/widget/slider.rs
+++ b/native/src/widget/slider.rs
@@ -342,8 +342,8 @@ where
fn mouse_interaction(
&self,
layout: Layout<'_>,
- _viewport: &Rectangle,
cursor_position: Point,
+ _viewport: &Rectangle,
) -> mouse::Interaction {
let bounds = layout.bounds();
let is_mouse_over = bounds.contains(cursor_position);
diff --git a/native/src/widget/text_input.rs b/native/src/widget/text_input.rs
index 5dd68f81..db60b553 100644
--- a/native/src/widget/text_input.rs
+++ b/native/src/widget/text_input.rs
@@ -759,8 +759,8 @@ where
fn mouse_interaction(
&self,
layout: Layout<'_>,
- _viewport: &Rectangle,
cursor_position: Point,
+ _viewport: &Rectangle,
) -> mouse::Interaction {
if layout.bounds().contains(cursor_position) {
mouse::Interaction::Text
diff --git a/native/src/widget/toggler.rs b/native/src/widget/toggler.rs
index fb7d2642..78e3d5ef 100644
--- a/native/src/widget/toggler.rs
+++ b/native/src/widget/toggler.rs
@@ -194,8 +194,8 @@ where
fn mouse_interaction(
&self,
layout: Layout<'_>,
- _viewport: &Rectangle,
cursor_position: Point,
+ _viewport: &Rectangle,
) -> mouse::Interaction {
if layout.bounds().contains(cursor_position) {
mouse::Interaction::Pointer
diff --git a/native/src/widget/tooltip.rs b/native/src/widget/tooltip.rs
index 5a6cd923..c35005e0 100644
--- a/native/src/widget/tooltip.rs
+++ b/native/src/widget/tooltip.rs
@@ -5,6 +5,7 @@ use iced_core::Rectangle;
use crate::event;
use crate::layout;
+use crate::mouse;
use crate::renderer;
use crate::text;
use crate::widget::container;
@@ -141,6 +142,16 @@ where
)
}
+ fn mouse_interaction(
+ &self,
+ layout: Layout<'_>,
+ cursor_position: Point,
+ viewport: &Rectangle,
+ ) -> mouse::Interaction {
+ self.content
+ .mouse_interaction(layout, cursor_position, viewport)
+ }
+
fn draw(
&self,
renderer: &mut Renderer,
diff --git a/style/src/rule.rs b/style/src/rule.rs
index 7276bc19..997bb1e9 100644
--- a/style/src/rule.rs
+++ b/style/src/rule.rs
@@ -1,5 +1,4 @@
//! Display a horizontal or vertical rule for dividing content.
-
use iced_core::Color;
/// The fill mode of a rule.