diff --git a/include/Makefile.in b/include/Makefile.in index b9816f90a38..2be5a2c2a31 100644 --- a/include/Makefile.in +++ b/include/Makefile.in @@ -801,6 +801,7 @@ SOURCES = \ windows.system.idl \ windows.system.power.idl \ windows.system.userprofile.idl \ + windows.ui.idl \ windowscontracts.idl \ windowsx.h \ wine/debug.h \ diff --git a/include/windows.ui.idl b/include/windows.ui.idl new file mode 100644 index 00000000000..5045d0b9ed2 --- /dev/null +++ b/include/windows.ui.idl @@ -0,0 +1,323 @@ +/* + * Copyright 2022 Mohamad Al-Jaf + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#ifdef __WIDL__ +#pragma winrt ns_prefix +#endif + +import "inspectable.idl"; +import "asyncinfo.idl"; +import "eventtoken.idl"; +import "windowscontracts.idl"; +import "windows.foundation.idl"; + +namespace Windows.UI { + typedef struct Color Color; + typedef struct WindowId WindowId; + + interface IColorHelper; + interface IColorHelperStatics; + interface IColorHelperStatics2; + interface IColors; + interface IColorsStatics; + interface IUIContentRoot; + interface IUIContext; + + runtimeclass ColorHelper; + runtimeclass Colors; + runtimeclass UIContentRoot; + runtimeclass UIContext; + + declare { + interface Windows.Foundation.Collections.IIterable; + interface Windows.Foundation.Collections.IIterable; + interface Windows.Foundation.Collections.IIterator; + interface Windows.Foundation.Collections.IIterator; + interface Windows.Foundation.Collections.IVectorView; + interface Windows.Foundation.IReference; + } + + [ + contract(Windows.Foundation.UniversalApiContract, 1.0) + ] + struct Color + { + BYTE A; + BYTE R; + BYTE G; + BYTE B; + }; + + [ + contract(Windows.Foundation.UniversalApiContract, 12.0) + ] + struct WindowId + { + UINT64 Value; + }; + + [ + contract(Windows.Foundation.UniversalApiContract, 1.0), + exclusiveto(Windows.UI.ColorHelper), + uuid(193cfbe7-65c7-4540-ad08-6283ba76879a) + ] + interface IColorHelper : IInspectable + { + } + + [ + contract(Windows.Foundation.UniversalApiContract, 1.0), + exclusiveto(Windows.UI.ColorHelper), + uuid(8504dbea-fb6a-4144-a6c2-33499c9284f5) + ] + interface IColorHelperStatics : IInspectable + { + HRESULT FromArgb([in] BYTE a, [in] BYTE r, [in] BYTE g, [in] BYTE b, [out, retval] Windows.UI.Color *value); + } + + [ + contract(Windows.Foundation.UniversalApiContract, 4.0), + exclusiveto(Windows.UI.ColorHelper), + uuid(24d9af02-6eb0-4b94-855c-fcf0818d9a16) + ] + interface IColorHelperStatics2 : IInspectable + { + HRESULT ToDisplayName([in] Windows.UI.Color color, [out, retval] HSTRING *value); + } + + [ + contract(Windows.Foundation.UniversalApiContract, 1.0), + exclusiveto(Windows.UI.Colors), + uuid(9b8c9326-4ca6-4ce5-8994-9eff65cabdcc) + ] + interface IColors : IInspectable + { + } + + [ + contract(Windows.Foundation.UniversalApiContract, 1.0), + exclusiveto(Windows.UI.Colors), + uuid(cff52e04-cca6-4614-a17e-754910c84a99) + ] + interface IColorsStatics : IInspectable + { + [propget] HRESULT AliceBlue([out, retval] Windows.UI.Color *value); + [propget] HRESULT AntiqueWhite([out, retval] Windows.UI.Color *value); + [propget] HRESULT Aqua([out, retval] Windows.UI.Color *value); + [propget] HRESULT Aquamarine([out, retval] Windows.UI.Color *value); + [propget] HRESULT Azure([out, retval] Windows.UI.Color *value); + [propget] HRESULT Beige([out, retval] Windows.UI.Color *value); + [propget] HRESULT Bisque([out, retval] Windows.UI.Color *value); + [propget] HRESULT Black([out, retval] Windows.UI.Color *value); + [propget] HRESULT BlanchedAlmond([out, retval] Windows.UI.Color *value); + [propget] HRESULT Blue([out, retval] Windows.UI.Color *value); + [propget] HRESULT BlueViolet([out, retval] Windows.UI.Color *value); + [propget] HRESULT Brown([out, retval] Windows.UI.Color *value); + [propget] HRESULT BurlyWood([out, retval] Windows.UI.Color *value); + [propget] HRESULT CadetBlue([out, retval] Windows.UI.Color *value); + [propget] HRESULT Chartreuse([out, retval] Windows.UI.Color *value); + [propget] HRESULT Chocolate([out, retval] Windows.UI.Color *value); + [propget] HRESULT Coral([out, retval] Windows.UI.Color *value); + [propget] HRESULT CornflowerBlue([out, retval] Windows.UI.Color *value); + [propget] HRESULT Cornsilk([out, retval] Windows.UI.Color *value); + [propget] HRESULT Crimson([out, retval] Windows.UI.Color *value); + [propget] HRESULT Cyan([out, retval] Windows.UI.Color *value); + [propget] HRESULT DarkBlue([out, retval] Windows.UI.Color *value); + [propget] HRESULT DarkCyan([out, retval] Windows.UI.Color *value); + [propget] HRESULT DarkGoldenrod([out, retval] Windows.UI.Color *value); + [propget] HRESULT DarkGray([out, retval] Windows.UI.Color *value); + [propget] HRESULT DarkGreen([out, retval] Windows.UI.Color *value); + [propget] HRESULT DarkKhaki([out, retval] Windows.UI.Color *value); + [propget] HRESULT DarkMagenta([out, retval] Windows.UI.Color *value); + [propget] HRESULT DarkOliveGreen([out, retval] Windows.UI.Color *value); + [propget] HRESULT DarkOrange([out, retval] Windows.UI.Color *value); + [propget] HRESULT DarkOrchid([out, retval] Windows.UI.Color *value); + [propget] HRESULT DarkRed([out, retval] Windows.UI.Color *value); + [propget] HRESULT DarkSalmon([out, retval] Windows.UI.Color *value); + [propget] HRESULT DarkSeaGreen([out, retval] Windows.UI.Color *value); + [propget] HRESULT DarkSlateBlue([out, retval] Windows.UI.Color *value); + [propget] HRESULT DarkSlateGray([out, retval] Windows.UI.Color *value); + [propget] HRESULT DarkTurquoise([out, retval] Windows.UI.Color *value); + [propget] HRESULT DarkViolet([out, retval] Windows.UI.Color *value); + [propget] HRESULT DeepPink([out, retval] Windows.UI.Color *value); + [propget] HRESULT DeepSkyBlue([out, retval] Windows.UI.Color *value); + [propget] HRESULT DimGray([out, retval] Windows.UI.Color *value); + [propget] HRESULT DodgerBlue([out, retval] Windows.UI.Color *value); + [propget] HRESULT Firebrick([out, retval] Windows.UI.Color *value); + [propget] HRESULT FloralWhite([out, retval] Windows.UI.Color *value); + [propget] HRESULT ForestGreen([out, retval] Windows.UI.Color *value); + [propget] HRESULT Fuchsia([out, retval] Windows.UI.Color *value); + [propget] HRESULT Gainsboro([out, retval] Windows.UI.Color *value); + [propget] HRESULT GhostWhite([out, retval] Windows.UI.Color *value); + [propget] HRESULT Gold([out, retval] Windows.UI.Color *value); + [propget] HRESULT Goldenrod([out, retval] Windows.UI.Color *value); + [propget] HRESULT Gray([out, retval] Windows.UI.Color *value); + [propget] HRESULT Green([out, retval] Windows.UI.Color *value); + [propget] HRESULT GreenYellow([out, retval] Windows.UI.Color *value); + [propget] HRESULT Honeydew([out, retval] Windows.UI.Color *value); + [propget] HRESULT HotPink([out, retval] Windows.UI.Color *value); + [propget] HRESULT IndianRed([out, retval] Windows.UI.Color *value); + [propget] HRESULT Indigo([out, retval] Windows.UI.Color *value); + [propget] HRESULT Ivory([out, retval] Windows.UI.Color *value); + [propget] HRESULT Khaki([out, retval] Windows.UI.Color *value); + [propget] HRESULT Lavender([out, retval] Windows.UI.Color *value); + [propget] HRESULT LavenderBlush([out, retval] Windows.UI.Color *value); + [propget] HRESULT LawnGreen([out, retval] Windows.UI.Color *value); + [propget] HRESULT LemonChiffon([out, retval] Windows.UI.Color *value); + [propget] HRESULT LightBlue([out, retval] Windows.UI.Color *value); + [propget] HRESULT LightCoral([out, retval] Windows.UI.Color *value); + [propget] HRESULT LightCyan([out, retval] Windows.UI.Color *value); + [propget] HRESULT LightGoldenrodYellow([out, retval] Windows.UI.Color *value); + [propget] HRESULT LightGreen([out, retval] Windows.UI.Color *value); + [propget] HRESULT LightGray([out, retval] Windows.UI.Color *value); + [propget] HRESULT LightPink([out, retval] Windows.UI.Color *value); + [propget] HRESULT LightSalmon([out, retval] Windows.UI.Color *value); + [propget] HRESULT LightSeaGreen([out, retval] Windows.UI.Color *value); + [propget] HRESULT LightSkyBlue([out, retval] Windows.UI.Color *value); + [propget] HRESULT LightSlateGray([out, retval] Windows.UI.Color *value); + [propget] HRESULT LightSteelBlue([out, retval] Windows.UI.Color *value); + [propget] HRESULT LightYellow([out, retval] Windows.UI.Color *value); + [propget] HRESULT Lime([out, retval] Windows.UI.Color *value); + [propget] HRESULT LimeGreen([out, retval] Windows.UI.Color *value); + [propget] HRESULT Linen([out, retval] Windows.UI.Color *value); + [propget] HRESULT Magenta([out, retval] Windows.UI.Color *value); + [propget] HRESULT Maroon([out, retval] Windows.UI.Color *value); + [propget] HRESULT MediumAquamarine([out, retval] Windows.UI.Color *value); + [propget] HRESULT MediumBlue([out, retval] Windows.UI.Color *value); + [propget] HRESULT MediumOrchid([out, retval] Windows.UI.Color *value); + [propget] HRESULT MediumPurple([out, retval] Windows.UI.Color *value); + [propget] HRESULT MediumSeaGreen([out, retval] Windows.UI.Color *value); + [propget] HRESULT MediumSlateBlue([out, retval] Windows.UI.Color *value); + [propget] HRESULT MediumSpringGreen([out, retval] Windows.UI.Color *value); + [propget] HRESULT MediumTurquoise([out, retval] Windows.UI.Color *value); + [propget] HRESULT MediumVioletRed([out, retval] Windows.UI.Color *value); + [propget] HRESULT MidnightBlue([out, retval] Windows.UI.Color *value); + [propget] HRESULT MintCream([out, retval] Windows.UI.Color *value); + [propget] HRESULT MistyRose([out, retval] Windows.UI.Color *value); + [propget] HRESULT Moccasin([out, retval] Windows.UI.Color *value); + [propget] HRESULT NavajoWhite([out, retval] Windows.UI.Color *value); + [propget] HRESULT Navy([out, retval] Windows.UI.Color *value); + [propget] HRESULT OldLace([out, retval] Windows.UI.Color *value); + [propget] HRESULT Olive([out, retval] Windows.UI.Color *value); + [propget] HRESULT OliveDrab([out, retval] Windows.UI.Color *value); + [propget] HRESULT Orange([out, retval] Windows.UI.Color *value); + [propget] HRESULT OrangeRed([out, retval] Windows.UI.Color *value); + [propget] HRESULT Orchid([out, retval] Windows.UI.Color *value); + [propget] HRESULT PaleGoldenrod([out, retval] Windows.UI.Color *value); + [propget] HRESULT PaleGreen([out, retval] Windows.UI.Color *value); + [propget] HRESULT PaleTurquoise([out, retval] Windows.UI.Color *value); + [propget] HRESULT PaleVioletRed([out, retval] Windows.UI.Color *value); + [propget] HRESULT PapayaWhip([out, retval] Windows.UI.Color *value); + [propget] HRESULT PeachPuff([out, retval] Windows.UI.Color *value); + [propget] HRESULT Peru([out, retval] Windows.UI.Color *value); + [propget] HRESULT Pink([out, retval] Windows.UI.Color *value); + [propget] HRESULT Plum([out, retval] Windows.UI.Color *value); + [propget] HRESULT PowderBlue([out, retval] Windows.UI.Color *value); + [propget] HRESULT Purple([out, retval] Windows.UI.Color *value); + [propget] HRESULT Red([out, retval] Windows.UI.Color *value); + [propget] HRESULT RosyBrown([out, retval] Windows.UI.Color *value); + [propget] HRESULT RoyalBlue([out, retval] Windows.UI.Color *value); + [propget] HRESULT SaddleBrown([out, retval] Windows.UI.Color *value); + [propget] HRESULT Salmon([out, retval] Windows.UI.Color *value); + [propget] HRESULT SandyBrown([out, retval] Windows.UI.Color *value); + [propget] HRESULT SeaGreen([out, retval] Windows.UI.Color *value); + [propget] HRESULT SeaShell([out, retval] Windows.UI.Color *value); + [propget] HRESULT Sienna([out, retval] Windows.UI.Color *value); + [propget] HRESULT Silver([out, retval] Windows.UI.Color *value); + [propget] HRESULT SkyBlue([out, retval] Windows.UI.Color *value); + [propget] HRESULT SlateBlue([out, retval] Windows.UI.Color *value); + [propget] HRESULT SlateGray([out, retval] Windows.UI.Color *value); + [propget] HRESULT Snow([out, retval] Windows.UI.Color *value); + [propget] HRESULT SpringGreen([out, retval] Windows.UI.Color *value); + [propget] HRESULT SteelBlue([out, retval] Windows.UI.Color *value); + [propget] HRESULT Tan([out, retval] Windows.UI.Color *value); + [propget] HRESULT Teal([out, retval] Windows.UI.Color *value); + [propget] HRESULT Thistle([out, retval] Windows.UI.Color *value); + [propget] HRESULT Tomato([out, retval] Windows.UI.Color *value); + [propget] HRESULT Transparent([out, retval] Windows.UI.Color *value); + [propget] HRESULT Turquoise([out, retval] Windows.UI.Color *value); + [propget] HRESULT Violet([out, retval] Windows.UI.Color *value); + [propget] HRESULT Wheat([out, retval] Windows.UI.Color *value); + [propget] HRESULT White([out, retval] Windows.UI.Color *value); + [propget] HRESULT WhiteSmoke([out, retval] Windows.UI.Color *value); + [propget] HRESULT Yellow([out, retval] Windows.UI.Color *value); + [propget] HRESULT YellowGreen([out, retval] Windows.UI.Color *value); + } + + [ + contract(Windows.Foundation.UniversalApiContract, 8.0), + exclusiveto(Windows.UI.UIContentRoot), + uuid(1dfcbac6-b36b-5cb9-9bc5-2b7a0eddc378) + ] + interface IUIContentRoot : IInspectable + { + [propget] HRESULT UIContext([out, retval] Windows.UI.UIContext **value); + } + + [ + contract(Windows.Foundation.UniversalApiContract, 8.0), + exclusiveto(Windows.UI.UIContext), + uuid(bb5cfacd-5bd8-59d0-a59e-1c17a4d6d243) + ] + interface IUIContext : IInspectable + { + } + + [ + contract(Windows.Foundation.UniversalApiContract, 1.0), + marshaling_behavior(agile), + static(Windows.UI.IColorHelperStatics, Windows.Foundation.UniversalApiContract, 1.0), + static(Windows.UI.IColorHelperStatics2, Windows.Foundation.UniversalApiContract, 4.0), + threading(both) + ] + runtimeclass ColorHelper + { + [default] interface Windows.UI.IColorHelper; + } + + [ + contract(Windows.Foundation.UniversalApiContract, 1.0), + marshaling_behavior(agile), + static(Windows.UI.IColorsStatics, Windows.Foundation.UniversalApiContract, 1.0), + threading(both) + ] + runtimeclass Colors + { + [default] interface Windows.UI.IColors; + } + + [ + contract(Windows.Foundation.UniversalApiContract, 8.0), + marshaling_behavior(agile), + threading(both) + ] + runtimeclass UIContentRoot + { + [default] interface Windows.UI.IUIContentRoot; + } + + [ + contract(Windows.Foundation.UniversalApiContract, 8.0), + marshaling_behavior(agile), + threading(both) + ] + runtimeclass UIContext + { + [default] interface Windows.UI.IUIContext; + } +}