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
20 #pragma winrt ns_prefix
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
;
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
;
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)
79 contract
(Windows.Foundation.UniversalApiContract
, 1.0)
96 contract
(Windows.Foundation.UniversalApiContract
, 1.0)
110 InactiveCaptionText
= 10,
113 [contract
(Windows.Foundation.UniversalApiContract
, 1.0)]
115 [contract
(Windows.Foundation.UniversalApiContract
, 1.0)]
117 [contract
(Windows.Foundation.UniversalApiContract
, 1.0)]
119 [contract
(Windows.Foundation.UniversalApiContract
, 1.0)]
121 [contract
(Windows.Foundation.UniversalApiContract
, 1.0)]
122 TextContrastWithHigh
= 1004,
123 [contract
(Windows.Foundation.UniversalApiContract
, 1.0)]
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)]
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
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
;