Skip to content

Commit e758663

Browse files
committed
Update to ui-events and ui-events-winit 0.2.0.
1 parent ba58089 commit e758663

File tree

12 files changed

+53
-91
lines changed

12 files changed

+53
-91
lines changed

Cargo.lock

Lines changed: 3 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,8 +55,8 @@ parley = { git = "https://github.com/linebender/parley", rev = "587b7634ae8601c1
5555
peniko = "0.4.0"
5656
winit = "0.30.10"
5757
tracing = { version = "0.1.41", default-features = false }
58-
ui-events = "0.1.0"
59-
ui-events-winit = "0.1.0"
58+
ui-events = { git = "https://github.com/endoli/ui-events", rev = "6382e63" }
59+
ui-events-winit = { git = "https://github.com/endoli/ui-events", rev = "6382e63" }
6060
smallvec = "1.15.0"
6161
hashbrown = "0.15.3"
6262
dpi = "0.1.2"

masonry/src/doc/color_rectangle.rs

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -85,10 +85,7 @@ impl Widget for ColorRectangle {
8585
event: &PointerEvent,
8686
) {
8787
match event {
88-
PointerEvent::Down {
89-
button: Some(PointerButton::Primary),
90-
..
91-
} => {
88+
PointerEvent::Down(b) if b.button == Some(PointerButton::Primary) => {
9289
ctx.submit_action::<Self::Action>(ColorRectanglePress);
9390
}
9491
_ => {}

masonry/src/widgets/button.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -112,15 +112,15 @@ impl Widget for Button {
112112
event: &PointerEvent,
113113
) {
114114
match event {
115-
PointerEvent::Down { .. } => {
115+
PointerEvent::Down(..) => {
116116
ctx.capture_pointer();
117117
// Changes in pointer capture impact appearance, but not accessibility node
118118
ctx.request_paint_only();
119119
trace!("Button {:?} pressed", ctx.widget_id());
120120
}
121-
PointerEvent::Up { button, .. } => {
121+
PointerEvent::Up(b) => {
122122
if ctx.is_active() && ctx.is_hovered() {
123-
ctx.submit_action::<Self::Action>(ButtonPress { button: *button });
123+
ctx.submit_action::<Self::Action>(ButtonPress { button: b.button });
124124
trace!("Button {:?} released", ctx.widget_id());
125125
}
126126
// Changes in pointer capture impact appearance, but not accessibility node

masonry/src/widgets/portal.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -270,10 +270,10 @@ impl<W: Widget + FromDynWidget + ?Sized> Widget for Portal<W> {
270270
let content_size = self.content_size;
271271

272272
match *event {
273-
PointerEvent::Scroll { delta, .. } => {
273+
PointerEvent::Scroll(ref s) => {
274274
// TODO - Remove reference to scale factor.
275275
// See https://github.com/linebender/xilem/issues/1264
276-
let delta = match delta {
276+
let delta = match s.delta {
277277
ScrollDelta::PixelDelta(PhysicalPosition::<f64> { x, y }) => -Vec2 { x, y },
278278
ScrollDelta::LineDelta(x, y) => {
279279
-Vec2 {

masonry/src/widgets/scroll_bar.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -129,12 +129,12 @@ impl Widget for ScrollBar {
129129
event: &PointerEvent,
130130
) {
131131
match event {
132-
PointerEvent::Down { state, .. } => {
132+
PointerEvent::Down(b) => {
133133
ctx.capture_pointer();
134134

135135
let cursor_min_length = theme::SCROLLBAR_MIN_SIZE;
136136
let cursor_rect = self.get_cursor_rect(ctx.size(), cursor_min_length);
137-
let mouse_pos = ctx.local_position(state.position);
137+
let mouse_pos = ctx.local_position(b.state.position);
138138
if cursor_rect.contains(mouse_pos) {
139139
let (z0, z1) = self.axis.major_span(cursor_rect);
140140
let mouse_major = self.axis.major_pos(mouse_pos);
@@ -160,7 +160,7 @@ impl Widget for ScrollBar {
160160
}
161161
ctx.request_render();
162162
}
163-
PointerEvent::Up { .. } | PointerEvent::Cancel(..) => {
163+
PointerEvent::Up(..) | PointerEvent::Cancel(..) => {
164164
self.grab_anchor = None;
165165
ctx.request_render();
166166
}

masonry/src/widgets/split.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -395,8 +395,8 @@ where
395395
) {
396396
if self.draggable {
397397
match event {
398-
PointerEvent::Down { state, .. } => {
399-
let pos = ctx.local_position(state.position);
398+
PointerEvent::Down(b) => {
399+
let pos = ctx.local_position(b.state.position);
400400
if self.bar_hit_test(ctx.size(), pos) {
401401
ctx.set_handled();
402402
ctx.capture_pointer();

masonry/src/widgets/text_area.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -429,12 +429,12 @@ impl<const EDITABLE: bool> Widget for TextArea<EDITABLE> {
429429
}
430430

431431
match event {
432-
PointerEvent::Down { button, state, .. } => {
433-
if matches!(button, None | Some(PointerButton::Primary)) {
434-
let cursor_pos = ctx.local_position(state.position);
432+
PointerEvent::Down(b) => {
433+
if matches!(b.button, None | Some(PointerButton::Primary)) {
434+
let cursor_pos = ctx.local_position(b.state.position);
435435
let (fctx, lctx) = ctx.text_contexts();
436436
let mut drv = self.editor.driver(fctx, lctx);
437-
match state.count {
437+
match b.state.count {
438438
2 => drv.select_word_at_point(cursor_pos.x as f32, cursor_pos.y as f32),
439439
3 => drv.select_line_at_point(cursor_pos.x as f32, cursor_pos.y as f32),
440440
_ => drv.move_to_point(cursor_pos.x as f32, cursor_pos.y as f32),

masonry/src/widgets/virtual_scroll.rs

Lines changed: 14 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -524,10 +524,10 @@ impl Widget for VirtualScroll {
524524
event: &PointerEvent,
525525
) {
526526
match event {
527-
PointerEvent::Scroll { delta, .. } => {
527+
PointerEvent::Scroll(s) => {
528528
// TODO - Remove reference to scale factor.
529529
// See https://github.com/linebender/xilem/issues/1264
530-
let delta = match delta {
530+
let delta = match s.delta {
531531
ScrollDelta::PixelDelta(p) => -p.to_logical::<f64>(ctx.get_scale_factor()).y,
532532
ScrollDelta::LineDelta(_, y) => -y as f64 * ctx.get_scale_factor() * 120.,
533533
_ => 0.0,
@@ -1030,15 +1030,13 @@ fn opt_iter_difference(
10301030
mod tests {
10311031
use std::collections::HashSet;
10321032

1033-
use dpi::PhysicalPosition;
1033+
use kurbo::{Size, Vec2};
10341034
use parley::StyleProperty;
1035-
use vello::kurbo::Size;
10361035

1037-
use crate::core::{
1038-
NewWidget, PointerEvent, PointerState, ScrollDelta, Widget, WidgetId, WidgetMut,
1039-
};
1040-
use crate::testing::{PRIMARY_MOUSE, TestHarness, assert_render_snapshot};
1036+
use crate::core::{NewWidget, Widget, WidgetId, WidgetMut};
1037+
use crate::testing::{TestHarness, assert_render_snapshot};
10411038
use crate::theme::default_property_set;
1039+
use crate::vello::kurbo;
10421040
use crate::widgets::{Label, VirtualScroll, VirtualScrollAction};
10431041

10441042
use super::opt_iter_difference;
@@ -1114,11 +1112,7 @@ mod tests {
11141112
drive_to_fixpoint(&mut harness, virtual_scroll_id, driver);
11151113
assert_render_snapshot!(harness, "virtual_scroll_moved");
11161114
harness.mouse_move_to(virtual_scroll_id);
1117-
harness.process_pointer_event(PointerEvent::Scroll {
1118-
pointer: PRIMARY_MOUSE,
1119-
delta: ScrollDelta::PixelDelta(PhysicalPosition::<f64> { x: 0., y: 25. }),
1120-
state: PointerState::default(),
1121-
});
1115+
harness.mouse_wheel(Vec2 { x: 0., y: 25. });
11221116
drive_to_fixpoint(&mut harness, virtual_scroll_id, driver);
11231117
assert_render_snapshot!(harness, "virtual_scroll_scrolled");
11241118
}
@@ -1159,11 +1153,7 @@ mod tests {
11591153
});
11601154
drive_to_fixpoint(&mut harness, virtual_scroll_id, driver);
11611155
harness.mouse_move_to(virtual_scroll_id);
1162-
harness.process_pointer_event(PointerEvent::Scroll {
1163-
pointer: PRIMARY_MOUSE,
1164-
delta: ScrollDelta::PixelDelta(PhysicalPosition::<f64> { x: 0., y: 200. }),
1165-
state: PointerState::default(),
1166-
});
1156+
harness.mouse_wheel(Vec2 { x: 0., y: 200. });
11671157
drive_to_fixpoint(&mut harness, virtual_scroll_id, driver);
11681158
}
11691159

@@ -1203,11 +1193,7 @@ mod tests {
12031193
});
12041194
drive_to_fixpoint(&mut harness, virtual_scroll_id, driver);
12051195
harness.mouse_move_to(virtual_scroll_id);
1206-
harness.process_pointer_event(PointerEvent::Scroll {
1207-
pointer: PRIMARY_MOUSE,
1208-
delta: ScrollDelta::PixelDelta(PhysicalPosition::<f64> { x: 0., y: 200. }),
1209-
state: PointerState::default(),
1210-
});
1196+
harness.mouse_wheel(Vec2 { x: 0., y: 200. });
12111197
drive_to_fixpoint(&mut harness, virtual_scroll_id, driver);
12121198
}
12131199

@@ -1247,11 +1233,7 @@ mod tests {
12471233
});
12481234
drive_to_fixpoint(&mut harness, virtual_scroll_id, driver);
12491235
harness.mouse_move_to(virtual_scroll_id);
1250-
harness.process_pointer_event(PointerEvent::Scroll {
1251-
pointer: PRIMARY_MOUSE,
1252-
delta: ScrollDelta::PixelDelta(PhysicalPosition::<f64> { x: 0., y: 200. }),
1253-
state: PointerState::default(),
1254-
});
1236+
harness.mouse_wheel(Vec2 { x: 0., y: 200. });
12551237
drive_to_fixpoint(&mut harness, virtual_scroll_id, driver);
12561238
}
12571239

@@ -1306,22 +1288,14 @@ mod tests {
13061288
original_range = widget.active_range.clone();
13071289
}
13081290
harness.mouse_move_to(virtual_scroll_id);
1309-
harness.process_pointer_event(PointerEvent::Scroll {
1310-
pointer: PRIMARY_MOUSE,
1311-
delta: ScrollDelta::PixelDelta(PhysicalPosition::<f64> { x: 0., y: -50. }),
1312-
state: PointerState::default(),
1313-
});
1291+
harness.mouse_wheel(Vec2 { x: 0., y: -50. });
13141292
drive_to_fixpoint(&mut harness, virtual_scroll_id, driver);
13151293
{
13161294
let widget = harness.root_widget();
13171295
assert_ne!(widget.anchor_index, MIN);
13181296
assert_ne!(widget.active_range, original_range);
13191297
}
1320-
harness.process_pointer_event(PointerEvent::Scroll {
1321-
pointer: PRIMARY_MOUSE,
1322-
delta: ScrollDelta::PixelDelta(PhysicalPosition::<f64> { x: 0., y: 60. }),
1323-
state: PointerState::default(),
1324-
});
1298+
harness.mouse_wheel(Vec2 { x: 0., y: 60. });
13251299
drive_to_fixpoint(&mut harness, virtual_scroll_id, driver);
13261300
{
13271301
let widget = harness.root_widget();
@@ -1383,22 +1357,14 @@ mod tests {
13831357
assert_render_snapshot!(harness, "virtual_scroll_limited_up_bottom");
13841358
}
13851359
harness.mouse_move_to(virtual_scroll_id);
1386-
harness.process_pointer_event(PointerEvent::Scroll {
1387-
pointer: PRIMARY_MOUSE,
1388-
delta: ScrollDelta::PixelDelta(PhysicalPosition::<f64> { x: 0., y: 5. }),
1389-
state: PointerState::default(),
1390-
});
1360+
harness.mouse_wheel(Vec2 { x: 0., y: 5. });
13911361
drive_to_fixpoint(&mut harness, virtual_scroll_id, driver);
13921362
{
13931363
let widget = harness.root_widget();
13941364
assert_ne!(widget.anchor_index, MAX);
13951365
assert_ne!(widget.active_range, original_range);
13961366
}
1397-
harness.process_pointer_event(PointerEvent::Scroll {
1398-
pointer: PRIMARY_MOUSE,
1399-
delta: ScrollDelta::PixelDelta(PhysicalPosition::<f64> { x: 0., y: -6. }),
1400-
state: PointerState::default(),
1401-
});
1367+
harness.mouse_wheel(Vec2 { x: 0., y: -6. });
14021368
drive_to_fixpoint(&mut harness, virtual_scroll_id, driver);
14031369
{
14041370
let widget = harness.root_widget();

masonry_core/src/core/mod.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,8 @@ pub use widget_tag::WidgetTag;
4242

4343
pub use ui_events::keyboard::{KeyboardEvent, Modifiers};
4444
pub use ui_events::pointer::{
45-
PointerButton, PointerEvent, PointerId, PointerInfo, PointerState, PointerType, PointerUpdate,
45+
PointerButton, PointerButtonEvent, PointerEvent, PointerId, PointerInfo, PointerScrollEvent,
46+
PointerState, PointerType, PointerUpdate,
4647
};
4748
pub use ui_events::{ScrollDelta, keyboard, pointer};
4849

0 commit comments

Comments
 (0)