use crate::{arc, cg, define_obj_type, ns, objc, ui};
#[derive(Debug, Eq, PartialEq, Copy, Clone)]
#[repr(isize)]
pub enum PressPhase {
Began,
Changed,
Stationary,
Ended,
Canceled,
}
#[doc(alias = "UIPressType")]
#[derive(Debug, Eq, PartialEq, Copy, Clone)]
#[repr(isize)]
pub enum PressType {
UpArrow,
DownArrow,
LeftArrow,
RightArrow,
Select,
Menu,
PlayPause,
PageUp = 30,
PageDown = 31,
TvRemote123 = 32,
TVRemote4Colors = 33,
}
define_obj_type!(
#[doc(alias = "UIPress")]
pub Press(ns::Id)
);
impl Press {
#[objc::msg_send(timestamp)]
pub fn timestamp(&self) -> ns::TimeInterval;
#[objc::msg_send(phase)]
pub fn phase(&self) -> PressPhase;
#[objc::msg_send(type)]
pub fn type_(&self) -> PressType;
#[objc::msg_send(window)]
pub fn window(&self) -> Option<arc::R<ui::Window>>;
#[objc::msg_send(responder)]
pub fn responder(&self) -> Option<arc::R<ui::Responder>>;
#[objc::msg_send(gestureRecognizers)]
pub fn gesture_recognizers(&self) -> Option<arc::R<ns::Array<ui::GestureRecognizer>>>;
#[objc::msg_send(force)]
pub fn force(&self) -> cg::Float;
#[objc::msg_send(key)]
pub fn key(&self) -> Option<arc::R<ui::Key>>;
}