MCPcopy Create free account
hub / github.com/donkeyteethUX/iced_plot / update

Function update

examples/line_only.rs:17–46  ·  view source on GitHub ↗
(widget: &mut PlotWidget, message: PlotUiMessage)

Source from the content-addressed store, hash-verified

15}
16
17fn update(widget: &mut PlotWidget, message: PlotUiMessage) {
18 let hover_pick_event = message.get_hover_pick_event();
19 widget.update(message);
20 // after PlotWidget's update, update the hover and pick points for the other series
21 match hover_pick_event {
22 Some(HoverPickEvent::Hover(point_id)) => {
23 if let Some([x, _]) = widget.point_position(point_id) {
24 for series_id in widget.series_ids() {
25 if series_id != point_id.series_id
26 && let Some(p) = widget.nearest_point_horizontal(series_id, x)
27 {
28 widget.add_hover_point(p);
29 }
30 }
31 }
32 }
33 Some(HoverPickEvent::Pick(point_id)) => {
34 if let Some([x, _]) = widget.point_position(point_id) {
35 for series_id in widget.series_ids() {
36 if series_id != point_id.series_id
37 && let Some(p) = widget.nearest_point_horizontal(series_id, x)
38 {
39 widget.add_pick_point(p);
40 }
41 }
42 }
43 }
44 _ => {}
45 }
46}
47
48fn view(widget: &PlotWidget) -> Element<'_, PlotUiMessage> {
49 widget.view()

Callers

nothing calls this directly

Calls 7

get_hover_pick_eventMethod · 0.80
point_positionMethod · 0.80
series_idsMethod · 0.80
add_hover_pointMethod · 0.80
add_pick_pointMethod · 0.80
updateMethod · 0.45

Tested by

no test coverage detected