Connor McAdams : include: Define more provider interfaces in uiautomationcore.idl.
Alexandre Julliard
julliard at winehq.org
Mon Nov 8 15:45:05 CST 2021
Module: wine
Branch: master
Commit: a077f98ee365191f073e236b8f46c236378b51f6
URL: https://source.winehq.org/git/wine.git/?a=commit;h=a077f98ee365191f073e236b8f46c236378b51f6
Author: Connor McAdams <cmcadams at codeweavers.com>
Date: Sat Nov 6 15:57:20 2021 -0400
include: Define more provider interfaces in uiautomationcore.idl.
Signed-off-by: Connor McAdams <cmcadams at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
include/uiautomationcore.idl | 59 ++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 59 insertions(+)
diff --git a/include/uiautomationcore.idl b/include/uiautomationcore.idl
index 9ee79170e4a..170b0c76de1 100644
--- a/include/uiautomationcore.idl
+++ b/include/uiautomationcore.idl
@@ -20,6 +20,14 @@
import "oaidl.idl";
import "oleacc.idl";
+enum NavigateDirection {
+ NavigateDirection_Parent = 0x0000,
+ NavigateDirection_NextSibling = 0x0001,
+ NavigateDirection_PreviousSibling = 0x0002,
+ NavigateDirection_FirstChild = 0x0003,
+ NavigateDirection_LastChild = 0x0004,
+};
+
enum ProviderOptions {
ProviderOptions_ClientSideProvider = 0x0001,
ProviderOptions_ServerSideProvider = 0x0002,
@@ -38,6 +46,13 @@ typedef int EVENTID;
typedef int TEXTATTRIBUTEID;
typedef int CONTROLTYPEID;
+struct UiaRect {
+ double left;
+ double top;
+ double width;
+ double height;
+};
+
[
version(1.0),
uuid(930299ce-9965-4dec-b0f4-a54848d4b667),
@@ -92,4 +107,48 @@ library UIA
[in] IRawElementProviderSimple *pIn,
[out] IAccessibleEx **ppRetValOut);
}
+
+ interface IRawElementProviderFragmentRoot;
+
+ [
+ object,
+ uuid(f7063da8-8359-439c-9297-bbc5299a7d87),
+ pointer_default(unique),
+ oleautomation
+ ]
+ interface IRawElementProviderFragment : IUnknown
+ {
+ HRESULT Navigate(
+ [in] enum NavigateDirection direction,
+ [out, retval] IRawElementProviderFragment **pRetVal);
+
+ HRESULT GetRuntimeId([out, retval] SAFEARRAY(int) *pRetVal);
+ HRESULT get_BoundingRectangle([out, retval] struct UiaRect *pRetVal);
+ /*
+ * FIXME: Current versions of Windows SDK use
+ * SAFEARRAY(IRawElementProviderFragmentRoot *) instead of
+ * SAFEARRAY(VARIANT). The new type is currently unsupported
+ * in widl, we should switch to it when it is.
+ */
+ HRESULT GetEmbeddedFragmentRoots([out, retval] SAFEARRAY(VARIANT) *pRetVal);
+ HRESULT SetFocus();
+
+ [propget] HRESULT FragmentRoot([out, retval] IRawElementProviderFragmentRoot **pRetVal);
+ }
+
+ [
+ object,
+ uuid(620ce2a5-ab8f-40a9-86cb-de3c75599b58),
+ pointer_default(unique),
+ oleautomation
+ ]
+ interface IRawElementProviderFragmentRoot : IUnknown
+ {
+ HRESULT ElementProviderFromPoint(
+ [in] double x,
+ [in] double y,
+ [out, retval] IRawElementProviderFragment **pRetVal);
+
+ HRESULT GetFocus([out, retval] IRawElementProviderFragment **pRetVal);
+ }
}
More information about the wine-cvs
mailing list