 70c0223112
			
		
	
	
		70c0223112
		
			
		
	
	
	
	
		
			
			# Objective Allow use of `bevy_input` types without needing `bevy_reflect`. ## Solution Make `bevy_reflect` within `bevy_input` optional. It's compiled in by default. Turn on reflect in dependencies as well when this feature is on. ## Testing - Did you test these changes? If so, how? I did a `cargo hack -p bevy_input --each-feature build`. Signed-off-by: Torstein Grindvik <torstein.grindvik@muybridge.com> Co-authored-by: Torstein Grindvik <torstein.grindvik@muybridge.com>
		
			
				
	
	
		
			75 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			Rust
		
	
	
	
	
	
			
		
		
	
	
			75 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			Rust
		
	
	
	
	
	
| //! Gestures functionality, from touchscreens and touchpads.
 | |
| 
 | |
| use bevy_ecs::event::Event;
 | |
| use bevy_math::Vec2;
 | |
| #[cfg(feature = "bevy_reflect")]
 | |
| use bevy_reflect::Reflect;
 | |
| 
 | |
| #[cfg(all(feature = "serialize", feature = "bevy_reflect"))]
 | |
| use bevy_reflect::{ReflectDeserialize, ReflectSerialize};
 | |
| 
 | |
| /// Two-finger pinch gesture, often used for magnifications.
 | |
| ///
 | |
| /// Positive delta values indicate magnification (zooming in) and
 | |
| /// negative delta values indicate shrinking (zooming out).
 | |
| ///
 | |
| /// ## Platform-specific
 | |
| ///
 | |
| /// - Only available on **`macOS`** and **`iOS`**.
 | |
| /// - On **`iOS`**, must be enabled first
 | |
| #[derive(Event, Debug, Clone, Copy, PartialEq)]
 | |
| #[cfg_attr(feature = "bevy_reflect", derive(Reflect), reflect(Debug, PartialEq))]
 | |
| #[cfg_attr(feature = "serialize", derive(serde::Serialize, serde::Deserialize))]
 | |
| #[cfg_attr(
 | |
|     all(feature = "serialize", feature = "bevy_reflect"),
 | |
|     reflect(Serialize, Deserialize)
 | |
| )]
 | |
| pub struct PinchGesture(pub f32);
 | |
| 
 | |
| /// Two-finger rotation gesture.
 | |
| ///
 | |
| /// Positive delta values indicate rotation counterclockwise and
 | |
| /// negative delta values indicate rotation clockwise.
 | |
| ///
 | |
| /// ## Platform-specific
 | |
| ///
 | |
| /// - Only available on **`macOS`** and **`iOS`**.
 | |
| /// - On **`iOS`**, must be enabled first
 | |
| #[derive(Event, Debug, Clone, Copy, PartialEq)]
 | |
| #[cfg_attr(feature = "bevy_reflect", derive(Reflect), reflect(Debug, PartialEq))]
 | |
| #[cfg_attr(feature = "serialize", derive(serde::Serialize, serde::Deserialize))]
 | |
| #[cfg_attr(
 | |
|     all(feature = "serialize", feature = "bevy_reflect"),
 | |
|     reflect(Serialize, Deserialize)
 | |
| )]
 | |
| pub struct RotationGesture(pub f32);
 | |
| 
 | |
| /// Double tap gesture.
 | |
| ///
 | |
| /// ## Platform-specific
 | |
| ///
 | |
| /// - Only available on **`macOS`** and **`iOS`**.
 | |
| /// - On **`iOS`**, must be enabled first
 | |
| #[derive(Event, Debug, Clone, Copy, PartialEq)]
 | |
| #[cfg_attr(feature = "bevy_reflect", derive(Reflect), reflect(Debug, PartialEq))]
 | |
| #[cfg_attr(feature = "serialize", derive(serde::Serialize, serde::Deserialize))]
 | |
| #[cfg_attr(
 | |
|     all(feature = "serialize", feature = "bevy_reflect"),
 | |
|     reflect(Serialize, Deserialize)
 | |
| )]
 | |
| pub struct DoubleTapGesture;
 | |
| 
 | |
| /// Pan gesture.
 | |
| ///
 | |
| /// ## Platform-specific
 | |
| ///
 | |
| /// - On **`iOS`**, must be enabled first
 | |
| #[derive(Event, Debug, Clone, Copy, PartialEq)]
 | |
| #[cfg_attr(feature = "bevy_reflect", derive(Reflect), reflect(Debug, PartialEq))]
 | |
| #[cfg_attr(feature = "serialize", derive(serde::Serialize, serde::Deserialize))]
 | |
| #[cfg_attr(
 | |
|     all(feature = "serialize", feature = "bevy_reflect"),
 | |
|     reflect(Serialize, Deserialize)
 | |
| )]
 | |
| pub struct PanGesture(pub Vec2);
 |