pub async fn multi_finger_swipe_command(
start_fingers: Vec<(u32, u32)>,
end_fingers: Vec<(u32, u32)>,
width: u32,
height: u32,
move_event_count: usize,
duration: Duration,
) -> Result<(), Error>
Expand description
Simulates swipe with fingers starting at start_fingers
, and moving to end_fingers
,
for a touchscreen for a touchscreen with horizontal resolution width
and vertical resolution
height
. Finger positions should be specified in absolute coordinations, with x
values
normally in the range (0, width
), and y
values normally in the range (0, height
).
Linearly interpolates move_event_count
touch-move events between the start positions
and end positions, over duration
time. (duration
is the total time from the touch-down
event to the touch-up event, inclusive of all move events in between.)
§Requirements
start_fingers
andend_fingers
must have the same lengthstart_fingers.len()
andend_finger.len()
must be representable within au32
§Resolves to
Ok(())
if the arguments met the requirements above, and the events were successfully injected.Err(Error)
otherwise.
§Corner case handling
move_event_count
of zero is permitted, and will result in just the DOWN and UP events being generated.duration.as_nanos() < move_event_count
is allowed, and will result in all events having the same timestamp.width
andheight
are permitted to be zero; such values are left to the interpretation of the system under test.- finger positions may exceed the expected bounds; such values are left to the interpretation of the sytem under test.