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")]
26extern_conformance!(
27    unsafe impl NSCopying for VZMacTrackpadConfiguration {}
28);
29
30#[cfg(feature = "VZPointingDeviceConfiguration")]
31unsafe impl CopyingHelper for VZMacTrackpadConfiguration {
32    type Result = Self;
33}
34
35#[cfg(feature = "VZPointingDeviceConfiguration")]
36extern_conformance!(
37    unsafe impl NSObjectProtocol for VZMacTrackpadConfiguration {}
38);
39
40#[cfg(feature = "VZPointingDeviceConfiguration")]
41impl VZMacTrackpadConfiguration {
42    extern_methods!(
43        #[unsafe(method(init))]
44        #[unsafe(method_family = init)]
45        pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
46    );
47}
48
49/// Methods declared on superclass `VZPointingDeviceConfiguration`.
50#[cfg(feature = "VZPointingDeviceConfiguration")]
51impl VZMacTrackpadConfiguration {
52    extern_methods!(
53        #[unsafe(method(new))]
54        #[unsafe(method_family = new)]
55        pub unsafe fn new() -> Retained<Self>;
56    );
57}