wine/include/windows.ui.viewmanagement.core.idl
2025-05-15 23:25:13 +02:00

292 lines
13 KiB
Text

/*
* Copyright 2025 Zhiyi Zhang for CodeWeavers
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
#ifdef __WIDL__
#pragma winrt ns_prefix
#endif
#ifndef DO_NO_IMPORTS
import "inspectable.idl";
import "asyncinfo.idl";
import "eventtoken.idl";
import "windowscontracts.idl";
import "windows.foundation.idl";
import "windows.ui.idl";
#endif
namespace Windows.UI.ViewManagement.Core
{
typedef enum CoreInputViewKind CoreInputViewKind;
typedef enum CoreInputViewOcclusionKind CoreInputViewOcclusionKind;
typedef enum CoreInputViewXYFocusTransferDirection CoreInputViewXYFocusTransferDirection;
interface ICoreInputView;
interface ICoreInputView2;
interface ICoreInputView3;
interface ICoreInputView4;
interface ICoreInputViewHidingEventArgs;
interface ICoreInputViewOcclusion;
interface ICoreInputViewOcclusionsChangedEventArgs;
interface ICoreInputViewShowingEventArgs;
interface ICoreInputViewStatics;
interface ICoreInputViewStatics2;
interface ICoreInputViewTransferringXYFocusEventArgs;
runtimeclass CoreInputView;
runtimeclass CoreInputViewHidingEventArgs;
runtimeclass CoreInputViewOcclusion;
runtimeclass CoreInputViewOcclusionsChangedEventArgs;
runtimeclass CoreInputViewShowingEventArgs;
runtimeclass CoreInputViewTransferringXYFocusEventArgs;
declare
{
interface Windows.Foundation.Collections.IIterable<Windows.UI.ViewManagement.Core.CoreInputViewOcclusion *>;
interface Windows.Foundation.Collections.IIterator<Windows.UI.ViewManagement.Core.CoreInputViewOcclusion *>;
interface Windows.Foundation.Collections.IVectorView<Windows.UI.ViewManagement.Core.CoreInputViewOcclusion *>;
interface Windows.Foundation.TypedEventHandler<Windows.UI.ViewManagement.Core.CoreInputView *, IInspectable *>;
interface Windows.Foundation.TypedEventHandler<Windows.UI.ViewManagement.Core.CoreInputView *, Windows.UI.ViewManagement.Core.CoreInputViewHidingEventArgs *>;
interface Windows.Foundation.TypedEventHandler<Windows.UI.ViewManagement.Core.CoreInputView *, Windows.UI.ViewManagement.Core.CoreInputViewOcclusionsChangedEventArgs *>;
interface Windows.Foundation.TypedEventHandler<Windows.UI.ViewManagement.Core.CoreInputView *, Windows.UI.ViewManagement.Core.CoreInputViewShowingEventArgs *>;
interface Windows.Foundation.TypedEventHandler<Windows.UI.ViewManagement.Core.CoreInputView *, Windows.UI.ViewManagement.Core.CoreInputViewTransferringXYFocusEventArgs *>;
}
[
contract(Windows.Foundation.UniversalApiContract, 7.0)
]
enum CoreInputViewKind
{
Default = 0,
Keyboard = 1,
Handwriting = 2,
Emoji = 3,
[contract(Windows.Foundation.UniversalApiContract, 10.0)] Symbols = 4
};
[
contract(Windows.Foundation.UniversalApiContract, 5.0)
]
enum CoreInputViewOcclusionKind
{
Docked = 0,
Floating = 1,
Overlay = 2
};
[
contract(Windows.Foundation.UniversalApiContract, 6.0)
]
enum CoreInputViewXYFocusTransferDirection
{
Up = 0,
Right = 1,
Down = 2,
Left = 3
};
[
contract(Windows.Foundation.UniversalApiContract, 5.0),
exclusiveto(Windows.UI.ViewManagement.Core.CoreInputView),
uuid(c770cd7a-7001-4c32-bf94-25c1f554cbf1)
]
interface ICoreInputView : IInspectable
{
[eventadd] HRESULT OcclusionsChanged([in] Windows.Foundation.TypedEventHandler<Windows.UI.ViewManagement.Core.CoreInputView *, Windows.UI.ViewManagement.Core.CoreInputViewOcclusionsChangedEventArgs *> *handler, [out, retval] EventRegistrationToken *token);
[eventremove] HRESULT OcclusionsChanged([in] EventRegistrationToken token);
HRESULT GetCoreInputViewOcclusions([out, retval] Windows.Foundation.Collections.IVectorView<Windows.UI.ViewManagement.Core.CoreInputViewOcclusion *> **result);
HRESULT TryShowPrimaryView([out, retval] boolean *result);
HRESULT TryHidePrimaryView([out, retval] boolean *result);
}
[
contract(Windows.Foundation.UniversalApiContract, 6.0),
exclusiveto(Windows.UI.ViewManagement.Core.CoreInputView),
uuid(0ed726c1-e09a-4ae8-aedf-dfa4857d1a01)
]
interface ICoreInputView2 : IInspectable
{
[eventadd] HRESULT XYFocusTransferringFromPrimaryView([in] Windows.Foundation.TypedEventHandler<Windows.UI.ViewManagement.Core.CoreInputView *, Windows.UI.ViewManagement.Core.CoreInputViewTransferringXYFocusEventArgs *> *handler, [out, retval] EventRegistrationToken *token);
[eventremove] HRESULT XYFocusTransferringFromPrimaryView([in] EventRegistrationToken token);
[eventadd] HRESULT XYFocusTransferredToPrimaryView([in] Windows.Foundation.TypedEventHandler<Windows.UI.ViewManagement.Core.CoreInputView *, IInspectable *> *handler, [out, retval] EventRegistrationToken *token);
[eventremove] HRESULT XYFocusTransferredToPrimaryView([in] EventRegistrationToken token);
HRESULT TryTransferXYFocusToPrimaryView([in] Windows.Foundation.Rect origin, [in] Windows.UI.ViewManagement.Core.CoreInputViewXYFocusTransferDirection direction, [out, retval] boolean *result);
}
[
contract(Windows.Foundation.UniversalApiContract, 7.0),
exclusiveto(Windows.UI.ViewManagement.Core.CoreInputView),
uuid(bc941653-3ab9-4849-8f58-46e7f0353cfc)
]
interface ICoreInputView3 : IInspectable
{
[overload("TryShow")] HRESULT TryShow([out, retval] boolean *result);
[overload("TryShow")] HRESULT TryShowWithKind([in] Windows.UI.ViewManagement.Core.CoreInputViewKind type, [out, retval] boolean *result);
HRESULT TryHide([out, retval] boolean *result);
}
[
contract(Windows.Foundation.UniversalApiContract, 10.0),
exclusiveto(Windows.UI.ViewManagement.Core.CoreInputView),
uuid(002863d6-d9ef-57eb-8cef-77f6ce1b7ee7)
]
interface ICoreInputView4 : IInspectable
{
[eventadd] HRESULT PrimaryViewShowing([in] Windows.Foundation.TypedEventHandler<Windows.UI.ViewManagement.Core.CoreInputView *, Windows.UI.ViewManagement.Core.CoreInputViewShowingEventArgs *> *handler, [out, retval] EventRegistrationToken *token);
[eventremove] HRESULT PrimaryViewShowing([in] EventRegistrationToken token);
[eventadd] HRESULT PrimaryViewHiding([in] Windows.Foundation.TypedEventHandler<Windows.UI.ViewManagement.Core.CoreInputView *, Windows.UI.ViewManagement.Core.CoreInputViewHidingEventArgs *> *handler, [out, retval] EventRegistrationToken *token);
[eventremove] HRESULT PrimaryViewHiding([in] EventRegistrationToken token);
}
[
contract(Windows.Foundation.UniversalApiContract, 10.0),
exclusiveto(Windows.UI.ViewManagement.Core.CoreInputViewHidingEventArgs),
uuid(eada47bd-bac5-5336-848d-41083584daad)
]
interface ICoreInputViewHidingEventArgs : IInspectable
{
HRESULT TryCancel([out, retval] boolean *result);
}
[
contract(Windows.Foundation.UniversalApiContract, 5.0),
exclusiveto(Windows.UI.ViewManagement.Core.CoreInputViewOcclusion),
uuid(cc36ce06-3865-4177-b5f5-8b65e0b9ce84)
]
interface ICoreInputViewOcclusion : IInspectable
{
[propget] HRESULT OccludingRect([out, retval] Windows.Foundation.Rect *rect);
[propget] HRESULT OcclusionKind([out, retval] Windows.UI.ViewManagement.Core.CoreInputViewOcclusionKind *kind);
}
[
contract(Windows.Foundation.UniversalApiContract, 5.0),
exclusiveto(Windows.UI.ViewManagement.Core.CoreInputViewOcclusionsChangedEventArgs),
uuid(be1027e8-b3ee-4df7-9554-89cdc66082c2)
]
interface ICoreInputViewOcclusionsChangedEventArgs : IInspectable
{
[propget] HRESULT Occlusions([out, retval] Windows.Foundation.Collections.IVectorView<Windows.UI.ViewManagement.Core.CoreInputViewOcclusion *> **value);
[propget] HRESULT Handled([out, retval] boolean *value);
[propput] HRESULT Handled([in] boolean value);
}
[
contract(Windows.Foundation.UniversalApiContract, 10.0),
exclusiveto(Windows.UI.ViewManagement.Core.CoreInputViewShowingEventArgs),
uuid(ca52261b-fb9e-5daf-a98c-262b8b76af50)
]
interface ICoreInputViewShowingEventArgs : IInspectable
{
HRESULT TryCancel([out, retval] boolean *result);
}
[
contract(Windows.Foundation.UniversalApiContract, 5.0),
exclusiveto(Windows.UI.ViewManagement.Core.CoreInputView),
uuid(7d9b97cd-edbe-49cf-a54f-337de052907f)
]
interface ICoreInputViewStatics : IInspectable
{
HRESULT GetForCurrentView([out, retval] Windows.UI.ViewManagement.Core.CoreInputView **result);
}
[
contract(Windows.Foundation.UniversalApiContract, 8.0),
exclusiveto(Windows.UI.ViewManagement.Core.CoreInputView),
uuid(7ebc0862-d049-4e52-87b0-1e90e98c49ed)
]
interface ICoreInputViewStatics2 : IInspectable
{
HRESULT GetForUIContext([in] Windows.UI.UIContext *context, [out, retval] Windows.UI.ViewManagement.Core.CoreInputView **result);
}
[
contract(Windows.Foundation.UniversalApiContract, 6.0),
exclusiveto(Windows.UI.ViewManagement.Core.CoreInputViewTransferringXYFocusEventArgs),
uuid(04de169f-ba02-4850-8b55-d82d03ba6d7f)
]
interface ICoreInputViewTransferringXYFocusEventArgs : IInspectable
{
[propget] HRESULT Origin([out, retval] Windows.Foundation.Rect *value);
[propget] HRESULT Direction([out, retval] Windows.UI.ViewManagement.Core.CoreInputViewXYFocusTransferDirection *value);
[propput] HRESULT TransferHandled([in] boolean value);
[propget] HRESULT TransferHandled([out, retval] boolean *value);
[propput] HRESULT KeepPrimaryViewVisible([in] boolean value);
[propget] HRESULT KeepPrimaryViewVisible([out, retval] boolean *value);
}
[
contract(Windows.Foundation.UniversalApiContract, 5.0),
marshaling_behavior(agile),
static(Windows.UI.ViewManagement.Core.ICoreInputViewStatics, Windows.Foundation.UniversalApiContract, 5.0),
static(Windows.UI.ViewManagement.Core.ICoreInputViewStatics2, Windows.Foundation.UniversalApiContract, 8.0),
threading(both)
]
runtimeclass CoreInputView
{
[default] interface Windows.UI.ViewManagement.Core.ICoreInputView;
[contract(Windows.Foundation.UniversalApiContract, 6.0)] interface Windows.UI.ViewManagement.Core.ICoreInputView2;
[contract(Windows.Foundation.UniversalApiContract, 7.0)] interface Windows.UI.ViewManagement.Core.ICoreInputView3;
[contract(Windows.Foundation.UniversalApiContract, 10.0)] interface Windows.UI.ViewManagement.Core.ICoreInputView4;
}
[
contract(Windows.Foundation.UniversalApiContract, 10.0),
marshaling_behavior(agile)
]
runtimeclass CoreInputViewHidingEventArgs
{
[default] interface Windows.UI.ViewManagement.Core.ICoreInputViewHidingEventArgs;
}
[
contract(Windows.Foundation.UniversalApiContract, 5.0),
marshaling_behavior(agile)
]
runtimeclass CoreInputViewOcclusion
{
[default] interface Windows.UI.ViewManagement.Core.ICoreInputViewOcclusion;
}
[
contract(Windows.Foundation.UniversalApiContract, 5.0),
marshaling_behavior(agile)
]
runtimeclass CoreInputViewOcclusionsChangedEventArgs
{
[default] interface Windows.UI.ViewManagement.Core.ICoreInputViewOcclusionsChangedEventArgs;
}
[
contract(Windows.Foundation.UniversalApiContract, 10.0),
marshaling_behavior(agile)
]
runtimeclass CoreInputViewShowingEventArgs
{
[default] interface Windows.UI.ViewManagement.Core.ICoreInputViewShowingEventArgs;
}
[
contract(Windows.Foundation.UniversalApiContract, 6.0),
marshaling_behavior(agile)
]
runtimeclass CoreInputViewTransferringXYFocusEventArgs
{
[default] interface Windows.UI.ViewManagement.Core.ICoreInputViewTransferringXYFocusEventArgs;
}
}