mscoree: Update Wine Mono to 9.1.0.
[wine.git] / include / windows.ui.viewmanagement.idl
blobd4a382d2f683b1767cb37345a410e2c9723f57f9
1 /*
2 * Copyright (C) 2023 Mohamad Al-Jaf
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 #ifdef __WIDL__
20 #pragma winrt ns_prefix
21 #endif
23 import "inspectable.idl";
24 import "asyncinfo.idl";
25 import "eventtoken.idl";
26 import "windowscontracts.idl";
27 import "windows.foundation.idl";
28 import "windows.devices.enumeration.idl";
29 /* import "windows.phone.idl"; */
30 import "windows.ui.idl";
31 import "windows.ui.core.idl";
32 /* import "windows.ui.popups.idl"; */
33 /* import "windows.ui.windowmanagement.idl"; */
35 namespace Windows.UI.ViewManagement
37 typedef enum HandPreference HandPreference;
38 typedef enum UIColorType UIColorType;
39 typedef enum UIElementType UIElementType;
40 typedef enum UserInteractionMode UserInteractionMode;
42 interface IUISettings;
43 interface IUISettings2;
44 interface IUISettings3;
45 interface IUISettings4;
46 interface IUISettings5;
47 interface IUISettings6;
49 interface IUIViewSettings;
50 interface IUIViewSettingsStatics;
52 interface IInputPane;
53 interface IInputPane2;
54 interface IInputPaneControl;
55 interface IInputPaneVisibilityEventArgs;
56 interface IInputPaneStatics;
57 interface IInputPaneStatics2;
59 runtimeclass UISettings;
60 runtimeclass UIViewSettings;
61 runtimeclass InputPane;
62 runtimeclass InputPaneVisibilityEventArgs;
64 declare {
65 interface Windows.Foundation.TypedEventHandler<Windows.UI.ViewManagement.UISettings *, IInspectable *>;
66 interface Windows.Foundation.TypedEventHandler<Windows.UI.ViewManagement.InputPane*, Windows.UI.ViewManagement.InputPaneVisibilityEventArgs*>;
70 contract(Windows.Foundation.UniversalApiContract, 1.0)
72 enum HandPreference
74 LeftHanded = 0,
75 RightHanded = 1,
79 contract(Windows.Foundation.UniversalApiContract, 1.0)
81 enum UIColorType
83 Background = 0,
84 Foreground = 1,
85 AccentDark3 = 2,
86 AccentDark2 = 3,
87 AccentDark1 = 4,
88 Accent = 5,
89 AccentLight1 = 6,
90 AccentLight2 = 7,
91 AccentLight3 = 8,
92 Complement = 9,
96 contract(Windows.Foundation.UniversalApiContract, 1.0)
98 enum UIElementType
100 ActiveCaption = 0,
101 Background = 1,
102 ButtonFace = 2,
103 ButtonText = 3,
104 CaptionText = 4,
105 GrayText = 5,
106 Highlight = 6,
107 HighlightText = 7,
108 Hotlight = 8,
109 InactiveCaption = 9,
110 InactiveCaptionText = 10,
111 Window = 11,
112 WindowText = 12,
113 [contract(Windows.Foundation.UniversalApiContract, 1.0)]
114 AccentColor = 1000,
115 [contract(Windows.Foundation.UniversalApiContract, 1.0)]
116 TextHigh = 1001,
117 [contract(Windows.Foundation.UniversalApiContract, 1.0)]
118 TextMedium = 1002,
119 [contract(Windows.Foundation.UniversalApiContract, 1.0)]
120 TextLow = 1003,
121 [contract(Windows.Foundation.UniversalApiContract, 1.0)]
122 TextContrastWithHigh = 1004,
123 [contract(Windows.Foundation.UniversalApiContract, 1.0)]
124 NonTextHigh = 1005,
125 [contract(Windows.Foundation.UniversalApiContract, 1.0)]
126 NonTextMediumHigh = 1006,
127 [contract(Windows.Foundation.UniversalApiContract, 1.0)]
128 NonTextMedium = 1007,
129 [contract(Windows.Foundation.UniversalApiContract, 1.0)]
130 NonTextMediumLow = 1008,
131 [contract(Windows.Foundation.UniversalApiContract, 1.0)]
132 NonTextLow = 1009,
133 [contract(Windows.Foundation.UniversalApiContract, 1.0)]
134 PageBackground = 1010,
135 [contract(Windows.Foundation.UniversalApiContract, 1.0)]
136 PopupBackground = 1011,
137 [contract(Windows.Foundation.UniversalApiContract, 1.0)]
138 OverlayOutsidePopup = 1012,
142 contract(Windows.Foundation.UniversalApiContract, 1.0)
144 enum UserInteractionMode
146 Mouse = 0,
147 Touch = 1,
151 contract(Windows.Foundation.UniversalApiContract, 1.0),
152 exclusiveto(Windows.UI.ViewManagement.UISettings),
153 uuid(85361600-1c63-4627-bcb1-3a89e0bc9c55)
155 interface IUISettings : IInspectable
157 [propget] HRESULT HandPreference([out, retval] Windows.UI.ViewManagement.HandPreference *value);
158 [propget] HRESULT CursorSize([out, retval] Windows.Foundation.Size *value);
159 [propget] HRESULT ScrollBarSize([out, retval] Windows.Foundation.Size *value);
160 [propget] HRESULT ScrollBarArrowSize([out, retval] Windows.Foundation.Size *value);
161 [propget] HRESULT ScrollBarThumbBoxSize([out, retval] Windows.Foundation.Size *value);
162 [propget] HRESULT MessageDuration([out, retval] UINT32 *value);
163 [propget] HRESULT AnimationsEnabled([out, retval] boolean *value);
164 [propget] HRESULT CaretBrowsingEnabled([out, retval] boolean *value);
165 [propget] HRESULT CaretBlinkRate([out, retval] UINT32 *value);
166 [propget] HRESULT CaretWidth([out, retval] UINT32 *value);
167 [propget] HRESULT DoubleClickTime([out, retval] UINT32 *value);
168 [propget] HRESULT MouseHoverTime([out, retval] UINT32 *value);
169 HRESULT UIElementColor([in] Windows.UI.ViewManagement.UIElementType element, [out, retval] Windows.UI.Color *value);
173 contract(Windows.Foundation.UniversalApiContract, 1.0),
174 exclusiveto(Windows.UI.ViewManagement.UISettings),
175 uuid(bad82401-2721-44f9-bb91-2bb228be442f)
177 interface IUISettings2 : IInspectable
179 [propget] HRESULT TextScaleFactor([out, retval] DOUBLE *value);
180 [eventadd] HRESULT TextScaleFactorChanged([in] Windows.Foundation.TypedEventHandler<Windows.UI.ViewManagement.UISettings *, IInspectable *> *handler,
181 [out, retval] EventRegistrationToken *cookie);
182 [eventremove] HRESULT TextScaleFactorChanged([in] EventRegistrationToken cookie);
186 contract(Windows.Foundation.UniversalApiContract, 1.0),
187 exclusiveto(Windows.UI.ViewManagement.UISettings),
188 uuid(03021be4-5254-4781-8194-5168f7d06d7b)
190 interface IUISettings3 : IInspectable
192 HRESULT GetColorValue([in] Windows.UI.ViewManagement.UIColorType color, [out, retval] Windows.UI.Color *value);
193 [eventadd] HRESULT ColorValuesChanged([in] Windows.Foundation.TypedEventHandler<Windows.UI.ViewManagement.UISettings *, IInspectable *> *handler,
194 [out, retval] EventRegistrationToken *cookie);
195 [eventremove] HRESULT ColorValuesChanged([in] EventRegistrationToken cookie);
199 contract(Windows.Foundation.UniversalApiContract, 1.0),
200 exclusiveto(Windows.UI.ViewManagement.UIViewSettings),
201 uuid(c63657f6-8850-470d-88f8-455e16ea2c26)
203 interface IUIViewSettings : IInspectable
205 [propget] HRESULT UserInteractionMode([out, retval] Windows.UI.ViewManagement.UserInteractionMode *value);
209 contract(Windows.Foundation.UniversalApiContract, 1.0),
210 exclusiveto(Windows.UI.ViewManagement.UIViewSettings),
211 uuid(595c97a5-f8f6-41cf-b0fb-aacdb81fd5f6)
213 interface IUIViewSettingsStatics : IInspectable
215 HRESULT GetForCurrentView([out, retval] Windows.UI.ViewManagement.UIViewSettings **current);
219 contract(Windows.Foundation.UniversalApiContract, 1.0),
220 exclusiveto(Windows.UI.ViewManagement.InputPane),
221 uuid(640ada70-06f3-4c87-a678-9829c9127c28)
223 interface IInputPane : IInspectable
225 [eventadd] HRESULT Showing([in] Windows.Foundation.TypedEventHandler<Windows.UI.ViewManagement.InputPane*, Windows.UI.ViewManagement.InputPaneVisibilityEventArgs*> *handler, [out, retval] EventRegistrationToken *token);
226 [eventremove] HRESULT Showing([in] EventRegistrationToken token);
227 [eventadd] HRESULT Hiding([in] Windows.Foundation.TypedEventHandler<Windows.UI.ViewManagement.InputPane*, Windows.UI.ViewManagement.InputPaneVisibilityEventArgs*> *handler, [out, retval] EventRegistrationToken *token);
228 [eventremove] HRESULT Hiding([in] EventRegistrationToken token);
229 [propget] HRESULT OccludedRect([out, retval] Windows.Foundation.Rect *value);
233 contract(Windows.Foundation.UniversalApiContract, 1.0),
234 exclusiveto(Windows.UI.ViewManagement.InputPane),
235 uuid(8a6b3f26-7090-4793-944c-c3f2cde26276)
237 interface IInputPane2 : IInspectable
239 HRESULT TryShow([out, retval] boolean *result);
240 HRESULT TryHide([out, retval] boolean *result);
244 contract(Windows.Foundation.UniversalApiContract, 1.0),
245 exclusiveto(Windows.UI.ViewManagement.InputPane),
246 uuid(088bb24f-962f-489d-aa6e-c6be1a0a6e52)
248 interface IInputPaneControl : IInspectable
250 [propget] HRESULT Visible([out, retval] boolean *value);
251 [propput] HRESULT Visible([in] boolean value);
255 contract(Windows.Foundation.UniversalApiContract, 1.0),
256 exclusiveto(Windows.UI.ViewManagement.InputPaneVisibilityEventArgs),
257 uuid(d243e016-d907-4fcc-bb8d-f77baa5028f1)
259 interface IInputPaneVisibilityEventArgs : IInspectable
261 [propget] HRESULT OccludedRect([out, retval] Windows.Foundation.Rect *value);
262 [propput] HRESULT EnsuredFocusedElementInView([in] boolean value);
263 [propget] HRESULT EnsuredFocusedElementInView([out, retval] boolean *value);
267 contract(Windows.Foundation.UniversalApiContract, 1.0),
268 exclusiveto(Windows.UI.ViewManagement.InputPane),
269 uuid(95f4af3a-ef47-424a-9741-fd2815eba2bd)
271 interface IInputPaneStatics : IInspectable
273 HRESULT GetForCurrentView([out, retval] Windows.UI.ViewManagement.InputPane **input_pane);
277 contract(Windows.Foundation.UniversalApiContract, 8.0),
278 exclusiveto(Windows.UI.ViewManagement.InputPane),
279 uuid(1b63529b-d9ec-4531-8445-71bab9fb828e)
281 interface IInputPaneStatics2 : IInspectable
283 HRESULT GetForUIContext([in] Windows.UI.UIContext *context, [out, retval] Windows.UI.ViewManagement.InputPane **result);
287 activatable(Windows.Foundation.UniversalApiContract, 1.0),
288 contract(Windows.Foundation.UniversalApiContract, 1.0),
289 marshaling_behavior(agile)
291 runtimeclass UISettings
293 [default] interface Windows.UI.ViewManagement.IUISettings;
294 [contract(Windows.Foundation.UniversalApiContract, 1.0)] interface Windows.UI.ViewManagement.IUISettings2;
295 [contract(Windows.Foundation.UniversalApiContract, 1.0)] interface Windows.UI.ViewManagement.IUISettings3;
299 static(Windows.UI.ViewManagement.IUIViewSettingsStatics, Windows.Foundation.UniversalApiContract, 1.0),
300 contract(Windows.Foundation.UniversalApiContract, 1.0),
301 marshaling_behavior(agile)
303 runtimeclass UIViewSettings
305 [default] interface Windows.UI.ViewManagement.IUIViewSettings;
309 static(Windows.UI.ViewManagement.IInputPaneStatics, Windows.Foundation.UniversalApiContract, 1.0),
310 static(Windows.UI.ViewManagement.IInputPaneStatics2, Windows.Foundation.UniversalApiContract, 8.0),
311 contract(Windows.Foundation.UniversalApiContract, 1.0),
312 marshaling_behavior(standard)
314 runtimeclass InputPane
316 [default] interface Windows.UI.ViewManagement.IInputPane;
317 [contract(Windows.Foundation.UniversalApiContract, 1.0)] interface Windows.UI.ViewManagement.IInputPane2;
318 [contract(Windows.Foundation.UniversalApiContract, 1.0)] interface Windows.UI.ViewManagement.IInputPaneControl;
322 contract(Windows.Foundation.UniversalApiContract, 1.0),
323 marshaling_behavior(standard)
325 runtimeclass InputPaneVisibilityEventArgs
327 [default] interface Windows.UI.ViewManagement.IInputPaneVisibilityEventArgs;