// WARNING: Please don't edit this file. It was generated by C++/WinRT v2.0.240405.15 #pragma once #ifndef WINRT_Windows_Devices_Haptics_0_H #define WINRT_Windows_Devices_Haptics_0_H WINRT_EXPORT namespace winrt::Windows::Foundation { } WINRT_EXPORT namespace winrt::Windows::Devices::Haptics { enum class VibrationAccessStatus : int32_t { Allowed = 0, DeniedByUser = 1, DeniedBySystem = 2, DeniedByEnergySaver = 3, }; struct IKnownSimpleHapticsControllerWaveformsStatics; struct IKnownSimpleHapticsControllerWaveformsStatics2; struct ISimpleHapticsController; struct ISimpleHapticsControllerFeedback; struct IVibrationDevice; struct IVibrationDeviceStatics; struct KnownSimpleHapticsControllerWaveforms; struct SimpleHapticsController; struct SimpleHapticsControllerFeedback; struct VibrationDevice; } namespace winrt::impl { template <> struct category{ using type = interface_category; }; template <> struct category{ using type = interface_category; }; template <> struct category{ using type = interface_category; }; template <> struct category{ using type = interface_category; }; template <> struct category{ using type = interface_category; }; template <> struct category{ using type = interface_category; }; template <> struct category{ using type = class_category; }; template <> struct category{ using type = class_category; }; template <> struct category{ using type = class_category; }; template <> struct category{ using type = class_category; }; template <> struct category{ using type = enum_category; }; template <> inline constexpr auto& name_v = L"Windows.Devices.Haptics.KnownSimpleHapticsControllerWaveforms"; template <> inline constexpr auto& name_v = L"Windows.Devices.Haptics.SimpleHapticsController"; template <> inline constexpr auto& name_v = L"Windows.Devices.Haptics.SimpleHapticsControllerFeedback"; template <> inline constexpr auto& name_v = L"Windows.Devices.Haptics.VibrationDevice"; template <> inline constexpr auto& name_v = L"Windows.Devices.Haptics.VibrationAccessStatus"; template <> inline constexpr auto& name_v = L"Windows.Devices.Haptics.IKnownSimpleHapticsControllerWaveformsStatics"; template <> inline constexpr auto& name_v = L"Windows.Devices.Haptics.IKnownSimpleHapticsControllerWaveformsStatics2"; template <> inline constexpr auto& name_v = L"Windows.Devices.Haptics.ISimpleHapticsController"; template <> inline constexpr auto& name_v = L"Windows.Devices.Haptics.ISimpleHapticsControllerFeedback"; template <> inline constexpr auto& name_v = L"Windows.Devices.Haptics.IVibrationDevice"; template <> inline constexpr auto& name_v = L"Windows.Devices.Haptics.IVibrationDeviceStatics"; template <> inline constexpr guid guid_v{ 0x3D577EF7,0x4CEE,0x11E6,{ 0xB5,0x35,0x00,0x1B,0xDC,0x06,0xAB,0x3B } }; // 3D577EF7-4CEE-11E6-B535-001BDC06AB3B template <> inline constexpr guid guid_v{ 0xA7D24C27,0xB79D,0x510A,{ 0xBF,0x79,0xFF,0x6D,0x49,0x17,0x3E,0x1D } }; // A7D24C27-B79D-510A-BF79-FF6D49173E1D template <> inline constexpr guid guid_v{ 0x3D577EF9,0x4CEE,0x11E6,{ 0xB5,0x35,0x00,0x1B,0xDC,0x06,0xAB,0x3B } }; // 3D577EF9-4CEE-11E6-B535-001BDC06AB3B template <> inline constexpr guid guid_v{ 0x3D577EF8,0x4CEE,0x11E6,{ 0xB5,0x35,0x00,0x1B,0xDC,0x06,0xAB,0x3B } }; // 3D577EF8-4CEE-11E6-B535-001BDC06AB3B template <> inline constexpr guid guid_v{ 0x40F21A3E,0x8844,0x47FF,{ 0xB3,0x12,0x06,0x18,0x5A,0x38,0x44,0xDA } }; // 40F21A3E-8844-47FF-B312-06185A3844DA template <> inline constexpr guid guid_v{ 0x53E2EDED,0x2290,0x4AC9,{ 0x8E,0xB3,0x1A,0x84,0x12,0x2E,0xB7,0x1C } }; // 53E2EDED-2290-4AC9-8EB3-1A84122EB71C template <> struct default_interface{ using type = winrt::Windows::Devices::Haptics::ISimpleHapticsController; }; template <> struct default_interface{ using type = winrt::Windows::Devices::Haptics::ISimpleHapticsControllerFeedback; }; template <> struct default_interface{ using type = winrt::Windows::Devices::Haptics::IVibrationDevice; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall get_Click(uint16_t*) noexcept = 0; virtual int32_t __stdcall get_BuzzContinuous(uint16_t*) noexcept = 0; virtual int32_t __stdcall get_RumbleContinuous(uint16_t*) noexcept = 0; virtual int32_t __stdcall get_Press(uint16_t*) noexcept = 0; virtual int32_t __stdcall get_Release(uint16_t*) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall get_BrushContinuous(uint16_t*) noexcept = 0; virtual int32_t __stdcall get_ChiselMarkerContinuous(uint16_t*) noexcept = 0; virtual int32_t __stdcall get_EraserContinuous(uint16_t*) noexcept = 0; virtual int32_t __stdcall get_Error(uint16_t*) noexcept = 0; virtual int32_t __stdcall get_GalaxyPenContinuous(uint16_t*) noexcept = 0; virtual int32_t __stdcall get_Hover(uint16_t*) noexcept = 0; virtual int32_t __stdcall get_InkContinuous(uint16_t*) noexcept = 0; virtual int32_t __stdcall get_MarkerContinuous(uint16_t*) noexcept = 0; virtual int32_t __stdcall get_PencilContinuous(uint16_t*) noexcept = 0; virtual int32_t __stdcall get_Success(uint16_t*) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall get_Id(void**) noexcept = 0; virtual int32_t __stdcall get_SupportedFeedback(void**) noexcept = 0; virtual int32_t __stdcall get_IsIntensitySupported(bool*) noexcept = 0; virtual int32_t __stdcall get_IsPlayCountSupported(bool*) noexcept = 0; virtual int32_t __stdcall get_IsPlayDurationSupported(bool*) noexcept = 0; virtual int32_t __stdcall get_IsReplayPauseIntervalSupported(bool*) noexcept = 0; virtual int32_t __stdcall StopFeedback() noexcept = 0; virtual int32_t __stdcall SendHapticFeedback(void*) noexcept = 0; virtual int32_t __stdcall SendHapticFeedbackWithIntensity(void*, double) noexcept = 0; virtual int32_t __stdcall SendHapticFeedbackForDuration(void*, double, int64_t) noexcept = 0; virtual int32_t __stdcall SendHapticFeedbackForPlayCount(void*, double, int32_t, int64_t) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall get_Waveform(uint16_t*) noexcept = 0; virtual int32_t __stdcall get_Duration(int64_t*) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall get_Id(void**) noexcept = 0; virtual int32_t __stdcall get_SimpleHapticsController(void**) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall RequestAccessAsync(void**) noexcept = 0; virtual int32_t __stdcall GetDeviceSelector(void**) noexcept = 0; virtual int32_t __stdcall FromIdAsync(void*, void**) noexcept = 0; virtual int32_t __stdcall GetDefaultAsync(void**) noexcept = 0; virtual int32_t __stdcall FindAllAsync(void**) noexcept = 0; }; }; template struct consume_Windows_Devices_Haptics_IKnownSimpleHapticsControllerWaveformsStatics { [[nodiscard]] auto Click() const; [[nodiscard]] auto BuzzContinuous() const; [[nodiscard]] auto RumbleContinuous() const; [[nodiscard]] auto Press() const; [[nodiscard]] auto Release() const; }; template <> struct consume { template using type = consume_Windows_Devices_Haptics_IKnownSimpleHapticsControllerWaveformsStatics; }; template struct consume_Windows_Devices_Haptics_IKnownSimpleHapticsControllerWaveformsStatics2 { [[nodiscard]] auto BrushContinuous() const; [[nodiscard]] auto ChiselMarkerContinuous() const; [[nodiscard]] auto EraserContinuous() const; [[nodiscard]] auto Error() const; [[nodiscard]] auto GalaxyPenContinuous() const; [[nodiscard]] auto Hover() const; [[nodiscard]] auto InkContinuous() const; [[nodiscard]] auto MarkerContinuous() const; [[nodiscard]] auto PencilContinuous() const; [[nodiscard]] auto Success() const; }; template <> struct consume { template using type = consume_Windows_Devices_Haptics_IKnownSimpleHapticsControllerWaveformsStatics2; }; template struct consume_Windows_Devices_Haptics_ISimpleHapticsController { [[nodiscard]] auto Id() const; [[nodiscard]] auto SupportedFeedback() const; [[nodiscard]] auto IsIntensitySupported() const; [[nodiscard]] auto IsPlayCountSupported() const; [[nodiscard]] auto IsPlayDurationSupported() const; [[nodiscard]] auto IsReplayPauseIntervalSupported() const; auto StopFeedback() const; auto SendHapticFeedback(winrt::Windows::Devices::Haptics::SimpleHapticsControllerFeedback const& feedback) const; auto SendHapticFeedback(winrt::Windows::Devices::Haptics::SimpleHapticsControllerFeedback const& feedback, double intensity) const; auto SendHapticFeedbackForDuration(winrt::Windows::Devices::Haptics::SimpleHapticsControllerFeedback const& feedback, double intensity, winrt::Windows::Foundation::TimeSpan const& playDuration) const; auto SendHapticFeedbackForPlayCount(winrt::Windows::Devices::Haptics::SimpleHapticsControllerFeedback const& feedback, double intensity, int32_t playCount, winrt::Windows::Foundation::TimeSpan const& replayPauseInterval) const; }; template <> struct consume { template using type = consume_Windows_Devices_Haptics_ISimpleHapticsController; }; template struct consume_Windows_Devices_Haptics_ISimpleHapticsControllerFeedback { [[nodiscard]] auto Waveform() const; [[nodiscard]] auto Duration() const; }; template <> struct consume { template using type = consume_Windows_Devices_Haptics_ISimpleHapticsControllerFeedback; }; template struct consume_Windows_Devices_Haptics_IVibrationDevice { [[nodiscard]] auto Id() const; [[nodiscard]] auto SimpleHapticsController() const; }; template <> struct consume { template using type = consume_Windows_Devices_Haptics_IVibrationDevice; }; template struct consume_Windows_Devices_Haptics_IVibrationDeviceStatics { auto RequestAccessAsync() const; auto GetDeviceSelector() const; auto FromIdAsync(param::hstring const& deviceId) const; auto GetDefaultAsync() const; auto FindAllAsync() const; }; template <> struct consume { template using type = consume_Windows_Devices_Haptics_IVibrationDeviceStatics; }; } #endif