objc2_virtualization/generated/
VZMacTrackpadConfiguration.rs

1//! This file has been automatically generated by `objc2`'s `header-translator`.
2//! DO NOT EDIT
3use core::ptr::NonNull;
4use objc2::__framework_prelude::*;
5use objc2_foundation::*;
6
7use crate::*;
8
9extern_class!(
10    /// Configuration for a Mac trackpad.
11    ///
12    /// This device can be used by VZVirtualMachineView to send pointer events and multi-touch trackpad gestures to the virtual machine.
13    /// Note: this device is only recognized by virtual machines running macOS 13.0 and later. In order to support both macOS 13.0 and earlier
14    /// guests, VZVirtualMachineConfiguration.pointingDevices can be set to an array containing both a VZMacTrackpadConfiguration and
15    /// a VZUSBScreenCoordinatePointingDeviceConfiguration object. macOS 13.0 and later guests will use the multi-touch trackpad device,
16    /// while earlier versions of macOS will use the USB pointing device.
17    ///
18    /// See also [Apple's documentation](https://developer.apple.com/documentation/virtualization/vzmactrackpadconfiguration?language=objc)
19    #[unsafe(super(VZPointingDeviceConfiguration, NSObject))]
20    #[derive(Debug, PartialEq, Eq, Hash)]
21    #[cfg(feature = "VZPointingDeviceConfiguration")]
22    pub struct VZMacTrackpadConfiguration;
23);
24
25#[cfg(feature = "VZPointingDeviceConfiguration")]
26unsafe impl NSCopying for VZMacTrackpadConfiguration {}
27
28#[cfg(feature = "VZPointingDeviceConfiguration")]
29unsafe impl CopyingHelper for VZMacTrackpadConfiguration {
30    type Result = Self;
31}
32
33#[cfg(feature = "VZPointingDeviceConfiguration")]
34unsafe impl NSObjectProtocol for VZMacTrackpadConfiguration {}
35
36#[cfg(feature = "VZPointingDeviceConfiguration")]
37impl VZMacTrackpadConfiguration {
38    extern_methods!(
39        #[unsafe(method(init))]
40        #[unsafe(method_family = init)]
41        pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
42    );
43}
44
45/// Methods declared on superclass `VZPointingDeviceConfiguration`.
46#[cfg(feature = "VZPointingDeviceConfiguration")]
47impl VZMacTrackpadConfiguration {
48    extern_methods!(
49        #[unsafe(method(new))]
50        #[unsafe(method_family = new)]
51        pub unsafe fn new() -> Retained<Self>;
52    );
53}