#[derive (Clone, Copy, Default)]
pub struct VirtualGamepad {
	pub jump: VirtualButton,
	pub d_left: VirtualButton,
	pub d_right: VirtualButton,
	pub d_up: VirtualButton,
	pub d_down: VirtualButton,
}

#[derive (Clone, Copy, Default)]
pub struct VirtualButton {
	/// True iff the button is down now
	pub held: bool,
	
	/// True if the button was pressed at any point since the last frame,
	/// even if it's up now.
	/// This is needed to make really fast clicks air-tight.
	pub pressed: bool,
}

impl VirtualButton {
	pub fn any_press (self) -> bool {
		self.held || self.pressed
	}
}
