From 0b4dc016b9ffd7382dcaed68767b243d6ed5ef9b Mon Sep 17 00:00:00 2001 From: Mohamad Al-Jaf Date: Sun, 16 Apr 2023 20:38:53 -0400 Subject: [PATCH] include: Add windows.graphics.capture.interop.idl file. Needed for PyWinRT. --- include/Makefile.in | 1 + include/windows.graphics.capture.interop.idl | 34 ++++++++++++++++++++ include/wtypes.idl | 2 ++ 3 files changed, 37 insertions(+) create mode 100644 include/windows.graphics.capture.interop.idl diff --git a/include/Makefile.in b/include/Makefile.in index 54d6dca234d..7a6e5d62763 100644 --- a/include/Makefile.in +++ b/include/Makefile.in @@ -817,6 +817,7 @@ SOURCES = \ windows.gaming.ui.idl \ windows.globalization.idl \ windows.graphics.capture.idl \ + windows.graphics.capture.interop.idl \ windows.graphics.directx.direct3d11.idl \ windows.graphics.directx.idl \ windows.graphics.effects.idl \ diff --git a/include/windows.graphics.capture.interop.idl b/include/windows.graphics.capture.interop.idl new file mode 100644 index 00000000000..83c7158cf2c --- /dev/null +++ b/include/windows.graphics.capture.interop.idl @@ -0,0 +1,34 @@ +/* + * Copyright (C) 2023 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 "windows.ui.composition.idl"; +import "windows.graphics.capture.idl"; +import "sdkddkver.h"; + +[ + uuid(3628e81b-3cac-4c60-b7f4-23ce0e0c3356) +] +interface IGraphicsCaptureItemInterop : IUnknown +{ + HRESULT CreateForWindow([in] HWND window, [in] REFIID iid, [out, iid_is(iid)] void **result); + HRESULT CreateForMonitor([in] HMONITOR monitor, [in] REFIID iid, [out, iid_is(iid)] void **result); +} diff --git a/include/wtypes.idl b/include/wtypes.idl index 5a09ed717cb..0db3a397d41 100644 --- a/include/wtypes.idl +++ b/include/wtypes.idl @@ -563,6 +563,7 @@ typedef [unique] RemotableHandle *wireHFONT; typedef [unique] RemotableHandle *wireHICON; typedef [unique] RemotableHandle *wireHMENU; typedef [unique] RemotableHandle *wireHWND; +typedef [unique] RemotableHandle *wireHMONITOR; cpp_quote("#if 0") /* for IDL only (C/C++ defs are in windef.h) */ DECLARE_WIREM_HANDLE(HACCEL); @@ -572,6 +573,7 @@ DECLARE_WIREM_HANDLE(HFONT); DECLARE_WIREM_HANDLE(HICON); DECLARE_WIREM_HANDLE(HMENU); DECLARE_WIREM_HANDLE(HWND); +DECLARE_WIREM_HANDLE(HMONITOR); typedef HICON HCURSOR;