msxml3/tests: Add test saving XML with non-english characters.
[wine.git] / include / uiautomationcore.idl
blob170b0c76de16f18e5cc924b657c7f37bbdfbcb42
1 /*
2 * Copyright 2012 Jacek Caban for CodeWeavers
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
19 #define DO_NO_IMPORTS
20 import "oaidl.idl";
21 import "oleacc.idl";
23 enum NavigateDirection {
24 NavigateDirection_Parent = 0x0000,
25 NavigateDirection_NextSibling = 0x0001,
26 NavigateDirection_PreviousSibling = 0x0002,
27 NavigateDirection_FirstChild = 0x0003,
28 NavigateDirection_LastChild = 0x0004,
31 enum ProviderOptions {
32 ProviderOptions_ClientSideProvider = 0x0001,
33 ProviderOptions_ServerSideProvider = 0x0002,
34 ProviderOptions_NonClientAreaProvider = 0x0004,
35 ProviderOptions_OverrideProvider = 0x0008,
36 ProviderOptions_ProviderOwnsSetFocus = 0x0010,
37 ProviderOptions_UseComThreading = 0x0020,
38 ProviderOptions_RefuseNonClientSupport = 0x0040,
39 ProviderOptions_HasNativeIAccessible = 0x0080,
40 ProviderOptions_UseClientCoordinates = 0x0100,
43 typedef int PROPERTYID;
44 typedef int PATTERNID;
45 typedef int EVENTID;
46 typedef int TEXTATTRIBUTEID;
47 typedef int CONTROLTYPEID;
49 struct UiaRect {
50 double left;
51 double top;
52 double width;
53 double height;
57 version(1.0),
58 uuid(930299ce-9965-4dec-b0f4-a54848d4b667),
59 lcid(0),
60 hidden
62 library UIA
64 importlib("stdole2.tlb");
67 object,
68 uuid(d6dd68d1-86fd-4332-8666-9abedea2d24c),
69 pointer_default(unique),
70 oleautomation
72 interface IRawElementProviderSimple : IUnknown
74 [propget] HRESULT ProviderOptions([out, retval] enum ProviderOptions *pRetVal);
76 HRESULT GetPatternProvider(
77 [in] PATTERNID patternId,
78 [out, retval] IUnknown **pRetVal);
80 HRESULT GetPropertyValue(
81 [in] PROPERTYID propertyId,
82 [out, retval] VARIANT *pRetVal);
84 [propget] HRESULT HostRawElementProvider([out, retval] IRawElementProviderSimple **pRetVal);
88 object,
89 uuid(f8b80ada-2c44-48d0-89be-5ff23c9cd875),
90 pointer_default(unique),
91 oleautomation
93 interface IAccessibleEx : IUnknown
95 HRESULT GetObjectForChild(
96 [in] long idChild,
97 [out, retval] IAccessibleEx **pRetVal);
99 HRESULT GetIAccessiblePair(
100 [out] IAccessible **ppAcc,
101 [out] long *pidChild);
103 HRESULT GetRuntimeId(
104 [out, retval] SAFEARRAY(int) *pRetVal);
106 HRESULT ConvertReturnedElement(
107 [in] IRawElementProviderSimple *pIn,
108 [out] IAccessibleEx **ppRetValOut);
111 interface IRawElementProviderFragmentRoot;
114 object,
115 uuid(f7063da8-8359-439c-9297-bbc5299a7d87),
116 pointer_default(unique),
117 oleautomation
119 interface IRawElementProviderFragment : IUnknown
121 HRESULT Navigate(
122 [in] enum NavigateDirection direction,
123 [out, retval] IRawElementProviderFragment **pRetVal);
125 HRESULT GetRuntimeId([out, retval] SAFEARRAY(int) *pRetVal);
126 HRESULT get_BoundingRectangle([out, retval] struct UiaRect *pRetVal);
128 * FIXME: Current versions of Windows SDK use
129 * SAFEARRAY(IRawElementProviderFragmentRoot *) instead of
130 * SAFEARRAY(VARIANT). The new type is currently unsupported
131 * in widl, we should switch to it when it is.
133 HRESULT GetEmbeddedFragmentRoots([out, retval] SAFEARRAY(VARIANT) *pRetVal);
134 HRESULT SetFocus();
136 [propget] HRESULT FragmentRoot([out, retval] IRawElementProviderFragmentRoot **pRetVal);
140 object,
141 uuid(620ce2a5-ab8f-40a9-86cb-de3c75599b58),
142 pointer_default(unique),
143 oleautomation
145 interface IRawElementProviderFragmentRoot : IUnknown
147 HRESULT ElementProviderFromPoint(
148 [in] double x,
149 [in] double y,
150 [out, retval] IRawElementProviderFragment **pRetVal);
152 HRESULT GetFocus([out, retval] IRawElementProviderFragment **pRetVal);