From 0aacfd68611b4c6b464784616d56f5eadd8d4b2d Mon Sep 17 00:00:00 2001 From: Paul Gofman Date: Thu, 3 Nov 2022 10:42:43 -0600 Subject: [PATCH] include: Add windows.gaming.ui.idl. --- include/Makefile.in | 1 + include/windows.gaming.ui.idl | 57 +++++++++++++++++++++++++++++++++++ 2 files changed, 58 insertions(+) create mode 100644 include/windows.gaming.ui.idl diff --git a/include/Makefile.in b/include/Makefile.in index 28ac4b3f2dc..6083fd2754d 100644 --- a/include/Makefile.in +++ b/include/Makefile.in @@ -800,6 +800,7 @@ SOURCES = \ windows.gaming.input.custom.idl \ windows.gaming.input.forcefeedback.idl \ windows.gaming.input.idl \ + windows.gaming.ui.idl \ windows.globalization.idl \ windows.h \ windows.media.closedcaptioning.idl \ diff --git a/include/windows.gaming.ui.idl b/include/windows.gaming.ui.idl new file mode 100644 index 00000000000..fc7e661ccf9 --- /dev/null +++ b/include/windows.gaming.ui.idl @@ -0,0 +1,57 @@ +/* + * Copyright 2022 Paul Gofman for CodeWeavers + * + * 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 + +#ifndef DO_NO_IMPORTS +import "inspectable.idl"; +import "eventtoken.idl"; +import "windowscontracts.idl"; +import "windows.foundation.idl"; +#endif + +namespace Windows.Gaming.UI { + runtimeclass GameBar; + + [ + contract(Windows.Foundation.UniversalApiContract, 2.0), + exclusiveto(Windows.Gaming.UI.GameBar), + uuid(1db9a292-cc78-4173-be45-b61e67283ea7) + ] + interface IGameBarStatics : IInspectable + { + [eventadd] HRESULT VisibilityChanged([in] Windows.Foundation.EventHandler *handler, [out, retval] EventRegistrationToken *token); + [eventremove] HRESULT VisibilityChanged([in] EventRegistrationToken token); + [eventadd] HRESULT IsInputRedirectedChanged([in] Windows.Foundation.EventHandler *handler, [out, retval] EventRegistrationToken *token); + [eventremove] HRESULT IsInputRedirectedChanged([in] EventRegistrationToken token); + [propget] HRESULT Visible([out, retval] boolean *value); + [propget] HRESULT IsInputRedirected([out, retval] boolean *value); + } + + [ + contract(Windows.Foundation.UniversalApiContract, 2.0), + marshaling_behavior(agile), + static(Windows.Gaming.UI.IGameBarStatics, Windows.Foundation.UniversalApiContract, 2.0), + threading(both) + ] + runtimeclass GameBar + { + } +}