1use bevy_ecs::message::Message;
4#[cfg(feature = "bevy_reflect")]
5use bevy_ecs::prelude::ReflectMessage;
6use bevy_math::Vec2;
7#[cfg(feature = "bevy_reflect")]
8use bevy_reflect::Reflect;
9
10#[cfg(all(feature = "serialize", feature = "bevy_reflect"))]
11use bevy_reflect::{ReflectDeserialize, ReflectSerialize};
12
13#[derive(Message, Debug, Clone, Copy, PartialEq)]
23#[cfg_attr(
24 feature = "bevy_reflect",
25 derive(Reflect),
26 reflect(Debug, PartialEq, Clone, Message)
27)]
28#[cfg_attr(feature = "serialize", derive(serde::Serialize, serde::Deserialize))]
29#[cfg_attr(
30 all(feature = "serialize", feature = "bevy_reflect"),
31 reflect(Serialize, Deserialize)
32)]
33pub struct PinchGesture(pub f32);
34
35#[derive(Message, Debug, Clone, Copy, PartialEq)]
45#[cfg_attr(
46 feature = "bevy_reflect",
47 derive(Reflect),
48 reflect(Debug, PartialEq, Clone, Message)
49)]
50#[cfg_attr(feature = "serialize", derive(serde::Serialize, serde::Deserialize))]
51#[cfg_attr(
52 all(feature = "serialize", feature = "bevy_reflect"),
53 reflect(Serialize, Deserialize)
54)]
55pub struct RotationGesture(pub f32);
56
57#[derive(Message, Debug, Clone, Copy, PartialEq)]
64#[cfg_attr(
65 feature = "bevy_reflect",
66 derive(Reflect),
67 reflect(Debug, PartialEq, Clone, Message)
68)]
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 DoubleTapGesture;
75
76#[derive(Message, Debug, Clone, Copy, PartialEq)]
82#[cfg_attr(
83 feature = "bevy_reflect",
84 derive(Reflect),
85 reflect(Debug, PartialEq, Clone, Message)
86)]
87#[cfg_attr(feature = "serialize", derive(serde::Serialize, serde::Deserialize))]
88#[cfg_attr(
89 all(feature = "serialize", feature = "bevy_reflect"),
90 reflect(Serialize, Deserialize)
91)]
92pub struct PanGesture(pub Vec2);