Needed by windows.media.closedcaptioning.idl.
Signed-off-by: Mohamad Al-Jaf mohamadaljaf@gmail.com --- include/Makefile.in | 1 + include/windows.ui.idl | 323 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 324 insertions(+) create mode 100644 include/windows.ui.idl
diff --git a/include/Makefile.in b/include/Makefile.in index dff2f341568..b38475e6464 100644 --- a/include/Makefile.in +++ b/include/Makefile.in @@ -799,6 +799,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..4dd9c160c82 --- /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<Windows.UI.Color>; + interface Windows.Foundation.Collections.IIterable<Windows.UI.WindowId>; + interface Windows.Foundation.Collections.IIterator<Windows.UI.Color>; + interface Windows.Foundation.Collections.IIterator<Windows.UI.WindowId>; + interface Windows.Foundation.Collections.IVectorView<Windows.UI.WindowId>; + interface Windows.Foundation.IReference<Windows.UI.Color>; + } + + [ + 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* returnValue); + } + + [ + 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* returnValue); + } + + [ + 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; + } +}
Needed by Microsoft Edge.
Signed-off-by: Mohamad Al-Jaf mohamadaljaf@gmail.com --- I consider this file very important because people with disabilities often rely on captioning. --- include/Makefile.in | 1 + include/windows.media.closedcaptioning.idl | 139 +++++++++++++++++++++ 2 files changed, 140 insertions(+) create mode 100644 include/windows.media.closedcaptioning.idl
diff --git a/include/Makefile.in b/include/Makefile.in index b38475e6464..3deeb74a94c 100644 --- a/include/Makefile.in +++ b/include/Makefile.in @@ -791,6 +791,7 @@ SOURCES = \ windows.gaming.input.idl \ windows.globalization.idl \ windows.h \ + windows.media.closedcaptioning.idl \ windows.media.devices.idl \ windows.media.idl \ windows.media.speechrecognition.idl \ diff --git a/include/windows.media.closedcaptioning.idl b/include/windows.media.closedcaptioning.idl new file mode 100644 index 00000000000..8d6b329739d --- /dev/null +++ b/include/windows.media.closedcaptioning.idl @@ -0,0 +1,139 @@ +/* + * 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"; +import "windows.ui.idl"; + +namespace Windows.Media.ClosedCaptioning { + typedef enum ClosedCaptionColor ClosedCaptionColor; + typedef enum ClosedCaptionEdgeEffect ClosedCaptionEdgeEffect; + typedef enum ClosedCaptionOpacity ClosedCaptionOpacity; + typedef enum ClosedCaptionSize ClosedCaptionSize; + typedef enum ClosedCaptionStyle ClosedCaptionStyle; + + interface IClosedCaptionPropertiesStatics; + + runtimeclass ClosedCaptionProperties; + + [ + contract(Windows.Foundation.UniversalApiContract, 1.0) + ] + enum ClosedCaptionColor + { + Default = 0, + White = 1, + Black = 2, + Red = 3, + Green = 4, + Blue = 5, + Yellow = 6, + Magenta = 7, + Cyan = 8 + }; + + [ + contract(Windows.Foundation.UniversalApiContract, 1.0) + ] + enum ClosedCaptionEdgeEffect + { + Default = 0, + None = 1, + Raised = 2, + Depressed = 3, + Uniform = 4, + DropShadow = 5 + }; + + [ + contract(Windows.Foundation.UniversalApiContract, 1.0) + ] + enum ClosedCaptionOpacity + { + Default = 0, + OneHundredPercent = 1, + SeventyFivePercent = 2, + TwentyFivePercent = 3, + ZeroPercent = 4 + }; + + [ + contract(Windows.Foundation.UniversalApiContract, 1.0) + ] + enum ClosedCaptionSize + { + Default = 0, + FiftyPercent = 1, + OneHundredPercent = 2, + OneHundredFiftyPercent = 3, + TwoHundredPercent = 4 + }; + + [ + contract(Windows.Foundation.UniversalApiContract, 1.0) + ] + enum ClosedCaptionStyle + { + Default = 0, + MonospacedWithSerifs = 1, + ProportionalWithSerifs = 2, + MonospacedWithoutSerifs = 3, + ProportionalWithoutSerifs = 4, + Casual = 5, + Cursive = 6, + SmallCapitals = 7 + }; + + [ + contract(Windows.Foundation.UniversalApiContract, 1.0), + exclusiveto(Windows.Media.ClosedCaptioning.ClosedCaptionProperties), + uuid(10aa1f84-cc30-4141-b503-5272289e0c20) + ] + interface IClosedCaptionPropertiesStatics : IInspectable + { + [propget] HRESULT FontColor([out, retval] Windows.Media.ClosedCaptioning.ClosedCaptionColor* value); + [propget] HRESULT ComputedFontColor([out, retval] Windows.UI.Color* value); + [propget] HRESULT FontOpacity([out, retval] Windows.Media.ClosedCaptioning.ClosedCaptionOpacity* value); + [propget] HRESULT FontSize([out, retval] Windows.Media.ClosedCaptioning.ClosedCaptionSize* value); + [propget] HRESULT FontStyle([out, retval] Windows.Media.ClosedCaptioning.ClosedCaptionStyle* value); + [propget] HRESULT FontEffect([out, retval] Windows.Media.ClosedCaptioning.ClosedCaptionEdgeEffect* value); + [propget] HRESULT BackgroundColor([out, retval] Windows.Media.ClosedCaptioning.ClosedCaptionColor* value); + [propget] HRESULT ComputedBackgroundColor([out, retval] Windows.UI.Color* value); + [propget] HRESULT BackgroundOpacity([out, retval] Windows.Media.ClosedCaptioning.ClosedCaptionOpacity* value); + [propget] HRESULT RegionColor([out, retval] Windows.Media.ClosedCaptioning.ClosedCaptionColor* value); + [propget] HRESULT ComputedRegionColor([out, retval] Windows.UI.Color* value); + [propget] HRESULT RegionOpacity([out, retval] Windows.Media.ClosedCaptioning.ClosedCaptionOpacity* value); + } + + [ + contract(Windows.Foundation.UniversalApiContract, 1.0), + marshaling_behavior(agile), + static(Windows.Media.ClosedCaptioning.IClosedCaptionPropertiesStatics, Windows.Foundation.UniversalApiContract, 1.0), + threading(both) + ] + runtimeclass ClosedCaptionProperties + { + } +}
On 4/22/22 09:22, Mohamad Al-Jaf wrote:
Needed by Microsoft Edge.
Signed-off-by: Mohamad Al-Jaf mohamadaljaf@gmail.com
I consider this file very important because people with disabilities often rely on captioning.
Sure, but this file isn't going to do anything on its own. Do you intend to implement the class too?
include/Makefile.in | 1 + include/windows.media.closedcaptioning.idl | 139 +++++++++++++++++++++ 2 files changed, 140 insertions(+) create mode 100644 include/windows.media.closedcaptioning.idl
diff --git a/include/Makefile.in b/include/Makefile.in index b38475e6464..3deeb74a94c 100644 --- a/include/Makefile.in +++ b/include/Makefile.in @@ -791,6 +791,7 @@ SOURCES = \ windows.gaming.input.idl \ windows.globalization.idl \ windows.h \
- windows.media.closedcaptioning.idl \ windows.media.devices.idl \ windows.media.idl \ windows.media.speechrecognition.idl \
diff --git a/include/windows.media.closedcaptioning.idl b/include/windows.media.closedcaptioning.idl new file mode 100644 index 00000000000..8d6b329739d --- /dev/null +++ b/include/windows.media.closedcaptioning.idl @@ -0,0 +1,139 @@ +/*
- 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"; +import "windows.ui.idl";
+namespace Windows.Media.ClosedCaptioning {
- typedef enum ClosedCaptionColor ClosedCaptionColor;
- typedef enum ClosedCaptionEdgeEffect ClosedCaptionEdgeEffect;
- typedef enum ClosedCaptionOpacity ClosedCaptionOpacity;
- typedef enum ClosedCaptionSize ClosedCaptionSize;
- typedef enum ClosedCaptionStyle ClosedCaptionStyle;
- interface IClosedCaptionPropertiesStatics;
- runtimeclass ClosedCaptionProperties;
- [
contract(Windows.Foundation.UniversalApiContract, 1.0)
- ]
- enum ClosedCaptionColor
- {
Default = 0,
White = 1,
Black = 2,
Red = 3,
Green = 4,
Blue = 5,
Yellow = 6,
Magenta = 7,
Cyan = 8
- };
- [
contract(Windows.Foundation.UniversalApiContract, 1.0)
- ]
- enum ClosedCaptionEdgeEffect
- {
Default = 0,
None = 1,
Raised = 2,
Depressed = 3,
Uniform = 4,
DropShadow = 5
- };
- [
contract(Windows.Foundation.UniversalApiContract, 1.0)
- ]
- enum ClosedCaptionOpacity
- {
Default = 0,
OneHundredPercent = 1,
SeventyFivePercent = 2,
TwentyFivePercent = 3,
ZeroPercent = 4
- };
- [
contract(Windows.Foundation.UniversalApiContract, 1.0)
- ]
- enum ClosedCaptionSize
- {
Default = 0,
FiftyPercent = 1,
OneHundredPercent = 2,
OneHundredFiftyPercent = 3,
TwoHundredPercent = 4
- };
- [
contract(Windows.Foundation.UniversalApiContract, 1.0)
- ]
- enum ClosedCaptionStyle
- {
Default = 0,
MonospacedWithSerifs = 1,
ProportionalWithSerifs = 2,
MonospacedWithoutSerifs = 3,
ProportionalWithoutSerifs = 4,
Casual = 5,
Cursive = 6,
SmallCapitals = 7
- };
- [
contract(Windows.Foundation.UniversalApiContract, 1.0),
exclusiveto(Windows.Media.ClosedCaptioning.ClosedCaptionProperties),
uuid(10aa1f84-cc30-4141-b503-5272289e0c20)
- ]
- interface IClosedCaptionPropertiesStatics : IInspectable
- {
[propget] HRESULT FontColor([out, retval] Windows.Media.ClosedCaptioning.ClosedCaptionColor* value);
[propget] HRESULT ComputedFontColor([out, retval] Windows.UI.Color* value);
[propget] HRESULT FontOpacity([out, retval] Windows.Media.ClosedCaptioning.ClosedCaptionOpacity* value);
[propget] HRESULT FontSize([out, retval] Windows.Media.ClosedCaptioning.ClosedCaptionSize* value);
[propget] HRESULT FontStyle([out, retval] Windows.Media.ClosedCaptioning.ClosedCaptionStyle* value);
[propget] HRESULT FontEffect([out, retval] Windows.Media.ClosedCaptioning.ClosedCaptionEdgeEffect* value);
[propget] HRESULT BackgroundColor([out, retval] Windows.Media.ClosedCaptioning.ClosedCaptionColor* value);
[propget] HRESULT ComputedBackgroundColor([out, retval] Windows.UI.Color* value);
[propget] HRESULT BackgroundOpacity([out, retval] Windows.Media.ClosedCaptioning.ClosedCaptionOpacity* value);
[propget] HRESULT RegionColor([out, retval] Windows.Media.ClosedCaptioning.ClosedCaptionColor* value);
[propget] HRESULT ComputedRegionColor([out, retval] Windows.UI.Color* value);
[propget] HRESULT RegionOpacity([out, retval] Windows.Media.ClosedCaptioning.ClosedCaptionOpacity* value);
- }
Please follow Wine code style, which is right aligned pointer, and (for PATCH 1), snake case parameter identifiers as as far as I can tell the casing doesn't matter for WinRT.
I also think you should add commas on the last enum value, though it's not done consistently already, so that adding more values later doesn't need to change unrelated lines.
On 4/22/22 04:36, Rémi Bernon wrote:
On 4/22/22 09:22, Mohamad Al-Jaf wrote:
Needed by Microsoft Edge.
Signed-off-by: Mohamad Al-Jaf mohamadaljaf@gmail.com
I consider this file very important because people with disabilities often rely on captioning.
Sure, but this file isn't going to do anything on its own. Do you intend to implement the class too?
Is that necessary to add WinRT IDLs? We probably want to share these with mingw-w64, so there is value outside of Wine...
On 4/22/22 17:14, Zebediah Figura wrote:
On 4/22/22 04:36, Rémi Bernon wrote:
On 4/22/22 09:22, Mohamad Al-Jaf wrote:
Needed by Microsoft Edge.
Signed-off-by: Mohamad Al-Jaf mohamadaljaf@gmail.com
I consider this file very important because people with disabilities often rely on captioning.
Sure, but this file isn't going to do anything on its own. Do you intend to implement the class too?
Is that necessary to add WinRT IDLs? We probably want to share these with mingw-w64, so there is value outside of Wine...
I don't think it's necessary, just saying that the file by itself won't do anything.
Sharing the header with mingw-w64 is a reason, but I think it's also best to have something that actually requires it to build.
I don't think you build Microsoft Edge from source, so if it needs it it's probably because it instantiates the class, and it will so need to be implemented to do something useful.
I don't mind adding WinRT IDLs for the sake of it, but given the huge surface I'm not sure it's really interesting to do it extensively.
Or if we do, maybe we should think of a better way than adding them piece by piece or even file by file.
On Fri, Apr 22, 2022 at 5:36 AM Rémi Bernon rbernon@codeweavers.com wrote:
Sure, but this file isn't going to do anything on its own. Do you intend to implement the class too?
Hi,
Thanks for the review.
Yes, I plan to implement the class.
Please follow Wine code style, which is right aligned pointer, and (for PATCH 1), snake case parameter identifiers as as far as I can tell the casing doesn't matter for WinRT. I also think you should add commas on the last enum value, though it's not done consistently already, so that adding more values later doesn't need to change unrelated lines.
I'll submit a revision for these changes.
-- Kind regards, Mohamad