Merge pull request #2781 from iced-rs/event-by-reference
Take `Event` by reference in `Widget::update`
This commit is contained in:
commit
782b96b52f
49 changed files with 111 additions and 155 deletions
|
|
@ -311,7 +311,7 @@ where
|
|||
fn update(
|
||||
&mut self,
|
||||
tree: &mut Tree,
|
||||
event: Event,
|
||||
event: &Event,
|
||||
layout: Layout<'_>,
|
||||
cursor: mouse::Cursor,
|
||||
renderer: &Renderer,
|
||||
|
|
@ -447,7 +447,7 @@ where
|
|||
fn update(
|
||||
&mut self,
|
||||
state: &mut Tree,
|
||||
event: Event,
|
||||
event: &Event,
|
||||
layout: Layout<'_>,
|
||||
cursor: mouse::Cursor,
|
||||
renderer: &Renderer,
|
||||
|
|
|
|||
|
|
@ -58,7 +58,7 @@ where
|
|||
/// By default, it does nothing.
|
||||
fn update(
|
||||
&mut self,
|
||||
_event: Event,
|
||||
_event: &Event,
|
||||
_layout: Layout<'_>,
|
||||
_cursor: mouse::Cursor,
|
||||
_renderer: &Renderer,
|
||||
|
|
|
|||
|
|
@ -51,7 +51,7 @@ where
|
|||
/// Processes a runtime [`Event`].
|
||||
pub fn update(
|
||||
&mut self,
|
||||
event: Event,
|
||||
event: &Event,
|
||||
layout: Layout<'_>,
|
||||
cursor: mouse::Cursor,
|
||||
renderer: &Renderer,
|
||||
|
|
@ -150,7 +150,7 @@ where
|
|||
|
||||
fn update(
|
||||
&mut self,
|
||||
event: Event,
|
||||
event: &Event,
|
||||
layout: Layout<'_>,
|
||||
cursor: mouse::Cursor,
|
||||
renderer: &Renderer,
|
||||
|
|
|
|||
|
|
@ -74,7 +74,7 @@ where
|
|||
|
||||
fn update(
|
||||
&mut self,
|
||||
event: Event,
|
||||
event: &Event,
|
||||
layout: Layout<'_>,
|
||||
cursor: mouse::Cursor,
|
||||
renderer: &Renderer,
|
||||
|
|
@ -82,14 +82,7 @@ where
|
|||
shell: &mut Shell<'_, Message>,
|
||||
) {
|
||||
for (child, layout) in self.children.iter_mut().zip(layout.children()) {
|
||||
child.update(
|
||||
event.clone(),
|
||||
layout,
|
||||
cursor,
|
||||
renderer,
|
||||
clipboard,
|
||||
shell,
|
||||
);
|
||||
child.update(event, layout, cursor, renderer, clipboard, shell);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -114,7 +114,7 @@ where
|
|||
fn update(
|
||||
&mut self,
|
||||
_state: &mut Tree,
|
||||
_event: Event,
|
||||
_event: &Event,
|
||||
_layout: Layout<'_>,
|
||||
_cursor: mouse::Cursor,
|
||||
_renderer: &Renderer,
|
||||
|
|
|
|||
|
|
@ -93,7 +93,7 @@ mod bezier {
|
|||
fn update(
|
||||
&self,
|
||||
state: &mut Self::State,
|
||||
event: Event,
|
||||
event: &Event,
|
||||
bounds: Rectangle,
|
||||
cursor: mouse::Cursor,
|
||||
) -> Option<canvas::Action<Curve>> {
|
||||
|
|
|
|||
|
|
@ -380,7 +380,7 @@ mod grid {
|
|||
fn update(
|
||||
&self,
|
||||
interaction: &mut Interaction,
|
||||
event: Event,
|
||||
event: &Event,
|
||||
bounds: Rectangle,
|
||||
cursor: mouse::Cursor,
|
||||
) -> Option<canvas::Action<Message>> {
|
||||
|
|
@ -471,7 +471,7 @@ mod grid {
|
|||
_ => action.and_capture(),
|
||||
})
|
||||
}
|
||||
mouse::Event::WheelScrolled { delta } => match delta {
|
||||
mouse::Event::WheelScrolled { delta } => match *delta {
|
||||
mouse::ScrollDelta::Lines { y, .. }
|
||||
| mouse::ScrollDelta::Pixels { y, .. } => {
|
||||
if y < 0.0 && self.scaling > Self::MIN_SCALING
|
||||
|
|
|
|||
|
|
@ -264,7 +264,7 @@ where
|
|||
fn update(
|
||||
&mut self,
|
||||
tree: &mut Tree,
|
||||
event: Event,
|
||||
event: &Event,
|
||||
_layout: Layout<'_>,
|
||||
_cursor: mouse::Cursor,
|
||||
_renderer: &Renderer,
|
||||
|
|
@ -278,7 +278,7 @@ where
|
|||
state.animation = state.animation.timed_transition(
|
||||
self.cycle_duration,
|
||||
self.rotation_duration,
|
||||
now,
|
||||
*now,
|
||||
);
|
||||
|
||||
state.cache.clear();
|
||||
|
|
|
|||
|
|
@ -178,7 +178,7 @@ where
|
|||
fn update(
|
||||
&mut self,
|
||||
tree: &mut Tree,
|
||||
event: Event,
|
||||
event: &Event,
|
||||
_layout: Layout<'_>,
|
||||
_cursor: mouse::Cursor,
|
||||
_renderer: &Renderer,
|
||||
|
|
@ -189,7 +189,7 @@ where
|
|||
let state = tree.state.downcast_mut::<State>();
|
||||
|
||||
if let Event::Window(window::Event::RedrawRequested(now)) = event {
|
||||
*state = state.timed_transition(self.cycle_duration, now);
|
||||
*state = state.timed_transition(self.cycle_duration, *now);
|
||||
|
||||
shell.request_redraw();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -55,11 +55,11 @@ impl canvas::Program<Message> for Multitouch {
|
|||
fn update(
|
||||
&self,
|
||||
_state: &mut Self::State,
|
||||
event: Event,
|
||||
event: &Event,
|
||||
_bounds: Rectangle,
|
||||
_cursor: mouse::Cursor,
|
||||
) -> Option<canvas::Action<Message>> {
|
||||
let message = match event {
|
||||
let message = match event.clone() {
|
||||
Event::Touch(
|
||||
touch::Event::FingerPressed { id, position }
|
||||
| touch::Event::FingerMoved { id, position },
|
||||
|
|
|
|||
|
|
@ -76,7 +76,7 @@ impl canvas::Program<Message> for SierpinskiGraph {
|
|||
fn update(
|
||||
&self,
|
||||
_state: &mut Self::State,
|
||||
event: Event,
|
||||
event: &Event,
|
||||
bounds: Rectangle,
|
||||
cursor: mouse::Cursor,
|
||||
) -> Option<canvas::Action<Message>> {
|
||||
|
|
|
|||
|
|
@ -361,7 +361,7 @@ mod toast {
|
|||
fn update(
|
||||
&mut self,
|
||||
state: &mut Tree,
|
||||
event: Event,
|
||||
event: &Event,
|
||||
layout: Layout<'_>,
|
||||
cursor: mouse::Cursor,
|
||||
renderer: &Renderer,
|
||||
|
|
@ -491,7 +491,7 @@ mod toast {
|
|||
|
||||
fn update(
|
||||
&mut self,
|
||||
event: Event,
|
||||
event: &Event,
|
||||
layout: Layout<'_>,
|
||||
cursor: mouse::Cursor,
|
||||
renderer: &Renderer,
|
||||
|
|
@ -530,7 +530,7 @@ mod toast {
|
|||
|
||||
child.as_widget_mut().update(
|
||||
state,
|
||||
event.clone(),
|
||||
event,
|
||||
layout,
|
||||
cursor,
|
||||
renderer,
|
||||
|
|
|
|||
|
|
@ -160,7 +160,7 @@ where
|
|||
/// Processes a runtime [`Event`].
|
||||
pub fn update(
|
||||
&mut self,
|
||||
event: Event,
|
||||
event: &Event,
|
||||
layout: Layout<'_>,
|
||||
cursor: mouse::Cursor,
|
||||
renderer: &Renderer,
|
||||
|
|
@ -170,7 +170,7 @@ where
|
|||
fn recurse<Message, Theme, Renderer>(
|
||||
element: &mut overlay::Element<'_, Message, Theme, Renderer>,
|
||||
layout: Layout<'_>,
|
||||
event: Event,
|
||||
event: &Event,
|
||||
cursor: mouse::Cursor,
|
||||
renderer: &Renderer,
|
||||
clipboard: &mut dyn Clipboard,
|
||||
|
|
@ -188,7 +188,7 @@ where
|
|||
recurse(
|
||||
&mut nested,
|
||||
nested_layout,
|
||||
event.clone(),
|
||||
event,
|
||||
cursor,
|
||||
renderer,
|
||||
clipboard,
|
||||
|
|
|
|||
|
|
@ -210,7 +210,7 @@ where
|
|||
let mut layout = overlay.layout(renderer, bounds);
|
||||
let mut event_statuses = Vec::new();
|
||||
|
||||
for event in events.iter().cloned() {
|
||||
for event in events {
|
||||
let mut shell = Shell::new(messages);
|
||||
|
||||
overlay.update(
|
||||
|
|
@ -294,7 +294,6 @@ where
|
|||
|
||||
let event_statuses = events
|
||||
.iter()
|
||||
.cloned()
|
||||
.zip(overlay_statuses)
|
||||
.map(|(event, overlay_status)| {
|
||||
if matches!(overlay_status, event::Status::Captured) {
|
||||
|
|
|
|||
|
|
@ -275,7 +275,7 @@ where
|
|||
fn update(
|
||||
&mut self,
|
||||
tree: &mut Tree,
|
||||
event: Event,
|
||||
event: &Event,
|
||||
layout: Layout<'_>,
|
||||
cursor: mouse::Cursor,
|
||||
renderer: &Renderer,
|
||||
|
|
@ -285,7 +285,7 @@ where
|
|||
) {
|
||||
self.content.as_widget_mut().update(
|
||||
&mut tree.children[0],
|
||||
event.clone(),
|
||||
event,
|
||||
layout.children().next().unwrap(),
|
||||
cursor,
|
||||
renderer,
|
||||
|
|
|
|||
|
|
@ -218,7 +218,7 @@ where
|
|||
fn update(
|
||||
&mut self,
|
||||
tree: &mut Tree,
|
||||
event: Event,
|
||||
event: &Event,
|
||||
layout: Layout<'_>,
|
||||
cursor: mouse::Cursor,
|
||||
renderer: &Renderer,
|
||||
|
|
|
|||
|
|
@ -32,7 +32,7 @@ where
|
|||
fn update(
|
||||
&self,
|
||||
_state: &mut Self::State,
|
||||
_event: Event,
|
||||
_event: &Event,
|
||||
_bounds: Rectangle,
|
||||
_cursor: mouse::Cursor,
|
||||
) -> Option<Action<Message>> {
|
||||
|
|
@ -82,7 +82,7 @@ where
|
|||
fn update(
|
||||
&self,
|
||||
state: &mut Self::State,
|
||||
event: Event,
|
||||
event: &Event,
|
||||
bounds: Rectangle,
|
||||
cursor: mouse::Cursor,
|
||||
) -> Option<Action<Message>> {
|
||||
|
|
|
|||
|
|
@ -305,7 +305,7 @@ where
|
|||
fn update(
|
||||
&mut self,
|
||||
_tree: &mut Tree,
|
||||
event: Event,
|
||||
event: &Event,
|
||||
layout: Layout<'_>,
|
||||
cursor: mouse::Cursor,
|
||||
_renderer: &Renderer,
|
||||
|
|
|
|||
|
|
@ -260,7 +260,7 @@ where
|
|||
fn update(
|
||||
&mut self,
|
||||
tree: &mut Tree,
|
||||
event: Event,
|
||||
event: &Event,
|
||||
layout: Layout<'_>,
|
||||
cursor: mouse::Cursor,
|
||||
renderer: &Renderer,
|
||||
|
|
@ -275,13 +275,7 @@ where
|
|||
.zip(layout.children())
|
||||
{
|
||||
child.as_widget_mut().update(
|
||||
state,
|
||||
event.clone(),
|
||||
layout,
|
||||
cursor,
|
||||
renderer,
|
||||
clipboard,
|
||||
shell,
|
||||
state, event, layout, cursor, renderer, clipboard, shell,
|
||||
viewport,
|
||||
);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -512,7 +512,7 @@ where
|
|||
fn update(
|
||||
&mut self,
|
||||
tree: &mut widget::Tree,
|
||||
event: Event,
|
||||
event: &Event,
|
||||
layout: Layout<'_>,
|
||||
cursor: mouse::Cursor,
|
||||
renderer: &Renderer,
|
||||
|
|
@ -540,7 +540,7 @@ where
|
|||
// Provide it to the widget
|
||||
self.text_input.update(
|
||||
&mut tree.children[0],
|
||||
event.clone(),
|
||||
event,
|
||||
layout,
|
||||
cursor,
|
||||
renderer,
|
||||
|
|
@ -737,7 +737,7 @@ where
|
|||
let mut local_shell = Shell::new(&mut local_messages);
|
||||
self.text_input.update(
|
||||
&mut tree.children[0],
|
||||
Event::Mouse(mouse::Event::ButtonPressed(
|
||||
&Event::Mouse(mouse::Event::ButtonPressed(
|
||||
mouse::Button::Left,
|
||||
)),
|
||||
layout,
|
||||
|
|
|
|||
|
|
@ -300,7 +300,7 @@ where
|
|||
fn update(
|
||||
&mut self,
|
||||
tree: &mut Tree,
|
||||
event: Event,
|
||||
event: &Event,
|
||||
layout: Layout<'_>,
|
||||
cursor: mouse::Cursor,
|
||||
renderer: &Renderer,
|
||||
|
|
|
|||
|
|
@ -633,7 +633,7 @@ where
|
|||
fn update(
|
||||
&mut self,
|
||||
state: &mut Tree,
|
||||
event: Event,
|
||||
event: &Event,
|
||||
layout: Layout<'_>,
|
||||
cursor: mouse::Cursor,
|
||||
renderer: &Renderer,
|
||||
|
|
@ -836,7 +836,7 @@ where
|
|||
fn update(
|
||||
&mut self,
|
||||
tree: &mut Tree,
|
||||
event: Event,
|
||||
event: &Event,
|
||||
layout: Layout<'_>,
|
||||
cursor: mouse::Cursor,
|
||||
renderer: &Renderer,
|
||||
|
|
@ -885,14 +885,8 @@ where
|
|||
let redraw_request = shell.redraw_request();
|
||||
|
||||
self.top.as_widget_mut().update(
|
||||
top_tree,
|
||||
event.clone(),
|
||||
top_layout,
|
||||
cursor,
|
||||
renderer,
|
||||
clipboard,
|
||||
shell,
|
||||
viewport,
|
||||
top_tree, event, top_layout, cursor, renderer, clipboard,
|
||||
shell, viewport,
|
||||
);
|
||||
|
||||
// Ignore redraw requests of invisible content
|
||||
|
|
@ -907,7 +901,7 @@ where
|
|||
|
||||
self.base.as_widget_mut().update(
|
||||
base_tree,
|
||||
event.clone(),
|
||||
event,
|
||||
base_layout,
|
||||
cursor,
|
||||
renderer,
|
||||
|
|
|
|||
|
|
@ -151,7 +151,7 @@ where
|
|||
fn update(
|
||||
&mut self,
|
||||
tree: &mut Tree,
|
||||
event: Event,
|
||||
event: &Event,
|
||||
layout: Layout<'_>,
|
||||
cursor: mouse::Cursor,
|
||||
renderer: &Renderer,
|
||||
|
|
@ -167,7 +167,7 @@ where
|
|||
return;
|
||||
};
|
||||
|
||||
match delta {
|
||||
match *delta {
|
||||
mouse::ScrollDelta::Lines { y, .. }
|
||||
| mouse::ScrollDelta::Pixels { y, .. } => {
|
||||
let state = tree.state.downcast_mut::<State>();
|
||||
|
|
@ -256,7 +256,7 @@ where
|
|||
.max(0.0)
|
||||
.round();
|
||||
|
||||
let delta = position - origin;
|
||||
let delta = *position - origin;
|
||||
|
||||
let x = if bounds.width < scaled_size.width {
|
||||
(state.starting_offset.x - delta.x)
|
||||
|
|
|
|||
|
|
@ -300,7 +300,7 @@ where
|
|||
fn update(
|
||||
&mut self,
|
||||
tree: &mut Tree,
|
||||
event: Event,
|
||||
event: &Event,
|
||||
layout: Layout<'_>,
|
||||
cursor: mouse::Cursor,
|
||||
renderer: &Renderer,
|
||||
|
|
@ -315,13 +315,7 @@ where
|
|||
.zip(layout.children())
|
||||
{
|
||||
child.as_widget_mut().update(
|
||||
state,
|
||||
event.clone(),
|
||||
layout,
|
||||
cursor,
|
||||
renderer,
|
||||
clipboard,
|
||||
shell,
|
||||
state, event, layout, cursor, renderer, clipboard, shell,
|
||||
viewport,
|
||||
);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -198,7 +198,7 @@ where
|
|||
fn update(
|
||||
&mut self,
|
||||
tree: &mut Tree,
|
||||
event: Event,
|
||||
event: &Event,
|
||||
layout: Layout<'_>,
|
||||
cursor: mouse::Cursor,
|
||||
renderer: &Renderer,
|
||||
|
|
@ -386,7 +386,7 @@ where
|
|||
|
||||
fn update(
|
||||
&mut self,
|
||||
event: Event,
|
||||
event: &Event,
|
||||
layout: Layout<'_>,
|
||||
cursor: mouse::Cursor,
|
||||
renderer: &Renderer,
|
||||
|
|
|
|||
|
|
@ -313,7 +313,7 @@ where
|
|||
fn update(
|
||||
&mut self,
|
||||
tree: &mut Tree,
|
||||
event: core::Event,
|
||||
event: &core::Event,
|
||||
layout: Layout<'_>,
|
||||
cursor: mouse::Cursor,
|
||||
renderer: &Renderer,
|
||||
|
|
@ -593,7 +593,7 @@ where
|
|||
|
||||
fn update(
|
||||
&mut self,
|
||||
event: core::Event,
|
||||
event: &core::Event,
|
||||
layout: Layout<'_>,
|
||||
cursor: mouse::Cursor,
|
||||
renderer: &Renderer,
|
||||
|
|
|
|||
|
|
@ -188,7 +188,7 @@ where
|
|||
fn update(
|
||||
&mut self,
|
||||
tree: &mut Tree,
|
||||
event: Event,
|
||||
event: &Event,
|
||||
layout: Layout<'_>,
|
||||
cursor: mouse::Cursor,
|
||||
renderer: &Renderer,
|
||||
|
|
@ -416,7 +416,7 @@ where
|
|||
|
||||
fn update(
|
||||
&mut self,
|
||||
event: Event,
|
||||
event: &Event,
|
||||
layout: Layout<'_>,
|
||||
cursor: mouse::Cursor,
|
||||
renderer: &Renderer,
|
||||
|
|
|
|||
|
|
@ -218,7 +218,7 @@ where
|
|||
fn update(
|
||||
&mut self,
|
||||
tree: &mut Tree,
|
||||
event: Event,
|
||||
event: &Event,
|
||||
layout: Layout<'_>,
|
||||
cursor: mouse::Cursor,
|
||||
renderer: &Renderer,
|
||||
|
|
@ -228,7 +228,7 @@ where
|
|||
) {
|
||||
self.content.as_widget_mut().update(
|
||||
&mut tree.children[0],
|
||||
event.clone(),
|
||||
event,
|
||||
layout,
|
||||
cursor,
|
||||
renderer,
|
||||
|
|
@ -326,7 +326,7 @@ where
|
|||
fn update<Message: Clone, Theme, Renderer>(
|
||||
widget: &mut MouseArea<'_, Message, Theme, Renderer>,
|
||||
tree: &mut Tree,
|
||||
event: Event,
|
||||
event: &Event,
|
||||
layout: Layout<'_>,
|
||||
cursor: mouse::Cursor,
|
||||
shell: &mut Shell<'_, Message>,
|
||||
|
|
@ -425,7 +425,7 @@ fn update<Message: Clone, Theme, Renderer>(
|
|||
}
|
||||
Event::Mouse(mouse::Event::WheelScrolled { delta }) => {
|
||||
if let Some(on_scroll) = widget.on_scroll.as_ref() {
|
||||
shell.publish(on_scroll(delta));
|
||||
shell.publish(on_scroll(*delta));
|
||||
shell.capture_event();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -263,7 +263,7 @@ where
|
|||
|
||||
fn update(
|
||||
&mut self,
|
||||
event: Event,
|
||||
event: &Event,
|
||||
layout: Layout<'_>,
|
||||
cursor: mouse::Cursor,
|
||||
renderer: &Renderer,
|
||||
|
|
@ -388,7 +388,7 @@ where
|
|||
fn update(
|
||||
&mut self,
|
||||
tree: &mut Tree,
|
||||
event: Event,
|
||||
event: &Event,
|
||||
layout: Layout<'_>,
|
||||
cursor: mouse::Cursor,
|
||||
renderer: &Renderer,
|
||||
|
|
|
|||
|
|
@ -474,7 +474,7 @@ where
|
|||
fn update(
|
||||
&mut self,
|
||||
tree: &mut Tree,
|
||||
event: Event,
|
||||
event: &Event,
|
||||
layout: Layout<'_>,
|
||||
cursor: mouse::Cursor,
|
||||
renderer: &Renderer,
|
||||
|
|
@ -509,15 +509,8 @@ where
|
|||
let is_picked = picked_pane == Some(pane);
|
||||
|
||||
content.update(
|
||||
tree,
|
||||
event.clone(),
|
||||
layout,
|
||||
cursor,
|
||||
renderer,
|
||||
clipboard,
|
||||
shell,
|
||||
viewport,
|
||||
is_picked,
|
||||
tree, event, layout, cursor, renderer, clipboard, shell,
|
||||
viewport, is_picked,
|
||||
);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -242,7 +242,7 @@ where
|
|||
pub(crate) fn update(
|
||||
&mut self,
|
||||
tree: &mut Tree,
|
||||
event: Event,
|
||||
event: &Event,
|
||||
layout: Layout<'_>,
|
||||
cursor: mouse::Cursor,
|
||||
renderer: &Renderer,
|
||||
|
|
@ -256,7 +256,7 @@ where
|
|||
|
||||
title_bar.update(
|
||||
&mut tree.children[1],
|
||||
event.clone(),
|
||||
event,
|
||||
children.next().unwrap(),
|
||||
cursor,
|
||||
renderer,
|
||||
|
|
|
|||
|
|
@ -430,7 +430,7 @@ where
|
|||
pub(crate) fn update(
|
||||
&mut self,
|
||||
tree: &mut Tree,
|
||||
event: Event,
|
||||
event: &Event,
|
||||
layout: Layout<'_>,
|
||||
cursor: mouse::Cursor,
|
||||
renderer: &Renderer,
|
||||
|
|
@ -456,7 +456,7 @@ where
|
|||
|
||||
compact.as_widget_mut().update(
|
||||
&mut tree.children[2],
|
||||
event.clone(),
|
||||
event,
|
||||
compact_layout,
|
||||
cursor,
|
||||
renderer,
|
||||
|
|
@ -469,7 +469,7 @@ where
|
|||
|
||||
controls.full.as_widget_mut().update(
|
||||
&mut tree.children[1],
|
||||
event.clone(),
|
||||
event,
|
||||
controls_layout,
|
||||
cursor,
|
||||
renderer,
|
||||
|
|
@ -481,7 +481,7 @@ where
|
|||
} else {
|
||||
controls.full.as_widget_mut().update(
|
||||
&mut tree.children[1],
|
||||
event.clone(),
|
||||
event,
|
||||
controls_layout,
|
||||
cursor,
|
||||
renderer,
|
||||
|
|
|
|||
|
|
@ -430,7 +430,7 @@ where
|
|||
fn update(
|
||||
&mut self,
|
||||
tree: &mut Tree,
|
||||
event: Event,
|
||||
event: &Event,
|
||||
layout: Layout<'_>,
|
||||
cursor: mouse::Cursor,
|
||||
_renderer: &Renderer,
|
||||
|
|
@ -489,13 +489,13 @@ where
|
|||
let options = self.options.borrow();
|
||||
let selected = self.selected.as_ref().map(Borrow::borrow);
|
||||
|
||||
let next_option = if y < 0.0 {
|
||||
let next_option = if *y < 0.0 {
|
||||
if let Some(selected) = selected {
|
||||
find_next(selected, options.iter())
|
||||
} else {
|
||||
options.first()
|
||||
}
|
||||
} else if y > 0.0 {
|
||||
} else if *y > 0.0 {
|
||||
if let Some(selected) = selected {
|
||||
find_next(selected, options.iter().rev())
|
||||
} else {
|
||||
|
|
@ -513,7 +513,7 @@ where
|
|||
}
|
||||
}
|
||||
Event::Keyboard(keyboard::Event::ModifiersChanged(modifiers)) => {
|
||||
state.keyboard_modifiers = modifiers;
|
||||
state.keyboard_modifiers = *modifiers;
|
||||
}
|
||||
_ => {}
|
||||
};
|
||||
|
|
|
|||
|
|
@ -177,7 +177,7 @@ where
|
|||
fn update(
|
||||
&mut self,
|
||||
tree: &mut widget::Tree,
|
||||
event: Event,
|
||||
event: &Event,
|
||||
layout: Layout<'_>,
|
||||
cursor: mouse::Cursor,
|
||||
renderer: &Renderer,
|
||||
|
|
|
|||
|
|
@ -108,7 +108,7 @@ where
|
|||
fn update(
|
||||
&mut self,
|
||||
tree: &mut Tree,
|
||||
event: Event,
|
||||
event: &Event,
|
||||
layout: Layout<'_>,
|
||||
cursor: mouse::Cursor,
|
||||
renderer: &Renderer,
|
||||
|
|
|
|||
|
|
@ -326,7 +326,7 @@ where
|
|||
fn update(
|
||||
&mut self,
|
||||
_state: &mut Tree,
|
||||
event: Event,
|
||||
event: &Event,
|
||||
layout: Layout<'_>,
|
||||
cursor: mouse::Cursor,
|
||||
_renderer: &Renderer,
|
||||
|
|
|
|||
|
|
@ -256,7 +256,7 @@ where
|
|||
fn update(
|
||||
&mut self,
|
||||
tree: &mut Tree,
|
||||
event: Event,
|
||||
event: &Event,
|
||||
layout: Layout<'_>,
|
||||
cursor: mouse::Cursor,
|
||||
renderer: &Renderer,
|
||||
|
|
@ -271,13 +271,7 @@ where
|
|||
.zip(layout.children())
|
||||
{
|
||||
child.as_widget_mut().update(
|
||||
state,
|
||||
event.clone(),
|
||||
layout,
|
||||
cursor,
|
||||
renderer,
|
||||
clipboard,
|
||||
shell,
|
||||
state, event, layout, cursor, renderer, clipboard, shell,
|
||||
viewport,
|
||||
);
|
||||
}
|
||||
|
|
@ -495,7 +489,7 @@ where
|
|||
fn update(
|
||||
&mut self,
|
||||
tree: &mut Tree,
|
||||
event: Event,
|
||||
event: &Event,
|
||||
layout: Layout<'_>,
|
||||
cursor: mouse::Cursor,
|
||||
renderer: &Renderer,
|
||||
|
|
|
|||
|
|
@ -517,7 +517,7 @@ where
|
|||
fn update(
|
||||
&mut self,
|
||||
tree: &mut Tree,
|
||||
event: Event,
|
||||
event: &Event,
|
||||
layout: Layout<'_>,
|
||||
cursor: mouse::Cursor,
|
||||
renderer: &Renderer,
|
||||
|
|
@ -736,7 +736,7 @@ where
|
|||
|
||||
self.content.as_widget_mut().update(
|
||||
&mut tree.children[0],
|
||||
event.clone(),
|
||||
event,
|
||||
content,
|
||||
cursor,
|
||||
renderer,
|
||||
|
|
@ -781,7 +781,7 @@ where
|
|||
modifiers,
|
||||
)) = event
|
||||
{
|
||||
state.keyboard_modifiers = modifiers;
|
||||
state.keyboard_modifiers = *modifiers;
|
||||
|
||||
return;
|
||||
}
|
||||
|
|
@ -792,7 +792,7 @@ where
|
|||
return;
|
||||
}
|
||||
|
||||
let delta = match delta {
|
||||
let delta = match *delta {
|
||||
mouse::ScrollDelta::Lines { x, y } => {
|
||||
let is_shift_pressed =
|
||||
state.keyboard_modifiers.shift();
|
||||
|
|
|
|||
|
|
@ -88,7 +88,7 @@ where
|
|||
fn update(
|
||||
&mut self,
|
||||
tree: &mut Tree,
|
||||
event: crate::core::Event,
|
||||
event: &Event,
|
||||
layout: Layout<'_>,
|
||||
cursor: mouse::Cursor,
|
||||
_renderer: &Renderer,
|
||||
|
|
@ -174,7 +174,7 @@ where
|
|||
fn update(
|
||||
&self,
|
||||
state: &mut Self::State,
|
||||
event: Event,
|
||||
event: &Event,
|
||||
bounds: Rectangle,
|
||||
cursor: mouse::Cursor,
|
||||
) -> Option<Action<Message>> {
|
||||
|
|
|
|||
|
|
@ -26,7 +26,7 @@ pub trait Program<Message> {
|
|||
fn update(
|
||||
&self,
|
||||
_state: &mut Self::State,
|
||||
_event: shader::Event,
|
||||
_event: &shader::Event,
|
||||
_bounds: Rectangle,
|
||||
_cursor: mouse::Cursor,
|
||||
) -> Option<Action<Message>> {
|
||||
|
|
|
|||
|
|
@ -245,7 +245,7 @@ where
|
|||
fn update(
|
||||
&mut self,
|
||||
tree: &mut Tree,
|
||||
event: Event,
|
||||
event: &Event,
|
||||
layout: Layout<'_>,
|
||||
cursor: mouse::Cursor,
|
||||
_renderer: &Renderer,
|
||||
|
|
|
|||
|
|
@ -207,7 +207,7 @@ where
|
|||
fn update(
|
||||
&mut self,
|
||||
tree: &mut Tree,
|
||||
event: Event,
|
||||
event: &Event,
|
||||
layout: Layout<'_>,
|
||||
mut cursor: mouse::Cursor,
|
||||
renderer: &Renderer,
|
||||
|
|
@ -227,13 +227,7 @@ where
|
|||
.enumerate()
|
||||
{
|
||||
child.as_widget_mut().update(
|
||||
state,
|
||||
event.clone(),
|
||||
layout,
|
||||
cursor,
|
||||
renderer,
|
||||
clipboard,
|
||||
shell,
|
||||
state, event, layout, cursor, renderer, clipboard, shell,
|
||||
viewport,
|
||||
);
|
||||
|
||||
|
|
|
|||
|
|
@ -358,7 +358,7 @@ where
|
|||
fn update(
|
||||
&mut self,
|
||||
tree: &mut Tree,
|
||||
event: Event,
|
||||
event: &Event,
|
||||
layout: Layout<'_>,
|
||||
cursor: mouse::Cursor,
|
||||
_renderer: &Renderer,
|
||||
|
|
|
|||
|
|
@ -651,7 +651,7 @@ where
|
|||
fn update(
|
||||
&mut self,
|
||||
tree: &mut widget::Tree,
|
||||
event: Event,
|
||||
event: &Event,
|
||||
layout: Layout<'_>,
|
||||
cursor: mouse::Cursor,
|
||||
renderer: &Renderer,
|
||||
|
|
@ -686,17 +686,18 @@ where
|
|||
Event::Window(window::Event::RedrawRequested(now)) => {
|
||||
if let Some(focus) = &mut state.focus {
|
||||
if focus.is_window_focused {
|
||||
focus.now = now;
|
||||
focus.now = *now;
|
||||
|
||||
let millis_until_redraw =
|
||||
Focus::CURSOR_BLINK_INTERVAL_MILLIS
|
||||
- (now - focus.updated_at).as_millis()
|
||||
- (focus.now - focus.updated_at).as_millis()
|
||||
% Focus::CURSOR_BLINK_INTERVAL_MILLIS;
|
||||
|
||||
shell.request_redraw_at(
|
||||
now + Duration::from_millis(
|
||||
millis_until_redraw as u64,
|
||||
),
|
||||
focus.now
|
||||
+ Duration::from_millis(
|
||||
millis_until_redraw as u64,
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
|
@ -1216,7 +1217,7 @@ enum Ime {
|
|||
|
||||
impl<Message> Update<Message> {
|
||||
fn from_event<H: Highlighter>(
|
||||
event: Event,
|
||||
event: &Event,
|
||||
state: &State<H>,
|
||||
bounds: Rectangle,
|
||||
padding: Padding,
|
||||
|
|
@ -1284,14 +1285,14 @@ impl<Message> Update<Message> {
|
|||
if state.focus.is_some() =>
|
||||
{
|
||||
Some(Update::InputMethod(Ime::Preedit {
|
||||
content,
|
||||
selection,
|
||||
content: content.clone(),
|
||||
selection: selection.clone(),
|
||||
}))
|
||||
}
|
||||
input_method::Event::Commit(content)
|
||||
if state.focus.is_some() =>
|
||||
{
|
||||
Some(Update::InputMethod(Ime::Commit(content)))
|
||||
Some(Update::InputMethod(Ime::Commit(content.clone())))
|
||||
}
|
||||
_ => None,
|
||||
},
|
||||
|
|
@ -1310,9 +1311,9 @@ impl<Message> Update<Message> {
|
|||
};
|
||||
|
||||
let key_press = KeyPress {
|
||||
key,
|
||||
modifiers,
|
||||
text,
|
||||
key: key.clone(),
|
||||
modifiers: *modifiers,
|
||||
text: text.clone(),
|
||||
status,
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -692,7 +692,7 @@ where
|
|||
fn update(
|
||||
&mut self,
|
||||
tree: &mut Tree,
|
||||
event: Event,
|
||||
event: &Event,
|
||||
layout: Layout<'_>,
|
||||
cursor: mouse::Cursor,
|
||||
renderer: &Renderer,
|
||||
|
|
|
|||
|
|
@ -113,7 +113,7 @@ where
|
|||
fn update(
|
||||
&mut self,
|
||||
tree: &mut Tree,
|
||||
event: Event,
|
||||
event: &Event,
|
||||
layout: Layout<'_>,
|
||||
cursor: mouse::Cursor,
|
||||
renderer: &Renderer,
|
||||
|
|
@ -220,7 +220,7 @@ where
|
|||
|
||||
fn update(
|
||||
&mut self,
|
||||
event: Event,
|
||||
event: &Event,
|
||||
layout: Layout<'_>,
|
||||
cursor: mouse::Cursor,
|
||||
renderer: &Renderer,
|
||||
|
|
|
|||
|
|
@ -309,7 +309,7 @@ where
|
|||
fn update(
|
||||
&mut self,
|
||||
_state: &mut Tree,
|
||||
event: Event,
|
||||
event: &Event,
|
||||
layout: Layout<'_>,
|
||||
cursor: mouse::Cursor,
|
||||
_renderer: &Renderer,
|
||||
|
|
|
|||
|
|
@ -192,7 +192,7 @@ where
|
|||
fn update(
|
||||
&mut self,
|
||||
tree: &mut widget::Tree,
|
||||
event: Event,
|
||||
event: &Event,
|
||||
layout: Layout<'_>,
|
||||
cursor: mouse::Cursor,
|
||||
renderer: &Renderer,
|
||||
|
|
|
|||
|
|
@ -249,7 +249,7 @@ where
|
|||
fn update(
|
||||
&mut self,
|
||||
tree: &mut Tree,
|
||||
event: Event,
|
||||
event: &Event,
|
||||
layout: Layout<'_>,
|
||||
cursor: mouse::Cursor,
|
||||
_renderer: &Renderer,
|
||||
|
|
@ -379,7 +379,7 @@ where
|
|||
if state.keyboard_modifiers.control() =>
|
||||
{
|
||||
if cursor.is_over(layout.bounds()) {
|
||||
let delta = match delta {
|
||||
let delta = match *delta {
|
||||
mouse::ScrollDelta::Lines { x: _, y } => y,
|
||||
mouse::ScrollDelta::Pixels { x: _, y } => y,
|
||||
};
|
||||
|
|
@ -411,7 +411,7 @@ where
|
|||
}
|
||||
}
|
||||
Event::Keyboard(keyboard::Event::ModifiersChanged(modifiers)) => {
|
||||
state.keyboard_modifiers = modifiers;
|
||||
state.keyboard_modifiers = *modifiers;
|
||||
}
|
||||
_ => {}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue