winex11: Use a helper to change internal composition status.
[wine.git] / include / windows.ui.viewmanagement.idl
blobb98d34ff685b8bb681c586de0b717960f76e7181
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;
41 interface IUISettings;
42 interface IUISettings2;
43 interface IUISettings3;
44 interface IUISettings4;
45 interface IUISettings5;
46 interface IUISettings6;
48 runtimeclass UISettings;
50 declare {
51 interface Windows.Foundation.TypedEventHandler<Windows.UI.ViewManagement.UISettings *, IInspectable *>;
55 contract(Windows.Foundation.UniversalApiContract, 1.0)
57 enum HandPreference
59 LeftHanded = 0,
60 RightHanded = 1,
64 contract(Windows.Foundation.UniversalApiContract, 1.0)
66 enum UIColorType
68 Background = 0,
69 Foreground = 1,
70 AccentDark3 = 2,
71 AccentDark2 = 3,
72 AccentDark1 = 4,
73 Accent = 5,
74 AccentLight1 = 6,
75 AccentLight2 = 7,
76 AccentLight3 = 8,
77 Complement = 9,
81 contract(Windows.Foundation.UniversalApiContract, 1.0)
83 enum UIElementType
85 ActiveCaption = 0,
86 Background = 1,
87 ButtonFace = 2,
88 ButtonText = 3,
89 CaptionText = 4,
90 GrayText = 5,
91 Highlight = 6,
92 HighlightText = 7,
93 Hotlight = 8,
94 InactiveCaption = 9,
95 InactiveCaptionText = 10,
96 Window = 11,
97 WindowText = 12,
98 [contract(Windows.Foundation.UniversalApiContract, 1.0)]
99 AccentColor = 1000,
100 [contract(Windows.Foundation.UniversalApiContract, 1.0)]
101 TextHigh = 1001,
102 [contract(Windows.Foundation.UniversalApiContract, 1.0)]
103 TextMedium = 1002,
104 [contract(Windows.Foundation.UniversalApiContract, 1.0)]
105 TextLow = 1003,
106 [contract(Windows.Foundation.UniversalApiContract, 1.0)]
107 TextContrastWithHigh = 1004,
108 [contract(Windows.Foundation.UniversalApiContract, 1.0)]
109 NonTextHigh = 1005,
110 [contract(Windows.Foundation.UniversalApiContract, 1.0)]
111 NonTextMediumHigh = 1006,
112 [contract(Windows.Foundation.UniversalApiContract, 1.0)]
113 NonTextMedium = 1007,
114 [contract(Windows.Foundation.UniversalApiContract, 1.0)]
115 NonTextMediumLow = 1008,
116 [contract(Windows.Foundation.UniversalApiContract, 1.0)]
117 NonTextLow = 1009,
118 [contract(Windows.Foundation.UniversalApiContract, 1.0)]
119 PageBackground = 1010,
120 [contract(Windows.Foundation.UniversalApiContract, 1.0)]
121 PopupBackground = 1011,
122 [contract(Windows.Foundation.UniversalApiContract, 1.0)]
123 OverlayOutsidePopup = 1012,
127 contract(Windows.Foundation.UniversalApiContract, 1.0),
128 exclusiveto(Windows.UI.ViewManagement.UISettings),
129 uuid(85361600-1c63-4627-bcb1-3a89e0bc9c55)
131 interface IUISettings : IInspectable
133 [propget] HRESULT HandPreference([out, retval] Windows.UI.ViewManagement.HandPreference *value);
134 [propget] HRESULT CursorSize([out, retval] Windows.Foundation.Size *value);
135 [propget] HRESULT ScrollBarSize([out, retval] Windows.Foundation.Size *value);
136 [propget] HRESULT ScrollBarArrowSize([out, retval] Windows.Foundation.Size *value);
137 [propget] HRESULT ScrollBarThumbBoxSize([out, retval] Windows.Foundation.Size *value);
138 [propget] HRESULT MessageDuration([out, retval] UINT32 *value);
139 [propget] HRESULT AnimationsEnabled([out, retval] boolean *value);
140 [propget] HRESULT CaretBrowsingEnabled([out, retval] boolean *value);
141 [propget] HRESULT CaretBlinkRate([out, retval] UINT32 *value);
142 [propget] HRESULT CaretWidth([out, retval] UINT32 *value);
143 [propget] HRESULT DoubleClickTime([out, retval] UINT32 *value);
144 [propget] HRESULT MouseHoverTime([out, retval] UINT32 *value);
145 HRESULT UIElementColor([in] Windows.UI.ViewManagement.UIElementType element, [out, retval] Windows.UI.Color *value);
149 contract(Windows.Foundation.UniversalApiContract, 1.0),
150 exclusiveto(Windows.UI.ViewManagement.UISettings),
151 uuid(bad82401-2721-44f9-bb91-2bb228be442f)
153 interface IUISettings2 : IInspectable
155 [propget] HRESULT TextScaleFactor([out, retval] DOUBLE *value);
156 [eventadd] HRESULT TextScaleFactorChanged([in] Windows.Foundation.TypedEventHandler<Windows.UI.ViewManagement.UISettings *, IInspectable *> *handler,
157 [out, retval] EventRegistrationToken *cookie);
158 [eventremove] HRESULT TextScaleFactorChanged([in] EventRegistrationToken cookie);
162 contract(Windows.Foundation.UniversalApiContract, 1.0),
163 exclusiveto(Windows.UI.ViewManagement.UISettings),
164 uuid(03021be4-5254-4781-8194-5168f7d06d7b)
166 interface IUISettings3 : IInspectable
168 HRESULT GetColorValue([in] Windows.UI.ViewManagement.UIColorType color, [out, retval] Windows.UI.Color *value);
169 [eventadd] HRESULT ColorValuesChanged([in] Windows.Foundation.TypedEventHandler<Windows.UI.ViewManagement.UISettings *, IInspectable *> *handler,
170 [out, retval] EventRegistrationToken *cookie);
171 [eventremove] HRESULT ColorValuesChanged([in] EventRegistrationToken cookie);
175 activatable(Windows.Foundation.UniversalApiContract, 1.0),
176 contract(Windows.Foundation.UniversalApiContract, 1.0),
177 marshaling_behavior(agile)
179 runtimeclass UISettings
181 [default] interface Windows.UI.ViewManagement.IUISettings;
182 [contract(Windows.Foundation.UniversalApiContract, 1.0)] interface Windows.UI.ViewManagement.IUISettings2;
183 [contract(Windows.Foundation.UniversalApiContract, 1.0)] interface Windows.UI.ViewManagement.IUISettings3;