Move viewport argument to last position in mouse_interaction methods

This keeps the order of the arguments consistent with `draw`.
This commit is contained in:
Héctor Ramón Jiménez 2021-11-02 15:03:29 +07:00
parent c330bb1b69
commit 631e95ee0b
No known key found for this signature in database
GPG key ID: 140CC052C94F138E
24 changed files with 61 additions and 41 deletions

View file

@ -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) {

View file

@ -82,8 +82,8 @@ where
fn mouse_interaction(
&self,
_layout: Layout<'_>,
_viewport: &Rectangle,
_cursor_position: Point,
_viewport: &Rectangle,
) -> mouse::Interaction {
mouse::Interaction::Idle
}

View file

@ -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,

View file

@ -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);

View file

@ -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();

View file

@ -174,8 +174,8 @@ where
fn mouse_interaction(
&self,
_layout: Layout<'_>,
_viewport: &Rectangle,
_cursor_position: Point,
_viewport: &Rectangle,
) -> mouse::Interaction {
mouse::Interaction::Idle
}

View file

@ -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();

View file

@ -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

View file

@ -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()

View file

@ -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,
)
}

View file

@ -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);

View file

@ -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()

View file

@ -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)
}

View file

@ -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

View file

@ -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);

View file

@ -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

View file

@ -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()

View file

@ -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,
)
}
}

View file

@ -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);

View file

@ -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

View file

@ -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

View file

@ -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,