// C++/WinRT v2.0.250303.1 // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. #pragma once #ifndef WINRT_Windows_UI_Input_Inking_Core_0_H #define WINRT_Windows_UI_Input_Inking_Core_0_H WINRT_EXPORT namespace winrt::Windows::Foundation { struct EventRegistrationToken; struct Rect; template struct WINRT_IMPL_EMPTY_BASES TypedEventHandler; } WINRT_EXPORT namespace winrt::Windows::Foundation::Collections { template struct WINRT_IMPL_EMPTY_BASES IIterable; } WINRT_EXPORT namespace winrt::Windows::Foundation::Numerics { } WINRT_EXPORT namespace winrt::Windows::UI::Composition { struct ContainerVisual; } WINRT_EXPORT namespace winrt::Windows::UI::Core { struct CoreCursor; struct PointerEventArgs; } WINRT_EXPORT namespace winrt::Windows::UI::Input::Inking { struct InkDrawingAttributes; struct InkPoint; struct InkPresenter; struct InkStroke; } WINRT_EXPORT namespace winrt::Windows::UI::Input::Inking::Core { enum class CoreWetStrokeDisposition : int32_t { Inking = 0, Completed = 1, Canceled = 2, }; struct ICoreIncrementalInkStroke; struct ICoreIncrementalInkStrokeFactory; struct ICoreInkIndependentInputSource; struct ICoreInkIndependentInputSource2; struct ICoreInkIndependentInputSourceStatics; struct ICoreInkPresenterHost; struct ICoreWetStrokeUpdateEventArgs; struct ICoreWetStrokeUpdateSource; struct ICoreWetStrokeUpdateSourceStatics; struct CoreIncrementalInkStroke; struct CoreInkIndependentInputSource; struct CoreInkPresenterHost; struct CoreWetStrokeUpdateEventArgs; struct CoreWetStrokeUpdateSource; } 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 = 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 = class_category; }; template <> struct category{ using type = enum_category; }; template <> inline constexpr auto& name_v = L"Windows.UI.Input.Inking.Core.CoreIncrementalInkStroke"; template <> inline constexpr auto& name_v = L"Windows.UI.Input.Inking.Core.CoreInkIndependentInputSource"; template <> inline constexpr auto& name_v = L"Windows.UI.Input.Inking.Core.CoreInkPresenterHost"; template <> inline constexpr auto& name_v = L"Windows.UI.Input.Inking.Core.CoreWetStrokeUpdateEventArgs"; template <> inline constexpr auto& name_v = L"Windows.UI.Input.Inking.Core.CoreWetStrokeUpdateSource"; template <> inline constexpr auto& name_v = L"Windows.UI.Input.Inking.Core.CoreWetStrokeDisposition"; template <> inline constexpr auto& name_v = L"Windows.UI.Input.Inking.Core.ICoreIncrementalInkStroke"; template <> inline constexpr auto& name_v = L"Windows.UI.Input.Inking.Core.ICoreIncrementalInkStrokeFactory"; template <> inline constexpr auto& name_v = L"Windows.UI.Input.Inking.Core.ICoreInkIndependentInputSource"; template <> inline constexpr auto& name_v = L"Windows.UI.Input.Inking.Core.ICoreInkIndependentInputSource2"; template <> inline constexpr auto& name_v = L"Windows.UI.Input.Inking.Core.ICoreInkIndependentInputSourceStatics"; template <> inline constexpr auto& name_v = L"Windows.UI.Input.Inking.Core.ICoreInkPresenterHost"; template <> inline constexpr auto& name_v = L"Windows.UI.Input.Inking.Core.ICoreWetStrokeUpdateEventArgs"; template <> inline constexpr auto& name_v = L"Windows.UI.Input.Inking.Core.ICoreWetStrokeUpdateSource"; template <> inline constexpr auto& name_v = L"Windows.UI.Input.Inking.Core.ICoreWetStrokeUpdateSourceStatics"; template <> inline constexpr guid guid_v{ 0xFDA015D3,0x9D66,0x4F7D,{ 0xA5,0x7F,0xCC,0x70,0xB9,0xCF,0xAA,0x76 } }; // FDA015D3-9D66-4F7D-A57F-CC70B9CFAA76 template <> inline constexpr guid guid_v{ 0xD7C59F46,0x8DA8,0x4F70,{ 0x97,0x51,0xE5,0x3B,0xB6,0xDF,0x45,0x96 } }; // D7C59F46-8DA8-4F70-9751-E53BB6DF4596 template <> inline constexpr guid guid_v{ 0x39B38DA9,0x7639,0x4499,{ 0xA5,0xB5,0x19,0x1D,0x00,0xE3,0x5B,0x16 } }; // 39B38DA9-7639-4499-A5B5-191D00E35B16 template <> inline constexpr guid guid_v{ 0x2846B012,0x0B59,0x5BB9,{ 0xA3,0xC5,0xBE,0xCB,0x7C,0xF0,0x3A,0x33 } }; // 2846B012-0B59-5BB9-A3C5-BECB7CF03A33 template <> inline constexpr guid guid_v{ 0x73E6011B,0x80C0,0x4DFB,{ 0x9B,0x66,0x10,0xBA,0x7F,0x3F,0x9C,0x84 } }; // 73E6011B-80C0-4DFB-9B66-10BA7F3F9C84 template <> inline constexpr guid guid_v{ 0x396E89E6,0x7D55,0x4617,{ 0x9E,0x58,0x68,0xC7,0x0C,0x91,0x69,0xB9 } }; // 396E89E6-7D55-4617-9E58-68C70C9169B9 template <> inline constexpr guid guid_v{ 0xFB07D14C,0x3380,0x457A,{ 0xA9,0x87,0x99,0x13,0x57,0x89,0x6C,0x1B } }; // FB07D14C-3380-457A-A987-991357896C1B template <> inline constexpr guid guid_v{ 0x1F718E22,0xEE52,0x4E00,{ 0x82,0x09,0x4C,0x3E,0x5B,0x21,0xA3,0xCC } }; // 1F718E22-EE52-4E00-8209-4C3E5B21A3CC template <> inline constexpr guid guid_v{ 0x3DAD9CBA,0x1D3D,0x46AE,{ 0xAB,0x9D,0x86,0x47,0x48,0x6C,0x6F,0x90 } }; // 3DAD9CBA-1D3D-46AE-AB9D-8647486C6F90 template <> struct default_interface{ using type = winrt::Windows::UI::Input::Inking::Core::ICoreIncrementalInkStroke; }; template <> struct default_interface{ using type = winrt::Windows::UI::Input::Inking::Core::ICoreInkIndependentInputSource; }; template <> struct default_interface{ using type = winrt::Windows::UI::Input::Inking::Core::ICoreInkPresenterHost; }; template <> struct default_interface{ using type = winrt::Windows::UI::Input::Inking::Core::ICoreWetStrokeUpdateEventArgs; }; template <> struct default_interface{ using type = winrt::Windows::UI::Input::Inking::Core::ICoreWetStrokeUpdateSource; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall AppendInkPoints(void*, winrt::Windows::Foundation::Rect*) noexcept = 0; virtual int32_t __stdcall CreateInkStroke(void**) noexcept = 0; virtual int32_t __stdcall get_DrawingAttributes(void**) noexcept = 0; virtual int32_t __stdcall get_PointTransform(winrt::Windows::Foundation::Numerics::float3x2*) noexcept = 0; virtual int32_t __stdcall get_BoundingRect(winrt::Windows::Foundation::Rect*) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall Create(void*, winrt::Windows::Foundation::Numerics::float3x2, void**) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall add_PointerEntering(void*, winrt::event_token*) noexcept = 0; virtual int32_t __stdcall remove_PointerEntering(winrt::event_token) noexcept = 0; virtual int32_t __stdcall add_PointerHovering(void*, winrt::event_token*) noexcept = 0; virtual int32_t __stdcall remove_PointerHovering(winrt::event_token) noexcept = 0; virtual int32_t __stdcall add_PointerExiting(void*, winrt::event_token*) noexcept = 0; virtual int32_t __stdcall remove_PointerExiting(winrt::event_token) noexcept = 0; virtual int32_t __stdcall add_PointerPressing(void*, winrt::event_token*) noexcept = 0; virtual int32_t __stdcall remove_PointerPressing(winrt::event_token) noexcept = 0; virtual int32_t __stdcall add_PointerMoving(void*, winrt::event_token*) noexcept = 0; virtual int32_t __stdcall remove_PointerMoving(winrt::event_token) noexcept = 0; virtual int32_t __stdcall add_PointerReleasing(void*, winrt::event_token*) noexcept = 0; virtual int32_t __stdcall remove_PointerReleasing(winrt::event_token) noexcept = 0; virtual int32_t __stdcall add_PointerLost(void*, winrt::event_token*) noexcept = 0; virtual int32_t __stdcall remove_PointerLost(winrt::event_token) noexcept = 0; virtual int32_t __stdcall get_InkPresenter(void**) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall get_PointerCursor(void**) noexcept = 0; virtual int32_t __stdcall put_PointerCursor(void*) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall Create(void*, void**) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall get_InkPresenter(void**) noexcept = 0; virtual int32_t __stdcall get_RootVisual(void**) noexcept = 0; virtual int32_t __stdcall put_RootVisual(void*) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall get_NewInkPoints(void**) noexcept = 0; virtual int32_t __stdcall get_PointerId(uint32_t*) noexcept = 0; virtual int32_t __stdcall get_Disposition(int32_t*) noexcept = 0; virtual int32_t __stdcall put_Disposition(int32_t) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall add_WetStrokeStarting(void*, winrt::event_token*) noexcept = 0; virtual int32_t __stdcall remove_WetStrokeStarting(winrt::event_token) noexcept = 0; virtual int32_t __stdcall add_WetStrokeContinuing(void*, winrt::event_token*) noexcept = 0; virtual int32_t __stdcall remove_WetStrokeContinuing(winrt::event_token) noexcept = 0; virtual int32_t __stdcall add_WetStrokeStopping(void*, winrt::event_token*) noexcept = 0; virtual int32_t __stdcall remove_WetStrokeStopping(winrt::event_token) noexcept = 0; virtual int32_t __stdcall add_WetStrokeCompleted(void*, winrt::event_token*) noexcept = 0; virtual int32_t __stdcall remove_WetStrokeCompleted(winrt::event_token) noexcept = 0; virtual int32_t __stdcall add_WetStrokeCanceled(void*, winrt::event_token*) noexcept = 0; virtual int32_t __stdcall remove_WetStrokeCanceled(winrt::event_token) noexcept = 0; virtual int32_t __stdcall get_InkPresenter(void**) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall Create(void*, void**) noexcept = 0; }; }; template struct consume_Windows_UI_Input_Inking_Core_ICoreIncrementalInkStroke { auto AppendInkPoints(param::iterable const& inkPoints) const; auto CreateInkStroke() const; [[nodiscard]] auto DrawingAttributes() const; [[nodiscard]] auto PointTransform() const; [[nodiscard]] auto BoundingRect() const; }; template <> struct consume { template using type = consume_Windows_UI_Input_Inking_Core_ICoreIncrementalInkStroke; }; template struct consume_Windows_UI_Input_Inking_Core_ICoreIncrementalInkStrokeFactory { auto Create(winrt::Windows::UI::Input::Inking::InkDrawingAttributes const& drawingAttributes, winrt::Windows::Foundation::Numerics::float3x2 const& pointTransform) const; }; template <> struct consume { template using type = consume_Windows_UI_Input_Inking_Core_ICoreIncrementalInkStrokeFactory; }; template struct consume_Windows_UI_Input_Inking_Core_ICoreInkIndependentInputSource { auto PointerEntering(winrt::Windows::Foundation::TypedEventHandler const& handler) const; using PointerEntering_revoker = impl::event_revoker::remove_PointerEntering>; [[nodiscard]] auto PointerEntering(auto_revoke_t, winrt::Windows::Foundation::TypedEventHandler const& handler) const; auto PointerEntering(winrt::event_token const& cookie) const noexcept; auto PointerHovering(winrt::Windows::Foundation::TypedEventHandler const& handler) const; using PointerHovering_revoker = impl::event_revoker::remove_PointerHovering>; [[nodiscard]] auto PointerHovering(auto_revoke_t, winrt::Windows::Foundation::TypedEventHandler const& handler) const; auto PointerHovering(winrt::event_token const& cookie) const noexcept; auto PointerExiting(winrt::Windows::Foundation::TypedEventHandler const& handler) const; using PointerExiting_revoker = impl::event_revoker::remove_PointerExiting>; [[nodiscard]] auto PointerExiting(auto_revoke_t, winrt::Windows::Foundation::TypedEventHandler const& handler) const; auto PointerExiting(winrt::event_token const& cookie) const noexcept; auto PointerPressing(winrt::Windows::Foundation::TypedEventHandler const& handler) const; using PointerPressing_revoker = impl::event_revoker::remove_PointerPressing>; [[nodiscard]] auto PointerPressing(auto_revoke_t, winrt::Windows::Foundation::TypedEventHandler const& handler) const; auto PointerPressing(winrt::event_token const& cookie) const noexcept; auto PointerMoving(winrt::Windows::Foundation::TypedEventHandler const& handler) const; using PointerMoving_revoker = impl::event_revoker::remove_PointerMoving>; [[nodiscard]] auto PointerMoving(auto_revoke_t, winrt::Windows::Foundation::TypedEventHandler const& handler) const; auto PointerMoving(winrt::event_token const& cookie) const noexcept; auto PointerReleasing(winrt::Windows::Foundation::TypedEventHandler const& handler) const; using PointerReleasing_revoker = impl::event_revoker::remove_PointerReleasing>; [[nodiscard]] auto PointerReleasing(auto_revoke_t, winrt::Windows::Foundation::TypedEventHandler const& handler) const; auto PointerReleasing(winrt::event_token const& cookie) const noexcept; auto PointerLost(winrt::Windows::Foundation::TypedEventHandler const& handler) const; using PointerLost_revoker = impl::event_revoker::remove_PointerLost>; [[nodiscard]] auto PointerLost(auto_revoke_t, winrt::Windows::Foundation::TypedEventHandler const& handler) const; auto PointerLost(winrt::event_token const& cookie) const noexcept; [[nodiscard]] auto InkPresenter() const; }; template <> struct consume { template using type = consume_Windows_UI_Input_Inking_Core_ICoreInkIndependentInputSource; }; template struct consume_Windows_UI_Input_Inking_Core_ICoreInkIndependentInputSource2 { [[nodiscard]] auto PointerCursor() const; auto PointerCursor(winrt::Windows::UI::Core::CoreCursor const& value) const; }; template <> struct consume { template using type = consume_Windows_UI_Input_Inking_Core_ICoreInkIndependentInputSource2; }; template struct consume_Windows_UI_Input_Inking_Core_ICoreInkIndependentInputSourceStatics { auto Create(winrt::Windows::UI::Input::Inking::InkPresenter const& inkPresenter) const; }; template <> struct consume { template using type = consume_Windows_UI_Input_Inking_Core_ICoreInkIndependentInputSourceStatics; }; template struct consume_Windows_UI_Input_Inking_Core_ICoreInkPresenterHost { [[nodiscard]] auto InkPresenter() const; [[nodiscard]] auto RootVisual() const; auto RootVisual(winrt::Windows::UI::Composition::ContainerVisual const& value) const; }; template <> struct consume { template using type = consume_Windows_UI_Input_Inking_Core_ICoreInkPresenterHost; }; template struct consume_Windows_UI_Input_Inking_Core_ICoreWetStrokeUpdateEventArgs { [[nodiscard]] auto NewInkPoints() const; [[nodiscard]] auto PointerId() const; [[nodiscard]] auto Disposition() const; auto Disposition(winrt::Windows::UI::Input::Inking::Core::CoreWetStrokeDisposition const& value) const; }; template <> struct consume { template using type = consume_Windows_UI_Input_Inking_Core_ICoreWetStrokeUpdateEventArgs; }; template struct consume_Windows_UI_Input_Inking_Core_ICoreWetStrokeUpdateSource { auto WetStrokeStarting(winrt::Windows::Foundation::TypedEventHandler const& handler) const; using WetStrokeStarting_revoker = impl::event_revoker::remove_WetStrokeStarting>; [[nodiscard]] auto WetStrokeStarting(auto_revoke_t, winrt::Windows::Foundation::TypedEventHandler const& handler) const; auto WetStrokeStarting(winrt::event_token const& cookie) const noexcept; auto WetStrokeContinuing(winrt::Windows::Foundation::TypedEventHandler const& handler) const; using WetStrokeContinuing_revoker = impl::event_revoker::remove_WetStrokeContinuing>; [[nodiscard]] auto WetStrokeContinuing(auto_revoke_t, winrt::Windows::Foundation::TypedEventHandler const& handler) const; auto WetStrokeContinuing(winrt::event_token const& cookie) const noexcept; auto WetStrokeStopping(winrt::Windows::Foundation::TypedEventHandler const& handler) const; using WetStrokeStopping_revoker = impl::event_revoker::remove_WetStrokeStopping>; [[nodiscard]] auto WetStrokeStopping(auto_revoke_t, winrt::Windows::Foundation::TypedEventHandler const& handler) const; auto WetStrokeStopping(winrt::event_token const& cookie) const noexcept; auto WetStrokeCompleted(winrt::Windows::Foundation::TypedEventHandler const& handler) const; using WetStrokeCompleted_revoker = impl::event_revoker::remove_WetStrokeCompleted>; [[nodiscard]] auto WetStrokeCompleted(auto_revoke_t, winrt::Windows::Foundation::TypedEventHandler const& handler) const; auto WetStrokeCompleted(winrt::event_token const& cookie) const noexcept; auto WetStrokeCanceled(winrt::Windows::Foundation::TypedEventHandler const& handler) const; using WetStrokeCanceled_revoker = impl::event_revoker::remove_WetStrokeCanceled>; [[nodiscard]] auto WetStrokeCanceled(auto_revoke_t, winrt::Windows::Foundation::TypedEventHandler const& handler) const; auto WetStrokeCanceled(winrt::event_token const& cookie) const noexcept; [[nodiscard]] auto InkPresenter() const; }; template <> struct consume { template using type = consume_Windows_UI_Input_Inking_Core_ICoreWetStrokeUpdateSource; }; template struct consume_Windows_UI_Input_Inking_Core_ICoreWetStrokeUpdateSourceStatics { auto Create(winrt::Windows::UI::Input::Inking::InkPresenter const& inkPresenter) const; }; template <> struct consume { template using type = consume_Windows_UI_Input_Inking_Core_ICoreWetStrokeUpdateSourceStatics; }; } #endif