1use bevy_ecs::event::Event;
4use bevy_math::Vec2;
5#[cfg(feature = "bevy_reflect")]
6use bevy_reflect::Reflect;
7
8#[cfg(all(feature = "serialize", feature = "bevy_reflect"))]
9use bevy_reflect::{ReflectDeserialize, ReflectSerialize};
10
11#[derive(Event, Debug, Clone, Copy, PartialEq)]
21#[cfg_attr(feature = "bevy_reflect", derive(Reflect), reflect(Debug, PartialEq))]
22#[cfg_attr(feature = "serialize", derive(serde::Serialize, serde::Deserialize))]
23#[cfg_attr(
24 all(feature = "serialize", feature = "bevy_reflect"),
25 reflect(Serialize, Deserialize)
26)]
27pub struct PinchGesture(pub f32);
28
29#[derive(Event, Debug, Clone, Copy, PartialEq)]
39#[cfg_attr(feature = "bevy_reflect", derive(Reflect), reflect(Debug, PartialEq))]
40#[cfg_attr(feature = "serialize", derive(serde::Serialize, serde::Deserialize))]
41#[cfg_attr(
42 all(feature = "serialize", feature = "bevy_reflect"),
43 reflect(Serialize, Deserialize)
44)]
45pub struct RotationGesture(pub f32);
46
47#[derive(Event, Debug, Clone, Copy, PartialEq)]
54#[cfg_attr(feature = "bevy_reflect", derive(Reflect), reflect(Debug, PartialEq))]
55#[cfg_attr(feature = "serialize", derive(serde::Serialize, serde::Deserialize))]
56#[cfg_attr(
57 all(feature = "serialize", feature = "bevy_reflect"),
58 reflect(Serialize, Deserialize)
59)]
60pub struct DoubleTapGesture;
61
62#[derive(Event, Debug, Clone, Copy, PartialEq)]
68#[cfg_attr(feature = "bevy_reflect", derive(Reflect), reflect(Debug, PartialEq))]
69#[cfg_attr(feature = "serialize", derive(serde::Serialize, serde::Deserialize))]
70#[cfg_attr(
71 all(feature = "serialize", feature = "bevy_reflect"),
72 reflect(Serialize, Deserialize)
73)]
74pub struct PanGesture(pub Vec2);