// WARNING: Please don't edit this file. It was generated by C++/WinRT v2.0.240405.15 #pragma once #ifndef WINRT_Microsoft_UI_Composition_Core_0_H #define WINRT_Microsoft_UI_Composition_Core_0_H WINRT_EXPORT namespace winrt::Microsoft::UI::Composition { struct Compositor; } WINRT_EXPORT namespace winrt::Windows::Foundation { struct EventRegistrationToken; struct IAsyncAction; template struct WINRT_IMPL_EMPTY_BASES TypedEventHandler; } WINRT_EXPORT namespace winrt::Microsoft::UI::Composition::Core { struct ICompositorController; struct CompositorController; } namespace winrt::impl { template <> struct category{ using type = interface_category; }; template <> struct category{ using type = class_category; }; template <> inline constexpr auto& name_v = L"Microsoft.UI.Composition.Core.CompositorController"; template <> inline constexpr auto& name_v = L"Microsoft.UI.Composition.Core.ICompositorController"; template <> inline constexpr guid guid_v{ 0xCC107CDC,0x558F,0x5D1A,{ 0x96,0xA5,0xA7,0x35,0xAC,0x04,0x38,0x6B } }; // CC107CDC-558F-5D1A-96A5-A735AC04386B template <> struct default_interface{ using type = winrt::Microsoft::UI::Composition::Core::ICompositorController; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall get_Compositor(void**) noexcept = 0; virtual int32_t __stdcall Commit() noexcept = 0; virtual int32_t __stdcall EnsurePreviousCommitCompletedAsync(void**) noexcept = 0; virtual int32_t __stdcall add_CommitNeeded(void*, winrt::event_token*) noexcept = 0; virtual int32_t __stdcall remove_CommitNeeded(winrt::event_token) noexcept = 0; }; }; template struct consume_Microsoft_UI_Composition_Core_ICompositorController { [[nodiscard]] auto Compositor() const; auto Commit() const; auto EnsurePreviousCommitCompletedAsync() const; auto CommitNeeded(winrt::Windows::Foundation::TypedEventHandler const& handler) const; using CommitNeeded_revoker = impl::event_revoker::remove_CommitNeeded>; [[nodiscard]] auto CommitNeeded(auto_revoke_t, winrt::Windows::Foundation::TypedEventHandler const& handler) const; auto CommitNeeded(winrt::event_token const& token) const noexcept; }; template <> struct consume { template using type = consume_Microsoft_UI_Composition_Core_ICompositorController; }; } #endif