use crate::{arc, cf, define_cf_type};
define_cf_type!(Action(cf::String));
impl Action {
#[inline]
pub fn with_string(str: &cf::String) -> &Self {
unsafe { std::mem::transmute(str) }
}
#[inline]
pub fn with_raw<S: AsRef<cf::String>>(raw: &S) -> arc::R<Self> {
Self::with_string(raw.as_ref()).retained()
}
}
impl AsRef<Action> for cf::String {
#[inline]
fn as_ref(&self) -> &Action {
Action::with_string(self)
}
}
pub mod action {
use crate::{ax::Action, cf};
#[doc(alias = "kAXPressAction")]
pub fn press() -> &'static Action {
cf::str!(c"AXPress").as_ref()
}
#[doc(alias = "kAXIncrementAction")]
pub fn increment() -> &'static Action {
cf::str!(c"AXIncrement").as_ref()
}
#[doc(alias = "kAXDecrementAction")]
pub fn decrement() -> &'static Action {
cf::str!(c"AXDecrement").as_ref()
}
#[doc(alias = "kAXConfirmAction")]
pub fn confirm() -> &'static Action {
cf::str!(c"AXConfirm").as_ref()
}
#[doc(alias = "kAXCancelAction")]
pub fn cancel() -> &'static Action {
cf::str!(c"AXCancel").as_ref()
}
#[doc(alias = "kAXShowAlternateUIAction")]
pub fn show_alternate_ui() -> &'static Action {
cf::str!(c"AXShowAlternateUI").as_ref()
}
#[doc(alias = "kAXShowDefaultUIAction")]
pub fn show_default_ui() -> &'static Action {
cf::str!(c"AXShowDefaultUI").as_ref()
}
#[doc(alias = "kAXRaiseAction")]
pub fn raise() -> &'static Action {
cf::str!(c"AXRaise").as_ref()
}
#[doc(alias = "kAXShowMenuAction")]
pub fn show_menu() -> &'static Action {
cf::str!(c"AXShowMenu").as_ref()
}
#[doc(alias = "kAXPickAction")]
pub fn pick() -> &'static Action {
cf::str!(c"AXPick").as_ref()
}
}