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(
22 feature = "bevy_reflect",
23 derive(Reflect),
24 reflect(Debug, PartialEq, Clone)
25)]
26#[cfg_attr(feature = "serialize", derive(serde::Serialize, serde::Deserialize))]
27#[cfg_attr(
28 all(feature = "serialize", feature = "bevy_reflect"),
29 reflect(Serialize, Deserialize)
30)]
31pub struct PinchGesture(pub f32);
32
33#[derive(Event, Debug, Clone, Copy, PartialEq)]
43#[cfg_attr(
44 feature = "bevy_reflect",
45 derive(Reflect),
46 reflect(Debug, PartialEq, Clone)
47)]
48#[cfg_attr(feature = "serialize", derive(serde::Serialize, serde::Deserialize))]
49#[cfg_attr(
50 all(feature = "serialize", feature = "bevy_reflect"),
51 reflect(Serialize, Deserialize)
52)]
53pub struct RotationGesture(pub f32);
54
55#[derive(Event, Debug, Clone, Copy, PartialEq)]
62#[cfg_attr(
63 feature = "bevy_reflect",
64 derive(Reflect),
65 reflect(Debug, PartialEq, Clone)
66)]
67#[cfg_attr(feature = "serialize", derive(serde::Serialize, serde::Deserialize))]
68#[cfg_attr(
69 all(feature = "serialize", feature = "bevy_reflect"),
70 reflect(Serialize, Deserialize)
71)]
72pub struct DoubleTapGesture;
73
74#[derive(Event, Debug, Clone, Copy, PartialEq)]
80#[cfg_attr(
81 feature = "bevy_reflect",
82 derive(Reflect),
83 reflect(Debug, PartialEq, Clone)
84)]
85#[cfg_attr(feature = "serialize", derive(serde::Serialize, serde::Deserialize))]
86#[cfg_attr(
87 all(feature = "serialize", feature = "bevy_reflect"),
88 reflect(Serialize, Deserialize)
89)]
90pub struct PanGesture(pub Vec2);