commit 8aeb04965f9993b7572c7fe98d9ad3e0b2fe4453 Author: Georg Koppen gk@torproject.org Date: Fri Aug 23 10:10:50 2019 +0000
Bug 28716: Create mingw-w64-clang toolchain
This commit adds a mingw-w64/clang toolchain that is needed for getting Stylo compiled. The build script follows mostly
https://hg.mozilla.org/releases/mozilla-esr68/file/2f459603370d1d35a56ca4e9c...
Exceptions are:
1) We don't build clang in 3 stages but just one like we do for our macOS cross-compilation toolchain.
2) We are omitting the `DEBUG_FLAGS` (-g -gcodeview) as we plan to actually ship the resulting build to users, which seems okay (see bug 1500102).
3) We use a slightly newer libunwind (8.0.0) to better fit to our clang 8 we deploy.
4) We poke clang harder to compile `i686-w64-mingw32-windres` by specifying the target explicitly. Using our `var/setarch` trick does not work anymore for an unknown reason.
Thanks to Martin Storsjö, Jacek Caban, Tom Ritter, and many others for their help in setting this Windows cross-compilation toolchain up. --- projects/llvm-mingw/build | 8 + projects/llvm-mingw/config | 5 + projects/mingw-w64-clang/build | 233 ++ projects/mingw-w64-clang/config | 38 + projects/mingw-w64-clang/mingw-winrt.patch | 5525 ++++++++++++++++++++++++++++ 5 files changed, 5809 insertions(+)
diff --git a/projects/llvm-mingw/build b/projects/llvm-mingw/build new file mode 100644 index 0000000..ac0f21b --- /dev/null +++ b/projects/llvm-mingw/build @@ -0,0 +1,8 @@ +#!/bin/bash +[% c("var/set_default_env") -%] +tar xf [% project %]-[% c("version") %].tar.gz +mv [% project %]-[% c("version") %] [% project %] +[% c('tar', { + tar_src => [ project ], + tar_args => '-czf ' _ dest_dir _ '/' _ c('filename'), + }) %] diff --git a/projects/llvm-mingw/config b/projects/llvm-mingw/config new file mode 100644 index 0000000..b1ebf42 --- /dev/null +++ b/projects/llvm-mingw/config @@ -0,0 +1,5 @@ +# vim: filetype=yaml sw=2 +version: '[% c("abbrev") %]' +git_hash: c3a16814bd26aa6702e1e5b482a3d9044bb0f725 +git_url: https://github.com/mstorsjo/llvm-mingw.git +filename: '[% project %]-[% c("version") %]-[% c("var/build_id") %].tar.gz' diff --git a/projects/mingw-w64-clang/build b/projects/mingw-w64-clang/build new file mode 100644 index 0000000..4226212 --- /dev/null +++ b/projects/mingw-w64-clang/build @@ -0,0 +1,233 @@ +#!/bin/bash +[% c("var/set_default_env") -%] +builddir=/var/tmp/build +distdir=/var/tmp/dist/mingw-w64-clang +mkdir -p $distdir +cd /var/tmp/dist +tar -xf $rootdir/[% c('input_files_by_name/clang') %] +mv clang/* mingw-w64-clang/ +tar -xf $rootdir/[% c('input_files_by_name/cmake') %] +mkdir -p $builddir +cd $builddir +tar -xf $rootdir/mingw-w64-clang-[% c('version') %].tar.gz +mv mingw-w64-clang-[% c('version') %] mingw-w64-clang +tar -xf $rootdir/[% c('input_files_by_name/libcxx') %] +mv libcxx-* libcxx +tar -xf $rootdir/[% c('input_files_by_name/libcxxabi') %] +mv libcxxabi-* libcxxabi +tar -xf $rootdir/[% c('input_files_by_name/libunwind') %] +mv libunwind-* libunwind +tar -xf $rootdir/[% c('input_files_by_name/compiler-rt') %] +mv compiler-rt-* compiler-rt +tar -xf $rootdir/[% c('input_files_by_name/llvm-mingw') %] + +# Adding the wrappers and symlinks we need +cd $distdir/bin +exception_flags="" +target="" +[% IF c("var/windows-i686") %] + target="--target=i686-linux-gnu" + exception_flags="-fsjlj-exceptions" +[% END -%] +compiler_flags="--sysroot $DIR/../[% c("arch") %]-w64-mingw32 -rtlib=compiler-rt -stdlib=libc++ -fuse-ld=lld $exception_flags -fuse-cxa-atexit -Qunused-arguments" + +cat <<EOF >[% c("arch") %]-w64-mingw32-clang +#!/bin/sh +DIR="$(cd "$(dirname "$0")" && pwd)" +$DIR/clang -target [% c("arch") %]-w64-mingw32 $compiler_flags "$@" +EOF +chmod +x [% c("arch") %]-w64-mingw32-clang + +cat <<EOF >[% c("arch") %]-w64-mingw32-clang++ +#!/bin/sh +DIR="$(cd "$(dirname "$0")" && pwd)" +$DIR/clang -target [% c("arch") %]-w64-mingw32 --driver-mode=g++ $compiler_flags "$@" +EOF +chmod +x [% c("arch") %]-w64-mingw32-clang++ + +ln -s llvm-nm [% c("arch") %]-w64-mingw32-nm +ln -s llvm-strip [% c("arch") %]-w64-mingw32-strip +ln -s llvm-readobj [% c("arch") %]-w64-mingw32-readobj +ln -s llvm-objcopy [% c("arch") %]-w64-mingw32-objcopy +./clang $builddir/llvm-mingw/wrappers/windres-wrapper.c $target -O2 -Wl,-s -o [% c("arch") %]-w64-mingw32-windres + +# Building mingw-w64 +export PATH="$distdir/bin:/var/tmp/dist/cmake/bin:$PATH" +CC="[% c("arch") %]-w64-mingw32-clang" +CXX="[% c("arch") %]-w64-mingw32-clang++" +# This is the default value of _WIN32_WINNT. Gecko configure script explicitly +# sets this, so this is not used to build Gecko itself. We default to 0x601, +# which is Windows 7. +default_win32_winnt=0x601 +[% IF c("var/windows-i686") %] + crt_flags="--enable-lib32 --disable-lib64" + compiler_rt_machine="i386" +[% ELSE -%] + crt_flags="--disable-lib32 --enable-lib64" + compiler_rt_machine="x86_64" +[% END -%] + +cd $builddir/mingw-w64-clang +patch -p1 < $rootdir/mingw-winrt.patch +cd mingw-w64-headers +mkdir build && cd build +../configure --host=[% c("arch") %]-w64-mingw32 \ + --enable-sdk=all \ + --enable-secure-api \ + --enable-idl \ + --with-default-msvcrt=ucrt \ + --with-default-win32-winnt=$default_win32_winnt \ + --prefix=$distdir/[% c("arch") %]-w64-mingw32 +make -j[% c("buildconf/num_procs") %] install + +cd $builddir/mingw-w64-clang/mingw-w64-crt +mkdir build && cd build +../configure --host=[% c("arch") %]-w64-mingw32 \ + $crt_flags \ + --with-default-msvcrt=ucrt \ + CC="$CC" \ + AR=llvm-ar \ + RANLIB=llvm-ranlib \ + DLLTOOL=llvm-dlltool \ + --prefix=$distdir/[% c("arch") %]-w64-mingw32 +make -j[% c("buildconf/num_procs") %] +make -j[% c("buildconf/num_procs") %] install + +cd $builddir/mingw-w64-clang/mingw-w64-tools/widl +mkdir build && cd build +../configure --target=[% c("arch") %]-w64-mingw32 --prefix=$distdir +make -j[% c("buildconf/num_procs") %] +make -j[% c("buildconf/num_procs") %] install + +# compiler-rt +cd $builddir/compiler-rt +mkdir build && cd build +CLANG_VERSION=$(basename $(dirname $(dirname $(dirname $($CC --print-libgcc-file-name -rtlib=compiler-rt))))) +cmake -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_C_COMPILER=$CC \ + -DCMAKE_SYSTEM_NAME=Windows \ + -DCMAKE_AR=$distdir/bin/llvm-ar \ + -DCMAKE_RANLIB=$distdir/bin/llvm-ranlib \ + -DCMAKE_C_COMPILER_WORKS=1 \ + -DCMAKE_C_COMPILER_TARGET=$compiler_rt_machine-windows-gnu \ + -DCOMPILER_RT_DEFAULT_TARGET_ONLY=TRUE \ + $builddir/compiler-rt/lib/builtins + make -j[% c("buildconf/num_procs") %] + mkdir -p $distdir/lib/clang/$CLANG_VERSION/lib/windows + cp lib/windows/libclang_rt.builtins-$compiler_rt_machine.a $distdir/lib/clang/$CLANG_VERSION/lib/windows/ + +# libunwind +cd $builddir/libunwind +mkdir build && cd build +cmake -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=$distdir/[% c("arch") %]-w64-mingw32 \ + -DCMAKE_C_COMPILER=$CC \ + -DCMAKE_CXX_COMPILER=$CXX \ + -DCMAKE_CROSSCOMPILING=TRUE \ + -DCMAKE_SYSROOT=$distdir/[% c("arch") %]-w64-mingw32 \ + -DCMAKE_SYSTEM_NAME=Windows \ + -DCMAKE_C_COMPILER_WORKS=TRUE \ + -DCMAKE_CXX_COMPILER_WORKS=TRUE \ + -DLLVM_COMPILER_CHECKED=True \ + -DCMAKE_AR=$distdir/bin/llvm-ar \ + -DCMAKE_RANLIB=$distdir/bin/llvm-ranlib \ + -DLLVM_NO_OLD_LIBSTDCXX=TRUE \ + -DCXX_SUPPORTS_CXX11=TRUE \ + -DCXX_SUPPORTS_CXX_STD=True \ + -DLIBUNWIND_USE_COMPILER_RT=TRUE \ + -DLIBUNWIND_ENABLE_THREADS=TRUE \ + -DLIBUNWIND_ENABLE_SHARED=FALSE \ + -DLIBUNWIND_ENABLE_CROSS_UNWINDING=FALSE \ + -DCMAKE_CXX_FLAGS="-Wno-dll-attribute-on-redeclaration -nostdinc++ -I$builddir/libcxx/include -DPSAPI_VERSION=2" \ + -DCMAKE_C_FLAGS="-Wno-dll-attribute-on-redeclaration" \ + $builddir/libunwind +make -j[% c("buildconf/num_procs") %] +make -j[% c("buildconf/num_procs") %] install + +# libcxxabi +cd $builddir/libcxxabi +mkdir build && cd build +cmake -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=$distdir/[% c("arch") %]-w64-mingw32 \ + -DCMAKE_C_COMPILER=$CC \ + -DCMAKE_CXX_COMPILER=$CXX \ + -DCMAKE_CROSSCOMPILING=TRUE \ + -DCMAKE_SYSTEM_NAME=Windows \ + -DCMAKE_C_COMPILER_WORKS=TRUE \ + -DCMAKE_CXX_COMPILER_WORKS=TRUE \ + -DCMAKE_SYSROOT=$distdir/[% c("arch") %]-w64-mingw32 \ + -DLLVM_COMPILER_CHECKED=True \ + -DCMAKE_AR=$distdir/bin/llvm-ar \ + -DCMAKE_RANLIB=$distdir/bin/llvm-ranlib \ + -DLIBCXXABI_USE_COMPILER_RT=ON \ + -DLIBCXXABI_ENABLE_EXCEPTIONS=ON \ + -DLIBCXXABI_ENABLE_THREADS=ON \ + -DLIBCXXABI_TARGET_TRIPLE=[% c("arch") %]-w64-mingw32 \ + -DLIBCXXABI_ENABLE_SHARED=OFF \ + -DLIBCXXABI_LIBCXX_INCLUDES=$builddir/libcxx/include \ + -DLLVM_NO_OLD_LIBSTDCXX=TRUE \ + -DCXX_SUPPORTS_CXX11=TRUE \ + -DCXX_SUPPORTS_CXX_STD=True \ + -DCMAKE_CXX_FLAGS="-D_LIBCPP_DISABLE_VISIBILITY_ANNOTATIONS -D_LIBCPP_HAS_THREAD_API_WIN32" \ + $builddir/libcxxabi +make -j[% c("buildconf/num_procs") %] VERBOSE=1 + +# libcxx +cd $builddir/libcxx +mkdir build && cd build +cmake -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=$distdir/[% c("arch") %]-w64-mingw32 \ + -DCMAKE_C_COMPILER=$CC \ + -DCMAKE_CXX_COMPILER=$CXX \ + -DCMAKE_CROSSCOMPILING=TRUE \ + -DCMAKE_SYSTEM_NAME=Windows \ + -DCMAKE_C_COMPILER_WORKS=TRUE \ + -DCMAKE_CXX_COMPILER_WORKS=TRUE \ + -DLLVM_COMPILER_CHECKED=True \ + -DCMAKE_AR=$distdir/bin/llvm-ar \ + -DCMAKE_RANLIB=$distdir/bin/llvm-ranlib \ + -DLIBCXX_USE_COMPILER_RT=ON \ + -DLIBCXX_INSTALL_HEADERS=ON \ + -DLIBCXX_ENABLE_EXCEPTIONS=ON \ + -DLIBCXX_ENABLE_THREADS=ON \ + -DLIBCXX_HAS_WIN32_THREAD_API=ON \ + -DLIBCXX_ENABLE_MONOTONIC_CLOCK=ON \ + -DLIBCXX_ENABLE_SHARED=OFF \ + -DLIBCXX_SUPPORTS_STD_EQ_CXX11_FLAG=TRUE \ + -DLIBCXX_HAVE_CXX_ATOMICS_WITHOUT_LIB=TRUE \ + -DLIBCXX_ENABLE_EXPERIMENTAL_LIBRARY=OFF \ + -DLIBCXX_ENABLE_FILESYSTEM=OFF \ + -DLIBCXX_ENABLE_STATIC_ABI_LIBRARY=TRUE \ + -DLIBCXX_CXX_ABI=libcxxabi \ + -DLIBCXX_CXX_ABI_INCLUDE_PATHS=$builddir/libcxxabi/include \ + -DLIBCXX_CXX_ABI_LIBRARY_PATH=$builddir/libcxxabi/build/lib \ + -DCMAKE_CXX_FLAGS="-D_LIBCXXABI_DISABLE_VISIBILITY_ANNOTATIONS" \ + $builddir/libcxx +make -j[% c("buildconf/num_procs") %] VERBOSE=1 +make -j[% c("buildconf/num_procs") %] install + +# libc++.a depends on libunwind.a. While the linker will automatically link to +# libc++.a in C++ mode, it won't pick libunwind.a, requiring the caller to +# explicitly pass -lunwind. To work around that, we merge libunwind.a into +# libc++.a. +merge_libs() { + cat <<EOF |llvm-ar -M +CREATE tmp.a +ADDLIB $1 +ADDLIB $2 +SAVE +END +EOF + llvm-ranlib tmp.a + mv tmp.a $1 +} + +merge_libs $distdir/[% c("arch") %]-w64-mingw32/lib/libc++.a $distdir/[% c("arch") %]-w64-mingw32/lib/libunwind.a + +# Packaging up everything +cd $distdir +cd .. +[% c('tar', { + tar_src => [ project ], + tar_args => '-czf ' _ dest_dir _ '/' _ c('filename'), + }) %] diff --git a/projects/mingw-w64-clang/config b/projects/mingw-w64-clang/config new file mode 100644 index 0000000..203e12e --- /dev/null +++ b/projects/mingw-w64-clang/config @@ -0,0 +1,38 @@ +# vim: filetype=yaml sw=2 +filename: '[% project %]-[% c("version") %]-[% c("var/build_id") %].tar.gz' +git_url: https://git.code.sf.net/p/mingw-w64/mingw-w64 +git_hash: 2d52c4b3433e55b1c454f9567c0ae9adc4b83b41 +version: '[% c("abbrev") %]' +llvm_version: 8.0.0 +gpg_keyring: clang.gpg +sig_ext: sig + +var: + container: + use_container: 1 + setup: | + mkdir -p /var/tmp/dist + tar -C /var/tmp/dist -xf $rootdir/[% c("compiler_tarfile") %] + export PATH="/var/tmp/dist/mingw-w64-clang/bin:$PATH" + +input_files: + - project: container-image + - project: clang + name: clang + - project: cmake + name: cmake + - URL: 'https://releases.llvm.org/%5B% c("llvm_version") %]/libcxx-[% c("llvm_version") %].src.tar.xz' + name: libcxx + file_gpg_id: 1 + - URL: 'https://releases.llvm.org/%5B% c("llvm_version") %]/libcxxabi-[% c("llvm_version") %].src.tar.xz' + name: libcxxabi + file_gpg_id: 1 + - URL: 'https://releases.llvm.org/%5B% c("llvm_version") %]/libunwind-[% c("llvm_version") %].src.tar.xz' + name: libunwind + file_gpg_id: 1 + - URL: 'https://releases.llvm.org/%5B% c("llvm_version") %]/compiler-rt-[% c("llvm_version") %].src.tar.xz' + name: compiler-rt + file_gpg_id: 1 + - project: llvm-mingw + name: llvm-mingw + - filename: mingw-winrt.patch diff --git a/projects/mingw-w64-clang/mingw-winrt.patch b/projects/mingw-w64-clang/mingw-winrt.patch new file mode 100644 index 0000000..e7124e1 --- /dev/null +++ b/projects/mingw-w64-clang/mingw-winrt.patch @@ -0,0 +1,5525 @@ +commit 07fff0900d668fbd75e0ac0a6382a86d486cee88 +Author: Jacek Caban jacek@codeweavers.com +Date: Sun Mar 24 21:20:55 2019 +0100 + + winrt headers + +diff --git a/mingw-w64-headers/include/intsafe.h b/mingw-w64-headers/include/intsafe.h +index 701d4cef..daaedb83 100644 +--- a/mingw-w64-headers/include/intsafe.h ++++ b/mingw-w64-headers/include/intsafe.h +@@ -411,5 +411,8 @@ __MINGW_INTSAFE_API __MINGW_INTSAFE_MATH(ULongLongMult, ULONGLONG, mul) + __MINGW_INTSAFE_API __MINGW_INTSAFE_MATH(LongLongMult, LONGLONG, mul) + + #endif /* __GNUC__ >= 5 */ ++ ++#define SizeTToUInt32 UIntPtrToUInt ++ + #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */ + #endif /* _INTSAFE_H_INCLUDED_ */ +diff --git a/mingw-w64-headers/include/windows.foundation.h b/mingw-w64-headers/include/windows.foundation.h +index 6c4d3ec8..59797984 100644 +--- a/mingw-w64-headers/include/windows.foundation.h ++++ b/mingw-w64-headers/include/windows.foundation.h +@@ -1,11 +1,12 @@ +-/*** Autogenerated by WIDL 1.5.31 from include/windows.foundation.idl - Do not edit ***/ ++/*** Autogenerated by WIDL 4.4 from windows.foundation.idl - Do not edit ***/ + ++#ifdef _WIN32 + #ifndef __REQUIRED_RPCNDR_H_VERSION__ + #define __REQUIRED_RPCNDR_H_VERSION__ 475 + #endif +- + #include <rpc.h> + #include <rpcndr.h> ++#endif + + #ifndef COM_NO_WINDOWS_H + #include <windows.h> +@@ -17,24 +18,18 @@ + + /* Forward declarations */ + +-#ifndef __IAsyncInfo_FWD_DEFINED__ +-#define __IAsyncInfo_FWD_DEFINED__ +-typedef interface IAsyncInfo IAsyncInfo; +-#endif +- +-#ifndef __IASyncAction_FWD_DEFINED__ +-#define __IASyncAction_FWD_DEFINED__ +-typedef interface IASyncAction IASyncAction; +-#endif +- +-#ifndef __AsyncActionCompletedHandler_FWD_DEFINED__ +-#define __AsyncActionCompletedHandler_FWD_DEFINED__ +-typedef interface AsyncActionCompletedHandler AsyncActionCompletedHandler; +-#endif +- +-#ifndef __IAsyncOperation_FWD_DEFINED__ +-#define __IAsyncOperation_FWD_DEFINED__ +-typedef interface IAsyncOperation IAsyncOperation; ++#ifndef ____x_ABI_CWindows_CFoundation_CIStringable_FWD_DEFINED__ ++#define ____x_ABI_CWindows_CFoundation_CIStringable_FWD_DEFINED__ ++typedef interface __x_ABI_CWindows_CFoundation_CIStringable __x_ABI_CWindows_CFoundation_CIStringable; ++#ifdef __cplusplus ++namespace ABI { ++ namespace Windows { ++ namespace Foundation { ++ interface IStringable; ++ } ++ } ++} ++#endif /* __cplusplus */ + #endif + + /* Headers for imported files */ +@@ -45,667 +40,331 @@ typedef interface IAsyncOperation IAsyncOperation; + extern "C" { + #endif + +-#ifndef __IAsyncInfo_FWD_DEFINED__ +-#define __IAsyncInfo_FWD_DEFINED__ +-typedef interface IAsyncInfo IAsyncInfo; +-#endif +- +-#ifndef __IAsyncAction_FWD_DEFINED__ +-#define __IAsyncAction_FWD_DEFINED__ +-typedef interface IAsyncAction IAsyncAction; +-#endif +- +-#ifndef __IAsyncOperation_FWD_DEFINED__ +-#define __IAsyncOperation_FWD_DEFINED__ +-typedef interface IAsyncOperation IAsyncOperation; +-#endif +- +-#ifndef __AsyncActionCompletedHandler_FWD_DEFINED__ +-#define __AsyncActionCompletedHandler_FWD_DEFINED__ +-typedef interface AsyncActionCompletedHandler AsyncActionCompletedHandler; +-#endif +- +-#ifndef __TypedEventHandler_FWD_DEFINED__ +-#define __TypedEventHandler_FWD_DEFINED__ +-typedef interface TypedEventHandler TypedEventHandler; +-#endif +- +-struct DateTime; +- +-struct EventRegistrationToken; +- +-#ifndef __IVectorView_FWD_DEFINED__ +-#define __IVectorView_FWD_DEFINED__ +-typedef interface IVectorView IVectorView; +-#endif +- +-#ifndef __IPropertySet_FWD_DEFINED__ +-#define __IPropertySet_FWD_DEFINED__ +-typedef interface IPropertySet IPropertySet; +-#endif +- +-typedef enum AsyncStatus { +- Started = 0, +- Completed = 1, +- Canceled = 2, +- Error = 3 +-} AsyncStatus; +-typedef struct DateTime { +- UINT64 UniversalTime; +-} DateTime; +-typedef struct EventRegistrationToken { +- UINT64 Value; +-} EventRegistrationToken; +-/***************************************************************************** +- * IAsyncInfo interface +- */ +-#ifndef __IAsyncInfo_INTERFACE_DEFINED__ +-#define __IAsyncInfo_INTERFACE_DEFINED__ +- +-DEFINE_GUID(IID_IAsyncInfo, 0x00000036, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); +-#if defined(__cplusplus) && !defined(CINTERFACE) +-MIDL_INTERFACE("00000036-0000-0000-c000-000000000046") +-IAsyncInfo : public IInspectable +-{ +- virtual HRESULT STDMETHODCALLTYPE get_Id( +- unsigned int *id) = 0; +- +- virtual HRESULT STDMETHODCALLTYPE get_Status( +- AsyncStatus *status) = 0; +- +- virtual HRESULT STDMETHODCALLTYPE get_ErrorCode( +- HRESULT *errorCode) = 0; +- +- virtual HRESULT STDMETHODCALLTYPE Cancel( +- ) = 0; +- +- virtual HRESULT STDMETHODCALLTYPE Close( +- ) = 0; +- +-}; +-#ifdef __CRT_UUID_DECL +-__CRT_UUID_DECL(IAsyncInfo, 0x00000036, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46) +-#endif ++#ifdef __cplusplus ++} /* extern "C" */ ++namespace ABI { ++ namespace Windows { ++ namespace Foundation { ++ enum PropertyType { ++ PropertyType_Empty = 0, ++ PropertyType_UInt8 = 1, ++ PropertyType_Int16 = 2, ++ PropertyType_UInt16 = 3, ++ PropertyType_Int32 = 4, ++ PropertyType_UInt32 = 5, ++ PropertyType_Int64 = 6, ++ PropertyType_UInt64 = 7, ++ PropertyType_Single = 8, ++ PropertyType_Double = 9, ++ PropertyType_Char16 = 10, ++ PropertyType_Boolean = 11, ++ PropertyType_String = 12, ++ PropertyType_Inspectable = 13, ++ PropertyType_DateTime = 14, ++ PropertyType_TimeSpan = 15, ++ PropertyType_Guid = 16, ++ PropertyType_Point = 17, ++ PropertyType_Size = 18, ++ PropertyType_Rect = 19, ++ PropertyType_OtherType = 20, ++ PropertyType_UInt8Array = 1025, ++ PropertyType_Int16Array = 1026, ++ PropertyType_UInt16Array = 1027, ++ PropertyType_Int32Array = 1028, ++ PropertyType_UInt32Array = 1029, ++ PropertyType_Int64Array = 1030, ++ PropertyType_UInt64Array = 1031, ++ PropertyType_SingleArray = 1032, ++ PropertyType_DoubleArray = 1033, ++ PropertyType_Char16Array = 1034, ++ PropertyType_BooleanArray = 1035, ++ PropertyType_StringArray = 1036, ++ PropertyType_InspectableArray = 1037, ++ PropertyType_DateTimeArray = 1038, ++ PropertyType_TimeSpanArray = 1039, ++ PropertyType_GuidArray = 1040, ++ PropertyType_PointArray = 1041, ++ PropertyType_SizeArray = 1042, ++ PropertyType_RectArray = 1043, ++ PropertyType_OtherTypeArray = 1044 ++ }; ++ } ++ } ++} ++extern "C" { + #else +-typedef struct IAsyncInfoVtbl { +- BEGIN_INTERFACE +- +- /*** IUnknown methods ***/ +- HRESULT (STDMETHODCALLTYPE *QueryInterface)( +- IAsyncInfo* This, +- REFIID riid, +- void **ppvObject); +- +- ULONG (STDMETHODCALLTYPE *AddRef)( +- IAsyncInfo* This); +- +- ULONG (STDMETHODCALLTYPE *Release)( +- IAsyncInfo* This); +- +- /*** IInspectable methods ***/ +- HRESULT (STDMETHODCALLTYPE *GetIids)( +- IAsyncInfo* This, +- ULONG *iidCount, +- IID **iids); +- +- HRESULT (STDMETHODCALLTYPE *GetRuntimeClassName)( +- IAsyncInfo* This, +- HSTRING *className); +- +- HRESULT (STDMETHODCALLTYPE *GetTrustLevel)( +- IAsyncInfo* This, +- TrustLevel *trustLevel); +- +- /*** IAsyncInfo methods ***/ +- HRESULT (STDMETHODCALLTYPE *get_Id)( +- IAsyncInfo* This, +- unsigned int *id); +- +- HRESULT (STDMETHODCALLTYPE *get_Status)( +- IAsyncInfo* This, +- AsyncStatus *status); +- +- HRESULT (STDMETHODCALLTYPE *get_ErrorCode)( +- IAsyncInfo* This, +- HRESULT *errorCode); +- +- HRESULT (STDMETHODCALLTYPE *Cancel)( +- IAsyncInfo* This); +- +- HRESULT (STDMETHODCALLTYPE *Close)( +- IAsyncInfo* This); +- +- END_INTERFACE +-} IAsyncInfoVtbl; +-interface IAsyncInfo { +- CONST_VTBL IAsyncInfoVtbl* lpVtbl; ++enum __x_ABI_CWindows_CFoundation_CPropertyType { ++ PropertyType_Empty = 0, ++ PropertyType_UInt8 = 1, ++ PropertyType_Int16 = 2, ++ PropertyType_UInt16 = 3, ++ PropertyType_Int32 = 4, ++ PropertyType_UInt32 = 5, ++ PropertyType_Int64 = 6, ++ PropertyType_UInt64 = 7, ++ PropertyType_Single = 8, ++ PropertyType_Double = 9, ++ PropertyType_Char16 = 10, ++ PropertyType_Boolean = 11, ++ PropertyType_String = 12, ++ PropertyType_Inspectable = 13, ++ PropertyType_DateTime = 14, ++ PropertyType_TimeSpan = 15, ++ PropertyType_Guid = 16, ++ PropertyType_Point = 17, ++ PropertyType_Size = 18, ++ PropertyType_Rect = 19, ++ PropertyType_OtherType = 20, ++ PropertyType_UInt8Array = 1025, ++ PropertyType_Int16Array = 1026, ++ PropertyType_UInt16Array = 1027, ++ PropertyType_Int32Array = 1028, ++ PropertyType_UInt32Array = 1029, ++ PropertyType_Int64Array = 1030, ++ PropertyType_UInt64Array = 1031, ++ PropertyType_SingleArray = 1032, ++ PropertyType_DoubleArray = 1033, ++ PropertyType_Char16Array = 1034, ++ PropertyType_BooleanArray = 1035, ++ PropertyType_StringArray = 1036, ++ PropertyType_InspectableArray = 1037, ++ PropertyType_DateTimeArray = 1038, ++ PropertyType_TimeSpanArray = 1039, ++ PropertyType_GuidArray = 1040, ++ PropertyType_PointArray = 1041, ++ PropertyType_SizeArray = 1042, ++ PropertyType_RectArray = 1043, ++ PropertyType_OtherTypeArray = 1044 + }; +- +-#ifdef COBJMACROS +-#ifndef WIDL_C_INLINE_WRAPPERS +-/*** IUnknown methods ***/ +-#define IAsyncInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +-#define IAsyncInfo_AddRef(This) (This)->lpVtbl->AddRef(This) +-#define IAsyncInfo_Release(This) (This)->lpVtbl->Release(This) +-/*** IInspectable methods ***/ +-#define IAsyncInfo_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids) +-#define IAsyncInfo_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className) +-#define IAsyncInfo_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel) +-/*** IAsyncInfo methods ***/ +-#define IAsyncInfo_get_Id(This,id) (This)->lpVtbl->get_Id(This,id) +-#define IAsyncInfo_get_Status(This,status) (This)->lpVtbl->get_Status(This,status) +-#define IAsyncInfo_get_ErrorCode(This,errorCode) (This)->lpVtbl->get_ErrorCode(This,errorCode) +-#define IAsyncInfo_Cancel(This) (This)->lpVtbl->Cancel(This) +-#define IAsyncInfo_Close(This) (This)->lpVtbl->Close(This) +-#else +-/*** IUnknown methods ***/ +-static FORCEINLINE HRESULT IAsyncInfo_QueryInterface(IAsyncInfo* This,REFIID riid,void **ppvObject) { +- return This->lpVtbl->QueryInterface(This,riid,ppvObject); +-} +-static FORCEINLINE ULONG IAsyncInfo_AddRef(IAsyncInfo* This) { +- return This->lpVtbl->AddRef(This); +-} +-static FORCEINLINE ULONG IAsyncInfo_Release(IAsyncInfo* This) { +- return This->lpVtbl->Release(This); +-} +-/*** IInspectable methods ***/ +-static FORCEINLINE HRESULT IAsyncInfo_GetIids(IAsyncInfo* This,ULONG *iidCount,IID **iids) { +- return This->lpVtbl->GetIids(This,iidCount,iids); +-} +-static FORCEINLINE HRESULT IAsyncInfo_GetRuntimeClassName(IAsyncInfo* This,HSTRING *className) { +- return This->lpVtbl->GetRuntimeClassName(This,className); +-} +-static FORCEINLINE HRESULT IAsyncInfo_GetTrustLevel(IAsyncInfo* This,TrustLevel *trustLevel) { +- return This->lpVtbl->GetTrustLevel(This,trustLevel); +-} +-/*** IAsyncInfo methods ***/ +-static FORCEINLINE HRESULT IAsyncInfo_get_Id(IAsyncInfo* This,unsigned int *id) { +- return This->lpVtbl->get_Id(This,id); +-} +-static FORCEINLINE HRESULT IAsyncInfo_get_Status(IAsyncInfo* This,AsyncStatus *status) { +- return This->lpVtbl->get_Status(This,status); +-} +-static FORCEINLINE HRESULT IAsyncInfo_get_ErrorCode(IAsyncInfo* This,HRESULT *errorCode) { +- return This->lpVtbl->get_ErrorCode(This,errorCode); +-} +-static FORCEINLINE HRESULT IAsyncInfo_Cancel(IAsyncInfo* This) { +- return This->lpVtbl->Cancel(This); +-} +-static FORCEINLINE HRESULT IAsyncInfo_Close(IAsyncInfo* This) { +- return This->lpVtbl->Close(This); +-} + #endif +-#endif +- +-#endif +- +-HRESULT STDMETHODCALLTYPE IAsyncInfo_get_Id_Proxy( +- IAsyncInfo* This, +- unsigned int *id); +-void __RPC_STUB IAsyncInfo_get_Id_Stub( +- IRpcStubBuffer* This, +- IRpcChannelBuffer* pRpcChannelBuffer, +- PRPC_MESSAGE pRpcMessage, +- DWORD* pdwStubPhase); +-HRESULT STDMETHODCALLTYPE IAsyncInfo_get_Status_Proxy( +- IAsyncInfo* This, +- AsyncStatus *status); +-void __RPC_STUB IAsyncInfo_get_Status_Stub( +- IRpcStubBuffer* This, +- IRpcChannelBuffer* pRpcChannelBuffer, +- PRPC_MESSAGE pRpcMessage, +- DWORD* pdwStubPhase); +-HRESULT STDMETHODCALLTYPE IAsyncInfo_get_ErrorCode_Proxy( +- IAsyncInfo* This, +- HRESULT *errorCode); +-void __RPC_STUB IAsyncInfo_get_ErrorCode_Stub( +- IRpcStubBuffer* This, +- IRpcChannelBuffer* pRpcChannelBuffer, +- PRPC_MESSAGE pRpcMessage, +- DWORD* pdwStubPhase); +-HRESULT STDMETHODCALLTYPE IAsyncInfo_Cancel_Proxy( +- IAsyncInfo* This); +-void __RPC_STUB IAsyncInfo_Cancel_Stub( +- IRpcStubBuffer* This, +- IRpcChannelBuffer* pRpcChannelBuffer, +- PRPC_MESSAGE pRpcMessage, +- DWORD* pdwStubPhase); +-HRESULT STDMETHODCALLTYPE IAsyncInfo_Close_Proxy( +- IAsyncInfo* This); +-void __RPC_STUB IAsyncInfo_Close_Stub( +- IRpcStubBuffer* This, +- IRpcChannelBuffer* pRpcChannelBuffer, +- PRPC_MESSAGE pRpcMessage, +- DWORD* pdwStubPhase); +- +-#endif /* __IAsyncInfo_INTERFACE_DEFINED__ */ +- +-/***************************************************************************** +- * IASyncAction interface +- */ +-#ifndef __IASyncAction_INTERFACE_DEFINED__ +-#define __IASyncAction_INTERFACE_DEFINED__ +- +-DEFINE_GUID(IID_IASyncAction, 0x5a648006, 0x843a, 0x4da9, 0x86,0x5b, 0x9d,0x26,0xe5,0xdf,0xad,0x7b); +-#if defined(__cplusplus) && !defined(CINTERFACE) +-MIDL_INTERFACE("5a648006-843a-4da9-865b-9d26e5dfad7b") +-IASyncAction : public IInspectable +-{ +- virtual HRESULT STDMETHODCALLTYPE put_Completed( +- AsyncActionCompletedHandler *handler) = 0; +- +- virtual HRESULT STDMETHODCALLTYPE get_Completed( +- AsyncActionCompletedHandler **handler) = 0; +- +- virtual HRESULT STDMETHODCALLTYPE GetResults( +- ) = 0; + +-}; +-#ifdef __CRT_UUID_DECL +-__CRT_UUID_DECL(IASyncAction, 0x5a648006, 0x843a, 0x4da9, 0x86,0x5b, 0x9d,0x26,0xe5,0xdf,0xad,0x7b) +-#endif ++#ifdef __cplusplus ++} /* extern "C" */ ++namespace ABI { ++ namespace Windows { ++ namespace Foundation { ++ struct Point { ++ FLOAT X; ++ FLOAT Y; ++ }; ++ } ++ } ++} ++extern "C" { + #else +-typedef struct IASyncActionVtbl { +- BEGIN_INTERFACE +- +- /*** IUnknown methods ***/ +- HRESULT (STDMETHODCALLTYPE *QueryInterface)( +- IASyncAction* This, +- REFIID riid, +- void **ppvObject); +- +- ULONG (STDMETHODCALLTYPE *AddRef)( +- IASyncAction* This); +- +- ULONG (STDMETHODCALLTYPE *Release)( +- IASyncAction* This); +- +- /*** IInspectable methods ***/ +- HRESULT (STDMETHODCALLTYPE *GetIids)( +- IASyncAction* This, +- ULONG *iidCount, +- IID **iids); +- +- HRESULT (STDMETHODCALLTYPE *GetRuntimeClassName)( +- IASyncAction* This, +- HSTRING *className); +- +- HRESULT (STDMETHODCALLTYPE *GetTrustLevel)( +- IASyncAction* This, +- TrustLevel *trustLevel); +- +- /*** IASyncAction methods ***/ +- HRESULT (STDMETHODCALLTYPE *put_Completed)( +- IASyncAction* This, +- AsyncActionCompletedHandler *handler); +- +- HRESULT (STDMETHODCALLTYPE *get_Completed)( +- IASyncAction* This, +- AsyncActionCompletedHandler **handler); +- +- HRESULT (STDMETHODCALLTYPE *GetResults)( +- IASyncAction* This); +- +- END_INTERFACE +-} IASyncActionVtbl; +-interface IASyncAction { +- CONST_VTBL IASyncActionVtbl* lpVtbl; ++struct __x_ABI_CWindows_CFoundation_CPoint { ++ FLOAT X; ++ FLOAT Y; + }; +- +-#ifdef COBJMACROS +-#ifndef WIDL_C_INLINE_WRAPPERS +-/*** IUnknown methods ***/ +-#define IASyncAction_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +-#define IASyncAction_AddRef(This) (This)->lpVtbl->AddRef(This) +-#define IASyncAction_Release(This) (This)->lpVtbl->Release(This) +-/*** IInspectable methods ***/ +-#define IASyncAction_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids) +-#define IASyncAction_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className) +-#define IASyncAction_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel) +-/*** IASyncAction methods ***/ +-#define IASyncAction_put_Completed(This,handler) (This)->lpVtbl->put_Completed(This,handler) +-#define IASyncAction_get_Completed(This,handler) (This)->lpVtbl->get_Completed(This,handler) +-#define IASyncAction_GetResults(This) (This)->lpVtbl->GetResults(This) +-#else +-/*** IUnknown methods ***/ +-static FORCEINLINE HRESULT IASyncAction_QueryInterface(IASyncAction* This,REFIID riid,void **ppvObject) { +- return This->lpVtbl->QueryInterface(This,riid,ppvObject); +-} +-static FORCEINLINE ULONG IASyncAction_AddRef(IASyncAction* This) { +- return This->lpVtbl->AddRef(This); +-} +-static FORCEINLINE ULONG IASyncAction_Release(IASyncAction* This) { +- return This->lpVtbl->Release(This); +-} +-/*** IInspectable methods ***/ +-static FORCEINLINE HRESULT IASyncAction_GetIids(IASyncAction* This,ULONG *iidCount,IID **iids) { +- return This->lpVtbl->GetIids(This,iidCount,iids); +-} +-static FORCEINLINE HRESULT IASyncAction_GetRuntimeClassName(IASyncAction* This,HSTRING *className) { +- return This->lpVtbl->GetRuntimeClassName(This,className); +-} +-static FORCEINLINE HRESULT IASyncAction_GetTrustLevel(IASyncAction* This,TrustLevel *trustLevel) { +- return This->lpVtbl->GetTrustLevel(This,trustLevel); +-} +-/*** IASyncAction methods ***/ +-static FORCEINLINE HRESULT IASyncAction_put_Completed(IASyncAction* This,AsyncActionCompletedHandler *handler) { +- return This->lpVtbl->put_Completed(This,handler); +-} +-static FORCEINLINE HRESULT IASyncAction_get_Completed(IASyncAction* This,AsyncActionCompletedHandler **handler) { +- return This->lpVtbl->get_Completed(This,handler); +-} +-static FORCEINLINE HRESULT IASyncAction_GetResults(IASyncAction* This) { +- return This->lpVtbl->GetResults(This); +-} +-#endif + #endif + +-#endif +- +-HRESULT STDMETHODCALLTYPE IASyncAction_put_Completed_Proxy( +- IASyncAction* This, +- AsyncActionCompletedHandler *handler); +-void __RPC_STUB IASyncAction_put_Completed_Stub( +- IRpcStubBuffer* This, +- IRpcChannelBuffer* pRpcChannelBuffer, +- PRPC_MESSAGE pRpcMessage, +- DWORD* pdwStubPhase); +-HRESULT STDMETHODCALLTYPE IASyncAction_get_Completed_Proxy( +- IASyncAction* This, +- AsyncActionCompletedHandler **handler); +-void __RPC_STUB IASyncAction_get_Completed_Stub( +- IRpcStubBuffer* This, +- IRpcChannelBuffer* pRpcChannelBuffer, +- PRPC_MESSAGE pRpcMessage, +- DWORD* pdwStubPhase); +-HRESULT STDMETHODCALLTYPE IASyncAction_GetResults_Proxy( +- IASyncAction* This); +-void __RPC_STUB IASyncAction_GetResults_Stub( +- IRpcStubBuffer* This, +- IRpcChannelBuffer* pRpcChannelBuffer, +- PRPC_MESSAGE pRpcMessage, +- DWORD* pdwStubPhase); +- +-#endif /* __IASyncAction_INTERFACE_DEFINED__ */ +- +-/***************************************************************************** +- * AsyncActionCompletedHandler interface +- */ +-#ifndef __AsyncActionCompletedHandler_INTERFACE_DEFINED__ +-#define __AsyncActionCompletedHandler_INTERFACE_DEFINED__ +- +-DEFINE_GUID(IID_AsyncActionCompletedHandler, 0xa4ed5c81, 0x76c9, 0x40bd, 0x8b,0xe6, 0xb1,0xd9,0x0f,0xb2,0x0a,0xe7); +-#if defined(__cplusplus) && !defined(CINTERFACE) +-MIDL_INTERFACE("a4ed5c81-76c9-40bd-8be6-b1d90fb20ae7") +-AsyncActionCompletedHandler : public IUnknown +-{ +- virtual HRESULT STDMETHODCALLTYPE Invoke( +- IInspectable *asyncAction, +- AsyncStatus status) = 0; +- ++#ifdef __cplusplus ++} /* extern "C" */ ++namespace ABI { ++ namespace Windows { ++ namespace Foundation { ++ struct Size { ++ FLOAT Width; ++ FLOAT Height; ++ }; ++ } ++ } ++} ++extern "C" { ++#else ++struct __x_ABI_CWindows_CFoundation_CSize { ++ FLOAT Width; ++ FLOAT Height; + }; +-#ifdef __CRT_UUID_DECL +-__CRT_UUID_DECL(AsyncActionCompletedHandler, 0xa4ed5c81, 0x76c9, 0x40bd, 0x8b,0xe6, 0xb1,0xd9,0x0f,0xb2,0x0a,0xe7) + #endif +-#else +-typedef struct AsyncActionCompletedHandlerVtbl { +- BEGIN_INTERFACE +- +- /*** IUnknown methods ***/ +- HRESULT (STDMETHODCALLTYPE *QueryInterface)( +- AsyncActionCompletedHandler* This, +- REFIID riid, +- void **ppvObject); +- +- ULONG (STDMETHODCALLTYPE *AddRef)( +- AsyncActionCompletedHandler* This); +- +- ULONG (STDMETHODCALLTYPE *Release)( +- AsyncActionCompletedHandler* This); +- +- /*** AsyncActionCompletedHandler methods ***/ +- HRESULT (STDMETHODCALLTYPE *Invoke)( +- AsyncActionCompletedHandler* This, +- IInspectable *asyncAction, +- AsyncStatus status); + +- END_INTERFACE +-} AsyncActionCompletedHandlerVtbl; +-interface AsyncActionCompletedHandler { +- CONST_VTBL AsyncActionCompletedHandlerVtbl* lpVtbl; ++#ifdef __cplusplus ++namespace ABI { ++ namespace Windows { ++ namespace Foundation { ++typedef struct Size Size; ++ } ++ } ++} ++#endif /* __cplusplus */ ++#ifdef __cplusplus ++} /* extern "C" */ ++namespace ABI { ++ namespace Windows { ++ namespace Foundation { ++ struct Rect { ++ FLOAT X; ++ FLOAT Y; ++ FLOAT Width; ++ FLOAT Height; ++ }; ++ } ++ } ++} ++extern "C" { ++#else ++struct __x_ABI_CWindows_CFoundation_CRect { ++ FLOAT X; ++ FLOAT Y; ++ FLOAT Width; ++ FLOAT Height; + }; ++#endif + +-#ifdef COBJMACROS +-#ifndef WIDL_C_INLINE_WRAPPERS +-/*** IUnknown methods ***/ +-#define AsyncActionCompletedHandler_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +-#define AsyncActionCompletedHandler_AddRef(This) (This)->lpVtbl->AddRef(This) +-#define AsyncActionCompletedHandler_Release(This) (This)->lpVtbl->Release(This) +-/*** AsyncActionCompletedHandler methods ***/ +-#define AsyncActionCompletedHandler_Invoke(This,asyncAction,status) (This)->lpVtbl->Invoke(This,asyncAction,status) +-#else +-/*** IUnknown methods ***/ +-static FORCEINLINE HRESULT AsyncActionCompletedHandler_QueryInterface(AsyncActionCompletedHandler* This,REFIID riid,void **ppvObject) { +- return This->lpVtbl->QueryInterface(This,riid,ppvObject); +-} +-static FORCEINLINE ULONG AsyncActionCompletedHandler_AddRef(AsyncActionCompletedHandler* This) { +- return This->lpVtbl->AddRef(This); +-} +-static FORCEINLINE ULONG AsyncActionCompletedHandler_Release(AsyncActionCompletedHandler* This) { +- return This->lpVtbl->Release(This); +-} +-/*** AsyncActionCompletedHandler methods ***/ +-static FORCEINLINE HRESULT AsyncActionCompletedHandler_Invoke(AsyncActionCompletedHandler* This,IInspectable *asyncAction,AsyncStatus status) { +- return This->lpVtbl->Invoke(This,asyncAction,status); ++#ifdef __cplusplus ++} /* extern "C" */ ++namespace ABI { ++ namespace Windows { ++ namespace Foundation { ++ struct DateTime { ++ INT64 UniversalTime; ++ }; ++ } ++ } + } +-#endif ++extern "C" { ++#else ++struct __x_ABI_CWindows_CFoundation_CDateTime { ++ INT64 UniversalTime; ++}; + #endif + ++#ifdef __cplusplus ++} /* extern "C" */ ++namespace ABI { ++ namespace Windows { ++ namespace Foundation { ++ struct TimeSpan { ++ INT64 Duration; ++ }; ++ } ++ } ++} ++extern "C" { ++#else ++struct __x_ABI_CWindows_CFoundation_CTimeSpan { ++ INT64 Duration; ++}; + #endif + +-HRESULT STDMETHODCALLTYPE AsyncActionCompletedHandler_Invoke_Proxy( +- AsyncActionCompletedHandler* This, +- IInspectable *asyncAction, +- AsyncStatus status); +-void __RPC_STUB AsyncActionCompletedHandler_Invoke_Stub( +- IRpcStubBuffer* This, +- IRpcChannelBuffer* pRpcChannelBuffer, +- PRPC_MESSAGE pRpcMessage, +- DWORD* pdwStubPhase); +- +-#endif /* __AsyncActionCompletedHandler_INTERFACE_DEFINED__ */ +- + /***************************************************************************** +- * IAsyncOperation interface ++ * IStringable interface + */ +-#ifndef __IAsyncOperation_INTERFACE_DEFINED__ +-#define __IAsyncOperation_INTERFACE_DEFINED__ ++#ifndef ____x_ABI_CWindows_CFoundation_CIStringable_INTERFACE_DEFINED__ ++#define ____x_ABI_CWindows_CFoundation_CIStringable_INTERFACE_DEFINED__ + +-DEFINE_GUID(IID_IAsyncOperation, 0x9fc2b0bb, 0xe446, 0x44e2, 0xaa,0x61, 0x9c,0xab,0x8f,0x63,0x6a,0xf2); ++DEFINE_GUID(IID___x_ABI_CWindows_CFoundation_CIStringable, 0x96369f54, 0x8eb6, 0x48f0, 0xab,0xce, 0xc1,0xb2,0x11,0xe6,0x27,0xc3); + #if defined(__cplusplus) && !defined(CINTERFACE) +-MIDL_INTERFACE("9fc2b0bb-e446-44e2-aa61-9cab8f636af2") +-IAsyncOperation : public IAsyncInfo +-{ +- virtual HRESULT STDMETHODCALLTYPE put_Completed( +- AsyncActionCompletedHandler *handler) = 0; +- +- virtual HRESULT STDMETHODCALLTYPE get_Completed( +- AsyncActionCompletedHandler **handler) = 0; +- +- virtual IInspectable * STDMETHODCALLTYPE GetResults( +- ) = 0; +- +-}; ++} /* extern "C" */ ++namespace ABI { ++ namespace Windows { ++ namespace Foundation { ++ MIDL_INTERFACE("96369f54-8eb6-48f0-abce-c1b211e627c3") ++ IStringable : public IInspectable ++ { ++ virtual HRESULT STDMETHODCALLTYPE ToString( ++ HSTRING *value) = 0; ++ ++ }; ++ } ++ } ++} ++extern "C" { + #ifdef __CRT_UUID_DECL +-__CRT_UUID_DECL(IAsyncOperation, 0x9fc2b0bb, 0xe446, 0x44e2, 0xaa,0x61, 0x9c,0xab,0x8f,0x63,0x6a,0xf2) ++__CRT_UUID_DECL(ABI::Windows::Foundation::IStringable, 0x96369f54, 0x8eb6, 0x48f0, 0xab,0xce, 0xc1,0xb2,0x11,0xe6,0x27,0xc3) + #endif + #else +-typedef struct IAsyncOperationVtbl { ++typedef struct __x_ABI_CWindows_CFoundation_CIStringableVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( +- IAsyncOperation* This, ++ __x_ABI_CWindows_CFoundation_CIStringable *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( +- IAsyncOperation* This); ++ __x_ABI_CWindows_CFoundation_CIStringable *This); + + ULONG (STDMETHODCALLTYPE *Release)( +- IAsyncOperation* This); ++ __x_ABI_CWindows_CFoundation_CIStringable *This); + + /*** IInspectable methods ***/ + HRESULT (STDMETHODCALLTYPE *GetIids)( +- IAsyncOperation* This, ++ __x_ABI_CWindows_CFoundation_CIStringable *This, + ULONG *iidCount, + IID **iids); + + HRESULT (STDMETHODCALLTYPE *GetRuntimeClassName)( +- IAsyncOperation* This, ++ __x_ABI_CWindows_CFoundation_CIStringable *This, + HSTRING *className); + + HRESULT (STDMETHODCALLTYPE *GetTrustLevel)( +- IAsyncOperation* This, ++ __x_ABI_CWindows_CFoundation_CIStringable *This, + TrustLevel *trustLevel); + +- /*** IAsyncInfo methods ***/ +- HRESULT (STDMETHODCALLTYPE *get_Id)( +- IAsyncOperation* This, +- unsigned int *id); +- +- HRESULT (STDMETHODCALLTYPE *get_Status)( +- IAsyncOperation* This, +- AsyncStatus *status); +- +- HRESULT (STDMETHODCALLTYPE *get_ErrorCode)( +- IAsyncOperation* This, +- HRESULT *errorCode); +- +- HRESULT (STDMETHODCALLTYPE *Cancel)( +- IAsyncOperation* This); +- +- HRESULT (STDMETHODCALLTYPE *Close)( +- IAsyncOperation* This); +- +- /*** IAsyncOperation methods ***/ +- HRESULT (STDMETHODCALLTYPE *put_Completed)( +- IAsyncOperation* This, +- AsyncActionCompletedHandler *handler); +- +- HRESULT (STDMETHODCALLTYPE *get_Completed)( +- IAsyncOperation* This, +- AsyncActionCompletedHandler **handler); +- +- IInspectable * (STDMETHODCALLTYPE *GetResults)( +- IAsyncOperation* This); ++ /*** IStringable methods ***/ ++ HRESULT (STDMETHODCALLTYPE *ToString)( ++ __x_ABI_CWindows_CFoundation_CIStringable *This, ++ HSTRING *value); + + END_INTERFACE +-} IAsyncOperationVtbl; +-interface IAsyncOperation { +- CONST_VTBL IAsyncOperationVtbl* lpVtbl; ++} __x_ABI_CWindows_CFoundation_CIStringableVtbl; ++ ++interface __x_ABI_CWindows_CFoundation_CIStringable { ++ CONST_VTBL __x_ABI_CWindows_CFoundation_CIStringableVtbl* lpVtbl; + }; + + #ifdef COBJMACROS + #ifndef WIDL_C_INLINE_WRAPPERS + /*** IUnknown methods ***/ +-#define IAsyncOperation_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +-#define IAsyncOperation_AddRef(This) (This)->lpVtbl->AddRef(This) +-#define IAsyncOperation_Release(This) (This)->lpVtbl->Release(This) ++#define __x_ABI_CWindows_CFoundation_CIStringable_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) ++#define __x_ABI_CWindows_CFoundation_CIStringable_AddRef(This) (This)->lpVtbl->AddRef(This) ++#define __x_ABI_CWindows_CFoundation_CIStringable_Release(This) (This)->lpVtbl->Release(This) + /*** IInspectable methods ***/ +-#define IAsyncOperation_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids) +-#define IAsyncOperation_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className) +-#define IAsyncOperation_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel) +-/*** IAsyncInfo methods ***/ +-#define IAsyncOperation_get_Id(This,id) (This)->lpVtbl->get_Id(This,id) +-#define IAsyncOperation_get_Status(This,status) (This)->lpVtbl->get_Status(This,status) +-#define IAsyncOperation_get_ErrorCode(This,errorCode) (This)->lpVtbl->get_ErrorCode(This,errorCode) +-#define IAsyncOperation_Cancel(This) (This)->lpVtbl->Cancel(This) +-#define IAsyncOperation_Close(This) (This)->lpVtbl->Close(This) +-/*** IAsyncOperation methods ***/ +-#define IAsyncOperation_put_Completed(This,handler) (This)->lpVtbl->put_Completed(This,handler) +-#define IAsyncOperation_get_Completed(This,handler) (This)->lpVtbl->get_Completed(This,handler) +-#define IAsyncOperation_GetResults(This) (This)->lpVtbl->GetResults(This) ++#define __x_ABI_CWindows_CFoundation_CIStringable_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids) ++#define __x_ABI_CWindows_CFoundation_CIStringable_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className) ++#define __x_ABI_CWindows_CFoundation_CIStringable_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel) ++/*** IStringable methods ***/ ++#define __x_ABI_CWindows_CFoundation_CIStringable_ToString(This,value) (This)->lpVtbl->ToString(This,value) + #else + /*** IUnknown methods ***/ +-static FORCEINLINE HRESULT IAsyncOperation_QueryInterface(IAsyncOperation* This,REFIID riid,void **ppvObject) { ++static FORCEINLINE HRESULT __x_ABI_CWindows_CFoundation_CIStringable_QueryInterface(__x_ABI_CWindows_CFoundation_CIStringable* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); + } +-static FORCEINLINE ULONG IAsyncOperation_AddRef(IAsyncOperation* This) { ++static FORCEINLINE ULONG __x_ABI_CWindows_CFoundation_CIStringable_AddRef(__x_ABI_CWindows_CFoundation_CIStringable* This) { + return This->lpVtbl->AddRef(This); + } +-static FORCEINLINE ULONG IAsyncOperation_Release(IAsyncOperation* This) { ++static FORCEINLINE ULONG __x_ABI_CWindows_CFoundation_CIStringable_Release(__x_ABI_CWindows_CFoundation_CIStringable* This) { + return This->lpVtbl->Release(This); + } + /*** IInspectable methods ***/ +-static FORCEINLINE HRESULT IAsyncOperation_GetIids(IAsyncOperation* This,ULONG *iidCount,IID **iids) { ++static FORCEINLINE HRESULT __x_ABI_CWindows_CFoundation_CIStringable_GetIids(__x_ABI_CWindows_CFoundation_CIStringable* This,ULONG *iidCount,IID **iids) { + return This->lpVtbl->GetIids(This,iidCount,iids); + } +-static FORCEINLINE HRESULT IAsyncOperation_GetRuntimeClassName(IAsyncOperation* This,HSTRING *className) { ++static FORCEINLINE HRESULT __x_ABI_CWindows_CFoundation_CIStringable_GetRuntimeClassName(__x_ABI_CWindows_CFoundation_CIStringable* This,HSTRING *className) { + return This->lpVtbl->GetRuntimeClassName(This,className); + } +-static FORCEINLINE HRESULT IAsyncOperation_GetTrustLevel(IAsyncOperation* This,TrustLevel *trustLevel) { ++static FORCEINLINE HRESULT __x_ABI_CWindows_CFoundation_CIStringable_GetTrustLevel(__x_ABI_CWindows_CFoundation_CIStringable* This,TrustLevel *trustLevel) { + return This->lpVtbl->GetTrustLevel(This,trustLevel); + } +-/*** IAsyncInfo methods ***/ +-static FORCEINLINE HRESULT IAsyncOperation_get_Id(IAsyncOperation* This,unsigned int *id) { +- return This->lpVtbl->get_Id(This,id); +-} +-static FORCEINLINE HRESULT IAsyncOperation_get_Status(IAsyncOperation* This,AsyncStatus *status) { +- return This->lpVtbl->get_Status(This,status); +-} +-static FORCEINLINE HRESULT IAsyncOperation_get_ErrorCode(IAsyncOperation* This,HRESULT *errorCode) { +- return This->lpVtbl->get_ErrorCode(This,errorCode); +-} +-static FORCEINLINE HRESULT IAsyncOperation_Cancel(IAsyncOperation* This) { +- return This->lpVtbl->Cancel(This); +-} +-static FORCEINLINE HRESULT IAsyncOperation_Close(IAsyncOperation* This) { +- return This->lpVtbl->Close(This); +-} +-/*** IAsyncOperation methods ***/ +-static FORCEINLINE HRESULT IAsyncOperation_put_Completed(IAsyncOperation* This,AsyncActionCompletedHandler *handler) { +- return This->lpVtbl->put_Completed(This,handler); +-} +-static FORCEINLINE HRESULT IAsyncOperation_get_Completed(IAsyncOperation* This,AsyncActionCompletedHandler **handler) { +- return This->lpVtbl->get_Completed(This,handler); +-} +-static FORCEINLINE IInspectable * IAsyncOperation_GetResults(IAsyncOperation* This) { +- return This->lpVtbl->GetResults(This); ++/*** IStringable methods ***/ ++static FORCEINLINE HRESULT __x_ABI_CWindows_CFoundation_CIStringable_ToString(__x_ABI_CWindows_CFoundation_CIStringable* This,HSTRING *value) { ++ return This->lpVtbl->ToString(This,value); + } + #endif + #endif + + #endif + +-HRESULT STDMETHODCALLTYPE IAsyncOperation_put_Completed_Proxy( +- IAsyncOperation* This, +- AsyncActionCompletedHandler *handler); +-void __RPC_STUB IAsyncOperation_put_Completed_Stub( +- IRpcStubBuffer* This, +- IRpcChannelBuffer* pRpcChannelBuffer, +- PRPC_MESSAGE pRpcMessage, +- DWORD* pdwStubPhase); +-HRESULT STDMETHODCALLTYPE IAsyncOperation_get_Completed_Proxy( +- IAsyncOperation* This, +- AsyncActionCompletedHandler **handler); +-void __RPC_STUB IAsyncOperation_get_Completed_Stub( +- IRpcStubBuffer* This, +- IRpcChannelBuffer* pRpcChannelBuffer, +- PRPC_MESSAGE pRpcMessage, +- DWORD* pdwStubPhase); +-IInspectable * STDMETHODCALLTYPE IAsyncOperation_GetResults_Proxy( +- IAsyncOperation* This); +-void __RPC_STUB IAsyncOperation_GetResults_Stub( +- IRpcStubBuffer* This, +- IRpcChannelBuffer* pRpcChannelBuffer, +- PRPC_MESSAGE pRpcMessage, +- DWORD* pdwStubPhase); +- +-#endif /* __IAsyncOperation_INTERFACE_DEFINED__ */ ++#endif /* ____x_ABI_CWindows_CFoundation_CIStringable_INTERFACE_DEFINED__ */ + + /* Begin additional prototypes for all interfaces */ + ++ULONG __RPC_USER HSTRING_UserSize (ULONG *, ULONG, HSTRING *); ++unsigned char * __RPC_USER HSTRING_UserMarshal (ULONG *, unsigned char *, HSTRING *); ++unsigned char * __RPC_USER HSTRING_UserUnmarshal(ULONG *, unsigned char *, HSTRING *); ++void __RPC_USER HSTRING_UserFree (ULONG *, HSTRING *); + + /* End additional prototypes */ + +diff --git a/mingw-w64-headers/include/windows.foundation.metadata.h b/mingw-w64-headers/include/windows.foundation.metadata.h +new file mode 100644 +index 00000000..13262699 +--- /dev/null ++++ b/mingw-w64-headers/include/windows.foundation.metadata.h +@@ -0,0 +1,315 @@ ++/*** Autogenerated by WIDL 4.4 from windows.foundation.metadata.idl - Do not edit ***/ ++ ++#ifdef _WIN32 ++#ifndef __REQUIRED_RPCNDR_H_VERSION__ ++#define __REQUIRED_RPCNDR_H_VERSION__ 475 ++#endif ++#include <rpc.h> ++#include <rpcndr.h> ++#endif ++ ++#ifndef COM_NO_WINDOWS_H ++#include <windows.h> ++#include <ole2.h> ++#endif ++ ++#ifndef __windows_foundation_metadata_h__ ++#define __windows_foundation_metadata_h__ ++ ++/* Forward declarations */ ++ ++#ifndef ____x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics_FWD_DEFINED__ ++#define ____x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics_FWD_DEFINED__ ++typedef interface __x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics __x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics; ++#ifdef __cplusplus ++namespace ABI { ++ namespace Windows { ++ namespace Foundation { ++ namespace Metadata { ++ interface IApiInformationStatics; ++ } ++ } ++ } ++} ++#endif /* __cplusplus */ ++#endif ++ ++/* Headers for imported files */ ++ ++#include <inspectable.h> ++#include <windows.foundation.h> ++ ++#ifdef __cplusplus ++extern "C" { ++#endif ++ ++/***************************************************************************** ++ * IApiInformationStatics interface ++ */ ++#ifndef ____x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics_INTERFACE_DEFINED__ ++#define ____x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics_INTERFACE_DEFINED__ ++ ++DEFINE_GUID(IID___x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics, 0x997439fe, 0xf681, 0x4a11, 0xb4,0x16, 0xc1,0x3a,0x47,0xe8,0xba,0x36); ++#if defined(__cplusplus) && !defined(CINTERFACE) ++} /* extern "C" */ ++namespace ABI { ++ namespace Windows { ++ namespace Foundation { ++ namespace Metadata { ++ MIDL_INTERFACE("997439fe-f681-4a11-b416-c13a47e8ba36") ++ IApiInformationStatics : public IInspectable ++ { ++ virtual HRESULT STDMETHODCALLTYPE IsTypePresent( ++ HSTRING typeName, ++ boolean *value) = 0; ++ ++ virtual HRESULT STDMETHODCALLTYPE IsMethodPresent( ++ HSTRING typeName, ++ HSTRING methodName, ++ boolean *value) = 0; ++ ++ virtual HRESULT STDMETHODCALLTYPE IsMethodPresentWithArity( ++ HSTRING typeName, ++ HSTRING methodName, ++ UINT32 inputParameterCount, ++ boolean *value) = 0; ++ ++ virtual HRESULT STDMETHODCALLTYPE IsEventPresent( ++ HSTRING typeName, ++ HSTRING eventName, ++ boolean *value) = 0; ++ ++ virtual HRESULT STDMETHODCALLTYPE IsPropertyPresent( ++ HSTRING typeName, ++ HSTRING propertyName, ++ boolean *value) = 0; ++ ++ virtual HRESULT STDMETHODCALLTYPE IsReadOnlyPropertyPresent( ++ HSTRING typeName, ++ HSTRING propertyName, ++ boolean *value) = 0; ++ ++ virtual HRESULT STDMETHODCALLTYPE IsWriteablePropertyPresent( ++ HSTRING typeName, ++ HSTRING propertyName, ++ boolean *value) = 0; ++ ++ virtual HRESULT STDMETHODCALLTYPE IsEnumNamedValuePresent( ++ HSTRING enumTypeName, ++ HSTRING valueName, ++ boolean *value) = 0; ++ ++ virtual HRESULT STDMETHODCALLTYPE IsApiContractPresentByMajor( ++ HSTRING contractName, ++ UINT16 majorVersion, ++ boolean *value) = 0; ++ ++ virtual HRESULT STDMETHODCALLTYPE IsApiContractPresentByMajorAndMinor( ++ HSTRING contractName, ++ UINT16 majorVersion, ++ UINT16 minorVersion, ++ boolean *value) = 0; ++ ++ }; ++ } ++ } ++ } ++} ++extern "C" { ++#ifdef __CRT_UUID_DECL ++__CRT_UUID_DECL(ABI::Windows::Foundation::Metadata::IApiInformationStatics, 0x997439fe, 0xf681, 0x4a11, 0xb4,0x16, 0xc1,0x3a,0x47,0xe8,0xba,0x36) ++#endif ++#else ++typedef struct __x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStaticsVtbl { ++ BEGIN_INTERFACE ++ ++ /*** IUnknown methods ***/ ++ HRESULT (STDMETHODCALLTYPE *QueryInterface)( ++ __x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics *This, ++ REFIID riid, ++ void **ppvObject); ++ ++ ULONG (STDMETHODCALLTYPE *AddRef)( ++ __x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics *This); ++ ++ ULONG (STDMETHODCALLTYPE *Release)( ++ __x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics *This); ++ ++ /*** IInspectable methods ***/ ++ HRESULT (STDMETHODCALLTYPE *GetIids)( ++ __x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics *This, ++ ULONG *iidCount, ++ IID **iids); ++ ++ HRESULT (STDMETHODCALLTYPE *GetRuntimeClassName)( ++ __x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics *This, ++ HSTRING *className); ++ ++ HRESULT (STDMETHODCALLTYPE *GetTrustLevel)( ++ __x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics *This, ++ TrustLevel *trustLevel); ++ ++ /*** IApiInformationStatics methods ***/ ++ HRESULT (STDMETHODCALLTYPE *IsTypePresent)( ++ __x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics *This, ++ HSTRING typeName, ++ boolean *value); ++ ++ HRESULT (STDMETHODCALLTYPE *IsMethodPresent)( ++ __x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics *This, ++ HSTRING typeName, ++ HSTRING methodName, ++ boolean *value); ++ ++ HRESULT (STDMETHODCALLTYPE *IsMethodPresentWithArity)( ++ __x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics *This, ++ HSTRING typeName, ++ HSTRING methodName, ++ UINT32 inputParameterCount, ++ boolean *value); ++ ++ HRESULT (STDMETHODCALLTYPE *IsEventPresent)( ++ __x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics *This, ++ HSTRING typeName, ++ HSTRING eventName, ++ boolean *value); ++ ++ HRESULT (STDMETHODCALLTYPE *IsPropertyPresent)( ++ __x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics *This, ++ HSTRING typeName, ++ HSTRING propertyName, ++ boolean *value); ++ ++ HRESULT (STDMETHODCALLTYPE *IsReadOnlyPropertyPresent)( ++ __x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics *This, ++ HSTRING typeName, ++ HSTRING propertyName, ++ boolean *value); ++ ++ HRESULT (STDMETHODCALLTYPE *IsWriteablePropertyPresent)( ++ __x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics *This, ++ HSTRING typeName, ++ HSTRING propertyName, ++ boolean *value); ++ ++ HRESULT (STDMETHODCALLTYPE *IsEnumNamedValuePresent)( ++ __x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics *This, ++ HSTRING enumTypeName, ++ HSTRING valueName, ++ boolean *value); ++ ++ HRESULT (STDMETHODCALLTYPE *IsApiContractPresentByMajor)( ++ __x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics *This, ++ HSTRING contractName, ++ UINT16 majorVersion, ++ boolean *value); ++ ++ HRESULT (STDMETHODCALLTYPE *IsApiContractPresentByMajorAndMinor)( ++ __x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics *This, ++ HSTRING contractName, ++ UINT16 majorVersion, ++ UINT16 minorVersion, ++ boolean *value); ++ ++ END_INTERFACE ++} __x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStaticsVtbl; ++ ++interface __x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics { ++ CONST_VTBL __x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStaticsVtbl* lpVtbl; ++}; ++ ++#ifdef COBJMACROS ++#ifndef WIDL_C_INLINE_WRAPPERS ++/*** IUnknown methods ***/ ++#define __x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) ++#define __x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics_AddRef(This) (This)->lpVtbl->AddRef(This) ++#define __x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics_Release(This) (This)->lpVtbl->Release(This) ++/*** IInspectable methods ***/ ++#define __x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids) ++#define __x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className) ++#define __x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel) ++/*** IApiInformationStatics methods ***/ ++#define __x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics_IsTypePresent(This,typeName,value) (This)->lpVtbl->IsTypePresent(This,typeName,value) ++#define __x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics_IsMethodPresent(This,typeName,methodName,value) (This)->lpVtbl->IsMethodPresent(This,typeName,methodName,value) ++#define __x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics_IsMethodPresentWithArity(This,typeName,methodName,inputParameterCount,value) (This)->lpVtbl->IsMethodPresentWithArity(This,typeName,methodName,inputParameterCount,value) ++#define __x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics_IsEventPresent(This,typeName,eventName,value) (This)->lpVtbl->IsEventPresent(This,typeName,eventName,value) ++#define __x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics_IsPropertyPresent(This,typeName,propertyName,value) (This)->lpVtbl->IsPropertyPresent(This,typeName,propertyName,value) ++#define __x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics_IsReadOnlyPropertyPresent(This,typeName,propertyName,value) (This)->lpVtbl->IsReadOnlyPropertyPresent(This,typeName,propertyName,value) ++#define __x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics_IsWriteablePropertyPresent(This,typeName,propertyName,value) (This)->lpVtbl->IsWriteablePropertyPresent(This,typeName,propertyName,value) ++#define __x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics_IsEnumNamedValuePresent(This,enumTypeName,valueName,value) (This)->lpVtbl->IsEnumNamedValuePresent(This,enumTypeName,valueName,value) ++#define __x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics_IsApiContractPresentByMajor(This,contractName,majorVersion,value) (This)->lpVtbl->IsApiContractPresentByMajor(This,contractName,majorVersion,value) ++#define __x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics_IsApiContractPresentByMajorAndMinor(This,contractName,majorVersion,minorVersion,value) (This)->lpVtbl->IsApiContractPresentByMajorAndMinor(This,contractName,majorVersion,minorVersion,value) ++#else ++/*** IUnknown methods ***/ ++static FORCEINLINE HRESULT __x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics_QueryInterface(__x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics* This,REFIID riid,void **ppvObject) { ++ return This->lpVtbl->QueryInterface(This,riid,ppvObject); ++} ++static FORCEINLINE ULONG __x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics_AddRef(__x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics* This) { ++ return This->lpVtbl->AddRef(This); ++} ++static FORCEINLINE ULONG __x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics_Release(__x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics* This) { ++ return This->lpVtbl->Release(This); ++} ++/*** IInspectable methods ***/ ++static FORCEINLINE HRESULT __x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics_GetIids(__x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics* This,ULONG *iidCount,IID **iids) { ++ return This->lpVtbl->GetIids(This,iidCount,iids); ++} ++static FORCEINLINE HRESULT __x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics_GetRuntimeClassName(__x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics* This,HSTRING *className) { ++ return This->lpVtbl->GetRuntimeClassName(This,className); ++} ++static FORCEINLINE HRESULT __x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics_GetTrustLevel(__x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics* This,TrustLevel *trustLevel) { ++ return This->lpVtbl->GetTrustLevel(This,trustLevel); ++} ++/*** IApiInformationStatics methods ***/ ++static FORCEINLINE HRESULT __x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics_IsTypePresent(__x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics* This,HSTRING typeName,boolean *value) { ++ return This->lpVtbl->IsTypePresent(This,typeName,value); ++} ++static FORCEINLINE HRESULT __x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics_IsMethodPresent(__x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics* This,HSTRING typeName,HSTRING methodName,boolean *value) { ++ return This->lpVtbl->IsMethodPresent(This,typeName,methodName,value); ++} ++static FORCEINLINE HRESULT __x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics_IsMethodPresentWithArity(__x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics* This,HSTRING typeName,HSTRING methodName,UINT32 inputParameterCount,boolean *value) { ++ return This->lpVtbl->IsMethodPresentWithArity(This,typeName,methodName,inputParameterCount,value); ++} ++static FORCEINLINE HRESULT __x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics_IsEventPresent(__x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics* This,HSTRING typeName,HSTRING eventName,boolean *value) { ++ return This->lpVtbl->IsEventPresent(This,typeName,eventName,value); ++} ++static FORCEINLINE HRESULT __x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics_IsPropertyPresent(__x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics* This,HSTRING typeName,HSTRING propertyName,boolean *value) { ++ return This->lpVtbl->IsPropertyPresent(This,typeName,propertyName,value); ++} ++static FORCEINLINE HRESULT __x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics_IsReadOnlyPropertyPresent(__x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics* This,HSTRING typeName,HSTRING propertyName,boolean *value) { ++ return This->lpVtbl->IsReadOnlyPropertyPresent(This,typeName,propertyName,value); ++} ++static FORCEINLINE HRESULT __x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics_IsWriteablePropertyPresent(__x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics* This,HSTRING typeName,HSTRING propertyName,boolean *value) { ++ return This->lpVtbl->IsWriteablePropertyPresent(This,typeName,propertyName,value); ++} ++static FORCEINLINE HRESULT __x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics_IsEnumNamedValuePresent(__x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics* This,HSTRING enumTypeName,HSTRING valueName,boolean *value) { ++ return This->lpVtbl->IsEnumNamedValuePresent(This,enumTypeName,valueName,value); ++} ++static FORCEINLINE HRESULT __x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics_IsApiContractPresentByMajor(__x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics* This,HSTRING contractName,UINT16 majorVersion,boolean *value) { ++ return This->lpVtbl->IsApiContractPresentByMajor(This,contractName,majorVersion,value); ++} ++static FORCEINLINE HRESULT __x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics_IsApiContractPresentByMajorAndMinor(__x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics* This,HSTRING contractName,UINT16 majorVersion,UINT16 minorVersion,boolean *value) { ++ return This->lpVtbl->IsApiContractPresentByMajorAndMinor(This,contractName,majorVersion,minorVersion,value); ++} ++#endif ++#endif ++ ++#endif ++ ++#endif /* ____x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics_INTERFACE_DEFINED__ */ ++ ++extern const __declspec(selectany) WCHAR RuntimeClass_Windows_Foundation_Metadata_ApiInformation[] = L"Windows.Foundation.Metadata.ApiInformation"; ++/* Begin additional prototypes for all interfaces */ ++ ++ULONG __RPC_USER HSTRING_UserSize (ULONG *, ULONG, HSTRING *); ++unsigned char * __RPC_USER HSTRING_UserMarshal (ULONG *, unsigned char *, HSTRING *); ++unsigned char * __RPC_USER HSTRING_UserUnmarshal(ULONG *, unsigned char *, HSTRING *); ++void __RPC_USER HSTRING_UserFree (ULONG *, HSTRING *); ++ ++/* End additional prototypes */ ++ ++#ifdef __cplusplus ++} ++#endif ++ ++#endif /* __windows_foundation_metadata_h__ */ +diff --git a/mingw-w64-headers/include/windows.foundation.numerics.h b/mingw-w64-headers/include/windows.foundation.numerics.h +new file mode 100644 +index 00000000..e20017ce +--- /dev/null ++++ b/mingw-w64-headers/include/windows.foundation.numerics.h +@@ -0,0 +1,204 @@ ++/*** Autogenerated by WIDL 4.4 from windows.foundation.numerics.idl - Do not edit ***/ ++ ++#ifdef _WIN32 ++#ifndef __REQUIRED_RPCNDR_H_VERSION__ ++#define __REQUIRED_RPCNDR_H_VERSION__ 475 ++#endif ++#include <rpc.h> ++#include <rpcndr.h> ++#endif ++ ++#ifndef COM_NO_WINDOWS_H ++#include <windows.h> ++#include <ole2.h> ++#endif ++ ++#ifndef __windows_foundation_numerics_h__ ++#define __windows_foundation_numerics_h__ ++ ++/* Forward declarations */ ++ ++/* Headers for imported files */ ++ ++#include <inspectable.h> ++ ++#ifdef __cplusplus ++extern "C" { ++#endif ++ ++#ifdef __cplusplus ++namespace ABI { ++ namespace Windows { ++ namespace Foundation { ++ namespace Numerics { ++typedef struct Vector2 Vector2; ++ } ++ } ++ } ++} ++#endif /* __cplusplus */ ++#ifdef __cplusplus ++namespace ABI { ++ namespace Windows { ++ namespace Foundation { ++ namespace Numerics { ++typedef struct Vector3 Vector3; ++ } ++ } ++ } ++} ++#endif /* __cplusplus */ ++#ifdef __cplusplus ++namespace ABI { ++ namespace Windows { ++ namespace Foundation { ++ namespace Numerics { ++typedef struct Matrix4x4 Matrix4x4; ++ } ++ } ++ } ++} ++#endif /* __cplusplus */ ++#ifdef __cplusplus ++namespace ABI { ++ namespace Windows { ++ namespace Foundation { ++ namespace Numerics { ++typedef struct Quaternion Quaternion; ++ } ++ } ++ } ++} ++#endif /* __cplusplus */ ++#ifdef __cplusplus ++} /* extern "C" */ ++namespace ABI { ++ namespace Windows { ++ namespace Foundation { ++ namespace Numerics { ++ struct Vector2 { ++ FLOAT X; ++ FLOAT Y; ++ }; ++ } ++ } ++ } ++} ++extern "C" { ++#else ++struct __x_ABI_CWindows_CFoundation_CNumerics_CVector2 { ++ FLOAT X; ++ FLOAT Y; ++}; ++#endif ++ ++#ifdef __cplusplus ++} /* extern "C" */ ++namespace ABI { ++ namespace Windows { ++ namespace Foundation { ++ namespace Numerics { ++ struct Vector3 { ++ FLOAT X; ++ FLOAT Y; ++ FLOAT Z; ++ }; ++ } ++ } ++ } ++} ++extern "C" { ++#else ++struct __x_ABI_CWindows_CFoundation_CNumerics_CVector3 { ++ FLOAT X; ++ FLOAT Y; ++ FLOAT Z; ++}; ++#endif ++ ++#ifdef __cplusplus ++} /* extern "C" */ ++namespace ABI { ++ namespace Windows { ++ namespace Foundation { ++ namespace Numerics { ++ struct Matrix4x4 { ++ FLOAT M11; ++ FLOAT M12; ++ FLOAT M13; ++ FLOAT M14; ++ FLOAT M21; ++ FLOAT M22; ++ FLOAT M23; ++ FLOAT M24; ++ FLOAT M31; ++ FLOAT M32; ++ FLOAT M33; ++ FLOAT M34; ++ FLOAT M41; ++ FLOAT M42; ++ FLOAT M43; ++ FLOAT M44; ++ }; ++ } ++ } ++ } ++} ++extern "C" { ++#else ++struct __x_ABI_CWindows_CFoundation_CNumerics_CMatrix4x4 { ++ FLOAT M11; ++ FLOAT M12; ++ FLOAT M13; ++ FLOAT M14; ++ FLOAT M21; ++ FLOAT M22; ++ FLOAT M23; ++ FLOAT M24; ++ FLOAT M31; ++ FLOAT M32; ++ FLOAT M33; ++ FLOAT M34; ++ FLOAT M41; ++ FLOAT M42; ++ FLOAT M43; ++ FLOAT M44; ++}; ++#endif ++ ++#ifdef __cplusplus ++} /* extern "C" */ ++namespace ABI { ++ namespace Windows { ++ namespace Foundation { ++ namespace Numerics { ++ struct Quaternion { ++ FLOAT X; ++ FLOAT Y; ++ FLOAT Z; ++ FLOAT W; ++ }; ++ } ++ } ++ } ++} ++extern "C" { ++#else ++struct __x_ABI_CWindows_CFoundation_CNumerics_CQuaternion { ++ FLOAT X; ++ FLOAT Y; ++ FLOAT Z; ++ FLOAT W; ++}; ++#endif ++ ++/* Begin additional prototypes for all interfaces */ ++ ++ ++/* End additional prototypes */ ++ ++#ifdef __cplusplus ++} ++#endif ++ ++#endif /* __windows_foundation_numerics_h__ */ +diff --git a/mingw-w64-headers/include/windows.graphics.directx.h b/mingw-w64-headers/include/windows.graphics.directx.h +new file mode 100644 +index 00000000..4bc4cb44 +--- /dev/null ++++ b/mingw-w64-headers/include/windows.graphics.directx.h +@@ -0,0 +1,343 @@ ++/*** Autogenerated by WIDL 4.4 from windows.graphics.directx.idl - Do not edit ***/ ++ ++#ifdef _WIN32 ++#ifndef __REQUIRED_RPCNDR_H_VERSION__ ++#define __REQUIRED_RPCNDR_H_VERSION__ 475 ++#endif ++#include <rpc.h> ++#include <rpcndr.h> ++#endif ++ ++#ifndef COM_NO_WINDOWS_H ++#include <windows.h> ++#include <ole2.h> ++#endif ++ ++#ifndef __windows_graphics_directx_h__ ++#define __windows_graphics_directx_h__ ++ ++/* Forward declarations */ ++ ++/* Headers for imported files */ ++ ++#include <inspectable.h> ++#include <windows.foundation.h> ++ ++#ifdef __cplusplus ++extern "C" { ++#endif ++ ++#ifdef __cplusplus ++} /* extern "C" */ ++namespace ABI { ++ namespace Windows { ++ namespace Graphics { ++ namespace DirectX { ++ enum DirectXAlphaMode { ++ DirectXAlphaMode_Unspecified = 0, ++ DirectXAlphaMode_Premultiplied = 1, ++ DirectXAlphaMode_Straight = 2, ++ DirectXAlphaMode_Ignore = 3 ++ }; ++ } ++ } ++ } ++} ++extern "C" { ++#else ++enum __x_ABI_CWindows_CGraphics_CDirectX_CDirectXAlphaMode { ++ DirectXAlphaMode_Unspecified = 0, ++ DirectXAlphaMode_Premultiplied = 1, ++ DirectXAlphaMode_Straight = 2, ++ DirectXAlphaMode_Ignore = 3 ++}; ++#endif ++ ++#ifdef __cplusplus ++namespace ABI { ++ namespace Windows { ++ namespace Graphics { ++ namespace DirectX { ++typedef enum DirectXAlphaMode DirectXAlphaMode; ++ } ++ } ++ } ++} ++#endif /* __cplusplus */ ++#ifdef __cplusplus ++} /* extern "C" */ ++namespace ABI { ++ namespace Windows { ++ namespace Graphics { ++ namespace DirectX { ++ enum DirectXPixelFormat { ++ DirectXPixelFormat_Unknown = 0, ++ DirectXPixelFormat_R32G32B32A32Typeless = 1, ++ DirectXPixelFormat_R32G32B32A32Float = 2, ++ DirectXPixelFormat_R32G32B32A32UInt = 3, ++ DirectXPixelFormat_R32G32B32A32Int = 4, ++ DirectXPixelFormat_R32G32B32Typeless = 5, ++ DirectXPixelFormat_R32G32B32Float = 6, ++ DirectXPixelFormat_R32G32B32UInt = 7, ++ DirectXPixelFormat_R32G32B32Int = 8, ++ DirectXPixelFormat_R16G16B16A16Typeless = 9, ++ DirectXPixelFormat_R16G16B16A16Float = 10, ++ DirectXPixelFormat_R16G16B16A16UIntNormalized = 11, ++ DirectXPixelFormat_R16G16B16A16UInt = 12, ++ DirectXPixelFormat_R16G16B16A16IntNormalized = 13, ++ DirectXPixelFormat_R16G16B16A16Int = 14, ++ DirectXPixelFormat_R32G32Typeless = 15, ++ DirectXPixelFormat_R32G32Float = 16, ++ DirectXPixelFormat_R32G32UInt = 17, ++ DirectXPixelFormat_R32G32Int = 18, ++ DirectXPixelFormat_R32G8X24Typeless = 19, ++ DirectXPixelFormat_D32FloatS8X24UInt = 20, ++ DirectXPixelFormat_R32FloatX8X24Typeless = 21, ++ DirectXPixelFormat_X32TypelessG8X24UInt = 22, ++ DirectXPixelFormat_R10G10B10A2Typeless = 23, ++ DirectXPixelFormat_R10G10B10A2UIntNormalized = 24, ++ DirectXPixelFormat_R10G10B10A2UInt = 25, ++ DirectXPixelFormat_R11G11B10Float = 26, ++ DirectXPixelFormat_R8G8B8A8Typeless = 27, ++ DirectXPixelFormat_R8G8B8A8UIntNormalized = 28, ++ DirectXPixelFormat_R8G8B8A8UIntNormalizedSrgb = 29, ++ DirectXPixelFormat_R8G8B8A8UInt = 30, ++ DirectXPixelFormat_R8G8B8A8IntNormalized = 31, ++ DirectXPixelFormat_R8G8B8A8Int = 32, ++ DirectXPixelFormat_R16G16Typeless = 33, ++ DirectXPixelFormat_R16G16Float = 34, ++ DirectXPixelFormat_R16G16UIntNormalized = 35, ++ DirectXPixelFormat_R16G16UInt = 36, ++ DirectXPixelFormat_R16G16IntNormalized = 37, ++ DirectXPixelFormat_R16G16Int = 38, ++ DirectXPixelFormat_R32Typeless = 39, ++ DirectXPixelFormat_D32Float = 40, ++ DirectXPixelFormat_R32Float = 41, ++ DirectXPixelFormat_R32UInt = 42, ++ DirectXPixelFormat_R32Int = 43, ++ DirectXPixelFormat_R24G8Typeless = 44, ++ DirectXPixelFormat_D24UIntNormalizedS8UInt = 45, ++ DirectXPixelFormat_R24UIntNormalizedX8Typeless = 46, ++ DirectXPixelFormat_X24TypelessG8UInt = 47, ++ DirectXPixelFormat_R8G8Typeless = 48, ++ DirectXPixelFormat_R8G8UIntNormalized = 49, ++ DirectXPixelFormat_R8G8UInt = 50, ++ DirectXPixelFormat_R8G8IntNormalized = 51, ++ DirectXPixelFormat_R8G8Int = 52, ++ DirectXPixelFormat_R16Typeless = 53, ++ DirectXPixelFormat_R16Float = 54, ++ DirectXPixelFormat_D16UIntNormalized = 55, ++ DirectXPixelFormat_R16UIntNormalized = 56, ++ DirectXPixelFormat_R16UInt = 57, ++ DirectXPixelFormat_R16IntNormalized = 58, ++ DirectXPixelFormat_R16Int = 59, ++ DirectXPixelFormat_R8Typeless = 60, ++ DirectXPixelFormat_R8UIntNormalized = 61, ++ DirectXPixelFormat_R8UInt = 62, ++ DirectXPixelFormat_R8IntNormalized = 63, ++ DirectXPixelFormat_R8Int = 64, ++ DirectXPixelFormat_A8UIntNormalized = 65, ++ DirectXPixelFormat_R1UIntNormalized = 66, ++ DirectXPixelFormat_R9G9B9E5SharedExponent = 67, ++ DirectXPixelFormat_R8G8B8G8UIntNormalized = 68, ++ DirectXPixelFormat_G8R8G8B8UIntNormalized = 69, ++ DirectXPixelFormat_BC1Typeless = 70, ++ DirectXPixelFormat_BC1UIntNormalized = 71, ++ DirectXPixelFormat_BC1UIntNormalizedSrgb = 72, ++ DirectXPixelFormat_BC2Typeless = 73, ++ DirectXPixelFormat_BC2UIntNormalized = 74, ++ DirectXPixelFormat_BC2UIntNormalizedSrgb = 75, ++ DirectXPixelFormat_BC3Typeless = 76, ++ DirectXPixelFormat_BC3UIntNormalized = 77, ++ DirectXPixelFormat_BC3UIntNormalizedSrgb = 78, ++ DirectXPixelFormat_BC4Typeless = 79, ++ DirectXPixelFormat_BC4UIntNormalized = 80, ++ DirectXPixelFormat_BC4IntNormalized = 81, ++ DirectXPixelFormat_BC5Typeless = 82, ++ DirectXPixelFormat_BC5UIntNormalized = 83, ++ DirectXPixelFormat_BC5IntNormalized = 84, ++ DirectXPixelFormat_B5G6R5UIntNormalized = 85, ++ DirectXPixelFormat_B5G5R5A1UIntNormalized = 86, ++ DirectXPixelFormat_B8G8R8A8UIntNormalized = 87, ++ DirectXPixelFormat_B8G8R8X8UIntNormalized = 88, ++ DirectXPixelFormat_R10G10B10XRBiasA2UIntNormalized = 89, ++ DirectXPixelFormat_B8G8R8A8Typeless = 90, ++ DirectXPixelFormat_B8G8R8A8UIntNormalizedSrgb = 91, ++ DirectXPixelFormat_B8G8R8X8Typeless = 92, ++ DirectXPixelFormat_B8G8R8X8UIntNormalizedSrgb = 93, ++ DirectXPixelFormat_BC6HTypeless = 94, ++ DirectXPixelFormat_BC6H16UnsignedFloat = 95, ++ DirectXPixelFormat_BC6H16Float = 96, ++ DirectXPixelFormat_BC7Typeless = 97, ++ DirectXPixelFormat_BC7UIntNormalized = 98, ++ DirectXPixelFormat_BC7UIntNormalizedSrgb = 99, ++ DirectXPixelFormat_Ayuv = 100, ++ DirectXPixelFormat_Y410 = 101, ++ DirectXPixelFormat_Y416 = 102, ++ DirectXPixelFormat_NV12 = 103, ++ DirectXPixelFormat_P010 = 104, ++ DirectXPixelFormat_P016 = 105, ++ DirectXPixelFormat_Opaque420 = 106, ++ DirectXPixelFormat_Yuy2 = 107, ++ DirectXPixelFormat_Y210 = 108, ++ DirectXPixelFormat_Y216 = 109, ++ DirectXPixelFormat_NV11 = 110, ++ DirectXPixelFormat_AI44 = 111, ++ DirectXPixelFormat_IA44 = 112, ++ DirectXPixelFormat_P8 = 113, ++ DirectXPixelFormat_A8P8 = 114, ++ DirectXPixelFormat_B4G4R4A4UIntNormalized = 115, ++ DirectXPixelFormat_P208 = 130, ++ DirectXPixelFormat_V208 = 131, ++ DirectXPixelFormat_V408 = 132 ++ }; ++ } ++ } ++ } ++} ++extern "C" { ++#else ++enum __x_ABI_CWindows_CGraphics_CDirectX_CDirectXPixelFormat { ++ DirectXPixelFormat_Unknown = 0, ++ DirectXPixelFormat_R32G32B32A32Typeless = 1, ++ DirectXPixelFormat_R32G32B32A32Float = 2, ++ DirectXPixelFormat_R32G32B32A32UInt = 3, ++ DirectXPixelFormat_R32G32B32A32Int = 4, ++ DirectXPixelFormat_R32G32B32Typeless = 5, ++ DirectXPixelFormat_R32G32B32Float = 6, ++ DirectXPixelFormat_R32G32B32UInt = 7, ++ DirectXPixelFormat_R32G32B32Int = 8, ++ DirectXPixelFormat_R16G16B16A16Typeless = 9, ++ DirectXPixelFormat_R16G16B16A16Float = 10, ++ DirectXPixelFormat_R16G16B16A16UIntNormalized = 11, ++ DirectXPixelFormat_R16G16B16A16UInt = 12, ++ DirectXPixelFormat_R16G16B16A16IntNormalized = 13, ++ DirectXPixelFormat_R16G16B16A16Int = 14, ++ DirectXPixelFormat_R32G32Typeless = 15, ++ DirectXPixelFormat_R32G32Float = 16, ++ DirectXPixelFormat_R32G32UInt = 17, ++ DirectXPixelFormat_R32G32Int = 18, ++ DirectXPixelFormat_R32G8X24Typeless = 19, ++ DirectXPixelFormat_D32FloatS8X24UInt = 20, ++ DirectXPixelFormat_R32FloatX8X24Typeless = 21, ++ DirectXPixelFormat_X32TypelessG8X24UInt = 22, ++ DirectXPixelFormat_R10G10B10A2Typeless = 23, ++ DirectXPixelFormat_R10G10B10A2UIntNormalized = 24, ++ DirectXPixelFormat_R10G10B10A2UInt = 25, ++ DirectXPixelFormat_R11G11B10Float = 26, ++ DirectXPixelFormat_R8G8B8A8Typeless = 27, ++ DirectXPixelFormat_R8G8B8A8UIntNormalized = 28, ++ DirectXPixelFormat_R8G8B8A8UIntNormalizedSrgb = 29, ++ DirectXPixelFormat_R8G8B8A8UInt = 30, ++ DirectXPixelFormat_R8G8B8A8IntNormalized = 31, ++ DirectXPixelFormat_R8G8B8A8Int = 32, ++ DirectXPixelFormat_R16G16Typeless = 33, ++ DirectXPixelFormat_R16G16Float = 34, ++ DirectXPixelFormat_R16G16UIntNormalized = 35, ++ DirectXPixelFormat_R16G16UInt = 36, ++ DirectXPixelFormat_R16G16IntNormalized = 37, ++ DirectXPixelFormat_R16G16Int = 38, ++ DirectXPixelFormat_R32Typeless = 39, ++ DirectXPixelFormat_D32Float = 40, ++ DirectXPixelFormat_R32Float = 41, ++ DirectXPixelFormat_R32UInt = 42, ++ DirectXPixelFormat_R32Int = 43, ++ DirectXPixelFormat_R24G8Typeless = 44, ++ DirectXPixelFormat_D24UIntNormalizedS8UInt = 45, ++ DirectXPixelFormat_R24UIntNormalizedX8Typeless = 46, ++ DirectXPixelFormat_X24TypelessG8UInt = 47, ++ DirectXPixelFormat_R8G8Typeless = 48, ++ DirectXPixelFormat_R8G8UIntNormalized = 49, ++ DirectXPixelFormat_R8G8UInt = 50, ++ DirectXPixelFormat_R8G8IntNormalized = 51, ++ DirectXPixelFormat_R8G8Int = 52, ++ DirectXPixelFormat_R16Typeless = 53, ++ DirectXPixelFormat_R16Float = 54, ++ DirectXPixelFormat_D16UIntNormalized = 55, ++ DirectXPixelFormat_R16UIntNormalized = 56, ++ DirectXPixelFormat_R16UInt = 57, ++ DirectXPixelFormat_R16IntNormalized = 58, ++ DirectXPixelFormat_R16Int = 59, ++ DirectXPixelFormat_R8Typeless = 60, ++ DirectXPixelFormat_R8UIntNormalized = 61, ++ DirectXPixelFormat_R8UInt = 62, ++ DirectXPixelFormat_R8IntNormalized = 63, ++ DirectXPixelFormat_R8Int = 64, ++ DirectXPixelFormat_A8UIntNormalized = 65, ++ DirectXPixelFormat_R1UIntNormalized = 66, ++ DirectXPixelFormat_R9G9B9E5SharedExponent = 67, ++ DirectXPixelFormat_R8G8B8G8UIntNormalized = 68, ++ DirectXPixelFormat_G8R8G8B8UIntNormalized = 69, ++ DirectXPixelFormat_BC1Typeless = 70, ++ DirectXPixelFormat_BC1UIntNormalized = 71, ++ DirectXPixelFormat_BC1UIntNormalizedSrgb = 72, ++ DirectXPixelFormat_BC2Typeless = 73, ++ DirectXPixelFormat_BC2UIntNormalized = 74, ++ DirectXPixelFormat_BC2UIntNormalizedSrgb = 75, ++ DirectXPixelFormat_BC3Typeless = 76, ++ DirectXPixelFormat_BC3UIntNormalized = 77, ++ DirectXPixelFormat_BC3UIntNormalizedSrgb = 78, ++ DirectXPixelFormat_BC4Typeless = 79, ++ DirectXPixelFormat_BC4UIntNormalized = 80, ++ DirectXPixelFormat_BC4IntNormalized = 81, ++ DirectXPixelFormat_BC5Typeless = 82, ++ DirectXPixelFormat_BC5UIntNormalized = 83, ++ DirectXPixelFormat_BC5IntNormalized = 84, ++ DirectXPixelFormat_B5G6R5UIntNormalized = 85, ++ DirectXPixelFormat_B5G5R5A1UIntNormalized = 86, ++ DirectXPixelFormat_B8G8R8A8UIntNormalized = 87, ++ DirectXPixelFormat_B8G8R8X8UIntNormalized = 88, ++ DirectXPixelFormat_R10G10B10XRBiasA2UIntNormalized = 89, ++ DirectXPixelFormat_B8G8R8A8Typeless = 90, ++ DirectXPixelFormat_B8G8R8A8UIntNormalizedSrgb = 91, ++ DirectXPixelFormat_B8G8R8X8Typeless = 92, ++ DirectXPixelFormat_B8G8R8X8UIntNormalizedSrgb = 93, ++ DirectXPixelFormat_BC6HTypeless = 94, ++ DirectXPixelFormat_BC6H16UnsignedFloat = 95, ++ DirectXPixelFormat_BC6H16Float = 96, ++ DirectXPixelFormat_BC7Typeless = 97, ++ DirectXPixelFormat_BC7UIntNormalized = 98, ++ DirectXPixelFormat_BC7UIntNormalizedSrgb = 99, ++ DirectXPixelFormat_Ayuv = 100, ++ DirectXPixelFormat_Y410 = 101, ++ DirectXPixelFormat_Y416 = 102, ++ DirectXPixelFormat_NV12 = 103, ++ DirectXPixelFormat_P010 = 104, ++ DirectXPixelFormat_P016 = 105, ++ DirectXPixelFormat_Opaque420 = 106, ++ DirectXPixelFormat_Yuy2 = 107, ++ DirectXPixelFormat_Y210 = 108, ++ DirectXPixelFormat_Y216 = 109, ++ DirectXPixelFormat_NV11 = 110, ++ DirectXPixelFormat_AI44 = 111, ++ DirectXPixelFormat_IA44 = 112, ++ DirectXPixelFormat_P8 = 113, ++ DirectXPixelFormat_A8P8 = 114, ++ DirectXPixelFormat_B4G4R4A4UIntNormalized = 115, ++ DirectXPixelFormat_P208 = 130, ++ DirectXPixelFormat_V208 = 131, ++ DirectXPixelFormat_V408 = 132 ++}; ++#endif ++ ++#ifdef __cplusplus ++namespace ABI { ++ namespace Windows { ++ namespace Graphics { ++ namespace DirectX { ++typedef enum DirectXPixelFormat DirectXPixelFormat; ++ } ++ } ++ } ++} ++#endif /* __cplusplus */ ++/* Begin additional prototypes for all interfaces */ ++ ++ ++/* End additional prototypes */ ++ ++#ifdef __cplusplus ++} ++#endif ++ ++#endif /* __windows_graphics_directx_h__ */ +diff --git a/mingw-w64-headers/include/windows.graphics.effects.h b/mingw-w64-headers/include/windows.graphics.effects.h +new file mode 100644 +index 00000000..7c6e62a5 +--- /dev/null ++++ b/mingw-w64-headers/include/windows.graphics.effects.h +@@ -0,0 +1,184 @@ ++/*** Autogenerated by WIDL 4.4 from windows.graphics.effects.idl - Do not edit ***/ ++ ++#ifdef _WIN32 ++#ifndef __REQUIRED_RPCNDR_H_VERSION__ ++#define __REQUIRED_RPCNDR_H_VERSION__ 475 ++#endif ++#include <rpc.h> ++#include <rpcndr.h> ++#endif ++ ++#ifndef COM_NO_WINDOWS_H ++#include <windows.h> ++#include <ole2.h> ++#endif ++ ++#ifndef __windows_graphics_effects_h__ ++#define __windows_graphics_effects_h__ ++ ++/* Forward declarations */ ++ ++#ifndef ____x_ABI_CWindows_CGraphics_CEffects_CIGraphicsEffect_FWD_DEFINED__ ++#define ____x_ABI_CWindows_CGraphics_CEffects_CIGraphicsEffect_FWD_DEFINED__ ++typedef interface __x_ABI_CWindows_CGraphics_CEffects_CIGraphicsEffect __x_ABI_CWindows_CGraphics_CEffects_CIGraphicsEffect; ++#ifdef __cplusplus ++namespace ABI { ++ namespace Windows { ++ namespace Graphics { ++ namespace Effects { ++ interface IGraphicsEffect; ++ } ++ } ++ } ++} ++#endif /* __cplusplus */ ++#endif ++ ++/* Headers for imported files */ ++ ++#include <inspectable.h> ++#include <windows.foundation.h> ++ ++#ifdef __cplusplus ++extern "C" { ++#endif ++ ++/***************************************************************************** ++ * IGraphicsEffect interface ++ */ ++#ifndef ____x_ABI_CWindows_CGraphics_CEffects_CIGraphicsEffect_INTERFACE_DEFINED__ ++#define ____x_ABI_CWindows_CGraphics_CEffects_CIGraphicsEffect_INTERFACE_DEFINED__ ++ ++DEFINE_GUID(IID___x_ABI_CWindows_CGraphics_CEffects_CIGraphicsEffect, 0xcb51c0ce, 0x8fe6, 0x4636, 0xb2,0x02, 0x86,0x1f,0xaa,0x07,0xd8,0xf3); ++#if defined(__cplusplus) && !defined(CINTERFACE) ++} /* extern "C" */ ++namespace ABI { ++ namespace Windows { ++ namespace Graphics { ++ namespace Effects { ++ MIDL_INTERFACE("cb51c0ce-8fe6-4636-b202-861faa07d8f3") ++ IGraphicsEffect : public IInspectable ++ { ++ virtual HRESULT STDMETHODCALLTYPE get_Name( ++ HSTRING *name) = 0; ++ ++ virtual HRESULT STDMETHODCALLTYPE put_Name( ++ HSTRING name) = 0; ++ ++ }; ++ } ++ } ++ } ++} ++extern "C" { ++#ifdef __CRT_UUID_DECL ++__CRT_UUID_DECL(ABI::Windows::Graphics::Effects::IGraphicsEffect, 0xcb51c0ce, 0x8fe6, 0x4636, 0xb2,0x02, 0x86,0x1f,0xaa,0x07,0xd8,0xf3) ++#endif ++#else ++typedef struct __x_ABI_CWindows_CGraphics_CEffects_CIGraphicsEffectVtbl { ++ BEGIN_INTERFACE ++ ++ /*** IUnknown methods ***/ ++ HRESULT (STDMETHODCALLTYPE *QueryInterface)( ++ __x_ABI_CWindows_CGraphics_CEffects_CIGraphicsEffect *This, ++ REFIID riid, ++ void **ppvObject); ++ ++ ULONG (STDMETHODCALLTYPE *AddRef)( ++ __x_ABI_CWindows_CGraphics_CEffects_CIGraphicsEffect *This); ++ ++ ULONG (STDMETHODCALLTYPE *Release)( ++ __x_ABI_CWindows_CGraphics_CEffects_CIGraphicsEffect *This); ++ ++ /*** IInspectable methods ***/ ++ HRESULT (STDMETHODCALLTYPE *GetIids)( ++ __x_ABI_CWindows_CGraphics_CEffects_CIGraphicsEffect *This, ++ ULONG *iidCount, ++ IID **iids); ++ ++ HRESULT (STDMETHODCALLTYPE *GetRuntimeClassName)( ++ __x_ABI_CWindows_CGraphics_CEffects_CIGraphicsEffect *This, ++ HSTRING *className); ++ ++ HRESULT (STDMETHODCALLTYPE *GetTrustLevel)( ++ __x_ABI_CWindows_CGraphics_CEffects_CIGraphicsEffect *This, ++ TrustLevel *trustLevel); ++ ++ /*** IGraphicsEffect methods ***/ ++ HRESULT (STDMETHODCALLTYPE *get_Name)( ++ __x_ABI_CWindows_CGraphics_CEffects_CIGraphicsEffect *This, ++ HSTRING *name); ++ ++ HRESULT (STDMETHODCALLTYPE *put_Name)( ++ __x_ABI_CWindows_CGraphics_CEffects_CIGraphicsEffect *This, ++ HSTRING name); ++ ++ END_INTERFACE ++} __x_ABI_CWindows_CGraphics_CEffects_CIGraphicsEffectVtbl; ++ ++interface __x_ABI_CWindows_CGraphics_CEffects_CIGraphicsEffect { ++ CONST_VTBL __x_ABI_CWindows_CGraphics_CEffects_CIGraphicsEffectVtbl* lpVtbl; ++}; ++ ++#ifdef COBJMACROS ++#ifndef WIDL_C_INLINE_WRAPPERS ++/*** IUnknown methods ***/ ++#define __x_ABI_CWindows_CGraphics_CEffects_CIGraphicsEffect_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) ++#define __x_ABI_CWindows_CGraphics_CEffects_CIGraphicsEffect_AddRef(This) (This)->lpVtbl->AddRef(This) ++#define __x_ABI_CWindows_CGraphics_CEffects_CIGraphicsEffect_Release(This) (This)->lpVtbl->Release(This) ++/*** IInspectable methods ***/ ++#define __x_ABI_CWindows_CGraphics_CEffects_CIGraphicsEffect_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids) ++#define __x_ABI_CWindows_CGraphics_CEffects_CIGraphicsEffect_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className) ++#define __x_ABI_CWindows_CGraphics_CEffects_CIGraphicsEffect_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel) ++/*** IGraphicsEffect methods ***/ ++#define __x_ABI_CWindows_CGraphics_CEffects_CIGraphicsEffect_get_Name(This,name) (This)->lpVtbl->get_Name(This,name) ++#define __x_ABI_CWindows_CGraphics_CEffects_CIGraphicsEffect_put_Name(This,name) (This)->lpVtbl->put_Name(This,name) ++#else ++/*** IUnknown methods ***/ ++static FORCEINLINE HRESULT __x_ABI_CWindows_CGraphics_CEffects_CIGraphicsEffect_QueryInterface(__x_ABI_CWindows_CGraphics_CEffects_CIGraphicsEffect* This,REFIID riid,void **ppvObject) { ++ return This->lpVtbl->QueryInterface(This,riid,ppvObject); ++} ++static FORCEINLINE ULONG __x_ABI_CWindows_CGraphics_CEffects_CIGraphicsEffect_AddRef(__x_ABI_CWindows_CGraphics_CEffects_CIGraphicsEffect* This) { ++ return This->lpVtbl->AddRef(This); ++} ++static FORCEINLINE ULONG __x_ABI_CWindows_CGraphics_CEffects_CIGraphicsEffect_Release(__x_ABI_CWindows_CGraphics_CEffects_CIGraphicsEffect* This) { ++ return This->lpVtbl->Release(This); ++} ++/*** IInspectable methods ***/ ++static FORCEINLINE HRESULT __x_ABI_CWindows_CGraphics_CEffects_CIGraphicsEffect_GetIids(__x_ABI_CWindows_CGraphics_CEffects_CIGraphicsEffect* This,ULONG *iidCount,IID **iids) { ++ return This->lpVtbl->GetIids(This,iidCount,iids); ++} ++static FORCEINLINE HRESULT __x_ABI_CWindows_CGraphics_CEffects_CIGraphicsEffect_GetRuntimeClassName(__x_ABI_CWindows_CGraphics_CEffects_CIGraphicsEffect* This,HSTRING *className) { ++ return This->lpVtbl->GetRuntimeClassName(This,className); ++} ++static FORCEINLINE HRESULT __x_ABI_CWindows_CGraphics_CEffects_CIGraphicsEffect_GetTrustLevel(__x_ABI_CWindows_CGraphics_CEffects_CIGraphicsEffect* This,TrustLevel *trustLevel) { ++ return This->lpVtbl->GetTrustLevel(This,trustLevel); ++} ++/*** IGraphicsEffect methods ***/ ++static FORCEINLINE HRESULT __x_ABI_CWindows_CGraphics_CEffects_CIGraphicsEffect_get_Name(__x_ABI_CWindows_CGraphics_CEffects_CIGraphicsEffect* This,HSTRING *name) { ++ return This->lpVtbl->get_Name(This,name); ++} ++static FORCEINLINE HRESULT __x_ABI_CWindows_CGraphics_CEffects_CIGraphicsEffect_put_Name(__x_ABI_CWindows_CGraphics_CEffects_CIGraphicsEffect* This,HSTRING name) { ++ return This->lpVtbl->put_Name(This,name); ++} ++#endif ++#endif ++ ++#endif ++ ++#endif /* ____x_ABI_CWindows_CGraphics_CEffects_CIGraphicsEffect_INTERFACE_DEFINED__ */ ++ ++/* Begin additional prototypes for all interfaces */ ++ ++ULONG __RPC_USER HSTRING_UserSize (ULONG *, ULONG, HSTRING *); ++unsigned char * __RPC_USER HSTRING_UserMarshal (ULONG *, unsigned char *, HSTRING *); ++unsigned char * __RPC_USER HSTRING_UserUnmarshal(ULONG *, unsigned char *, HSTRING *); ++void __RPC_USER HSTRING_UserFree (ULONG *, HSTRING *); ++ ++/* End additional prototypes */ ++ ++#ifdef __cplusplus ++} ++#endif ++ ++#endif /* __windows_graphics_effects_h__ */ +diff --git a/mingw-w64-headers/include/windows.ui.composition.h b/mingw-w64-headers/include/windows.ui.composition.h +new file mode 100644 +index 00000000..9410a3ce +--- /dev/null ++++ b/mingw-w64-headers/include/windows.ui.composition.h +@@ -0,0 +1,3212 @@ ++/*** Autogenerated by WIDL 4.4 from windows.ui.composition.idl - Do not edit ***/ ++ ++#ifdef _WIN32 ++#ifndef __REQUIRED_RPCNDR_H_VERSION__ ++#define __REQUIRED_RPCNDR_H_VERSION__ 475 ++#endif ++#include <rpc.h> ++#include <rpcndr.h> ++#endif ++ ++#ifndef COM_NO_WINDOWS_H ++#include <windows.h> ++#include <ole2.h> ++#endif ++ ++#ifndef __windows_ui_composition_h__ ++#define __windows_ui_composition_h__ ++ ++/* Forward declarations */ ++ ++#ifndef ____x_ABI_CWindows_CUI_CComposition_CICompositionBrush_FWD_DEFINED__ ++#define ____x_ABI_CWindows_CUI_CComposition_CICompositionBrush_FWD_DEFINED__ ++typedef interface __x_ABI_CWindows_CUI_CComposition_CICompositionBrush __x_ABI_CWindows_CUI_CComposition_CICompositionBrush; ++#ifdef __cplusplus ++namespace ABI { ++ namespace Windows { ++ namespace UI { ++ namespace Composition { ++ interface ICompositionBrush; ++ } ++ } ++ } ++} ++#endif /* __cplusplus */ ++#endif ++ ++#ifndef ____x_ABI_CWindows_CUI_CComposition_CICompositionSurface_FWD_DEFINED__ ++#define ____x_ABI_CWindows_CUI_CComposition_CICompositionSurface_FWD_DEFINED__ ++typedef interface __x_ABI_CWindows_CUI_CComposition_CICompositionSurface __x_ABI_CWindows_CUI_CComposition_CICompositionSurface; ++#ifdef __cplusplus ++namespace ABI { ++ namespace Windows { ++ namespace UI { ++ namespace Composition { ++ interface ICompositionSurface; ++ } ++ } ++ } ++} ++#endif /* __cplusplus */ ++#endif ++ ++#ifndef ____x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush_FWD_DEFINED__ ++#define ____x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush_FWD_DEFINED__ ++typedef interface __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush; ++#ifdef __cplusplus ++namespace ABI { ++ namespace Windows { ++ namespace UI { ++ namespace Composition { ++ interface ICompositionSurfaceBrush; ++ } ++ } ++ } ++} ++#endif /* __cplusplus */ ++#endif ++ ++#ifndef ____x_ABI_CWindows_CUI_CComposition_CCompositionBrush_FWD_DEFINED__ ++#define ____x_ABI_CWindows_CUI_CComposition_CCompositionBrush_FWD_DEFINED__ ++typedef interface __x_ABI_CWindows_CUI_CComposition_CCompositionBrush __x_ABI_CWindows_CUI_CComposition_CCompositionBrush; ++#ifdef __cplusplus ++namespace ABI { ++ namespace Windows { ++ namespace UI { ++ namespace Composition { ++ interface CompositionBrush; ++ } ++ } ++ } ++} ++#endif /* __cplusplus */ ++#endif ++ ++#ifndef ____x_ABI_CWindows_CUI_CComposition_CISpriteVisual_FWD_DEFINED__ ++#define ____x_ABI_CWindows_CUI_CComposition_CISpriteVisual_FWD_DEFINED__ ++typedef interface __x_ABI_CWindows_CUI_CComposition_CISpriteVisual __x_ABI_CWindows_CUI_CComposition_CISpriteVisual; ++#ifdef __cplusplus ++namespace ABI { ++ namespace Windows { ++ namespace UI { ++ namespace Composition { ++ interface ISpriteVisual; ++ } ++ } ++ } ++} ++#endif /* __cplusplus */ ++#endif ++ ++#ifndef ____x_ABI_CWindows_CUI_CComposition_CSpriteVisual_FWD_DEFINED__ ++#define ____x_ABI_CWindows_CUI_CComposition_CSpriteVisual_FWD_DEFINED__ ++typedef interface __x_ABI_CWindows_CUI_CComposition_CSpriteVisual __x_ABI_CWindows_CUI_CComposition_CSpriteVisual; ++#ifdef __cplusplus ++namespace ABI { ++ namespace Windows { ++ namespace UI { ++ namespace Composition { ++ interface SpriteVisual; ++ } ++ } ++ } ++} ++#endif /* __cplusplus */ ++#endif ++ ++#ifndef ____x_ABI_CWindows_CUI_CComposition_CCompositionClip_FWD_DEFINED__ ++#define ____x_ABI_CWindows_CUI_CComposition_CCompositionClip_FWD_DEFINED__ ++typedef interface __x_ABI_CWindows_CUI_CComposition_CCompositionClip __x_ABI_CWindows_CUI_CComposition_CCompositionClip; ++#ifdef __cplusplus ++namespace ABI { ++ namespace Windows { ++ namespace UI { ++ namespace Composition { ++ interface CompositionClip; ++ } ++ } ++ } ++} ++#endif /* __cplusplus */ ++#endif ++ ++#ifndef ____x_ABI_CWindows_CUI_CComposition_CContainerVisual_FWD_DEFINED__ ++#define ____x_ABI_CWindows_CUI_CComposition_CContainerVisual_FWD_DEFINED__ ++typedef interface __x_ABI_CWindows_CUI_CComposition_CContainerVisual __x_ABI_CWindows_CUI_CComposition_CContainerVisual; ++#ifdef __cplusplus ++namespace ABI { ++ namespace Windows { ++ namespace UI { ++ namespace Composition { ++ interface ContainerVisual; ++ } ++ } ++ } ++} ++#endif /* __cplusplus */ ++#endif ++ ++#ifndef ____x_ABI_CWindows_CUI_CComposition_CIVisual_FWD_DEFINED__ ++#define ____x_ABI_CWindows_CUI_CComposition_CIVisual_FWD_DEFINED__ ++typedef interface __x_ABI_CWindows_CUI_CComposition_CIVisual __x_ABI_CWindows_CUI_CComposition_CIVisual; ++#ifdef __cplusplus ++namespace ABI { ++ namespace Windows { ++ namespace UI { ++ namespace Composition { ++ interface IVisual; ++ } ++ } ++ } ++} ++#endif /* __cplusplus */ ++#endif ++ ++#ifndef ____x_ABI_CWindows_CUI_CComposition_CCompositor_FWD_DEFINED__ ++#define ____x_ABI_CWindows_CUI_CComposition_CCompositor_FWD_DEFINED__ ++typedef interface __x_ABI_CWindows_CUI_CComposition_CCompositor __x_ABI_CWindows_CUI_CComposition_CCompositor; ++#ifdef __cplusplus ++namespace ABI { ++ namespace Windows { ++ namespace UI { ++ namespace Composition { ++ interface Compositor; ++ } ++ } ++ } ++} ++#endif /* __cplusplus */ ++#endif ++ ++#ifndef ____x_ABI_CWindows_CUI_CComposition_CCompositionPropertySet_FWD_DEFINED__ ++#define ____x_ABI_CWindows_CUI_CComposition_CCompositionPropertySet_FWD_DEFINED__ ++typedef interface __x_ABI_CWindows_CUI_CComposition_CCompositionPropertySet __x_ABI_CWindows_CUI_CComposition_CCompositionPropertySet; ++#ifdef __cplusplus ++namespace ABI { ++ namespace Windows { ++ namespace UI { ++ namespace Composition { ++ interface CompositionPropertySet; ++ } ++ } ++ } ++} ++#endif /* __cplusplus */ ++#endif ++ ++#ifndef ____x_ABI_CWindows_CUI_CComposition_CCompositionAnimation_FWD_DEFINED__ ++#define ____x_ABI_CWindows_CUI_CComposition_CCompositionAnimation_FWD_DEFINED__ ++typedef interface __x_ABI_CWindows_CUI_CComposition_CCompositionAnimation __x_ABI_CWindows_CUI_CComposition_CCompositionAnimation; ++#ifdef __cplusplus ++namespace ABI { ++ namespace Windows { ++ namespace UI { ++ namespace Composition { ++ interface CompositionAnimation; ++ } ++ } ++ } ++} ++#endif /* __cplusplus */ ++#endif ++ ++#ifndef ____x_ABI_CWindows_CUI_CComposition_CICompositionObject_FWD_DEFINED__ ++#define ____x_ABI_CWindows_CUI_CComposition_CICompositionObject_FWD_DEFINED__ ++typedef interface __x_ABI_CWindows_CUI_CComposition_CICompositionObject __x_ABI_CWindows_CUI_CComposition_CICompositionObject; ++#ifdef __cplusplus ++namespace ABI { ++ namespace Windows { ++ namespace UI { ++ namespace Composition { ++ interface ICompositionObject; ++ } ++ } ++ } ++} ++#endif /* __cplusplus */ ++#endif ++ ++#ifndef ____x_ABI_CWindows_CUI_CComposition_CColorKeyFrameAnimation_FWD_DEFINED__ ++#define ____x_ABI_CWindows_CUI_CComposition_CColorKeyFrameAnimation_FWD_DEFINED__ ++typedef interface __x_ABI_CWindows_CUI_CComposition_CColorKeyFrameAnimation __x_ABI_CWindows_CUI_CComposition_CColorKeyFrameAnimation; ++#ifdef __cplusplus ++namespace ABI { ++ namespace Windows { ++ namespace UI { ++ namespace Composition { ++ interface ColorKeyFrameAnimation; ++ } ++ } ++ } ++} ++#endif /* __cplusplus */ ++#endif ++ ++#ifndef ____x_ABI_CWindows_CUI_CComposition_CCompositionColorBrush_FWD_DEFINED__ ++#define ____x_ABI_CWindows_CUI_CComposition_CCompositionColorBrush_FWD_DEFINED__ ++typedef interface __x_ABI_CWindows_CUI_CComposition_CCompositionColorBrush __x_ABI_CWindows_CUI_CComposition_CCompositionColorBrush; ++#ifdef __cplusplus ++namespace ABI { ++ namespace Windows { ++ namespace UI { ++ namespace Composition { ++ interface CompositionColorBrush; ++ } ++ } ++ } ++} ++#endif /* __cplusplus */ ++#endif ++ ++#ifndef ____x_ABI_CWindows_CUI_CComposition_CCubicBezierEasingFunction_FWD_DEFINED__ ++#define ____x_ABI_CWindows_CUI_CComposition_CCubicBezierEasingFunction_FWD_DEFINED__ ++typedef interface __x_ABI_CWindows_CUI_CComposition_CCubicBezierEasingFunction __x_ABI_CWindows_CUI_CComposition_CCubicBezierEasingFunction; ++#ifdef __cplusplus ++namespace ABI { ++ namespace Windows { ++ namespace UI { ++ namespace Composition { ++ interface CubicBezierEasingFunction; ++ } ++ } ++ } ++} ++#endif /* __cplusplus */ ++#endif ++ ++#ifndef ____x_ABI_CWindows_CUI_CComposition_CICompositor_FWD_DEFINED__ ++#define ____x_ABI_CWindows_CUI_CComposition_CICompositor_FWD_DEFINED__ ++typedef interface __x_ABI_CWindows_CUI_CComposition_CICompositor __x_ABI_CWindows_CUI_CComposition_CICompositor; ++#ifdef __cplusplus ++namespace ABI { ++ namespace Windows { ++ namespace UI { ++ namespace Composition { ++ interface ICompositor; ++ } ++ } ++ } ++} ++#endif /* __cplusplus */ ++#endif ++ ++#ifndef ____x_ABI_CWindows_CUI_CComposition_CICompositionGraphicsDevice_FWD_DEFINED__ ++#define ____x_ABI_CWindows_CUI_CComposition_CICompositionGraphicsDevice_FWD_DEFINED__ ++typedef interface __x_ABI_CWindows_CUI_CComposition_CICompositionGraphicsDevice __x_ABI_CWindows_CUI_CComposition_CICompositionGraphicsDevice; ++#ifdef __cplusplus ++namespace ABI { ++ namespace Windows { ++ namespace UI { ++ namespace Composition { ++ interface ICompositionGraphicsDevice; ++ } ++ } ++ } ++} ++#endif /* __cplusplus */ ++#endif ++ ++/* Headers for imported files */ ++ ++#include <inspectable.h> ++#include <windows.foundation.h> ++#include <windows.foundation.numerics.h> ++#include <windows.graphics.directx.h> ++#include <windows.graphics.effects.h> ++#include <windows.ui.h> ++#include <windows.ui.core.h> ++ ++#ifdef __cplusplus ++extern "C" { ++#endif ++ ++#ifdef __cplusplus ++} /* extern "C" */ ++namespace ABI { ++ namespace Windows { ++ namespace UI { ++ namespace Composition { ++ enum CompositionBitmapInterpolationMode { ++ CompositionBitmapInterpolationMode_NearestNeighbor = 0, ++ CompositionBitmapInterpolationMode_Linear = 1 ++ }; ++ } ++ } ++ } ++} ++extern "C" { ++#else ++enum __x_ABI_CWindows_CUI_CComposition_CCompositionBitmapInterpolationMode { ++ CompositionBitmapInterpolationMode_NearestNeighbor = 0, ++ CompositionBitmapInterpolationMode_Linear = 1 ++}; ++#endif ++ ++#ifdef __cplusplus ++namespace ABI { ++ namespace Windows { ++ namespace UI { ++ namespace Composition { ++typedef enum CompositionBitmapInterpolationMode CompositionBitmapInterpolationMode; ++ } ++ } ++ } ++} ++#endif /* __cplusplus */ ++#ifdef __cplusplus ++} /* extern "C" */ ++namespace ABI { ++ namespace Windows { ++ namespace UI { ++ namespace Composition { ++ enum CompositionStretch { ++ CompositionStretch_None = 0, ++ CompositionStretch_Fill = 1, ++ CompositionStretch_Uniform = 2, ++ CompositionStretch_UniformToFill = 3 ++ }; ++ } ++ } ++ } ++} ++extern "C" { ++#else ++enum __x_ABI_CWindows_CUI_CComposition_CCompositionStretch { ++ CompositionStretch_None = 0, ++ CompositionStretch_Fill = 1, ++ CompositionStretch_Uniform = 2, ++ CompositionStretch_UniformToFill = 3 ++}; ++#endif ++ ++#ifdef __cplusplus ++namespace ABI { ++ namespace Windows { ++ namespace UI { ++ namespace Composition { ++typedef enum CompositionStretch CompositionStretch; ++ } ++ } ++ } ++} ++#endif /* __cplusplus */ ++#ifdef __cplusplus ++} /* extern "C" */ ++namespace ABI { ++ namespace Windows { ++ namespace UI { ++ namespace Composition { ++ enum CompositionBackfaceVisibility { ++ CompositionBackfaceVisibility_Inherit = 0, ++ CompositionBackfaceVisibility_Visible = 1, ++ CompositionBackfaceVisibility_Hidden = 2 ++ }; ++ } ++ } ++ } ++} ++extern "C" { ++#else ++enum __x_ABI_CWindows_CUI_CComposition_CCompositionBackfaceVisibility { ++ CompositionBackfaceVisibility_Inherit = 0, ++ CompositionBackfaceVisibility_Visible = 1, ++ CompositionBackfaceVisibility_Hidden = 2 ++}; ++#endif ++ ++#ifdef __cplusplus ++namespace ABI { ++ namespace Windows { ++ namespace UI { ++ namespace Composition { ++typedef enum CompositionBackfaceVisibility CompositionBackfaceVisibility; ++ } ++ } ++ } ++} ++#endif /* __cplusplus */ ++#ifdef __cplusplus ++} /* extern "C" */ ++namespace ABI { ++ namespace Windows { ++ namespace UI { ++ namespace Composition { ++ enum CompositionBorderMode { ++ CompositionBorderMode_Inherit = 0, ++ CompositionBorderMode_Soft = 1, ++ CompositionBorderMode_Hard = 2 ++ }; ++ } ++ } ++ } ++} ++extern "C" { ++#else ++enum __x_ABI_CWindows_CUI_CComposition_CCompositionBorderMode { ++ CompositionBorderMode_Inherit = 0, ++ CompositionBorderMode_Soft = 1, ++ CompositionBorderMode_Hard = 2 ++}; ++#endif ++ ++#ifdef __cplusplus ++namespace ABI { ++ namespace Windows { ++ namespace UI { ++ namespace Composition { ++typedef enum CompositionBorderMode CompositionBorderMode; ++ } ++ } ++ } ++} ++#endif /* __cplusplus */ ++#ifdef __cplusplus ++} /* extern "C" */ ++namespace ABI { ++ namespace Windows { ++ namespace UI { ++ namespace Composition { ++ enum CompositionCompositeMode { ++ CompositionCompositeMode_Inherit = 0, ++ CompositionCompositeMode_SourceOver = 1, ++ CompositionCompositeMode_DestinationInvert = 2, ++ CompositionCompositeMode_MinBlend = 3 ++ }; ++ } ++ } ++ } ++} ++extern "C" { ++#else ++enum __x_ABI_CWindows_CUI_CComposition_CCompositionCompositeMode { ++ CompositionCompositeMode_Inherit = 0, ++ CompositionCompositeMode_SourceOver = 1, ++ CompositionCompositeMode_DestinationInvert = 2, ++ CompositionCompositeMode_MinBlend = 3 ++}; ++#endif ++ ++#ifdef __cplusplus ++namespace ABI { ++ namespace Windows { ++ namespace UI { ++ namespace Composition { ++typedef enum CompositionCompositeMode CompositionCompositeMode; ++ } ++ } ++ } ++} ++#endif /* __cplusplus */ ++#ifdef __cplusplus ++} /* extern "C" */ ++namespace ABI { ++ namespace Windows { ++ namespace UI { ++ namespace Composition { ++ enum CompositionBatchTypes { ++ CompositionBatchTypes_None = 0x0, ++ CompositionBatchTypes_Animation = 0x1, ++ CompositionBatchTypes_Effect = 0x2 ++ }; ++ } ++ } ++ } ++} ++extern "C" { ++#else ++enum __x_ABI_CWindows_CUI_CComposition_CCompositionBatchTypes { ++ CompositionBatchTypes_None = 0x0, ++ CompositionBatchTypes_Animation = 0x1, ++ CompositionBatchTypes_Effect = 0x2 ++}; ++#endif ++ ++#ifdef __cplusplus ++namespace ABI { ++ namespace Windows { ++ namespace UI { ++ namespace Composition { ++typedef enum CompositionBatchTypes CompositionBatchTypes; ++ } ++ } ++ } ++} ++#endif /* __cplusplus */ ++/***************************************************************************** ++ * ICompositionBrush interface ++ */ ++#ifndef ____x_ABI_CWindows_CUI_CComposition_CICompositionBrush_INTERFACE_DEFINED__ ++#define ____x_ABI_CWindows_CUI_CComposition_CICompositionBrush_INTERFACE_DEFINED__ ++ ++DEFINE_GUID(IID___x_ABI_CWindows_CUI_CComposition_CICompositionBrush, 0xab0d7608, 0x30c0, 0x40e9, 0xb5,0x68, 0xb6,0x0a,0x6b,0xd1,0xfb,0x46); ++#if defined(__cplusplus) && !defined(CINTERFACE) ++} /* extern "C" */ ++namespace ABI { ++ namespace Windows { ++ namespace UI { ++ namespace Composition { ++ MIDL_INTERFACE("ab0d7608-30c0-40e9-b568-b60a6bd1fb46") ++ ICompositionBrush : public IInspectable ++ { ++ }; ++ } ++ } ++ } ++} ++extern "C" { ++#ifdef __CRT_UUID_DECL ++__CRT_UUID_DECL(ABI::Windows::UI::Composition::ICompositionBrush, 0xab0d7608, 0x30c0, 0x40e9, 0xb5,0x68, 0xb6,0x0a,0x6b,0xd1,0xfb,0x46) ++#endif ++#else ++typedef struct __x_ABI_CWindows_CUI_CComposition_CICompositionBrushVtbl { ++ BEGIN_INTERFACE ++ ++ /*** IUnknown methods ***/ ++ HRESULT (STDMETHODCALLTYPE *QueryInterface)( ++ __x_ABI_CWindows_CUI_CComposition_CICompositionBrush *This, ++ REFIID riid, ++ void **ppvObject); ++ ++ ULONG (STDMETHODCALLTYPE *AddRef)( ++ __x_ABI_CWindows_CUI_CComposition_CICompositionBrush *This); ++ ++ ULONG (STDMETHODCALLTYPE *Release)( ++ __x_ABI_CWindows_CUI_CComposition_CICompositionBrush *This); ++ ++ /*** IInspectable methods ***/ ++ HRESULT (STDMETHODCALLTYPE *GetIids)( ++ __x_ABI_CWindows_CUI_CComposition_CICompositionBrush *This, ++ ULONG *iidCount, ++ IID **iids); ++ ++ HRESULT (STDMETHODCALLTYPE *GetRuntimeClassName)( ++ __x_ABI_CWindows_CUI_CComposition_CICompositionBrush *This, ++ HSTRING *className); ++ ++ HRESULT (STDMETHODCALLTYPE *GetTrustLevel)( ++ __x_ABI_CWindows_CUI_CComposition_CICompositionBrush *This, ++ TrustLevel *trustLevel); ++ ++ END_INTERFACE ++} __x_ABI_CWindows_CUI_CComposition_CICompositionBrushVtbl; ++ ++interface __x_ABI_CWindows_CUI_CComposition_CICompositionBrush { ++ CONST_VTBL __x_ABI_CWindows_CUI_CComposition_CICompositionBrushVtbl* lpVtbl; ++}; ++ ++#ifdef COBJMACROS ++#ifndef WIDL_C_INLINE_WRAPPERS ++/*** IUnknown methods ***/ ++#define __x_ABI_CWindows_CUI_CComposition_CICompositionBrush_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) ++#define __x_ABI_CWindows_CUI_CComposition_CICompositionBrush_AddRef(This) (This)->lpVtbl->AddRef(This) ++#define __x_ABI_CWindows_CUI_CComposition_CICompositionBrush_Release(This) (This)->lpVtbl->Release(This) ++/*** IInspectable methods ***/ ++#define __x_ABI_CWindows_CUI_CComposition_CICompositionBrush_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids) ++#define __x_ABI_CWindows_CUI_CComposition_CICompositionBrush_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className) ++#define __x_ABI_CWindows_CUI_CComposition_CICompositionBrush_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel) ++#else ++/*** IUnknown methods ***/ ++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositionBrush_QueryInterface(__x_ABI_CWindows_CUI_CComposition_CICompositionBrush* This,REFIID riid,void **ppvObject) { ++ return This->lpVtbl->QueryInterface(This,riid,ppvObject); ++} ++static FORCEINLINE ULONG __x_ABI_CWindows_CUI_CComposition_CICompositionBrush_AddRef(__x_ABI_CWindows_CUI_CComposition_CICompositionBrush* This) { ++ return This->lpVtbl->AddRef(This); ++} ++static FORCEINLINE ULONG __x_ABI_CWindows_CUI_CComposition_CICompositionBrush_Release(__x_ABI_CWindows_CUI_CComposition_CICompositionBrush* This) { ++ return This->lpVtbl->Release(This); ++} ++/*** IInspectable methods ***/ ++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositionBrush_GetIids(__x_ABI_CWindows_CUI_CComposition_CICompositionBrush* This,ULONG *iidCount,IID **iids) { ++ return This->lpVtbl->GetIids(This,iidCount,iids); ++} ++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositionBrush_GetRuntimeClassName(__x_ABI_CWindows_CUI_CComposition_CICompositionBrush* This,HSTRING *className) { ++ return This->lpVtbl->GetRuntimeClassName(This,className); ++} ++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositionBrush_GetTrustLevel(__x_ABI_CWindows_CUI_CComposition_CICompositionBrush* This,TrustLevel *trustLevel) { ++ return This->lpVtbl->GetTrustLevel(This,trustLevel); ++} ++#endif ++#endif ++ ++#endif ++ ++#endif /* ____x_ABI_CWindows_CUI_CComposition_CICompositionBrush_INTERFACE_DEFINED__ */ ++ ++/***************************************************************************** ++ * ICompositionSurface interface ++ */ ++#ifndef ____x_ABI_CWindows_CUI_CComposition_CICompositionSurface_INTERFACE_DEFINED__ ++#define ____x_ABI_CWindows_CUI_CComposition_CICompositionSurface_INTERFACE_DEFINED__ ++ ++DEFINE_GUID(IID___x_ABI_CWindows_CUI_CComposition_CICompositionSurface, 0x1527540d, 0x42c7, 0x47a6, 0xa4,0x08, 0x66,0x8f,0x79,0xa9,0x0d,0xfb); ++#if defined(__cplusplus) && !defined(CINTERFACE) ++} /* extern "C" */ ++namespace ABI { ++ namespace Windows { ++ namespace UI { ++ namespace Composition { ++ MIDL_INTERFACE("1527540d-42c7-47a6-a408-668f79a90dfb") ++ ICompositionSurface : public IInspectable ++ { ++ }; ++ } ++ } ++ } ++} ++extern "C" { ++#ifdef __CRT_UUID_DECL ++__CRT_UUID_DECL(ABI::Windows::UI::Composition::ICompositionSurface, 0x1527540d, 0x42c7, 0x47a6, 0xa4,0x08, 0x66,0x8f,0x79,0xa9,0x0d,0xfb) ++#endif ++#else ++typedef struct __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceVtbl { ++ BEGIN_INTERFACE ++ ++ /*** IUnknown methods ***/ ++ HRESULT (STDMETHODCALLTYPE *QueryInterface)( ++ __x_ABI_CWindows_CUI_CComposition_CICompositionSurface *This, ++ REFIID riid, ++ void **ppvObject); ++ ++ ULONG (STDMETHODCALLTYPE *AddRef)( ++ __x_ABI_CWindows_CUI_CComposition_CICompositionSurface *This); ++ ++ ULONG (STDMETHODCALLTYPE *Release)( ++ __x_ABI_CWindows_CUI_CComposition_CICompositionSurface *This); ++ ++ /*** IInspectable methods ***/ ++ HRESULT (STDMETHODCALLTYPE *GetIids)( ++ __x_ABI_CWindows_CUI_CComposition_CICompositionSurface *This, ++ ULONG *iidCount, ++ IID **iids); ++ ++ HRESULT (STDMETHODCALLTYPE *GetRuntimeClassName)( ++ __x_ABI_CWindows_CUI_CComposition_CICompositionSurface *This, ++ HSTRING *className); ++ ++ HRESULT (STDMETHODCALLTYPE *GetTrustLevel)( ++ __x_ABI_CWindows_CUI_CComposition_CICompositionSurface *This, ++ TrustLevel *trustLevel); ++ ++ END_INTERFACE ++} __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceVtbl; ++ ++interface __x_ABI_CWindows_CUI_CComposition_CICompositionSurface { ++ CONST_VTBL __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceVtbl* lpVtbl; ++}; ++ ++#ifdef COBJMACROS ++#ifndef WIDL_C_INLINE_WRAPPERS ++/*** IUnknown methods ***/ ++#define __x_ABI_CWindows_CUI_CComposition_CICompositionSurface_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) ++#define __x_ABI_CWindows_CUI_CComposition_CICompositionSurface_AddRef(This) (This)->lpVtbl->AddRef(This) ++#define __x_ABI_CWindows_CUI_CComposition_CICompositionSurface_Release(This) (This)->lpVtbl->Release(This) ++/*** IInspectable methods ***/ ++#define __x_ABI_CWindows_CUI_CComposition_CICompositionSurface_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids) ++#define __x_ABI_CWindows_CUI_CComposition_CICompositionSurface_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className) ++#define __x_ABI_CWindows_CUI_CComposition_CICompositionSurface_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel) ++#else ++/*** IUnknown methods ***/ ++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositionSurface_QueryInterface(__x_ABI_CWindows_CUI_CComposition_CICompositionSurface* This,REFIID riid,void **ppvObject) { ++ return This->lpVtbl->QueryInterface(This,riid,ppvObject); ++} ++static FORCEINLINE ULONG __x_ABI_CWindows_CUI_CComposition_CICompositionSurface_AddRef(__x_ABI_CWindows_CUI_CComposition_CICompositionSurface* This) { ++ return This->lpVtbl->AddRef(This); ++} ++static FORCEINLINE ULONG __x_ABI_CWindows_CUI_CComposition_CICompositionSurface_Release(__x_ABI_CWindows_CUI_CComposition_CICompositionSurface* This) { ++ return This->lpVtbl->Release(This); ++} ++/*** IInspectable methods ***/ ++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositionSurface_GetIids(__x_ABI_CWindows_CUI_CComposition_CICompositionSurface* This,ULONG *iidCount,IID **iids) { ++ return This->lpVtbl->GetIids(This,iidCount,iids); ++} ++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositionSurface_GetRuntimeClassName(__x_ABI_CWindows_CUI_CComposition_CICompositionSurface* This,HSTRING *className) { ++ return This->lpVtbl->GetRuntimeClassName(This,className); ++} ++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositionSurface_GetTrustLevel(__x_ABI_CWindows_CUI_CComposition_CICompositionSurface* This,TrustLevel *trustLevel) { ++ return This->lpVtbl->GetTrustLevel(This,trustLevel); ++} ++#endif ++#endif ++ ++#endif ++ ++#endif /* ____x_ABI_CWindows_CUI_CComposition_CICompositionSurface_INTERFACE_DEFINED__ */ ++ ++/***************************************************************************** ++ * ICompositionSurfaceBrush interface ++ */ ++#ifndef ____x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush_INTERFACE_DEFINED__ ++#define ____x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush_INTERFACE_DEFINED__ ++ ++DEFINE_GUID(IID___x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush, 0xad016d79, 0x1e4c, 0x4c0d, 0x9c,0x29, 0x83,0x33,0x8c,0x87,0xc1,0x62); ++#if defined(__cplusplus) && !defined(CINTERFACE) ++} /* extern "C" */ ++namespace ABI { ++ namespace Windows { ++ namespace UI { ++ namespace Composition { ++ MIDL_INTERFACE("ad016d79-1e4c-4c0d-9c29-83338c87c162") ++ ICompositionSurfaceBrush : public IInspectable ++ { ++ virtual HRESULT STDMETHODCALLTYPE get_BitmapInterpolationMode( ++ ABI::Windows::UI::Composition::CompositionBitmapInterpolationMode *value) = 0; ++ ++ virtual HRESULT STDMETHODCALLTYPE put_BitmapInterpolationMode( ++ ABI::Windows::UI::Composition::CompositionBitmapInterpolationMode value) = 0; ++ ++ virtual HRESULT STDMETHODCALLTYPE get_HorizontalAlignmentRatio( ++ FLOAT *value) = 0; ++ ++ virtual HRESULT STDMETHODCALLTYPE put_HorizontalAlignmentRatio( ++ FLOAT value) = 0; ++ ++ virtual HRESULT STDMETHODCALLTYPE get_Stretch( ++ ABI::Windows::UI::Composition::CompositionStretch *value) = 0; ++ ++ virtual HRESULT STDMETHODCALLTYPE put_Stretch( ++ ABI::Windows::UI::Composition::CompositionStretch value) = 0; ++ ++ virtual HRESULT STDMETHODCALLTYPE get_Surface( ++ ABI::Windows::UI::Composition::ICompositionSurface **value) = 0; ++ ++ virtual HRESULT STDMETHODCALLTYPE put_Surface( ++ ABI::Windows::UI::Composition::ICompositionSurface *value) = 0; ++ ++ virtual HRESULT STDMETHODCALLTYPE get_VerticalAlignmentRatio( ++ FLOAT *value) = 0; ++ ++ virtual HRESULT STDMETHODCALLTYPE put_VerticalAlignmentRatio( ++ FLOAT value) = 0; ++ ++ }; ++ } ++ } ++ } ++} ++extern "C" { ++#ifdef __CRT_UUID_DECL ++__CRT_UUID_DECL(ABI::Windows::UI::Composition::ICompositionSurfaceBrush, 0xad016d79, 0x1e4c, 0x4c0d, 0x9c,0x29, 0x83,0x33,0x8c,0x87,0xc1,0x62) ++#endif ++#else ++typedef struct __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrushVtbl { ++ BEGIN_INTERFACE ++ ++ /*** IUnknown methods ***/ ++ HRESULT (STDMETHODCALLTYPE *QueryInterface)( ++ __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush *This, ++ REFIID riid, ++ void **ppvObject); ++ ++ ULONG (STDMETHODCALLTYPE *AddRef)( ++ __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush *This); ++ ++ ULONG (STDMETHODCALLTYPE *Release)( ++ __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush *This); ++ ++ /*** IInspectable methods ***/ ++ HRESULT (STDMETHODCALLTYPE *GetIids)( ++ __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush *This, ++ ULONG *iidCount, ++ IID **iids); ++ ++ HRESULT (STDMETHODCALLTYPE *GetRuntimeClassName)( ++ __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush *This, ++ HSTRING *className); ++ ++ HRESULT (STDMETHODCALLTYPE *GetTrustLevel)( ++ __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush *This, ++ TrustLevel *trustLevel); ++ ++ /*** ICompositionSurfaceBrush methods ***/ ++ HRESULT (STDMETHODCALLTYPE *get_BitmapInterpolationMode)( ++ __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush *This, ++ __x_ABI_CWindows_CUI_CComposition_CCompositionBitmapInterpolationMode *value); ++ ++ HRESULT (STDMETHODCALLTYPE *put_BitmapInterpolationMode)( ++ __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush *This, ++ __x_ABI_CWindows_CUI_CComposition_CCompositionBitmapInterpolationMode value); ++ ++ HRESULT (STDMETHODCALLTYPE *get_HorizontalAlignmentRatio)( ++ __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush *This, ++ FLOAT *value); ++ ++ HRESULT (STDMETHODCALLTYPE *put_HorizontalAlignmentRatio)( ++ __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush *This, ++ FLOAT value); ++ ++ HRESULT (STDMETHODCALLTYPE *get_Stretch)( ++ __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush *This, ++ __x_ABI_CWindows_CUI_CComposition_CCompositionStretch *value); ++ ++ HRESULT (STDMETHODCALLTYPE *put_Stretch)( ++ __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush *This, ++ __x_ABI_CWindows_CUI_CComposition_CCompositionStretch value); ++ ++ HRESULT (STDMETHODCALLTYPE *get_Surface)( ++ __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush *This, ++ __x_ABI_CWindows_CUI_CComposition_CICompositionSurface **value); ++ ++ HRESULT (STDMETHODCALLTYPE *put_Surface)( ++ __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush *This, ++ __x_ABI_CWindows_CUI_CComposition_CICompositionSurface *value); ++ ++ HRESULT (STDMETHODCALLTYPE *get_VerticalAlignmentRatio)( ++ __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush *This, ++ FLOAT *value); ++ ++ HRESULT (STDMETHODCALLTYPE *put_VerticalAlignmentRatio)( ++ __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush *This, ++ FLOAT value); ++ ++ END_INTERFACE ++} __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrushVtbl; ++ ++interface __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush { ++ CONST_VTBL __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrushVtbl* lpVtbl; ++}; ++ ++#ifdef COBJMACROS ++#ifndef WIDL_C_INLINE_WRAPPERS ++/*** IUnknown methods ***/ ++#define __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) ++#define __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush_AddRef(This) (This)->lpVtbl->AddRef(This) ++#define __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush_Release(This) (This)->lpVtbl->Release(This) ++/*** IInspectable methods ***/ ++#define __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids) ++#define __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className) ++#define __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel) ++/*** ICompositionSurfaceBrush methods ***/ ++#define __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush_get_BitmapInterpolationMode(This,value) (This)->lpVtbl->get_BitmapInterpolationMode(This,value) ++#define __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush_put_BitmapInterpolationMode(This,value) (This)->lpVtbl->put_BitmapInterpolationMode(This,value) ++#define __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush_get_HorizontalAlignmentRatio(This,value) (This)->lpVtbl->get_HorizontalAlignmentRatio(This,value) ++#define __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush_put_HorizontalAlignmentRatio(This,value) (This)->lpVtbl->put_HorizontalAlignmentRatio(This,value) ++#define __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush_get_Stretch(This,value) (This)->lpVtbl->get_Stretch(This,value) ++#define __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush_put_Stretch(This,value) (This)->lpVtbl->put_Stretch(This,value) ++#define __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush_get_Surface(This,value) (This)->lpVtbl->get_Surface(This,value) ++#define __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush_put_Surface(This,value) (This)->lpVtbl->put_Surface(This,value) ++#define __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush_get_VerticalAlignmentRatio(This,value) (This)->lpVtbl->get_VerticalAlignmentRatio(This,value) ++#define __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush_put_VerticalAlignmentRatio(This,value) (This)->lpVtbl->put_VerticalAlignmentRatio(This,value) ++#else ++/*** IUnknown methods ***/ ++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush_QueryInterface(__x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush* This,REFIID riid,void **ppvObject) { ++ return This->lpVtbl->QueryInterface(This,riid,ppvObject); ++} ++static FORCEINLINE ULONG __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush_AddRef(__x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush* This) { ++ return This->lpVtbl->AddRef(This); ++} ++static FORCEINLINE ULONG __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush_Release(__x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush* This) { ++ return This->lpVtbl->Release(This); ++} ++/*** IInspectable methods ***/ ++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush_GetIids(__x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush* This,ULONG *iidCount,IID **iids) { ++ return This->lpVtbl->GetIids(This,iidCount,iids); ++} ++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush_GetRuntimeClassName(__x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush* This,HSTRING *className) { ++ return This->lpVtbl->GetRuntimeClassName(This,className); ++} ++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush_GetTrustLevel(__x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush* This,TrustLevel *trustLevel) { ++ return This->lpVtbl->GetTrustLevel(This,trustLevel); ++} ++/*** ICompositionSurfaceBrush methods ***/ ++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush_get_BitmapInterpolationMode(__x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush* This,__x_ABI_CWindows_CUI_CComposition_CCompositionBitmapInterpolationMode *value) { ++ return This->lpVtbl->get_BitmapInterpolationMode(This,value); ++} ++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush_put_BitmapInterpolationMode(__x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush* This,__x_ABI_CWindows_CUI_CComposition_CCompositionBitmapInterpolationMode value) { ++ return This->lpVtbl->put_BitmapInterpolationMode(This,value); ++} ++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush_get_HorizontalAlignmentRatio(__x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush* This,FLOAT *value) { ++ return This->lpVtbl->get_HorizontalAlignmentRatio(This,value); ++} ++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush_put_HorizontalAlignmentRatio(__x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush* This,FLOAT value) { ++ return This->lpVtbl->put_HorizontalAlignmentRatio(This,value); ++} ++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush_get_Stretch(__x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush* This,__x_ABI_CWindows_CUI_CComposition_CCompositionStretch *value) { ++ return This->lpVtbl->get_Stretch(This,value); ++} ++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush_put_Stretch(__x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush* This,__x_ABI_CWindows_CUI_CComposition_CCompositionStretch value) { ++ return This->lpVtbl->put_Stretch(This,value); ++} ++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush_get_Surface(__x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush* This,__x_ABI_CWindows_CUI_CComposition_CICompositionSurface **value) { ++ return This->lpVtbl->get_Surface(This,value); ++} ++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush_put_Surface(__x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush* This,__x_ABI_CWindows_CUI_CComposition_CICompositionSurface *value) { ++ return This->lpVtbl->put_Surface(This,value); ++} ++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush_get_VerticalAlignmentRatio(__x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush* This,FLOAT *value) { ++ return This->lpVtbl->get_VerticalAlignmentRatio(This,value); ++} ++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush_put_VerticalAlignmentRatio(__x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush* This,FLOAT value) { ++ return This->lpVtbl->put_VerticalAlignmentRatio(This,value); ++} ++#endif ++#endif ++ ++#endif ++ ++#endif /* ____x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush_INTERFACE_DEFINED__ */ ++ ++/***************************************************************************** ++ * CompositionBrush interface ++ */ ++#ifndef ____x_ABI_CWindows_CUI_CComposition_CCompositionBrush_INTERFACE_DEFINED__ ++#define ____x_ABI_CWindows_CUI_CComposition_CCompositionBrush_INTERFACE_DEFINED__ ++ ++DEFINE_GUID(IID___x_ABI_CWindows_CUI_CComposition_CCompositionBrush, 0x08e05581, 0x1ad1, 0x4f97, 0x96,0x66, 0x40,0x2d,0x76,0xe4,0x23,0x3c); ++#if defined(__cplusplus) && !defined(CINTERFACE) ++} /* extern "C" */ ++namespace ABI { ++ namespace Windows { ++ namespace UI { ++ namespace Composition { ++ MIDL_INTERFACE("08e05581-1ad1-4f97-9666-402d76e4233c") ++ CompositionBrush : public IUnknown ++ { ++ }; ++ } ++ } ++ } ++} ++extern "C" { ++#ifdef __CRT_UUID_DECL ++__CRT_UUID_DECL(ABI::Windows::UI::Composition::CompositionBrush, 0x08e05581, 0x1ad1, 0x4f97, 0x96,0x66, 0x40,0x2d,0x76,0xe4,0x23,0x3c) ++#endif ++#else ++typedef struct __x_ABI_CWindows_CUI_CComposition_CCompositionBrushVtbl { ++ BEGIN_INTERFACE ++ ++ /*** IUnknown methods ***/ ++ HRESULT (STDMETHODCALLTYPE *QueryInterface)( ++ __x_ABI_CWindows_CUI_CComposition_CCompositionBrush *This, ++ REFIID riid, ++ void **ppvObject); ++ ++ ULONG (STDMETHODCALLTYPE *AddRef)( ++ __x_ABI_CWindows_CUI_CComposition_CCompositionBrush *This); ++ ++ ULONG (STDMETHODCALLTYPE *Release)( ++ __x_ABI_CWindows_CUI_CComposition_CCompositionBrush *This); ++ ++ END_INTERFACE ++} __x_ABI_CWindows_CUI_CComposition_CCompositionBrushVtbl; ++ ++interface __x_ABI_CWindows_CUI_CComposition_CCompositionBrush { ++ CONST_VTBL __x_ABI_CWindows_CUI_CComposition_CCompositionBrushVtbl* lpVtbl; ++}; ++ ++#ifdef COBJMACROS ++#ifndef WIDL_C_INLINE_WRAPPERS ++/*** IUnknown methods ***/ ++#define __x_ABI_CWindows_CUI_CComposition_CCompositionBrush_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) ++#define __x_ABI_CWindows_CUI_CComposition_CCompositionBrush_AddRef(This) (This)->lpVtbl->AddRef(This) ++#define __x_ABI_CWindows_CUI_CComposition_CCompositionBrush_Release(This) (This)->lpVtbl->Release(This) ++#else ++/*** IUnknown methods ***/ ++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CCompositionBrush_QueryInterface(__x_ABI_CWindows_CUI_CComposition_CCompositionBrush* This,REFIID riid,void **ppvObject) { ++ return This->lpVtbl->QueryInterface(This,riid,ppvObject); ++} ++static FORCEINLINE ULONG __x_ABI_CWindows_CUI_CComposition_CCompositionBrush_AddRef(__x_ABI_CWindows_CUI_CComposition_CCompositionBrush* This) { ++ return This->lpVtbl->AddRef(This); ++} ++static FORCEINLINE ULONG __x_ABI_CWindows_CUI_CComposition_CCompositionBrush_Release(__x_ABI_CWindows_CUI_CComposition_CCompositionBrush* This) { ++ return This->lpVtbl->Release(This); ++} ++#endif ++#endif ++ ++#endif ++ ++#endif /* ____x_ABI_CWindows_CUI_CComposition_CCompositionBrush_INTERFACE_DEFINED__ */ ++ ++/***************************************************************************** ++ * ISpriteVisual interface ++ */ ++#ifndef ____x_ABI_CWindows_CUI_CComposition_CISpriteVisual_INTERFACE_DEFINED__ ++#define ____x_ABI_CWindows_CUI_CComposition_CISpriteVisual_INTERFACE_DEFINED__ ++ ++DEFINE_GUID(IID___x_ABI_CWindows_CUI_CComposition_CISpriteVisual, 0x08e05581, 0x1ad1, 0x4f97, 0x97,0x57, 0x40,0x2d,0x76,0xe4,0x23,0x3b); ++#if defined(__cplusplus) && !defined(CINTERFACE) ++} /* extern "C" */ ++namespace ABI { ++ namespace Windows { ++ namespace UI { ++ namespace Composition { ++ MIDL_INTERFACE("08e05581-1ad1-4f97-9757-402d76e4233b") ++ ISpriteVisual : public IInspectable ++ { ++ virtual HRESULT STDMETHODCALLTYPE get_Brush( ++ ABI::Windows::UI::Composition::CompositionBrush **value) = 0; ++ ++ virtual HRESULT STDMETHODCALLTYPE put_Brush( ++ ABI::Windows::UI::Composition::ICompositionBrush *value) = 0; ++ ++ }; ++ } ++ } ++ } ++} ++extern "C" { ++#ifdef __CRT_UUID_DECL ++__CRT_UUID_DECL(ABI::Windows::UI::Composition::ISpriteVisual, 0x08e05581, 0x1ad1, 0x4f97, 0x97,0x57, 0x40,0x2d,0x76,0xe4,0x23,0x3b) ++#endif ++#else ++typedef struct __x_ABI_CWindows_CUI_CComposition_CISpriteVisualVtbl { ++ BEGIN_INTERFACE ++ ++ /*** IUnknown methods ***/ ++ HRESULT (STDMETHODCALLTYPE *QueryInterface)( ++ __x_ABI_CWindows_CUI_CComposition_CISpriteVisual *This, ++ REFIID riid, ++ void **ppvObject); ++ ++ ULONG (STDMETHODCALLTYPE *AddRef)( ++ __x_ABI_CWindows_CUI_CComposition_CISpriteVisual *This); ++ ++ ULONG (STDMETHODCALLTYPE *Release)( ++ __x_ABI_CWindows_CUI_CComposition_CISpriteVisual *This); ++ ++ /*** IInspectable methods ***/ ++ HRESULT (STDMETHODCALLTYPE *GetIids)( ++ __x_ABI_CWindows_CUI_CComposition_CISpriteVisual *This, ++ ULONG *iidCount, ++ IID **iids); ++ ++ HRESULT (STDMETHODCALLTYPE *GetRuntimeClassName)( ++ __x_ABI_CWindows_CUI_CComposition_CISpriteVisual *This, ++ HSTRING *className); ++ ++ HRESULT (STDMETHODCALLTYPE *GetTrustLevel)( ++ __x_ABI_CWindows_CUI_CComposition_CISpriteVisual *This, ++ TrustLevel *trustLevel); ++ ++ /*** ISpriteVisual methods ***/ ++ HRESULT (STDMETHODCALLTYPE *get_Brush)( ++ __x_ABI_CWindows_CUI_CComposition_CISpriteVisual *This, ++ __x_ABI_CWindows_CUI_CComposition_CCompositionBrush **value); ++ ++ HRESULT (STDMETHODCALLTYPE *put_Brush)( ++ __x_ABI_CWindows_CUI_CComposition_CISpriteVisual *This, ++ __x_ABI_CWindows_CUI_CComposition_CICompositionBrush *value); ++ ++ END_INTERFACE ++} __x_ABI_CWindows_CUI_CComposition_CISpriteVisualVtbl; ++ ++interface __x_ABI_CWindows_CUI_CComposition_CISpriteVisual { ++ CONST_VTBL __x_ABI_CWindows_CUI_CComposition_CISpriteVisualVtbl* lpVtbl; ++}; ++ ++#ifdef COBJMACROS ++#ifndef WIDL_C_INLINE_WRAPPERS ++/*** IUnknown methods ***/ ++#define __x_ABI_CWindows_CUI_CComposition_CISpriteVisual_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) ++#define __x_ABI_CWindows_CUI_CComposition_CISpriteVisual_AddRef(This) (This)->lpVtbl->AddRef(This) ++#define __x_ABI_CWindows_CUI_CComposition_CISpriteVisual_Release(This) (This)->lpVtbl->Release(This) ++/*** IInspectable methods ***/ ++#define __x_ABI_CWindows_CUI_CComposition_CISpriteVisual_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids) ++#define __x_ABI_CWindows_CUI_CComposition_CISpriteVisual_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className) ++#define __x_ABI_CWindows_CUI_CComposition_CISpriteVisual_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel) ++/*** ISpriteVisual methods ***/ ++#define __x_ABI_CWindows_CUI_CComposition_CISpriteVisual_get_Brush(This,value) (This)->lpVtbl->get_Brush(This,value) ++#define __x_ABI_CWindows_CUI_CComposition_CISpriteVisual_put_Brush(This,value) (This)->lpVtbl->put_Brush(This,value) ++#else ++/*** IUnknown methods ***/ ++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CISpriteVisual_QueryInterface(__x_ABI_CWindows_CUI_CComposition_CISpriteVisual* This,REFIID riid,void **ppvObject) { ++ return This->lpVtbl->QueryInterface(This,riid,ppvObject); ++} ++static FORCEINLINE ULONG __x_ABI_CWindows_CUI_CComposition_CISpriteVisual_AddRef(__x_ABI_CWindows_CUI_CComposition_CISpriteVisual* This) { ++ return This->lpVtbl->AddRef(This); ++} ++static FORCEINLINE ULONG __x_ABI_CWindows_CUI_CComposition_CISpriteVisual_Release(__x_ABI_CWindows_CUI_CComposition_CISpriteVisual* This) { ++ return This->lpVtbl->Release(This); ++} ++/*** IInspectable methods ***/ ++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CISpriteVisual_GetIids(__x_ABI_CWindows_CUI_CComposition_CISpriteVisual* This,ULONG *iidCount,IID **iids) { ++ return This->lpVtbl->GetIids(This,iidCount,iids); ++} ++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CISpriteVisual_GetRuntimeClassName(__x_ABI_CWindows_CUI_CComposition_CISpriteVisual* This,HSTRING *className) { ++ return This->lpVtbl->GetRuntimeClassName(This,className); ++} ++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CISpriteVisual_GetTrustLevel(__x_ABI_CWindows_CUI_CComposition_CISpriteVisual* This,TrustLevel *trustLevel) { ++ return This->lpVtbl->GetTrustLevel(This,trustLevel); ++} ++/*** ISpriteVisual methods ***/ ++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CISpriteVisual_get_Brush(__x_ABI_CWindows_CUI_CComposition_CISpriteVisual* This,__x_ABI_CWindows_CUI_CComposition_CCompositionBrush **value) { ++ return This->lpVtbl->get_Brush(This,value); ++} ++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CISpriteVisual_put_Brush(__x_ABI_CWindows_CUI_CComposition_CISpriteVisual* This,__x_ABI_CWindows_CUI_CComposition_CICompositionBrush *value) { ++ return This->lpVtbl->put_Brush(This,value); ++} ++#endif ++#endif ++ ++#endif ++ ++#endif /* ____x_ABI_CWindows_CUI_CComposition_CISpriteVisual_INTERFACE_DEFINED__ */ ++ ++/***************************************************************************** ++ * SpriteVisual interface ++ */ ++#ifndef ____x_ABI_CWindows_CUI_CComposition_CSpriteVisual_INTERFACE_DEFINED__ ++#define ____x_ABI_CWindows_CUI_CComposition_CSpriteVisual_INTERFACE_DEFINED__ ++ ++DEFINE_GUID(IID___x_ABI_CWindows_CUI_CComposition_CSpriteVisual, 0x08e05581, 0x1ad1, 0x4f97, 0x96,0x66, 0x40,0x2d,0x76,0xe4,0x23,0x3b); ++#if defined(__cplusplus) && !defined(CINTERFACE) ++} /* extern "C" */ ++namespace ABI { ++ namespace Windows { ++ namespace UI { ++ namespace Composition { ++ MIDL_INTERFACE("08e05581-1ad1-4f97-9666-402d76e4233b") ++ SpriteVisual : public IUnknown ++ { ++ }; ++ } ++ } ++ } ++} ++extern "C" { ++#ifdef __CRT_UUID_DECL ++__CRT_UUID_DECL(ABI::Windows::UI::Composition::SpriteVisual, 0x08e05581, 0x1ad1, 0x4f97, 0x96,0x66, 0x40,0x2d,0x76,0xe4,0x23,0x3b) ++#endif ++#else ++typedef struct __x_ABI_CWindows_CUI_CComposition_CSpriteVisualVtbl { ++ BEGIN_INTERFACE ++ ++ /*** IUnknown methods ***/ ++ HRESULT (STDMETHODCALLTYPE *QueryInterface)( ++ __x_ABI_CWindows_CUI_CComposition_CSpriteVisual *This, ++ REFIID riid, ++ void **ppvObject); ++ ++ ULONG (STDMETHODCALLTYPE *AddRef)( ++ __x_ABI_CWindows_CUI_CComposition_CSpriteVisual *This); ++ ++ ULONG (STDMETHODCALLTYPE *Release)( ++ __x_ABI_CWindows_CUI_CComposition_CSpriteVisual *This); ++ ++ END_INTERFACE ++} __x_ABI_CWindows_CUI_CComposition_CSpriteVisualVtbl; ++ ++interface __x_ABI_CWindows_CUI_CComposition_CSpriteVisual { ++ CONST_VTBL __x_ABI_CWindows_CUI_CComposition_CSpriteVisualVtbl* lpVtbl; ++}; ++ ++#ifdef COBJMACROS ++#ifndef WIDL_C_INLINE_WRAPPERS ++/*** IUnknown methods ***/ ++#define __x_ABI_CWindows_CUI_CComposition_CSpriteVisual_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) ++#define __x_ABI_CWindows_CUI_CComposition_CSpriteVisual_AddRef(This) (This)->lpVtbl->AddRef(This) ++#define __x_ABI_CWindows_CUI_CComposition_CSpriteVisual_Release(This) (This)->lpVtbl->Release(This) ++#else ++/*** IUnknown methods ***/ ++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CSpriteVisual_QueryInterface(__x_ABI_CWindows_CUI_CComposition_CSpriteVisual* This,REFIID riid,void **ppvObject) { ++ return This->lpVtbl->QueryInterface(This,riid,ppvObject); ++} ++static FORCEINLINE ULONG __x_ABI_CWindows_CUI_CComposition_CSpriteVisual_AddRef(__x_ABI_CWindows_CUI_CComposition_CSpriteVisual* This) { ++ return This->lpVtbl->AddRef(This); ++} ++static FORCEINLINE ULONG __x_ABI_CWindows_CUI_CComposition_CSpriteVisual_Release(__x_ABI_CWindows_CUI_CComposition_CSpriteVisual* This) { ++ return This->lpVtbl->Release(This); ++} ++#endif ++#endif ++ ++#endif ++ ++#endif /* ____x_ABI_CWindows_CUI_CComposition_CSpriteVisual_INTERFACE_DEFINED__ */ ++ ++/***************************************************************************** ++ * CompositionClip interface ++ */ ++#ifndef ____x_ABI_CWindows_CUI_CComposition_CCompositionClip_INTERFACE_DEFINED__ ++#define ____x_ABI_CWindows_CUI_CComposition_CCompositionClip_INTERFACE_DEFINED__ ++ ++DEFINE_GUID(IID___x_ABI_CWindows_CUI_CComposition_CCompositionClip, 0x18e05581, 0x1ad1, 0x4f97, 0x96,0x66, 0x40,0x2d,0x76,0xe4,0x23,0x3b); ++#if defined(__cplusplus) && !defined(CINTERFACE) ++} /* extern "C" */ ++namespace ABI { ++ namespace Windows { ++ namespace UI { ++ namespace Composition { ++ MIDL_INTERFACE("18e05581-1ad1-4f97-9666-402d76e4233b") ++ CompositionClip : public IUnknown ++ { ++ }; ++ } ++ } ++ } ++} ++extern "C" { ++#ifdef __CRT_UUID_DECL ++__CRT_UUID_DECL(ABI::Windows::UI::Composition::CompositionClip, 0x18e05581, 0x1ad1, 0x4f97, 0x96,0x66, 0x40,0x2d,0x76,0xe4,0x23,0x3b) ++#endif ++#else ++typedef struct __x_ABI_CWindows_CUI_CComposition_CCompositionClipVtbl { ++ BEGIN_INTERFACE ++ ++ /*** IUnknown methods ***/ ++ HRESULT (STDMETHODCALLTYPE *QueryInterface)( ++ __x_ABI_CWindows_CUI_CComposition_CCompositionClip *This, ++ REFIID riid, ++ void **ppvObject); ++ ++ ULONG (STDMETHODCALLTYPE *AddRef)( ++ __x_ABI_CWindows_CUI_CComposition_CCompositionClip *This); ++ ++ ULONG (STDMETHODCALLTYPE *Release)( ++ __x_ABI_CWindows_CUI_CComposition_CCompositionClip *This); ++ ++ END_INTERFACE ++} __x_ABI_CWindows_CUI_CComposition_CCompositionClipVtbl; ++ ++interface __x_ABI_CWindows_CUI_CComposition_CCompositionClip { ++ CONST_VTBL __x_ABI_CWindows_CUI_CComposition_CCompositionClipVtbl* lpVtbl; ++}; ++ ++#ifdef COBJMACROS ++#ifndef WIDL_C_INLINE_WRAPPERS ++/*** IUnknown methods ***/ ++#define __x_ABI_CWindows_CUI_CComposition_CCompositionClip_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) ++#define __x_ABI_CWindows_CUI_CComposition_CCompositionClip_AddRef(This) (This)->lpVtbl->AddRef(This) ++#define __x_ABI_CWindows_CUI_CComposition_CCompositionClip_Release(This) (This)->lpVtbl->Release(This) ++#else ++/*** IUnknown methods ***/ ++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CCompositionClip_QueryInterface(__x_ABI_CWindows_CUI_CComposition_CCompositionClip* This,REFIID riid,void **ppvObject) { ++ return This->lpVtbl->QueryInterface(This,riid,ppvObject); ++} ++static FORCEINLINE ULONG __x_ABI_CWindows_CUI_CComposition_CCompositionClip_AddRef(__x_ABI_CWindows_CUI_CComposition_CCompositionClip* This) { ++ return This->lpVtbl->AddRef(This); ++} ++static FORCEINLINE ULONG __x_ABI_CWindows_CUI_CComposition_CCompositionClip_Release(__x_ABI_CWindows_CUI_CComposition_CCompositionClip* This) { ++ return This->lpVtbl->Release(This); ++} ++#endif ++#endif ++ ++#endif ++ ++#endif /* ____x_ABI_CWindows_CUI_CComposition_CCompositionClip_INTERFACE_DEFINED__ */ ++ ++/***************************************************************************** ++ * ContainerVisual interface ++ */ ++#ifndef ____x_ABI_CWindows_CUI_CComposition_CContainerVisual_INTERFACE_DEFINED__ ++#define ____x_ABI_CWindows_CUI_CComposition_CContainerVisual_INTERFACE_DEFINED__ ++ ++DEFINE_GUID(IID___x_ABI_CWindows_CUI_CComposition_CContainerVisual, 0x28e05581, 0x1ad1, 0x4f97, 0x96,0x66, 0x40,0x2d,0x76,0xe4,0x23,0x3b); ++#if defined(__cplusplus) && !defined(CINTERFACE) ++} /* extern "C" */ ++namespace ABI { ++ namespace Windows { ++ namespace UI { ++ namespace Composition { ++ MIDL_INTERFACE("28e05581-1ad1-4f97-9666-402d76e4233b") ++ ContainerVisual : public IUnknown ++ { ++ }; ++ } ++ } ++ } ++} ++extern "C" { ++#ifdef __CRT_UUID_DECL ++__CRT_UUID_DECL(ABI::Windows::UI::Composition::ContainerVisual, 0x28e05581, 0x1ad1, 0x4f97, 0x96,0x66, 0x40,0x2d,0x76,0xe4,0x23,0x3b) ++#endif ++#else ++typedef struct __x_ABI_CWindows_CUI_CComposition_CContainerVisualVtbl { ++ BEGIN_INTERFACE ++ ++ /*** IUnknown methods ***/ ++ HRESULT (STDMETHODCALLTYPE *QueryInterface)( ++ __x_ABI_CWindows_CUI_CComposition_CContainerVisual *This, ++ REFIID riid, ++ void **ppvObject); ++ ++ ULONG (STDMETHODCALLTYPE *AddRef)( ++ __x_ABI_CWindows_CUI_CComposition_CContainerVisual *This); ++ ++ ULONG (STDMETHODCALLTYPE *Release)( ++ __x_ABI_CWindows_CUI_CComposition_CContainerVisual *This); ++ ++ END_INTERFACE ++} __x_ABI_CWindows_CUI_CComposition_CContainerVisualVtbl; ++ ++interface __x_ABI_CWindows_CUI_CComposition_CContainerVisual { ++ CONST_VTBL __x_ABI_CWindows_CUI_CComposition_CContainerVisualVtbl* lpVtbl; ++}; ++ ++#ifdef COBJMACROS ++#ifndef WIDL_C_INLINE_WRAPPERS ++/*** IUnknown methods ***/ ++#define __x_ABI_CWindows_CUI_CComposition_CContainerVisual_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) ++#define __x_ABI_CWindows_CUI_CComposition_CContainerVisual_AddRef(This) (This)->lpVtbl->AddRef(This) ++#define __x_ABI_CWindows_CUI_CComposition_CContainerVisual_Release(This) (This)->lpVtbl->Release(This) ++#else ++/*** IUnknown methods ***/ ++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CContainerVisual_QueryInterface(__x_ABI_CWindows_CUI_CComposition_CContainerVisual* This,REFIID riid,void **ppvObject) { ++ return This->lpVtbl->QueryInterface(This,riid,ppvObject); ++} ++static FORCEINLINE ULONG __x_ABI_CWindows_CUI_CComposition_CContainerVisual_AddRef(__x_ABI_CWindows_CUI_CComposition_CContainerVisual* This) { ++ return This->lpVtbl->AddRef(This); ++} ++static FORCEINLINE ULONG __x_ABI_CWindows_CUI_CComposition_CContainerVisual_Release(__x_ABI_CWindows_CUI_CComposition_CContainerVisual* This) { ++ return This->lpVtbl->Release(This); ++} ++#endif ++#endif ++ ++#endif ++ ++#endif /* ____x_ABI_CWindows_CUI_CComposition_CContainerVisual_INTERFACE_DEFINED__ */ ++ ++/***************************************************************************** ++ * IVisual interface ++ */ ++#ifndef ____x_ABI_CWindows_CUI_CComposition_CIVisual_INTERFACE_DEFINED__ ++#define ____x_ABI_CWindows_CUI_CComposition_CIVisual_INTERFACE_DEFINED__ ++ ++DEFINE_GUID(IID___x_ABI_CWindows_CUI_CComposition_CIVisual, 0x117e202d, 0xa859, 0x4c89, 0x87,0x3b, 0xc2,0xaa,0x56,0x67,0x88,0xe3); ++#if defined(__cplusplus) && !defined(CINTERFACE) ++} /* extern "C" */ ++namespace ABI { ++ namespace Windows { ++ namespace UI { ++ namespace Composition { ++ MIDL_INTERFACE("117e202d-a859-4c89-873b-c2aa566788e3") ++ IVisual : public IInspectable ++ { ++ virtual HRESULT STDMETHODCALLTYPE get_AnchorPoint( ++ ABI::Windows::Foundation::Numerics::Vector2 *value) = 0; ++ ++ virtual HRESULT STDMETHODCALLTYPE put_AnchorPoint( ++ ABI::Windows::Foundation::Numerics::Vector2 value) = 0; ++ ++ virtual HRESULT STDMETHODCALLTYPE get_BackfaceVisibility( ++ ABI::Windows::UI::Composition::CompositionBackfaceVisibility *value) = 0; ++ ++ virtual HRESULT STDMETHODCALLTYPE put_BackfaceVisibility( ++ ABI::Windows::UI::Composition::CompositionBackfaceVisibility value) = 0; ++ ++ virtual HRESULT STDMETHODCALLTYPE get_BorderMode( ++ ABI::Windows::UI::Composition::CompositionBorderMode *value) = 0; ++ ++ virtual HRESULT STDMETHODCALLTYPE put_BorderMode( ++ ABI::Windows::UI::Composition::CompositionBorderMode value) = 0; ++ ++ virtual HRESULT STDMETHODCALLTYPE get_CenterPoint( ++ ABI::Windows::Foundation::Numerics::Vector3 *value) = 0; ++ ++ virtual HRESULT STDMETHODCALLTYPE put_CenterPoint( ++ ABI::Windows::Foundation::Numerics::Vector3 value) = 0; ++ ++ virtual HRESULT STDMETHODCALLTYPE get_Clip( ++ ABI::Windows::UI::Composition::CompositionClip **value) = 0; ++ ++ virtual HRESULT STDMETHODCALLTYPE put_Clip( ++ ABI::Windows::UI::Composition::CompositionClip *value) = 0; ++ ++ virtual HRESULT STDMETHODCALLTYPE get_CompositeMode( ++ ABI::Windows::UI::Composition::CompositionCompositeMode *value) = 0; ++ ++ virtual HRESULT STDMETHODCALLTYPE put_CompositeMode( ++ ABI::Windows::UI::Composition::CompositionCompositeMode value) = 0; ++ ++ virtual HRESULT STDMETHODCALLTYPE get_IsVisible( ++ boolean *value) = 0; ++ ++ virtual HRESULT STDMETHODCALLTYPE put_IsVisible( ++ boolean value) = 0; ++ ++ virtual HRESULT STDMETHODCALLTYPE get_Offset( ++ ABI::Windows::Foundation::Numerics::Vector3 *value) = 0; ++ ++ virtual HRESULT STDMETHODCALLTYPE put_Offset( ++ ABI::Windows::Foundation::Numerics::Vector3 value) = 0; ++ ++ virtual HRESULT STDMETHODCALLTYPE get_Opacity( ++ FLOAT *value) = 0; ++ ++ virtual HRESULT STDMETHODCALLTYPE put_Opacity( ++ FLOAT value) = 0; ++ ++ virtual HRESULT STDMETHODCALLTYPE get_Orientation( ++ ABI::Windows::Foundation::Numerics::Quaternion *value) = 0; ++ ++ virtual HRESULT STDMETHODCALLTYPE put_Orientation( ++ ABI::Windows::Foundation::Numerics::Quaternion value) = 0; ++ ++ virtual HRESULT STDMETHODCALLTYPE get_Parent( ++ ABI::Windows::UI::Composition::ContainerVisual **value) = 0; ++ ++ virtual HRESULT STDMETHODCALLTYPE get_RotationAngle( ++ FLOAT *value) = 0; ++ ++ virtual HRESULT STDMETHODCALLTYPE put_RotationAngle( ++ FLOAT value) = 0; ++ ++ virtual HRESULT STDMETHODCALLTYPE get_RotationAngleInDegrees( ++ FLOAT *value) = 0; ++ ++ virtual HRESULT STDMETHODCALLTYPE put_RotationAngleInDegrees( ++ FLOAT value) = 0; ++ ++ virtual HRESULT STDMETHODCALLTYPE get_RotationAxis( ++ ABI::Windows::Foundation::Numerics::Vector3 *value) = 0; ++ ++ virtual HRESULT STDMETHODCALLTYPE put_RotationAxis( ++ ABI::Windows::Foundation::Numerics::Vector3 value) = 0; ++ ++ virtual HRESULT STDMETHODCALLTYPE get_Scale( ++ ABI::Windows::Foundation::Numerics::Vector3 *value) = 0; ++ ++ virtual HRESULT STDMETHODCALLTYPE put_Scale( ++ ABI::Windows::Foundation::Numerics::Vector3 value) = 0; ++ ++ virtual HRESULT STDMETHODCALLTYPE get_Size( ++ ABI::Windows::Foundation::Numerics::Vector2 *value) = 0; ++ ++ virtual HRESULT STDMETHODCALLTYPE put_Size( ++ ABI::Windows::Foundation::Numerics::Vector2 value) = 0; ++ ++ virtual HRESULT STDMETHODCALLTYPE get_TransformMatrix( ++ ABI::Windows::Foundation::Numerics::Matrix4x4 *value) = 0; ++ ++ virtual HRESULT STDMETHODCALLTYPE put_TransformMatrix( ++ ABI::Windows::Foundation::Numerics::Matrix4x4 value) = 0; ++ ++ }; ++ } ++ } ++ } ++} ++extern "C" { ++#ifdef __CRT_UUID_DECL ++__CRT_UUID_DECL(ABI::Windows::UI::Composition::IVisual, 0x117e202d, 0xa859, 0x4c89, 0x87,0x3b, 0xc2,0xaa,0x56,0x67,0x88,0xe3) ++#endif ++#else ++typedef struct __x_ABI_CWindows_CUI_CComposition_CIVisualVtbl { ++ BEGIN_INTERFACE ++ ++ /*** IUnknown methods ***/ ++ HRESULT (STDMETHODCALLTYPE *QueryInterface)( ++ __x_ABI_CWindows_CUI_CComposition_CIVisual *This, ++ REFIID riid, ++ void **ppvObject); ++ ++ ULONG (STDMETHODCALLTYPE *AddRef)( ++ __x_ABI_CWindows_CUI_CComposition_CIVisual *This); ++ ++ ULONG (STDMETHODCALLTYPE *Release)( ++ __x_ABI_CWindows_CUI_CComposition_CIVisual *This); ++ ++ /*** IInspectable methods ***/ ++ HRESULT (STDMETHODCALLTYPE *GetIids)( ++ __x_ABI_CWindows_CUI_CComposition_CIVisual *This, ++ ULONG *iidCount, ++ IID **iids); ++ ++ HRESULT (STDMETHODCALLTYPE *GetRuntimeClassName)( ++ __x_ABI_CWindows_CUI_CComposition_CIVisual *This, ++ HSTRING *className); ++ ++ HRESULT (STDMETHODCALLTYPE *GetTrustLevel)( ++ __x_ABI_CWindows_CUI_CComposition_CIVisual *This, ++ TrustLevel *trustLevel); ++ ++ /*** IVisual methods ***/ ++ HRESULT (STDMETHODCALLTYPE *get_AnchorPoint)( ++ __x_ABI_CWindows_CUI_CComposition_CIVisual *This, ++ __x_ABI_CWindows_CFoundation_CNumerics_CVector2 *value); ++ ++ HRESULT (STDMETHODCALLTYPE *put_AnchorPoint)( ++ __x_ABI_CWindows_CUI_CComposition_CIVisual *This, ++ __x_ABI_CWindows_CFoundation_CNumerics_CVector2 value); ++ ++ HRESULT (STDMETHODCALLTYPE *get_BackfaceVisibility)( ++ __x_ABI_CWindows_CUI_CComposition_CIVisual *This, ++ __x_ABI_CWindows_CUI_CComposition_CCompositionBackfaceVisibility *value); ++ ++ HRESULT (STDMETHODCALLTYPE *put_BackfaceVisibility)( ++ __x_ABI_CWindows_CUI_CComposition_CIVisual *This, ++ __x_ABI_CWindows_CUI_CComposition_CCompositionBackfaceVisibility value); ++ ++ HRESULT (STDMETHODCALLTYPE *get_BorderMode)( ++ __x_ABI_CWindows_CUI_CComposition_CIVisual *This, ++ __x_ABI_CWindows_CUI_CComposition_CCompositionBorderMode *value); ++ ++ HRESULT (STDMETHODCALLTYPE *put_BorderMode)( ++ __x_ABI_CWindows_CUI_CComposition_CIVisual *This, ++ __x_ABI_CWindows_CUI_CComposition_CCompositionBorderMode value); ++ ++ HRESULT (STDMETHODCALLTYPE *get_CenterPoint)( ++ __x_ABI_CWindows_CUI_CComposition_CIVisual *This, ++ __x_ABI_CWindows_CFoundation_CNumerics_CVector3 *value); ++ ++ HRESULT (STDMETHODCALLTYPE *put_CenterPoint)( ++ __x_ABI_CWindows_CUI_CComposition_CIVisual *This, ++ __x_ABI_CWindows_CFoundation_CNumerics_CVector3 value); ++ ++ HRESULT (STDMETHODCALLTYPE *get_Clip)( ++ __x_ABI_CWindows_CUI_CComposition_CIVisual *This, ++ __x_ABI_CWindows_CUI_CComposition_CCompositionClip **value); ++ ++ HRESULT (STDMETHODCALLTYPE *put_Clip)( ++ __x_ABI_CWindows_CUI_CComposition_CIVisual *This, ++ __x_ABI_CWindows_CUI_CComposition_CCompositionClip *value); ++ ++ HRESULT (STDMETHODCALLTYPE *get_CompositeMode)( ++ __x_ABI_CWindows_CUI_CComposition_CIVisual *This, ++ __x_ABI_CWindows_CUI_CComposition_CCompositionCompositeMode *value); ++ ++ HRESULT (STDMETHODCALLTYPE *put_CompositeMode)( ++ __x_ABI_CWindows_CUI_CComposition_CIVisual *This, ++ __x_ABI_CWindows_CUI_CComposition_CCompositionCompositeMode value); ++ ++ HRESULT (STDMETHODCALLTYPE *get_IsVisible)( ++ __x_ABI_CWindows_CUI_CComposition_CIVisual *This, ++ boolean *value); ++ ++ HRESULT (STDMETHODCALLTYPE *put_IsVisible)( ++ __x_ABI_CWindows_CUI_CComposition_CIVisual *This, ++ boolean value); ++ ++ HRESULT (STDMETHODCALLTYPE *get_Offset)( ++ __x_ABI_CWindows_CUI_CComposition_CIVisual *This, ++ __x_ABI_CWindows_CFoundation_CNumerics_CVector3 *value); ++ ++ HRESULT (STDMETHODCALLTYPE *put_Offset)( ++ __x_ABI_CWindows_CUI_CComposition_CIVisual *This, ++ __x_ABI_CWindows_CFoundation_CNumerics_CVector3 value); ++ ++ HRESULT (STDMETHODCALLTYPE *get_Opacity)( ++ __x_ABI_CWindows_CUI_CComposition_CIVisual *This, ++ FLOAT *value); ++ ++ HRESULT (STDMETHODCALLTYPE *put_Opacity)( ++ __x_ABI_CWindows_CUI_CComposition_CIVisual *This, ++ FLOAT value); ++ ++ HRESULT (STDMETHODCALLTYPE *get_Orientation)( ++ __x_ABI_CWindows_CUI_CComposition_CIVisual *This, ++ __x_ABI_CWindows_CFoundation_CNumerics_CQuaternion *value); ++ ++ HRESULT (STDMETHODCALLTYPE *put_Orientation)( ++ __x_ABI_CWindows_CUI_CComposition_CIVisual *This, ++ __x_ABI_CWindows_CFoundation_CNumerics_CQuaternion value); ++ ++ HRESULT (STDMETHODCALLTYPE *get_Parent)( ++ __x_ABI_CWindows_CUI_CComposition_CIVisual *This, ++ __x_ABI_CWindows_CUI_CComposition_CContainerVisual **value); ++ ++ HRESULT (STDMETHODCALLTYPE *get_RotationAngle)( ++ __x_ABI_CWindows_CUI_CComposition_CIVisual *This, ++ FLOAT *value); ++ ++ HRESULT (STDMETHODCALLTYPE *put_RotationAngle)( ++ __x_ABI_CWindows_CUI_CComposition_CIVisual *This, ++ FLOAT value); ++ ++ HRESULT (STDMETHODCALLTYPE *get_RotationAngleInDegrees)( ++ __x_ABI_CWindows_CUI_CComposition_CIVisual *This, ++ FLOAT *value); ++ ++ HRESULT (STDMETHODCALLTYPE *put_RotationAngleInDegrees)( ++ __x_ABI_CWindows_CUI_CComposition_CIVisual *This, ++ FLOAT value); ++ ++ HRESULT (STDMETHODCALLTYPE *get_RotationAxis)( ++ __x_ABI_CWindows_CUI_CComposition_CIVisual *This, ++ __x_ABI_CWindows_CFoundation_CNumerics_CVector3 *value); ++ ++ HRESULT (STDMETHODCALLTYPE *put_RotationAxis)( ++ __x_ABI_CWindows_CUI_CComposition_CIVisual *This, ++ __x_ABI_CWindows_CFoundation_CNumerics_CVector3 value); ++ ++ HRESULT (STDMETHODCALLTYPE *get_Scale)( ++ __x_ABI_CWindows_CUI_CComposition_CIVisual *This, ++ __x_ABI_CWindows_CFoundation_CNumerics_CVector3 *value); ++ ++ HRESULT (STDMETHODCALLTYPE *put_Scale)( ++ __x_ABI_CWindows_CUI_CComposition_CIVisual *This, ++ __x_ABI_CWindows_CFoundation_CNumerics_CVector3 value); ++ ++ HRESULT (STDMETHODCALLTYPE *get_Size)( ++ __x_ABI_CWindows_CUI_CComposition_CIVisual *This, ++ __x_ABI_CWindows_CFoundation_CNumerics_CVector2 *value); ++ ++ HRESULT (STDMETHODCALLTYPE *put_Size)( ++ __x_ABI_CWindows_CUI_CComposition_CIVisual *This, ++ __x_ABI_CWindows_CFoundation_CNumerics_CVector2 value); ++ ++ HRESULT (STDMETHODCALLTYPE *get_TransformMatrix)( ++ __x_ABI_CWindows_CUI_CComposition_CIVisual *This, ++ __x_ABI_CWindows_CFoundation_CNumerics_CMatrix4x4 *value); ++ ++ HRESULT (STDMETHODCALLTYPE *put_TransformMatrix)( ++ __x_ABI_CWindows_CUI_CComposition_CIVisual *This, ++ __x_ABI_CWindows_CFoundation_CNumerics_CMatrix4x4 value); ++ ++ END_INTERFACE ++} __x_ABI_CWindows_CUI_CComposition_CIVisualVtbl; ++ ++interface __x_ABI_CWindows_CUI_CComposition_CIVisual { ++ CONST_VTBL __x_ABI_CWindows_CUI_CComposition_CIVisualVtbl* lpVtbl; ++}; ++ ++#ifdef COBJMACROS ++#ifndef WIDL_C_INLINE_WRAPPERS ++/*** IUnknown methods ***/ ++#define __x_ABI_CWindows_CUI_CComposition_CIVisual_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) ++#define __x_ABI_CWindows_CUI_CComposition_CIVisual_AddRef(This) (This)->lpVtbl->AddRef(This) ++#define __x_ABI_CWindows_CUI_CComposition_CIVisual_Release(This) (This)->lpVtbl->Release(This) ++/*** IInspectable methods ***/ ++#define __x_ABI_CWindows_CUI_CComposition_CIVisual_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids) ++#define __x_ABI_CWindows_CUI_CComposition_CIVisual_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className) ++#define __x_ABI_CWindows_CUI_CComposition_CIVisual_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel) ++/*** IVisual methods ***/ ++#define __x_ABI_CWindows_CUI_CComposition_CIVisual_get_AnchorPoint(This,value) (This)->lpVtbl->get_AnchorPoint(This,value) ++#define __x_ABI_CWindows_CUI_CComposition_CIVisual_put_AnchorPoint(This,value) (This)->lpVtbl->put_AnchorPoint(This,value) ++#define __x_ABI_CWindows_CUI_CComposition_CIVisual_get_BackfaceVisibility(This,value) (This)->lpVtbl->get_BackfaceVisibility(This,value) ++#define __x_ABI_CWindows_CUI_CComposition_CIVisual_put_BackfaceVisibility(This,value) (This)->lpVtbl->put_BackfaceVisibility(This,value) ++#define __x_ABI_CWindows_CUI_CComposition_CIVisual_get_BorderMode(This,value) (This)->lpVtbl->get_BorderMode(This,value) ++#define __x_ABI_CWindows_CUI_CComposition_CIVisual_put_BorderMode(This,value) (This)->lpVtbl->put_BorderMode(This,value) ++#define __x_ABI_CWindows_CUI_CComposition_CIVisual_get_CenterPoint(This,value) (This)->lpVtbl->get_CenterPoint(This,value) ++#define __x_ABI_CWindows_CUI_CComposition_CIVisual_put_CenterPoint(This,value) (This)->lpVtbl->put_CenterPoint(This,value) ++#define __x_ABI_CWindows_CUI_CComposition_CIVisual_get_Clip(This,value) (This)->lpVtbl->get_Clip(This,value) ++#define __x_ABI_CWindows_CUI_CComposition_CIVisual_put_Clip(This,value) (This)->lpVtbl->put_Clip(This,value) ++#define __x_ABI_CWindows_CUI_CComposition_CIVisual_get_CompositeMode(This,value) (This)->lpVtbl->get_CompositeMode(This,value) ++#define __x_ABI_CWindows_CUI_CComposition_CIVisual_put_CompositeMode(This,value) (This)->lpVtbl->put_CompositeMode(This,value) ++#define __x_ABI_CWindows_CUI_CComposition_CIVisual_get_IsVisible(This,value) (This)->lpVtbl->get_IsVisible(This,value) ++#define __x_ABI_CWindows_CUI_CComposition_CIVisual_put_IsVisible(This,value) (This)->lpVtbl->put_IsVisible(This,value) ++#define __x_ABI_CWindows_CUI_CComposition_CIVisual_get_Offset(This,value) (This)->lpVtbl->get_Offset(This,value) ++#define __x_ABI_CWindows_CUI_CComposition_CIVisual_put_Offset(This,value) (This)->lpVtbl->put_Offset(This,value) ++#define __x_ABI_CWindows_CUI_CComposition_CIVisual_get_Opacity(This,value) (This)->lpVtbl->get_Opacity(This,value) ++#define __x_ABI_CWindows_CUI_CComposition_CIVisual_put_Opacity(This,value) (This)->lpVtbl->put_Opacity(This,value) ++#define __x_ABI_CWindows_CUI_CComposition_CIVisual_get_Orientation(This,value) (This)->lpVtbl->get_Orientation(This,value) ++#define __x_ABI_CWindows_CUI_CComposition_CIVisual_put_Orientation(This,value) (This)->lpVtbl->put_Orientation(This,value) ++#define __x_ABI_CWindows_CUI_CComposition_CIVisual_get_Parent(This,value) (This)->lpVtbl->get_Parent(This,value) ++#define __x_ABI_CWindows_CUI_CComposition_CIVisual_get_RotationAngle(This,value) (This)->lpVtbl->get_RotationAngle(This,value) ++#define __x_ABI_CWindows_CUI_CComposition_CIVisual_put_RotationAngle(This,value) (This)->lpVtbl->put_RotationAngle(This,value) ++#define __x_ABI_CWindows_CUI_CComposition_CIVisual_get_RotationAngleInDegrees(This,value) (This)->lpVtbl->get_RotationAngleInDegrees(This,value) ++#define __x_ABI_CWindows_CUI_CComposition_CIVisual_put_RotationAngleInDegrees(This,value) (This)->lpVtbl->put_RotationAngleInDegrees(This,value) ++#define __x_ABI_CWindows_CUI_CComposition_CIVisual_get_RotationAxis(This,value) (This)->lpVtbl->get_RotationAxis(This,value) ++#define __x_ABI_CWindows_CUI_CComposition_CIVisual_put_RotationAxis(This,value) (This)->lpVtbl->put_RotationAxis(This,value) ++#define __x_ABI_CWindows_CUI_CComposition_CIVisual_get_Scale(This,value) (This)->lpVtbl->get_Scale(This,value) ++#define __x_ABI_CWindows_CUI_CComposition_CIVisual_put_Scale(This,value) (This)->lpVtbl->put_Scale(This,value) ++#define __x_ABI_CWindows_CUI_CComposition_CIVisual_get_Size(This,value) (This)->lpVtbl->get_Size(This,value) ++#define __x_ABI_CWindows_CUI_CComposition_CIVisual_put_Size(This,value) (This)->lpVtbl->put_Size(This,value) ++#define __x_ABI_CWindows_CUI_CComposition_CIVisual_get_TransformMatrix(This,value) (This)->lpVtbl->get_TransformMatrix(This,value) ++#define __x_ABI_CWindows_CUI_CComposition_CIVisual_put_TransformMatrix(This,value) (This)->lpVtbl->put_TransformMatrix(This,value) ++#else ++/*** IUnknown methods ***/ ++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CIVisual_QueryInterface(__x_ABI_CWindows_CUI_CComposition_CIVisual* This,REFIID riid,void **ppvObject) { ++ return This->lpVtbl->QueryInterface(This,riid,ppvObject); ++} ++static FORCEINLINE ULONG __x_ABI_CWindows_CUI_CComposition_CIVisual_AddRef(__x_ABI_CWindows_CUI_CComposition_CIVisual* This) { ++ return This->lpVtbl->AddRef(This); ++} ++static FORCEINLINE ULONG __x_ABI_CWindows_CUI_CComposition_CIVisual_Release(__x_ABI_CWindows_CUI_CComposition_CIVisual* This) { ++ return This->lpVtbl->Release(This); ++} ++/*** IInspectable methods ***/ ++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CIVisual_GetIids(__x_ABI_CWindows_CUI_CComposition_CIVisual* This,ULONG *iidCount,IID **iids) { ++ return This->lpVtbl->GetIids(This,iidCount,iids); ++} ++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CIVisual_GetRuntimeClassName(__x_ABI_CWindows_CUI_CComposition_CIVisual* This,HSTRING *className) { ++ return This->lpVtbl->GetRuntimeClassName(This,className); ++} ++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CIVisual_GetTrustLevel(__x_ABI_CWindows_CUI_CComposition_CIVisual* This,TrustLevel *trustLevel) { ++ return This->lpVtbl->GetTrustLevel(This,trustLevel); ++} ++/*** IVisual methods ***/ ++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CIVisual_get_AnchorPoint(__x_ABI_CWindows_CUI_CComposition_CIVisual* This,__x_ABI_CWindows_CFoundation_CNumerics_CVector2 *value) { ++ return This->lpVtbl->get_AnchorPoint(This,value); ++} ++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CIVisual_put_AnchorPoint(__x_ABI_CWindows_CUI_CComposition_CIVisual* This,__x_ABI_CWindows_CFoundation_CNumerics_CVector2 value) { ++ return This->lpVtbl->put_AnchorPoint(This,value); ++} ++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CIVisual_get_BackfaceVisibility(__x_ABI_CWindows_CUI_CComposition_CIVisual* This,__x_ABI_CWindows_CUI_CComposition_CCompositionBackfaceVisibility *value) { ++ return This->lpVtbl->get_BackfaceVisibility(This,value); ++} ++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CIVisual_put_BackfaceVisibility(__x_ABI_CWindows_CUI_CComposition_CIVisual* This,__x_ABI_CWindows_CUI_CComposition_CCompositionBackfaceVisibility value) { ++ return This->lpVtbl->put_BackfaceVisibility(This,value); ++} ++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CIVisual_get_BorderMode(__x_ABI_CWindows_CUI_CComposition_CIVisual* This,__x_ABI_CWindows_CUI_CComposition_CCompositionBorderMode *value) { ++ return This->lpVtbl->get_BorderMode(This,value); ++} ++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CIVisual_put_BorderMode(__x_ABI_CWindows_CUI_CComposition_CIVisual* This,__x_ABI_CWindows_CUI_CComposition_CCompositionBorderMode value) { ++ return This->lpVtbl->put_BorderMode(This,value); ++} ++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CIVisual_get_CenterPoint(__x_ABI_CWindows_CUI_CComposition_CIVisual* This,__x_ABI_CWindows_CFoundation_CNumerics_CVector3 *value) { ++ return This->lpVtbl->get_CenterPoint(This,value); ++} ++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CIVisual_put_CenterPoint(__x_ABI_CWindows_CUI_CComposition_CIVisual* This,__x_ABI_CWindows_CFoundation_CNumerics_CVector3 value) { ++ return This->lpVtbl->put_CenterPoint(This,value); ++} ++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CIVisual_get_Clip(__x_ABI_CWindows_CUI_CComposition_CIVisual* This,__x_ABI_CWindows_CUI_CComposition_CCompositionClip **value) { ++ return This->lpVtbl->get_Clip(This,value); ++} ++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CIVisual_put_Clip(__x_ABI_CWindows_CUI_CComposition_CIVisual* This,__x_ABI_CWindows_CUI_CComposition_CCompositionClip *value) { ++ return This->lpVtbl->put_Clip(This,value); ++} ++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CIVisual_get_CompositeMode(__x_ABI_CWindows_CUI_CComposition_CIVisual* This,__x_ABI_CWindows_CUI_CComposition_CCompositionCompositeMode *value) { ++ return This->lpVtbl->get_CompositeMode(This,value); ++} ++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CIVisual_put_CompositeMode(__x_ABI_CWindows_CUI_CComposition_CIVisual* This,__x_ABI_CWindows_CUI_CComposition_CCompositionCompositeMode value) { ++ return This->lpVtbl->put_CompositeMode(This,value); ++} ++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CIVisual_get_IsVisible(__x_ABI_CWindows_CUI_CComposition_CIVisual* This,boolean *value) { ++ return This->lpVtbl->get_IsVisible(This,value); ++} ++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CIVisual_put_IsVisible(__x_ABI_CWindows_CUI_CComposition_CIVisual* This,boolean value) { ++ return This->lpVtbl->put_IsVisible(This,value); ++} ++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CIVisual_get_Offset(__x_ABI_CWindows_CUI_CComposition_CIVisual* This,__x_ABI_CWindows_CFoundation_CNumerics_CVector3 *value) { ++ return This->lpVtbl->get_Offset(This,value); ++} ++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CIVisual_put_Offset(__x_ABI_CWindows_CUI_CComposition_CIVisual* This,__x_ABI_CWindows_CFoundation_CNumerics_CVector3 value) { ++ return This->lpVtbl->put_Offset(This,value); ++} ++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CIVisual_get_Opacity(__x_ABI_CWindows_CUI_CComposition_CIVisual* This,FLOAT *value) { ++ return This->lpVtbl->get_Opacity(This,value); ++} ++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CIVisual_put_Opacity(__x_ABI_CWindows_CUI_CComposition_CIVisual* This,FLOAT value) { ++ return This->lpVtbl->put_Opacity(This,value); ++} ++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CIVisual_get_Orientation(__x_ABI_CWindows_CUI_CComposition_CIVisual* This,__x_ABI_CWindows_CFoundation_CNumerics_CQuaternion *value) { ++ return This->lpVtbl->get_Orientation(This,value); ++} ++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CIVisual_put_Orientation(__x_ABI_CWindows_CUI_CComposition_CIVisual* This,__x_ABI_CWindows_CFoundation_CNumerics_CQuaternion value) { ++ return This->lpVtbl->put_Orientation(This,value); ++} ++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CIVisual_get_Parent(__x_ABI_CWindows_CUI_CComposition_CIVisual* This,__x_ABI_CWindows_CUI_CComposition_CContainerVisual **value) { ++ return This->lpVtbl->get_Parent(This,value); ++} ++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CIVisual_get_RotationAngle(__x_ABI_CWindows_CUI_CComposition_CIVisual* This,FLOAT *value) { ++ return This->lpVtbl->get_RotationAngle(This,value); ++} ++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CIVisual_put_RotationAngle(__x_ABI_CWindows_CUI_CComposition_CIVisual* This,FLOAT value) { ++ return This->lpVtbl->put_RotationAngle(This,value); ++} ++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CIVisual_get_RotationAngleInDegrees(__x_ABI_CWindows_CUI_CComposition_CIVisual* This,FLOAT *value) { ++ return This->lpVtbl->get_RotationAngleInDegrees(This,value); ++} ++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CIVisual_put_RotationAngleInDegrees(__x_ABI_CWindows_CUI_CComposition_CIVisual* This,FLOAT value) { ++ return This->lpVtbl->put_RotationAngleInDegrees(This,value); ++} ++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CIVisual_get_RotationAxis(__x_ABI_CWindows_CUI_CComposition_CIVisual* This,__x_ABI_CWindows_CFoundation_CNumerics_CVector3 *value) { ++ return This->lpVtbl->get_RotationAxis(This,value); ++} ++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CIVisual_put_RotationAxis(__x_ABI_CWindows_CUI_CComposition_CIVisual* This,__x_ABI_CWindows_CFoundation_CNumerics_CVector3 value) { ++ return This->lpVtbl->put_RotationAxis(This,value); ++} ++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CIVisual_get_Scale(__x_ABI_CWindows_CUI_CComposition_CIVisual* This,__x_ABI_CWindows_CFoundation_CNumerics_CVector3 *value) { ++ return This->lpVtbl->get_Scale(This,value); ++} ++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CIVisual_put_Scale(__x_ABI_CWindows_CUI_CComposition_CIVisual* This,__x_ABI_CWindows_CFoundation_CNumerics_CVector3 value) { ++ return This->lpVtbl->put_Scale(This,value); ++} ++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CIVisual_get_Size(__x_ABI_CWindows_CUI_CComposition_CIVisual* This,__x_ABI_CWindows_CFoundation_CNumerics_CVector2 *value) { ++ return This->lpVtbl->get_Size(This,value); ++} ++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CIVisual_put_Size(__x_ABI_CWindows_CUI_CComposition_CIVisual* This,__x_ABI_CWindows_CFoundation_CNumerics_CVector2 value) { ++ return This->lpVtbl->put_Size(This,value); ++} ++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CIVisual_get_TransformMatrix(__x_ABI_CWindows_CUI_CComposition_CIVisual* This,__x_ABI_CWindows_CFoundation_CNumerics_CMatrix4x4 *value) { ++ return This->lpVtbl->get_TransformMatrix(This,value); ++} ++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CIVisual_put_TransformMatrix(__x_ABI_CWindows_CUI_CComposition_CIVisual* This,__x_ABI_CWindows_CFoundation_CNumerics_CMatrix4x4 value) { ++ return This->lpVtbl->put_TransformMatrix(This,value); ++} ++#endif ++#endif ++ ++#endif ++ ++#endif /* ____x_ABI_CWindows_CUI_CComposition_CIVisual_INTERFACE_DEFINED__ */ ++ ++/***************************************************************************** ++ * Compositor interface ++ */ ++#ifndef ____x_ABI_CWindows_CUI_CComposition_CCompositor_INTERFACE_DEFINED__ ++#define ____x_ABI_CWindows_CUI_CComposition_CCompositor_INTERFACE_DEFINED__ ++ ++DEFINE_GUID(IID___x_ABI_CWindows_CUI_CComposition_CCompositor, 0x38e05581, 0x1ad1, 0x4f97, 0x96,0x66, 0x40,0x2d,0x76,0xe4,0x23,0x3b); ++#if defined(__cplusplus) && !defined(CINTERFACE) ++} /* extern "C" */ ++namespace ABI { ++ namespace Windows { ++ namespace UI { ++ namespace Composition { ++ MIDL_INTERFACE("38e05581-1ad1-4f97-9666-402d76e4233b") ++ Compositor : public IUnknown ++ { ++ }; ++ } ++ } ++ } ++} ++extern "C" { ++#ifdef __CRT_UUID_DECL ++__CRT_UUID_DECL(ABI::Windows::UI::Composition::Compositor, 0x38e05581, 0x1ad1, 0x4f97, 0x96,0x66, 0x40,0x2d,0x76,0xe4,0x23,0x3b) ++#endif ++#else ++typedef struct __x_ABI_CWindows_CUI_CComposition_CCompositorVtbl { ++ BEGIN_INTERFACE ++ ++ /*** IUnknown methods ***/ ++ HRESULT (STDMETHODCALLTYPE *QueryInterface)( ++ __x_ABI_CWindows_CUI_CComposition_CCompositor *This, ++ REFIID riid, ++ void **ppvObject); ++ ++ ULONG (STDMETHODCALLTYPE *AddRef)( ++ __x_ABI_CWindows_CUI_CComposition_CCompositor *This); ++ ++ ULONG (STDMETHODCALLTYPE *Release)( ++ __x_ABI_CWindows_CUI_CComposition_CCompositor *This); ++ ++ END_INTERFACE ++} __x_ABI_CWindows_CUI_CComposition_CCompositorVtbl; ++ ++interface __x_ABI_CWindows_CUI_CComposition_CCompositor { ++ CONST_VTBL __x_ABI_CWindows_CUI_CComposition_CCompositorVtbl* lpVtbl; ++}; ++ ++#ifdef COBJMACROS ++#ifndef WIDL_C_INLINE_WRAPPERS ++/*** IUnknown methods ***/ ++#define __x_ABI_CWindows_CUI_CComposition_CCompositor_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) ++#define __x_ABI_CWindows_CUI_CComposition_CCompositor_AddRef(This) (This)->lpVtbl->AddRef(This) ++#define __x_ABI_CWindows_CUI_CComposition_CCompositor_Release(This) (This)->lpVtbl->Release(This) ++#else ++/*** IUnknown methods ***/ ++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CCompositor_QueryInterface(__x_ABI_CWindows_CUI_CComposition_CCompositor* This,REFIID riid,void **ppvObject) { ++ return This->lpVtbl->QueryInterface(This,riid,ppvObject); ++} ++static FORCEINLINE ULONG __x_ABI_CWindows_CUI_CComposition_CCompositor_AddRef(__x_ABI_CWindows_CUI_CComposition_CCompositor* This) { ++ return This->lpVtbl->AddRef(This); ++} ++static FORCEINLINE ULONG __x_ABI_CWindows_CUI_CComposition_CCompositor_Release(__x_ABI_CWindows_CUI_CComposition_CCompositor* This) { ++ return This->lpVtbl->Release(This); ++} ++#endif ++#endif ++ ++#endif ++ ++#endif /* ____x_ABI_CWindows_CUI_CComposition_CCompositor_INTERFACE_DEFINED__ */ ++ ++/***************************************************************************** ++ * CompositionPropertySet interface ++ */ ++#ifndef ____x_ABI_CWindows_CUI_CComposition_CCompositionPropertySet_INTERFACE_DEFINED__ ++#define ____x_ABI_CWindows_CUI_CComposition_CCompositionPropertySet_INTERFACE_DEFINED__ ++ ++DEFINE_GUID(IID___x_ABI_CWindows_CUI_CComposition_CCompositionPropertySet, 0x38e05582, 0x1ad1, 0x4f97, 0x96,0x66, 0x40,0x2d,0x76,0xe4,0x23,0x3b); ++#if defined(__cplusplus) && !defined(CINTERFACE) ++} /* extern "C" */ ++namespace ABI { ++ namespace Windows { ++ namespace UI { ++ namespace Composition { ++ MIDL_INTERFACE("38e05582-1ad1-4f97-9666-402d76e4233b") ++ CompositionPropertySet : public IUnknown ++ { ++ }; ++ } ++ } ++ } ++} ++extern "C" { ++#ifdef __CRT_UUID_DECL ++__CRT_UUID_DECL(ABI::Windows::UI::Composition::CompositionPropertySet, 0x38e05582, 0x1ad1, 0x4f97, 0x96,0x66, 0x40,0x2d,0x76,0xe4,0x23,0x3b) ++#endif ++#else ++typedef struct __x_ABI_CWindows_CUI_CComposition_CCompositionPropertySetVtbl { ++ BEGIN_INTERFACE ++ ++ /*** IUnknown methods ***/ ++ HRESULT (STDMETHODCALLTYPE *QueryInterface)( ++ __x_ABI_CWindows_CUI_CComposition_CCompositionPropertySet *This, ++ REFIID riid, ++ void **ppvObject); ++ ++ ULONG (STDMETHODCALLTYPE *AddRef)( ++ __x_ABI_CWindows_CUI_CComposition_CCompositionPropertySet *This); ++ ++ ULONG (STDMETHODCALLTYPE *Release)( ++ __x_ABI_CWindows_CUI_CComposition_CCompositionPropertySet *This); ++ ++ END_INTERFACE ++} __x_ABI_CWindows_CUI_CComposition_CCompositionPropertySetVtbl; ++ ++interface __x_ABI_CWindows_CUI_CComposition_CCompositionPropertySet { ++ CONST_VTBL __x_ABI_CWindows_CUI_CComposition_CCompositionPropertySetVtbl* lpVtbl; ++}; ++ ++#ifdef COBJMACROS ++#ifndef WIDL_C_INLINE_WRAPPERS ++/*** IUnknown methods ***/ ++#define __x_ABI_CWindows_CUI_CComposition_CCompositionPropertySet_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) ++#define __x_ABI_CWindows_CUI_CComposition_CCompositionPropertySet_AddRef(This) (This)->lpVtbl->AddRef(This) ++#define __x_ABI_CWindows_CUI_CComposition_CCompositionPropertySet_Release(This) (This)->lpVtbl->Release(This) ++#else ++/*** IUnknown methods ***/ ++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CCompositionPropertySet_QueryInterface(__x_ABI_CWindows_CUI_CComposition_CCompositionPropertySet* This,REFIID riid,void **ppvObject) { ++ return This->lpVtbl->QueryInterface(This,riid,ppvObject); ++} ++static FORCEINLINE ULONG __x_ABI_CWindows_CUI_CComposition_CCompositionPropertySet_AddRef(__x_ABI_CWindows_CUI_CComposition_CCompositionPropertySet* This) { ++ return This->lpVtbl->AddRef(This); ++} ++static FORCEINLINE ULONG __x_ABI_CWindows_CUI_CComposition_CCompositionPropertySet_Release(__x_ABI_CWindows_CUI_CComposition_CCompositionPropertySet* This) { ++ return This->lpVtbl->Release(This); ++} ++#endif ++#endif ++ ++#endif ++ ++#endif /* ____x_ABI_CWindows_CUI_CComposition_CCompositionPropertySet_INTERFACE_DEFINED__ */ ++ ++/***************************************************************************** ++ * CompositionAnimation interface ++ */ ++#ifndef ____x_ABI_CWindows_CUI_CComposition_CCompositionAnimation_INTERFACE_DEFINED__ ++#define ____x_ABI_CWindows_CUI_CComposition_CCompositionAnimation_INTERFACE_DEFINED__ ++ ++DEFINE_GUID(IID___x_ABI_CWindows_CUI_CComposition_CCompositionAnimation, 0x38e05582, 0x1ad2, 0x4f97, 0x96,0x66, 0x40,0x2d,0x76,0xe4,0x23,0x3b); ++#if defined(__cplusplus) && !defined(CINTERFACE) ++} /* extern "C" */ ++namespace ABI { ++ namespace Windows { ++ namespace UI { ++ namespace Composition { ++ MIDL_INTERFACE("38e05582-1ad2-4f97-9666-402d76e4233b") ++ CompositionAnimation : public IUnknown ++ { ++ }; ++ } ++ } ++ } ++} ++extern "C" { ++#ifdef __CRT_UUID_DECL ++__CRT_UUID_DECL(ABI::Windows::UI::Composition::CompositionAnimation, 0x38e05582, 0x1ad2, 0x4f97, 0x96,0x66, 0x40,0x2d,0x76,0xe4,0x23,0x3b) ++#endif ++#else ++typedef struct __x_ABI_CWindows_CUI_CComposition_CCompositionAnimationVtbl { ++ BEGIN_INTERFACE ++ ++ /*** IUnknown methods ***/ ++ HRESULT (STDMETHODCALLTYPE *QueryInterface)( ++ __x_ABI_CWindows_CUI_CComposition_CCompositionAnimation *This, ++ REFIID riid, ++ void **ppvObject); ++ ++ ULONG (STDMETHODCALLTYPE *AddRef)( ++ __x_ABI_CWindows_CUI_CComposition_CCompositionAnimation *This); ++ ++ ULONG (STDMETHODCALLTYPE *Release)( ++ __x_ABI_CWindows_CUI_CComposition_CCompositionAnimation *This); ++ ++ END_INTERFACE ++} __x_ABI_CWindows_CUI_CComposition_CCompositionAnimationVtbl; ++ ++interface __x_ABI_CWindows_CUI_CComposition_CCompositionAnimation { ++ CONST_VTBL __x_ABI_CWindows_CUI_CComposition_CCompositionAnimationVtbl* lpVtbl; ++}; ++ ++#ifdef COBJMACROS ++#ifndef WIDL_C_INLINE_WRAPPERS ++/*** IUnknown methods ***/ ++#define __x_ABI_CWindows_CUI_CComposition_CCompositionAnimation_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) ++#define __x_ABI_CWindows_CUI_CComposition_CCompositionAnimation_AddRef(This) (This)->lpVtbl->AddRef(This) ++#define __x_ABI_CWindows_CUI_CComposition_CCompositionAnimation_Release(This) (This)->lpVtbl->Release(This) ++#else ++/*** IUnknown methods ***/ ++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CCompositionAnimation_QueryInterface(__x_ABI_CWindows_CUI_CComposition_CCompositionAnimation* This,REFIID riid,void **ppvObject) { ++ return This->lpVtbl->QueryInterface(This,riid,ppvObject); ++} ++static FORCEINLINE ULONG __x_ABI_CWindows_CUI_CComposition_CCompositionAnimation_AddRef(__x_ABI_CWindows_CUI_CComposition_CCompositionAnimation* This) { ++ return This->lpVtbl->AddRef(This); ++} ++static FORCEINLINE ULONG __x_ABI_CWindows_CUI_CComposition_CCompositionAnimation_Release(__x_ABI_CWindows_CUI_CComposition_CCompositionAnimation* This) { ++ return This->lpVtbl->Release(This); ++} ++#endif ++#endif ++ ++#endif ++ ++#endif /* ____x_ABI_CWindows_CUI_CComposition_CCompositionAnimation_INTERFACE_DEFINED__ */ ++ ++#ifndef ____x_ABI_CWindows_CUI_CComposition_CICompositor_FWD_DEFINED__ ++#define ____x_ABI_CWindows_CUI_CComposition_CICompositor_FWD_DEFINED__ ++typedef interface __x_ABI_CWindows_CUI_CComposition_CICompositor __x_ABI_CWindows_CUI_CComposition_CICompositor; ++#ifdef __cplusplus ++namespace ABI { ++ namespace Windows { ++ namespace UI { ++ namespace Composition { ++ interface ICompositor; ++ } ++ } ++ } ++} ++#endif /* __cplusplus */ ++#endif ++ ++/***************************************************************************** ++ * ICompositionObject interface ++ */ ++#ifndef ____x_ABI_CWindows_CUI_CComposition_CICompositionObject_INTERFACE_DEFINED__ ++#define ____x_ABI_CWindows_CUI_CComposition_CICompositionObject_INTERFACE_DEFINED__ ++ ++DEFINE_GUID(IID___x_ABI_CWindows_CUI_CComposition_CICompositionObject, 0xbcb4ad45, 0x7609, 0x4550, 0x93,0x4f, 0x16,0x00,0x2a,0x68,0xfd,0xed); ++#if defined(__cplusplus) && !defined(CINTERFACE) ++} /* extern "C" */ ++namespace ABI { ++ namespace Windows { ++ namespace UI { ++ namespace Composition { ++ MIDL_INTERFACE("bcb4ad45-7609-4550-934f-16002a68fded") ++ ICompositionObject : public IInspectable ++ { ++ virtual HRESULT STDMETHODCALLTYPE get_Compositor( ++ ABI::Windows::UI::Composition::ICompositor **value) = 0; ++ ++ virtual HRESULT STDMETHODCALLTYPE get_Dispatcher( ++ ABI::Windows::UI::Core::CoreDispatcher **value) = 0; ++ ++ virtual HRESULT STDMETHODCALLTYPE get_Properties( ++ ABI::Windows::UI::Composition::CompositionPropertySet **value) = 0; ++ ++ virtual HRESULT STDMETHODCALLTYPE StartAnimation( ++ HSTRING propertyName, ++ ABI::Windows::UI::Composition::CompositionAnimation *animation) = 0; ++ ++ virtual HRESULT STDMETHODCALLTYPE StopAnimation( ++ HSTRING propertyName) = 0; ++ ++ }; ++ } ++ } ++ } ++} ++extern "C" { ++#ifdef __CRT_UUID_DECL ++__CRT_UUID_DECL(ABI::Windows::UI::Composition::ICompositionObject, 0xbcb4ad45, 0x7609, 0x4550, 0x93,0x4f, 0x16,0x00,0x2a,0x68,0xfd,0xed) ++#endif ++#else ++typedef struct __x_ABI_CWindows_CUI_CComposition_CICompositionObjectVtbl { ++ BEGIN_INTERFACE ++ ++ /*** IUnknown methods ***/ ++ HRESULT (STDMETHODCALLTYPE *QueryInterface)( ++ __x_ABI_CWindows_CUI_CComposition_CICompositionObject *This, ++ REFIID riid, ++ void **ppvObject); ++ ++ ULONG (STDMETHODCALLTYPE *AddRef)( ++ __x_ABI_CWindows_CUI_CComposition_CICompositionObject *This); ++ ++ ULONG (STDMETHODCALLTYPE *Release)( ++ __x_ABI_CWindows_CUI_CComposition_CICompositionObject *This); ++ ++ /*** IInspectable methods ***/ ++ HRESULT (STDMETHODCALLTYPE *GetIids)( ++ __x_ABI_CWindows_CUI_CComposition_CICompositionObject *This, ++ ULONG *iidCount, ++ IID **iids); ++ ++ HRESULT (STDMETHODCALLTYPE *GetRuntimeClassName)( ++ __x_ABI_CWindows_CUI_CComposition_CICompositionObject *This, ++ HSTRING *className); ++ ++ HRESULT (STDMETHODCALLTYPE *GetTrustLevel)( ++ __x_ABI_CWindows_CUI_CComposition_CICompositionObject *This, ++ TrustLevel *trustLevel); ++ ++ /*** ICompositionObject methods ***/ ++ HRESULT (STDMETHODCALLTYPE *get_Compositor)( ++ __x_ABI_CWindows_CUI_CComposition_CICompositionObject *This, ++ __x_ABI_CWindows_CUI_CComposition_CICompositor **value); ++ ++ HRESULT (STDMETHODCALLTYPE *get_Dispatcher)( ++ __x_ABI_CWindows_CUI_CComposition_CICompositionObject *This, ++ __x_ABI_CWindows_CUI_CCore_CCoreDispatcher **value); ++ ++ HRESULT (STDMETHODCALLTYPE *get_Properties)( ++ __x_ABI_CWindows_CUI_CComposition_CICompositionObject *This, ++ __x_ABI_CWindows_CUI_CComposition_CCompositionPropertySet **value); ++ ++ HRESULT (STDMETHODCALLTYPE *StartAnimation)( ++ __x_ABI_CWindows_CUI_CComposition_CICompositionObject *This, ++ HSTRING propertyName, ++ __x_ABI_CWindows_CUI_CComposition_CCompositionAnimation *animation); ++ ++ HRESULT (STDMETHODCALLTYPE *StopAnimation)( ++ __x_ABI_CWindows_CUI_CComposition_CICompositionObject *This, ++ HSTRING propertyName); ++ ++ END_INTERFACE ++} __x_ABI_CWindows_CUI_CComposition_CICompositionObjectVtbl; ++ ++interface __x_ABI_CWindows_CUI_CComposition_CICompositionObject { ++ CONST_VTBL __x_ABI_CWindows_CUI_CComposition_CICompositionObjectVtbl* lpVtbl; ++}; ++ ++#ifdef COBJMACROS ++#ifndef WIDL_C_INLINE_WRAPPERS ++/*** IUnknown methods ***/ ++#define __x_ABI_CWindows_CUI_CComposition_CICompositionObject_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) ++#define __x_ABI_CWindows_CUI_CComposition_CICompositionObject_AddRef(This) (This)->lpVtbl->AddRef(This) ++#define __x_ABI_CWindows_CUI_CComposition_CICompositionObject_Release(This) (This)->lpVtbl->Release(This) ++/*** IInspectable methods ***/ ++#define __x_ABI_CWindows_CUI_CComposition_CICompositionObject_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids) ++#define __x_ABI_CWindows_CUI_CComposition_CICompositionObject_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className) ++#define __x_ABI_CWindows_CUI_CComposition_CICompositionObject_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel) ++/*** ICompositionObject methods ***/ ++#define __x_ABI_CWindows_CUI_CComposition_CICompositionObject_get_Compositor(This,value) (This)->lpVtbl->get_Compositor(This,value) ++#define __x_ABI_CWindows_CUI_CComposition_CICompositionObject_get_Dispatcher(This,value) (This)->lpVtbl->get_Dispatcher(This,value) ++#define __x_ABI_CWindows_CUI_CComposition_CICompositionObject_get_Properties(This,value) (This)->lpVtbl->get_Properties(This,value) ++#define __x_ABI_CWindows_CUI_CComposition_CICompositionObject_StartAnimation(This,propertyName,animation) (This)->lpVtbl->StartAnimation(This,propertyName,animation) ++#define __x_ABI_CWindows_CUI_CComposition_CICompositionObject_StopAnimation(This,propertyName) (This)->lpVtbl->StopAnimation(This,propertyName) ++#else ++/*** IUnknown methods ***/ ++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositionObject_QueryInterface(__x_ABI_CWindows_CUI_CComposition_CICompositionObject* This,REFIID riid,void **ppvObject) { ++ return This->lpVtbl->QueryInterface(This,riid,ppvObject); ++} ++static FORCEINLINE ULONG __x_ABI_CWindows_CUI_CComposition_CICompositionObject_AddRef(__x_ABI_CWindows_CUI_CComposition_CICompositionObject* This) { ++ return This->lpVtbl->AddRef(This); ++} ++static FORCEINLINE ULONG __x_ABI_CWindows_CUI_CComposition_CICompositionObject_Release(__x_ABI_CWindows_CUI_CComposition_CICompositionObject* This) { ++ return This->lpVtbl->Release(This); ++} ++/*** IInspectable methods ***/ ++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositionObject_GetIids(__x_ABI_CWindows_CUI_CComposition_CICompositionObject* This,ULONG *iidCount,IID **iids) { ++ return This->lpVtbl->GetIids(This,iidCount,iids); ++} ++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositionObject_GetRuntimeClassName(__x_ABI_CWindows_CUI_CComposition_CICompositionObject* This,HSTRING *className) { ++ return This->lpVtbl->GetRuntimeClassName(This,className); ++} ++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositionObject_GetTrustLevel(__x_ABI_CWindows_CUI_CComposition_CICompositionObject* This,TrustLevel *trustLevel) { ++ return This->lpVtbl->GetTrustLevel(This,trustLevel); ++} ++/*** ICompositionObject methods ***/ ++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositionObject_get_Compositor(__x_ABI_CWindows_CUI_CComposition_CICompositionObject* This,__x_ABI_CWindows_CUI_CComposition_CICompositor **value) { ++ return This->lpVtbl->get_Compositor(This,value); ++} ++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositionObject_get_Dispatcher(__x_ABI_CWindows_CUI_CComposition_CICompositionObject* This,__x_ABI_CWindows_CUI_CCore_CCoreDispatcher **value) { ++ return This->lpVtbl->get_Dispatcher(This,value); ++} ++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositionObject_get_Properties(__x_ABI_CWindows_CUI_CComposition_CICompositionObject* This,__x_ABI_CWindows_CUI_CComposition_CCompositionPropertySet **value) { ++ return This->lpVtbl->get_Properties(This,value); ++} ++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositionObject_StartAnimation(__x_ABI_CWindows_CUI_CComposition_CICompositionObject* This,HSTRING propertyName,__x_ABI_CWindows_CUI_CComposition_CCompositionAnimation *animation) { ++ return This->lpVtbl->StartAnimation(This,propertyName,animation); ++} ++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositionObject_StopAnimation(__x_ABI_CWindows_CUI_CComposition_CICompositionObject* This,HSTRING propertyName) { ++ return This->lpVtbl->StopAnimation(This,propertyName); ++} ++#endif ++#endif ++ ++#endif ++ ++#endif /* ____x_ABI_CWindows_CUI_CComposition_CICompositionObject_INTERFACE_DEFINED__ */ ++ ++/***************************************************************************** ++ * ColorKeyFrameAnimation interface ++ */ ++#ifndef ____x_ABI_CWindows_CUI_CComposition_CColorKeyFrameAnimation_INTERFACE_DEFINED__ ++#define ____x_ABI_CWindows_CUI_CComposition_CColorKeyFrameAnimation_INTERFACE_DEFINED__ ++ ++DEFINE_GUID(IID___x_ABI_CWindows_CUI_CComposition_CColorKeyFrameAnimation, 0x38e05682, 0x1ad2, 0x4f97, 0x96,0x66, 0x40,0x2d,0x76,0xe4,0x23,0x3b); ++#if defined(__cplusplus) && !defined(CINTERFACE) ++} /* extern "C" */ ++namespace ABI { ++ namespace Windows { ++ namespace UI { ++ namespace Composition { ++ MIDL_INTERFACE("38e05682-1ad2-4f97-9666-402d76e4233b") ++ ColorKeyFrameAnimation : public IUnknown ++ { ++ }; ++ } ++ } ++ } ++} ++extern "C" { ++#ifdef __CRT_UUID_DECL ++__CRT_UUID_DECL(ABI::Windows::UI::Composition::ColorKeyFrameAnimation, 0x38e05682, 0x1ad2, 0x4f97, 0x96,0x66, 0x40,0x2d,0x76,0xe4,0x23,0x3b) ++#endif ++#else ++typedef struct __x_ABI_CWindows_CUI_CComposition_CColorKeyFrameAnimationVtbl { ++ BEGIN_INTERFACE ++ ++ /*** IUnknown methods ***/ ++ HRESULT (STDMETHODCALLTYPE *QueryInterface)( ++ __x_ABI_CWindows_CUI_CComposition_CColorKeyFrameAnimation *This, ++ REFIID riid, ++ void **ppvObject); ++ ++ ULONG (STDMETHODCALLTYPE *AddRef)( ++ __x_ABI_CWindows_CUI_CComposition_CColorKeyFrameAnimation *This); ++ ++ ULONG (STDMETHODCALLTYPE *Release)( ++ __x_ABI_CWindows_CUI_CComposition_CColorKeyFrameAnimation *This); ++ ++ END_INTERFACE ++} __x_ABI_CWindows_CUI_CComposition_CColorKeyFrameAnimationVtbl; ++ ++interface __x_ABI_CWindows_CUI_CComposition_CColorKeyFrameAnimation { ++ CONST_VTBL __x_ABI_CWindows_CUI_CComposition_CColorKeyFrameAnimationVtbl* lpVtbl; ++}; ++ ++#ifdef COBJMACROS ++#ifndef WIDL_C_INLINE_WRAPPERS ++/*** IUnknown methods ***/ ++#define __x_ABI_CWindows_CUI_CComposition_CColorKeyFrameAnimation_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) ++#define __x_ABI_CWindows_CUI_CComposition_CColorKeyFrameAnimation_AddRef(This) (This)->lpVtbl->AddRef(This) ++#define __x_ABI_CWindows_CUI_CComposition_CColorKeyFrameAnimation_Release(This) (This)->lpVtbl->Release(This) ++#else ++/*** IUnknown methods ***/ ++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CColorKeyFrameAnimation_QueryInterface(__x_ABI_CWindows_CUI_CComposition_CColorKeyFrameAnimation* This,REFIID riid,void **ppvObject) { ++ return This->lpVtbl->QueryInterface(This,riid,ppvObject); ++} ++static FORCEINLINE ULONG __x_ABI_CWindows_CUI_CComposition_CColorKeyFrameAnimation_AddRef(__x_ABI_CWindows_CUI_CComposition_CColorKeyFrameAnimation* This) { ++ return This->lpVtbl->AddRef(This); ++} ++static FORCEINLINE ULONG __x_ABI_CWindows_CUI_CComposition_CColorKeyFrameAnimation_Release(__x_ABI_CWindows_CUI_CComposition_CColorKeyFrameAnimation* This) { ++ return This->lpVtbl->Release(This); ++} ++#endif ++#endif ++ ++#endif ++ ++#endif /* ____x_ABI_CWindows_CUI_CComposition_CColorKeyFrameAnimation_INTERFACE_DEFINED__ */ ++ ++/***************************************************************************** ++ * CompositionColorBrush interface ++ */ ++#ifndef ____x_ABI_CWindows_CUI_CComposition_CCompositionColorBrush_INTERFACE_DEFINED__ ++#define ____x_ABI_CWindows_CUI_CComposition_CCompositionColorBrush_INTERFACE_DEFINED__ ++ ++DEFINE_GUID(IID___x_ABI_CWindows_CUI_CComposition_CCompositionColorBrush, 0x33e05682, 0x1ad2, 0x4f97, 0x96,0x66, 0x40,0x2d,0x76,0xe4,0x23,0x3b); ++#if defined(__cplusplus) && !defined(CINTERFACE) ++} /* extern "C" */ ++namespace ABI { ++ namespace Windows { ++ namespace UI { ++ namespace Composition { ++ MIDL_INTERFACE("33e05682-1ad2-4f97-9666-402d76e4233b") ++ CompositionColorBrush : public IUnknown ++ { ++ }; ++ } ++ } ++ } ++} ++extern "C" { ++#ifdef __CRT_UUID_DECL ++__CRT_UUID_DECL(ABI::Windows::UI::Composition::CompositionColorBrush, 0x33e05682, 0x1ad2, 0x4f97, 0x96,0x66, 0x40,0x2d,0x76,0xe4,0x23,0x3b) ++#endif ++#else ++typedef struct __x_ABI_CWindows_CUI_CComposition_CCompositionColorBrushVtbl { ++ BEGIN_INTERFACE ++ ++ /*** IUnknown methods ***/ ++ HRESULT (STDMETHODCALLTYPE *QueryInterface)( ++ __x_ABI_CWindows_CUI_CComposition_CCompositionColorBrush *This, ++ REFIID riid, ++ void **ppvObject); ++ ++ ULONG (STDMETHODCALLTYPE *AddRef)( ++ __x_ABI_CWindows_CUI_CComposition_CCompositionColorBrush *This); ++ ++ ULONG (STDMETHODCALLTYPE *Release)( ++ __x_ABI_CWindows_CUI_CComposition_CCompositionColorBrush *This); ++ ++ END_INTERFACE ++} __x_ABI_CWindows_CUI_CComposition_CCompositionColorBrushVtbl; ++ ++interface __x_ABI_CWindows_CUI_CComposition_CCompositionColorBrush { ++ CONST_VTBL __x_ABI_CWindows_CUI_CComposition_CCompositionColorBrushVtbl* lpVtbl; ++}; ++ ++#ifdef COBJMACROS ++#ifndef WIDL_C_INLINE_WRAPPERS ++/*** IUnknown methods ***/ ++#define __x_ABI_CWindows_CUI_CComposition_CCompositionColorBrush_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) ++#define __x_ABI_CWindows_CUI_CComposition_CCompositionColorBrush_AddRef(This) (This)->lpVtbl->AddRef(This) ++#define __x_ABI_CWindows_CUI_CComposition_CCompositionColorBrush_Release(This) (This)->lpVtbl->Release(This) ++#else ++/*** IUnknown methods ***/ ++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CCompositionColorBrush_QueryInterface(__x_ABI_CWindows_CUI_CComposition_CCompositionColorBrush* This,REFIID riid,void **ppvObject) { ++ return This->lpVtbl->QueryInterface(This,riid,ppvObject); ++} ++static FORCEINLINE ULONG __x_ABI_CWindows_CUI_CComposition_CCompositionColorBrush_AddRef(__x_ABI_CWindows_CUI_CComposition_CCompositionColorBrush* This) { ++ return This->lpVtbl->AddRef(This); ++} ++static FORCEINLINE ULONG __x_ABI_CWindows_CUI_CComposition_CCompositionColorBrush_Release(__x_ABI_CWindows_CUI_CComposition_CCompositionColorBrush* This) { ++ return This->lpVtbl->Release(This); ++} ++#endif ++#endif ++ ++#endif ++ ++#endif /* ____x_ABI_CWindows_CUI_CComposition_CCompositionColorBrush_INTERFACE_DEFINED__ */ ++ ++/***************************************************************************** ++ * CubicBezierEasingFunction interface ++ */ ++#ifndef ____x_ABI_CWindows_CUI_CComposition_CCubicBezierEasingFunction_INTERFACE_DEFINED__ ++#define ____x_ABI_CWindows_CUI_CComposition_CCubicBezierEasingFunction_INTERFACE_DEFINED__ ++ ++DEFINE_GUID(IID___x_ABI_CWindows_CUI_CComposition_CCubicBezierEasingFunction, 0x43e05682, 0x1ad2, 0x4f97, 0x96,0x66, 0x40,0x2d,0x76,0xe4,0x23,0x3b); ++#if defined(__cplusplus) && !defined(CINTERFACE) ++} /* extern "C" */ ++namespace ABI { ++ namespace Windows { ++ namespace UI { ++ namespace Composition { ++ MIDL_INTERFACE("43e05682-1ad2-4f97-9666-402d76e4233b") ++ CubicBezierEasingFunction : public IUnknown ++ { ++ }; ++ } ++ } ++ } ++} ++extern "C" { ++#ifdef __CRT_UUID_DECL ++__CRT_UUID_DECL(ABI::Windows::UI::Composition::CubicBezierEasingFunction, 0x43e05682, 0x1ad2, 0x4f97, 0x96,0x66, 0x40,0x2d,0x76,0xe4,0x23,0x3b) ++#endif ++#else ++typedef struct __x_ABI_CWindows_CUI_CComposition_CCubicBezierEasingFunctionVtbl { ++ BEGIN_INTERFACE ++ ++ /*** IUnknown methods ***/ ++ HRESULT (STDMETHODCALLTYPE *QueryInterface)( ++ __x_ABI_CWindows_CUI_CComposition_CCubicBezierEasingFunction *This, ++ REFIID riid, ++ void **ppvObject); ++ ++ ULONG (STDMETHODCALLTYPE *AddRef)( ++ __x_ABI_CWindows_CUI_CComposition_CCubicBezierEasingFunction *This); ++ ++ ULONG (STDMETHODCALLTYPE *Release)( ++ __x_ABI_CWindows_CUI_CComposition_CCubicBezierEasingFunction *This); ++ ++ END_INTERFACE ++} __x_ABI_CWindows_CUI_CComposition_CCubicBezierEasingFunctionVtbl; ++ ++interface __x_ABI_CWindows_CUI_CComposition_CCubicBezierEasingFunction { ++ CONST_VTBL __x_ABI_CWindows_CUI_CComposition_CCubicBezierEasingFunctionVtbl* lpVtbl; ++}; ++ ++#ifdef COBJMACROS ++#ifndef WIDL_C_INLINE_WRAPPERS ++/*** IUnknown methods ***/ ++#define __x_ABI_CWindows_CUI_CComposition_CCubicBezierEasingFunction_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) ++#define __x_ABI_CWindows_CUI_CComposition_CCubicBezierEasingFunction_AddRef(This) (This)->lpVtbl->AddRef(This) ++#define __x_ABI_CWindows_CUI_CComposition_CCubicBezierEasingFunction_Release(This) (This)->lpVtbl->Release(This) ++#else ++/*** IUnknown methods ***/ ++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CCubicBezierEasingFunction_QueryInterface(__x_ABI_CWindows_CUI_CComposition_CCubicBezierEasingFunction* This,REFIID riid,void **ppvObject) { ++ return This->lpVtbl->QueryInterface(This,riid,ppvObject); ++} ++static FORCEINLINE ULONG __x_ABI_CWindows_CUI_CComposition_CCubicBezierEasingFunction_AddRef(__x_ABI_CWindows_CUI_CComposition_CCubicBezierEasingFunction* This) { ++ return This->lpVtbl->AddRef(This); ++} ++static FORCEINLINE ULONG __x_ABI_CWindows_CUI_CComposition_CCubicBezierEasingFunction_Release(__x_ABI_CWindows_CUI_CComposition_CCubicBezierEasingFunction* This) { ++ return This->lpVtbl->Release(This); ++} ++#endif ++#endif ++ ++#endif ++ ++#endif /* ____x_ABI_CWindows_CUI_CComposition_CCubicBezierEasingFunction_INTERFACE_DEFINED__ */ ++ ++#ifndef ____x_ABI_CWindows_CUI_CComposition_CCompositionEffectFactory_FWD_DEFINED__ ++#define ____x_ABI_CWindows_CUI_CComposition_CCompositionEffectFactory_FWD_DEFINED__ ++typedef interface __x_ABI_CWindows_CUI_CComposition_CCompositionEffectFactory __x_ABI_CWindows_CUI_CComposition_CCompositionEffectFactory; ++#ifdef __cplusplus ++namespace ABI { ++ namespace Windows { ++ namespace UI { ++ namespace Composition { ++ interface CompositionEffectFactory; ++ } ++ } ++ } ++} ++#endif /* __cplusplus */ ++#endif ++ ++#ifndef ____x_ABI_CWindows_CUI_CComposition_CExpressionAnimation_FWD_DEFINED__ ++#define ____x_ABI_CWindows_CUI_CComposition_CExpressionAnimation_FWD_DEFINED__ ++typedef interface __x_ABI_CWindows_CUI_CComposition_CExpressionAnimation __x_ABI_CWindows_CUI_CComposition_CExpressionAnimation; ++#ifdef __cplusplus ++namespace ABI { ++ namespace Windows { ++ namespace UI { ++ namespace Composition { ++ interface ExpressionAnimation; ++ } ++ } ++ } ++} ++#endif /* __cplusplus */ ++#endif ++ ++#ifndef ____x_ABI_CWindows_CUI_CComposition_CInsetClip_FWD_DEFINED__ ++#define ____x_ABI_CWindows_CUI_CComposition_CInsetClip_FWD_DEFINED__ ++typedef interface __x_ABI_CWindows_CUI_CComposition_CInsetClip __x_ABI_CWindows_CUI_CComposition_CInsetClip; ++#ifdef __cplusplus ++namespace ABI { ++ namespace Windows { ++ namespace UI { ++ namespace Composition { ++ interface InsetClip; ++ } ++ } ++ } ++} ++#endif /* __cplusplus */ ++#endif ++ ++#ifndef ____x_ABI_CWindows_CUI_CComposition_CLinearEasingFunction_FWD_DEFINED__ ++#define ____x_ABI_CWindows_CUI_CComposition_CLinearEasingFunction_FWD_DEFINED__ ++typedef interface __x_ABI_CWindows_CUI_CComposition_CLinearEasingFunction __x_ABI_CWindows_CUI_CComposition_CLinearEasingFunction; ++#ifdef __cplusplus ++namespace ABI { ++ namespace Windows { ++ namespace UI { ++ namespace Composition { ++ interface LinearEasingFunction; ++ } ++ } ++ } ++} ++#endif /* __cplusplus */ ++#endif ++ ++#ifndef ____x_ABI_CWindows_CUI_CComposition_CScalarKeyFrameAnimation_FWD_DEFINED__ ++#define ____x_ABI_CWindows_CUI_CComposition_CScalarKeyFrameAnimation_FWD_DEFINED__ ++typedef interface __x_ABI_CWindows_CUI_CComposition_CScalarKeyFrameAnimation __x_ABI_CWindows_CUI_CComposition_CScalarKeyFrameAnimation; ++#ifdef __cplusplus ++namespace ABI { ++ namespace Windows { ++ namespace UI { ++ namespace Composition { ++ interface ScalarKeyFrameAnimation; ++ } ++ } ++ } ++} ++#endif /* __cplusplus */ ++#endif ++ ++#ifndef ____x_ABI_CWindows_CUI_CComposition_CQuaternionKeyFrameAnimation_FWD_DEFINED__ ++#define ____x_ABI_CWindows_CUI_CComposition_CQuaternionKeyFrameAnimation_FWD_DEFINED__ ++typedef interface __x_ABI_CWindows_CUI_CComposition_CQuaternionKeyFrameAnimation __x_ABI_CWindows_CUI_CComposition_CQuaternionKeyFrameAnimation; ++#ifdef __cplusplus ++namespace ABI { ++ namespace Windows { ++ namespace UI { ++ namespace Composition { ++ interface QuaternionKeyFrameAnimation; ++ } ++ } ++ } ++} ++#endif /* __cplusplus */ ++#endif ++ ++#ifndef ____x_ABI_CWindows_CUI_CComposition_CCompositionScopedBatch_FWD_DEFINED__ ++#define ____x_ABI_CWindows_CUI_CComposition_CCompositionScopedBatch_FWD_DEFINED__ ++typedef interface __x_ABI_CWindows_CUI_CComposition_CCompositionScopedBatch __x_ABI_CWindows_CUI_CComposition_CCompositionScopedBatch; ++#ifdef __cplusplus ++namespace ABI { ++ namespace Windows { ++ namespace UI { ++ namespace Composition { ++ interface CompositionScopedBatch; ++ } ++ } ++ } ++} ++#endif /* __cplusplus */ ++#endif ++ ++#ifndef ____x_ABI_CWindows_CUI_CComposition_CCompositionSurfaceBrush_FWD_DEFINED__ ++#define ____x_ABI_CWindows_CUI_CComposition_CCompositionSurfaceBrush_FWD_DEFINED__ ++typedef interface __x_ABI_CWindows_CUI_CComposition_CCompositionSurfaceBrush __x_ABI_CWindows_CUI_CComposition_CCompositionSurfaceBrush; ++#ifdef __cplusplus ++namespace ABI { ++ namespace Windows { ++ namespace UI { ++ namespace Composition { ++ interface CompositionSurfaceBrush; ++ } ++ } ++ } ++} ++#endif /* __cplusplus */ ++#endif ++ ++#ifndef ____x_ABI_CWindows_CUI_CComposition_CVector2KeyFrameAnimation_FWD_DEFINED__ ++#define ____x_ABI_CWindows_CUI_CComposition_CVector2KeyFrameAnimation_FWD_DEFINED__ ++typedef interface __x_ABI_CWindows_CUI_CComposition_CVector2KeyFrameAnimation __x_ABI_CWindows_CUI_CComposition_CVector2KeyFrameAnimation; ++#ifdef __cplusplus ++namespace ABI { ++ namespace Windows { ++ namespace UI { ++ namespace Composition { ++ interface Vector2KeyFrameAnimation; ++ } ++ } ++ } ++} ++#endif /* __cplusplus */ ++#endif ++ ++#ifndef ____x_ABI_CWindows_CUI_CComposition_CVector3KeyFrameAnimation_FWD_DEFINED__ ++#define ____x_ABI_CWindows_CUI_CComposition_CVector3KeyFrameAnimation_FWD_DEFINED__ ++typedef interface __x_ABI_CWindows_CUI_CComposition_CVector3KeyFrameAnimation __x_ABI_CWindows_CUI_CComposition_CVector3KeyFrameAnimation; ++#ifdef __cplusplus ++namespace ABI { ++ namespace Windows { ++ namespace UI { ++ namespace Composition { ++ interface Vector3KeyFrameAnimation; ++ } ++ } ++ } ++} ++#endif /* __cplusplus */ ++#endif ++ ++#ifndef ____x_ABI_CWindows_CUI_CComposition_CVector4KeyFrameAnimation_FWD_DEFINED__ ++#define ____x_ABI_CWindows_CUI_CComposition_CVector4KeyFrameAnimation_FWD_DEFINED__ ++typedef interface __x_ABI_CWindows_CUI_CComposition_CVector4KeyFrameAnimation __x_ABI_CWindows_CUI_CComposition_CVector4KeyFrameAnimation; ++#ifdef __cplusplus ++namespace ABI { ++ namespace Windows { ++ namespace UI { ++ namespace Composition { ++ interface Vector4KeyFrameAnimation; ++ } ++ } ++ } ++} ++#endif /* __cplusplus */ ++#endif ++ ++#ifndef ____x_ABI_CWindows_CUI_CComposition_CCompositionTarget_FWD_DEFINED__ ++#define ____x_ABI_CWindows_CUI_CComposition_CCompositionTarget_FWD_DEFINED__ ++typedef interface __x_ABI_CWindows_CUI_CComposition_CCompositionTarget __x_ABI_CWindows_CUI_CComposition_CCompositionTarget; ++#ifdef __cplusplus ++namespace ABI { ++ namespace Windows { ++ namespace UI { ++ namespace Composition { ++ interface CompositionTarget; ++ } ++ } ++ } ++} ++#endif /* __cplusplus */ ++#endif ++ ++#ifndef ____x_ABI_CWindows_CUI_CComposition_CCompositionCommitBatch_FWD_DEFINED__ ++#define ____x_ABI_CWindows_CUI_CComposition_CCompositionCommitBatch_FWD_DEFINED__ ++typedef interface __x_ABI_CWindows_CUI_CComposition_CCompositionCommitBatch __x_ABI_CWindows_CUI_CComposition_CCompositionCommitBatch; ++#ifdef __cplusplus ++namespace ABI { ++ namespace Windows { ++ namespace UI { ++ namespace Composition { ++ interface CompositionCommitBatch; ++ } ++ } ++ } ++} ++#endif /* __cplusplus */ ++#endif ++ ++#ifndef ____x_ABI_CWindows_CUI_CComposition_CCompositionDrawingSurface_FWD_DEFINED__ ++#define ____x_ABI_CWindows_CUI_CComposition_CCompositionDrawingSurface_FWD_DEFINED__ ++typedef interface __x_ABI_CWindows_CUI_CComposition_CCompositionDrawingSurface __x_ABI_CWindows_CUI_CComposition_CCompositionDrawingSurface; ++#ifdef __cplusplus ++namespace ABI { ++ namespace Windows { ++ namespace UI { ++ namespace Composition { ++ interface CompositionDrawingSurface; ++ } ++ } ++ } ++} ++#endif /* __cplusplus */ ++#endif ++ ++/***************************************************************************** ++ * ICompositor interface ++ */ ++#ifndef ____x_ABI_CWindows_CUI_CComposition_CICompositor_INTERFACE_DEFINED__ ++#define ____x_ABI_CWindows_CUI_CComposition_CICompositor_INTERFACE_DEFINED__ ++ ++DEFINE_GUID(IID___x_ABI_CWindows_CUI_CComposition_CICompositor, 0xb403ca50, 0x7f8c, 0x4e83, 0x98,0x5f, 0xcc,0x45,0x06,0x00,0x36,0xd8); ++#if defined(__cplusplus) && !defined(CINTERFACE) ++} /* extern "C" */ ++namespace ABI { ++ namespace Windows { ++ namespace UI { ++ namespace Composition { ++ MIDL_INTERFACE("b403ca50-7f8c-4e83-985f-cc45060036d8") ++ ICompositor : public IInspectable ++ { ++ virtual HRESULT STDMETHODCALLTYPE CreateColorKeyFrameAnimation( ++ ABI::Windows::UI::Composition::ColorKeyFrameAnimation **result) = 0; ++ ++ virtual HRESULT STDMETHODCALLTYPE CreateColorBrush( ++ ABI::Windows::UI::Composition::CompositionColorBrush **result) = 0; ++ ++ virtual HRESULT STDMETHODCALLTYPE CreateColorBrushWithColor( ++ ABI::Windows::UI::Color color, ++ ABI::Windows::UI::Composition::CompositionColorBrush **result) = 0; ++ ++ virtual HRESULT STDMETHODCALLTYPE CreateContainerVisual( ++ ABI::Windows::UI::Composition::ContainerVisual **result) = 0; ++ ++ virtual HRESULT STDMETHODCALLTYPE CreateCubicBezierEasingFunction( ++ ABI::Windows::Foundation::Numerics::Vector2 controlPoint1, ++ ABI::Windows::Foundation::Numerics::Vector2 controlPoint2, ++ ABI::Windows::UI::Composition::CubicBezierEasingFunction **result) = 0; ++ ++ virtual HRESULT STDMETHODCALLTYPE CreateEffectFactory( ++ ABI::Windows::Graphics::Effects::IGraphicsEffect *graphicsEffect, ++ ABI::Windows::UI::Composition::CompositionEffectFactory **result) = 0; ++ ++ virtual HRESULT STDMETHODCALLTYPE CreateEffectFactoryWithProperties( ++ ABI::Windows::Graphics::Effects::IGraphicsEffect *graphicsEffect, ++ int *animatableProperties, ++ ABI::Windows::UI::Composition::CompositionEffectFactory **result) = 0; ++ ++ virtual HRESULT STDMETHODCALLTYPE CreateExpressionAnimation( ++ ABI::Windows::UI::Composition::ExpressionAnimation **result) = 0; ++ ++ virtual HRESULT STDMETHODCALLTYPE CreateExpressionAnimationWithExpression( ++ HSTRING expression, ++ ABI::Windows::UI::Composition::ExpressionAnimation **result) = 0; ++ ++ virtual HRESULT STDMETHODCALLTYPE CreateInsetClip( ++ ABI::Windows::UI::Composition::InsetClip **result) = 0; ++ ++ virtual HRESULT STDMETHODCALLTYPE CreateInsetClipWithInsets( ++ FLOAT leftInset, ++ FLOAT topInset, ++ FLOAT rightInset, ++ FLOAT bottomInset, ++ ABI::Windows::UI::Composition::InsetClip **result) = 0; ++ ++ virtual HRESULT STDMETHODCALLTYPE CreateLinearEasingFunction( ++ ABI::Windows::UI::Composition::LinearEasingFunction **result) = 0; ++ ++ virtual HRESULT STDMETHODCALLTYPE CreatePropertySet( ++ ABI::Windows::UI::Composition::CompositionPropertySet **result) = 0; ++ ++ virtual HRESULT STDMETHODCALLTYPE CreateQuaternionKeyFrameAnimation( ++ ABI::Windows::UI::Composition::QuaternionKeyFrameAnimation **result) = 0; ++ ++ virtual HRESULT STDMETHODCALLTYPE CreateScalarKeyFrameAnimation( ++ ABI::Windows::UI::Composition::ScalarKeyFrameAnimation **result) = 0; ++ ++ virtual HRESULT STDMETHODCALLTYPE CreateScopedBatch( ++ ABI::Windows::UI::Composition::CompositionBatchTypes batchType, ++ ABI::Windows::UI::Composition::CompositionScopedBatch **result) = 0; ++ ++ virtual HRESULT STDMETHODCALLTYPE CreateSpriteVisual( ++ ABI::Windows::UI::Composition::SpriteVisual **result) = 0; ++ ++ virtual HRESULT STDMETHODCALLTYPE CreateSurfaceBrush( ++ ABI::Windows::UI::Composition::CompositionSurfaceBrush **result) = 0; ++ ++ virtual HRESULT STDMETHODCALLTYPE CreateSurfaceBrushWithSurface( ++ ABI::Windows::UI::Composition::ICompositionSurface *surface, ++ ABI::Windows::UI::Composition::ICompositionSurfaceBrush **result) = 0; ++ ++ virtual HRESULT STDMETHODCALLTYPE CreateTargetForCurrentView( ++ ABI::Windows::UI::Composition::CompositionTarget **result) = 0; ++ ++ virtual HRESULT STDMETHODCALLTYPE CreateVector2KeyFrameAnimation( ++ ABI::Windows::UI::Composition::Vector2KeyFrameAnimation **result) = 0; ++ ++ virtual HRESULT STDMETHODCALLTYPE CreateVector3KeyFrameAnimation( ++ ABI::Windows::UI::Composition::Vector3KeyFrameAnimation **result) = 0; ++ ++ virtual HRESULT STDMETHODCALLTYPE CreateVector4KeyFrameAnimation( ++ ABI::Windows::UI::Composition::Vector4KeyFrameAnimation **result) = 0; ++ ++ virtual HRESULT STDMETHODCALLTYPE GetCommitBatch( ++ ABI::Windows::UI::Composition::CompositionBatchTypes batchType, ++ ABI::Windows::UI::Composition::CompositionCommitBatch **result) = 0; ++ ++ }; ++ } ++ } ++ } ++} ++extern "C" { ++#ifdef __CRT_UUID_DECL ++__CRT_UUID_DECL(ABI::Windows::UI::Composition::ICompositor, 0xb403ca50, 0x7f8c, 0x4e83, 0x98,0x5f, 0xcc,0x45,0x06,0x00,0x36,0xd8) ++#endif ++#else ++typedef struct __x_ABI_CWindows_CUI_CComposition_CICompositorVtbl { ++ BEGIN_INTERFACE ++ ++ /*** IUnknown methods ***/ ++ HRESULT (STDMETHODCALLTYPE *QueryInterface)( ++ __x_ABI_CWindows_CUI_CComposition_CICompositor *This, ++ REFIID riid, ++ void **ppvObject); ++ ++ ULONG (STDMETHODCALLTYPE *AddRef)( ++ __x_ABI_CWindows_CUI_CComposition_CICompositor *This); ++ ++ ULONG (STDMETHODCALLTYPE *Release)( ++ __x_ABI_CWindows_CUI_CComposition_CICompositor *This); ++ ++ /*** IInspectable methods ***/ ++ HRESULT (STDMETHODCALLTYPE *GetIids)( ++ __x_ABI_CWindows_CUI_CComposition_CICompositor *This, ++ ULONG *iidCount, ++ IID **iids); ++ ++ HRESULT (STDMETHODCALLTYPE *GetRuntimeClassName)( ++ __x_ABI_CWindows_CUI_CComposition_CICompositor *This, ++ HSTRING *className); ++ ++ HRESULT (STDMETHODCALLTYPE *GetTrustLevel)( ++ __x_ABI_CWindows_CUI_CComposition_CICompositor *This, ++ TrustLevel *trustLevel); ++ ++ /*** ICompositor methods ***/ ++ HRESULT (STDMETHODCALLTYPE *CreateColorKeyFrameAnimation)( ++ __x_ABI_CWindows_CUI_CComposition_CICompositor *This, ++ __x_ABI_CWindows_CUI_CComposition_CColorKeyFrameAnimation **result); ++ ++ HRESULT (STDMETHODCALLTYPE *CreateColorBrush)( ++ __x_ABI_CWindows_CUI_CComposition_CICompositor *This, ++ __x_ABI_CWindows_CUI_CComposition_CCompositionColorBrush **result); ++ ++ HRESULT (STDMETHODCALLTYPE *CreateColorBrushWithColor)( ++ __x_ABI_CWindows_CUI_CComposition_CICompositor *This, ++ __x_ABI_CWindows_CUI_CColor color, ++ __x_ABI_CWindows_CUI_CComposition_CCompositionColorBrush **result); ++ ++ HRESULT (STDMETHODCALLTYPE *CreateContainerVisual)( ++ __x_ABI_CWindows_CUI_CComposition_CICompositor *This, ++ __x_ABI_CWindows_CUI_CComposition_CContainerVisual **result); ++ ++ HRESULT (STDMETHODCALLTYPE *CreateCubicBezierEasingFunction)( ++ __x_ABI_CWindows_CUI_CComposition_CICompositor *This, ++ __x_ABI_CWindows_CFoundation_CNumerics_CVector2 controlPoint1, ++ __x_ABI_CWindows_CFoundation_CNumerics_CVector2 controlPoint2, ++ __x_ABI_CWindows_CUI_CComposition_CCubicBezierEasingFunction **result); ++ ++ HRESULT (STDMETHODCALLTYPE *CreateEffectFactory)( ++ __x_ABI_CWindows_CUI_CComposition_CICompositor *This, ++ __x_ABI_CWindows_CGraphics_CEffects_CIGraphicsEffect *graphicsEffect, ++ __x_ABI_CWindows_CUI_CComposition_CCompositionEffectFactory **result); ++ ++ HRESULT (STDMETHODCALLTYPE *CreateEffectFactoryWithProperties)( ++ __x_ABI_CWindows_CUI_CComposition_CICompositor *This, ++ __x_ABI_CWindows_CGraphics_CEffects_CIGraphicsEffect *graphicsEffect, ++ int *animatableProperties, ++ __x_ABI_CWindows_CUI_CComposition_CCompositionEffectFactory **result); ++ ++ HRESULT (STDMETHODCALLTYPE *CreateExpressionAnimation)( ++ __x_ABI_CWindows_CUI_CComposition_CICompositor *This, ++ __x_ABI_CWindows_CUI_CComposition_CExpressionAnimation **result); ++ ++ HRESULT (STDMETHODCALLTYPE *CreateExpressionAnimationWithExpression)( ++ __x_ABI_CWindows_CUI_CComposition_CICompositor *This, ++ HSTRING expression, ++ __x_ABI_CWindows_CUI_CComposition_CExpressionAnimation **result); ++ ++ HRESULT (STDMETHODCALLTYPE *CreateInsetClip)( ++ __x_ABI_CWindows_CUI_CComposition_CICompositor *This, ++ __x_ABI_CWindows_CUI_CComposition_CInsetClip **result); ++ ++ HRESULT (STDMETHODCALLTYPE *CreateInsetClipWithInsets)( ++ __x_ABI_CWindows_CUI_CComposition_CICompositor *This, ++ FLOAT leftInset, ++ FLOAT topInset, ++ FLOAT rightInset, ++ FLOAT bottomInset, ++ __x_ABI_CWindows_CUI_CComposition_CInsetClip **result); ++ ++ HRESULT (STDMETHODCALLTYPE *CreateLinearEasingFunction)( ++ __x_ABI_CWindows_CUI_CComposition_CICompositor *This, ++ __x_ABI_CWindows_CUI_CComposition_CLinearEasingFunction **result); ++ ++ HRESULT (STDMETHODCALLTYPE *CreatePropertySet)( ++ __x_ABI_CWindows_CUI_CComposition_CICompositor *This, ++ __x_ABI_CWindows_CUI_CComposition_CCompositionPropertySet **result); ++ ++ HRESULT (STDMETHODCALLTYPE *CreateQuaternionKeyFrameAnimation)( ++ __x_ABI_CWindows_CUI_CComposition_CICompositor *This, ++ __x_ABI_CWindows_CUI_CComposition_CQuaternionKeyFrameAnimation **result); ++ ++ HRESULT (STDMETHODCALLTYPE *CreateScalarKeyFrameAnimation)( ++ __x_ABI_CWindows_CUI_CComposition_CICompositor *This, ++ __x_ABI_CWindows_CUI_CComposition_CScalarKeyFrameAnimation **result); ++ ++ HRESULT (STDMETHODCALLTYPE *CreateScopedBatch)( ++ __x_ABI_CWindows_CUI_CComposition_CICompositor *This, ++ __x_ABI_CWindows_CUI_CComposition_CCompositionBatchTypes batchType, ++ __x_ABI_CWindows_CUI_CComposition_CCompositionScopedBatch **result); ++ ++ HRESULT (STDMETHODCALLTYPE *CreateSpriteVisual)( ++ __x_ABI_CWindows_CUI_CComposition_CICompositor *This, ++ __x_ABI_CWindows_CUI_CComposition_CSpriteVisual **result); ++ ++ HRESULT (STDMETHODCALLTYPE *CreateSurfaceBrush)( ++ __x_ABI_CWindows_CUI_CComposition_CICompositor *This, ++ __x_ABI_CWindows_CUI_CComposition_CCompositionSurfaceBrush **result); ++ ++ HRESULT (STDMETHODCALLTYPE *CreateSurfaceBrushWithSurface)( ++ __x_ABI_CWindows_CUI_CComposition_CICompositor *This, ++ __x_ABI_CWindows_CUI_CComposition_CICompositionSurface *surface, ++ __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush **result); ++ ++ HRESULT (STDMETHODCALLTYPE *CreateTargetForCurrentView)( ++ __x_ABI_CWindows_CUI_CComposition_CICompositor *This, ++ __x_ABI_CWindows_CUI_CComposition_CCompositionTarget **result); ++ ++ HRESULT (STDMETHODCALLTYPE *CreateVector2KeyFrameAnimation)( ++ __x_ABI_CWindows_CUI_CComposition_CICompositor *This, ++ __x_ABI_CWindows_CUI_CComposition_CVector2KeyFrameAnimation **result); ++ ++ HRESULT (STDMETHODCALLTYPE *CreateVector3KeyFrameAnimation)( ++ __x_ABI_CWindows_CUI_CComposition_CICompositor *This, ++ __x_ABI_CWindows_CUI_CComposition_CVector3KeyFrameAnimation **result); ++ ++ HRESULT (STDMETHODCALLTYPE *CreateVector4KeyFrameAnimation)( ++ __x_ABI_CWindows_CUI_CComposition_CICompositor *This, ++ __x_ABI_CWindows_CUI_CComposition_CVector4KeyFrameAnimation **result); ++ ++ HRESULT (STDMETHODCALLTYPE *GetCommitBatch)( ++ __x_ABI_CWindows_CUI_CComposition_CICompositor *This, ++ __x_ABI_CWindows_CUI_CComposition_CCompositionBatchTypes batchType, ++ __x_ABI_CWindows_CUI_CComposition_CCompositionCommitBatch **result); ++ ++ END_INTERFACE ++} __x_ABI_CWindows_CUI_CComposition_CICompositorVtbl; ++ ++interface __x_ABI_CWindows_CUI_CComposition_CICompositor { ++ CONST_VTBL __x_ABI_CWindows_CUI_CComposition_CICompositorVtbl* lpVtbl; ++}; ++ ++#ifdef COBJMACROS ++#ifndef WIDL_C_INLINE_WRAPPERS ++/*** IUnknown methods ***/ ++#define __x_ABI_CWindows_CUI_CComposition_CICompositor_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) ++#define __x_ABI_CWindows_CUI_CComposition_CICompositor_AddRef(This) (This)->lpVtbl->AddRef(This) ++#define __x_ABI_CWindows_CUI_CComposition_CICompositor_Release(This) (This)->lpVtbl->Release(This) ++/*** IInspectable methods ***/ ++#define __x_ABI_CWindows_CUI_CComposition_CICompositor_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids) ++#define __x_ABI_CWindows_CUI_CComposition_CICompositor_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className) ++#define __x_ABI_CWindows_CUI_CComposition_CICompositor_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel) ++/*** ICompositor methods ***/ ++#define __x_ABI_CWindows_CUI_CComposition_CICompositor_CreateColorKeyFrameAnimation(This,result) (This)->lpVtbl->CreateColorKeyFrameAnimation(This,result) ++#define __x_ABI_CWindows_CUI_CComposition_CICompositor_CreateColorBrush(This,result) (This)->lpVtbl->CreateColorBrush(This,result) ++#define __x_ABI_CWindows_CUI_CComposition_CICompositor_CreateColorBrushWithColor(This,color,result) (This)->lpVtbl->CreateColorBrushWithColor(This,color,result) ++#define __x_ABI_CWindows_CUI_CComposition_CICompositor_CreateContainerVisual(This,result) (This)->lpVtbl->CreateContainerVisual(This,result) ++#define __x_ABI_CWindows_CUI_CComposition_CICompositor_CreateCubicBezierEasingFunction(This,controlPoint1,controlPoint2,result) (This)->lpVtbl->CreateCubicBezierEasingFunction(This,controlPoint1,controlPoint2,result) ++#define __x_ABI_CWindows_CUI_CComposition_CICompositor_CreateEffectFactory(This,graphicsEffect,result) (This)->lpVtbl->CreateEffectFactory(This,graphicsEffect,result) ++#define __x_ABI_CWindows_CUI_CComposition_CICompositor_CreateEffectFactoryWithProperties(This,graphicsEffect,animatableProperties,result) (This)->lpVtbl->CreateEffectFactoryWithProperties(This,graphicsEffect,animatableProperties,result) ++#define __x_ABI_CWindows_CUI_CComposition_CICompositor_CreateExpressionAnimation(This,result) (This)->lpVtbl->CreateExpressionAnimation(This,result) ++#define __x_ABI_CWindows_CUI_CComposition_CICompositor_CreateExpressionAnimationWithExpression(This,expression,result) (This)->lpVtbl->CreateExpressionAnimationWithExpression(This,expression,result) ++#define __x_ABI_CWindows_CUI_CComposition_CICompositor_CreateInsetClip(This,result) (This)->lpVtbl->CreateInsetClip(This,result) ++#define __x_ABI_CWindows_CUI_CComposition_CICompositor_CreateInsetClipWithInsets(This,leftInset,topInset,rightInset,bottomInset,result) (This)->lpVtbl->CreateInsetClipWithInsets(This,leftInset,topInset,rightInset,bottomInset,result) ++#define __x_ABI_CWindows_CUI_CComposition_CICompositor_CreateLinearEasingFunction(This,result) (This)->lpVtbl->CreateLinearEasingFunction(This,result) ++#define __x_ABI_CWindows_CUI_CComposition_CICompositor_CreatePropertySet(This,result) (This)->lpVtbl->CreatePropertySet(This,result) ++#define __x_ABI_CWindows_CUI_CComposition_CICompositor_CreateQuaternionKeyFrameAnimation(This,result) (This)->lpVtbl->CreateQuaternionKeyFrameAnimation(This,result) ++#define __x_ABI_CWindows_CUI_CComposition_CICompositor_CreateScalarKeyFrameAnimation(This,result) (This)->lpVtbl->CreateScalarKeyFrameAnimation(This,result) ++#define __x_ABI_CWindows_CUI_CComposition_CICompositor_CreateScopedBatch(This,batchType,result) (This)->lpVtbl->CreateScopedBatch(This,batchType,result) ++#define __x_ABI_CWindows_CUI_CComposition_CICompositor_CreateSpriteVisual(This,result) (This)->lpVtbl->CreateSpriteVisual(This,result) ++#define __x_ABI_CWindows_CUI_CComposition_CICompositor_CreateSurfaceBrush(This,result) (This)->lpVtbl->CreateSurfaceBrush(This,result) ++#define __x_ABI_CWindows_CUI_CComposition_CICompositor_CreateSurfaceBrushWithSurface(This,surface,result) (This)->lpVtbl->CreateSurfaceBrushWithSurface(This,surface,result) ++#define __x_ABI_CWindows_CUI_CComposition_CICompositor_CreateTargetForCurrentView(This,result) (This)->lpVtbl->CreateTargetForCurrentView(This,result) ++#define __x_ABI_CWindows_CUI_CComposition_CICompositor_CreateVector2KeyFrameAnimation(This,result) (This)->lpVtbl->CreateVector2KeyFrameAnimation(This,result) ++#define __x_ABI_CWindows_CUI_CComposition_CICompositor_CreateVector3KeyFrameAnimation(This,result) (This)->lpVtbl->CreateVector3KeyFrameAnimation(This,result) ++#define __x_ABI_CWindows_CUI_CComposition_CICompositor_CreateVector4KeyFrameAnimation(This,result) (This)->lpVtbl->CreateVector4KeyFrameAnimation(This,result) ++#define __x_ABI_CWindows_CUI_CComposition_CICompositor_GetCommitBatch(This,batchType,result) (This)->lpVtbl->GetCommitBatch(This,batchType,result) ++#else ++/*** IUnknown methods ***/ ++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositor_QueryInterface(__x_ABI_CWindows_CUI_CComposition_CICompositor* This,REFIID riid,void **ppvObject) { ++ return This->lpVtbl->QueryInterface(This,riid,ppvObject); ++} ++static FORCEINLINE ULONG __x_ABI_CWindows_CUI_CComposition_CICompositor_AddRef(__x_ABI_CWindows_CUI_CComposition_CICompositor* This) { ++ return This->lpVtbl->AddRef(This); ++} ++static FORCEINLINE ULONG __x_ABI_CWindows_CUI_CComposition_CICompositor_Release(__x_ABI_CWindows_CUI_CComposition_CICompositor* This) { ++ return This->lpVtbl->Release(This); ++} ++/*** IInspectable methods ***/ ++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositor_GetIids(__x_ABI_CWindows_CUI_CComposition_CICompositor* This,ULONG *iidCount,IID **iids) { ++ return This->lpVtbl->GetIids(This,iidCount,iids); ++} ++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositor_GetRuntimeClassName(__x_ABI_CWindows_CUI_CComposition_CICompositor* This,HSTRING *className) { ++ return This->lpVtbl->GetRuntimeClassName(This,className); ++} ++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositor_GetTrustLevel(__x_ABI_CWindows_CUI_CComposition_CICompositor* This,TrustLevel *trustLevel) { ++ return This->lpVtbl->GetTrustLevel(This,trustLevel); ++} ++/*** ICompositor methods ***/ ++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositor_CreateColorKeyFrameAnimation(__x_ABI_CWindows_CUI_CComposition_CICompositor* This,__x_ABI_CWindows_CUI_CComposition_CColorKeyFrameAnimation **result) { ++ return This->lpVtbl->CreateColorKeyFrameAnimation(This,result); ++} ++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositor_CreateColorBrush(__x_ABI_CWindows_CUI_CComposition_CICompositor* This,__x_ABI_CWindows_CUI_CComposition_CCompositionColorBrush **result) { ++ return This->lpVtbl->CreateColorBrush(This,result); ++} ++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositor_CreateColorBrushWithColor(__x_ABI_CWindows_CUI_CComposition_CICompositor* This,__x_ABI_CWindows_CUI_CColor color,__x_ABI_CWindows_CUI_CComposition_CCompositionColorBrush **result) { ++ return This->lpVtbl->CreateColorBrushWithColor(This,color,result); ++} ++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositor_CreateContainerVisual(__x_ABI_CWindows_CUI_CComposition_CICompositor* This,__x_ABI_CWindows_CUI_CComposition_CContainerVisual **result) { ++ return This->lpVtbl->CreateContainerVisual(This,result); ++} ++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositor_CreateCubicBezierEasingFunction(__x_ABI_CWindows_CUI_CComposition_CICompositor* This,__x_ABI_CWindows_CFoundation_CNumerics_CVector2 controlPoint1,__x_ABI_CWindows_CFoundation_CNumerics_CVector2 controlPoint2,__x_ABI_CWindows_CUI_CComposition_CCubicBezierEasingFunction **result) { ++ return This->lpVtbl->CreateCubicBezierEasingFunction(This,controlPoint1,controlPoint2,result); ++} ++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositor_CreateEffectFactory(__x_ABI_CWindows_CUI_CComposition_CICompositor* This,__x_ABI_CWindows_CGraphics_CEffects_CIGraphicsEffect *graphicsEffect,__x_ABI_CWindows_CUI_CComposition_CCompositionEffectFactory **result) { ++ return This->lpVtbl->CreateEffectFactory(This,graphicsEffect,result); ++} ++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositor_CreateEffectFactoryWithProperties(__x_ABI_CWindows_CUI_CComposition_CICompositor* This,__x_ABI_CWindows_CGraphics_CEffects_CIGraphicsEffect *graphicsEffect,int *animatableProperties,__x_ABI_CWindows_CUI_CComposition_CCompositionEffectFactory **result) { ++ return This->lpVtbl->CreateEffectFactoryWithProperties(This,graphicsEffect,animatableProperties,result); ++} ++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositor_CreateExpressionAnimation(__x_ABI_CWindows_CUI_CComposition_CICompositor* This,__x_ABI_CWindows_CUI_CComposition_CExpressionAnimation **result) { ++ return This->lpVtbl->CreateExpressionAnimation(This,result); ++} ++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositor_CreateExpressionAnimationWithExpression(__x_ABI_CWindows_CUI_CComposition_CICompositor* This,HSTRING expression,__x_ABI_CWindows_CUI_CComposition_CExpressionAnimation **result) { ++ return This->lpVtbl->CreateExpressionAnimationWithExpression(This,expression,result); ++} ++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositor_CreateInsetClip(__x_ABI_CWindows_CUI_CComposition_CICompositor* This,__x_ABI_CWindows_CUI_CComposition_CInsetClip **result) { ++ return This->lpVtbl->CreateInsetClip(This,result); ++} ++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositor_CreateInsetClipWithInsets(__x_ABI_CWindows_CUI_CComposition_CICompositor* This,FLOAT leftInset,FLOAT topInset,FLOAT rightInset,FLOAT bottomInset,__x_ABI_CWindows_CUI_CComposition_CInsetClip **result) { ++ return This->lpVtbl->CreateInsetClipWithInsets(This,leftInset,topInset,rightInset,bottomInset,result); ++} ++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositor_CreateLinearEasingFunction(__x_ABI_CWindows_CUI_CComposition_CICompositor* This,__x_ABI_CWindows_CUI_CComposition_CLinearEasingFunction **result) { ++ return This->lpVtbl->CreateLinearEasingFunction(This,result); ++} ++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositor_CreatePropertySet(__x_ABI_CWindows_CUI_CComposition_CICompositor* This,__x_ABI_CWindows_CUI_CComposition_CCompositionPropertySet **result) { ++ return This->lpVtbl->CreatePropertySet(This,result); ++} ++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositor_CreateQuaternionKeyFrameAnimation(__x_ABI_CWindows_CUI_CComposition_CICompositor* This,__x_ABI_CWindows_CUI_CComposition_CQuaternionKeyFrameAnimation **result) { ++ return This->lpVtbl->CreateQuaternionKeyFrameAnimation(This,result); ++} ++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositor_CreateScalarKeyFrameAnimation(__x_ABI_CWindows_CUI_CComposition_CICompositor* This,__x_ABI_CWindows_CUI_CComposition_CScalarKeyFrameAnimation **result) { ++ return This->lpVtbl->CreateScalarKeyFrameAnimation(This,result); ++} ++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositor_CreateScopedBatch(__x_ABI_CWindows_CUI_CComposition_CICompositor* This,__x_ABI_CWindows_CUI_CComposition_CCompositionBatchTypes batchType,__x_ABI_CWindows_CUI_CComposition_CCompositionScopedBatch **result) { ++ return This->lpVtbl->CreateScopedBatch(This,batchType,result); ++} ++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositor_CreateSpriteVisual(__x_ABI_CWindows_CUI_CComposition_CICompositor* This,__x_ABI_CWindows_CUI_CComposition_CSpriteVisual **result) { ++ return This->lpVtbl->CreateSpriteVisual(This,result); ++} ++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositor_CreateSurfaceBrush(__x_ABI_CWindows_CUI_CComposition_CICompositor* This,__x_ABI_CWindows_CUI_CComposition_CCompositionSurfaceBrush **result) { ++ return This->lpVtbl->CreateSurfaceBrush(This,result); ++} ++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositor_CreateSurfaceBrushWithSurface(__x_ABI_CWindows_CUI_CComposition_CICompositor* This,__x_ABI_CWindows_CUI_CComposition_CICompositionSurface *surface,__x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush **result) { ++ return This->lpVtbl->CreateSurfaceBrushWithSurface(This,surface,result); ++} ++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositor_CreateTargetForCurrentView(__x_ABI_CWindows_CUI_CComposition_CICompositor* This,__x_ABI_CWindows_CUI_CComposition_CCompositionTarget **result) { ++ return This->lpVtbl->CreateTargetForCurrentView(This,result); ++} ++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositor_CreateVector2KeyFrameAnimation(__x_ABI_CWindows_CUI_CComposition_CICompositor* This,__x_ABI_CWindows_CUI_CComposition_CVector2KeyFrameAnimation **result) { ++ return This->lpVtbl->CreateVector2KeyFrameAnimation(This,result); ++} ++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositor_CreateVector3KeyFrameAnimation(__x_ABI_CWindows_CUI_CComposition_CICompositor* This,__x_ABI_CWindows_CUI_CComposition_CVector3KeyFrameAnimation **result) { ++ return This->lpVtbl->CreateVector3KeyFrameAnimation(This,result); ++} ++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositor_CreateVector4KeyFrameAnimation(__x_ABI_CWindows_CUI_CComposition_CICompositor* This,__x_ABI_CWindows_CUI_CComposition_CVector4KeyFrameAnimation **result) { ++ return This->lpVtbl->CreateVector4KeyFrameAnimation(This,result); ++} ++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositor_GetCommitBatch(__x_ABI_CWindows_CUI_CComposition_CICompositor* This,__x_ABI_CWindows_CUI_CComposition_CCompositionBatchTypes batchType,__x_ABI_CWindows_CUI_CComposition_CCompositionCommitBatch **result) { ++ return This->lpVtbl->GetCommitBatch(This,batchType,result); ++} ++#endif ++#endif ++ ++#endif ++ ++#endif /* ____x_ABI_CWindows_CUI_CComposition_CICompositor_INTERFACE_DEFINED__ */ ++ ++/***************************************************************************** ++ * ICompositionGraphicsDevice interface ++ */ ++#ifndef ____x_ABI_CWindows_CUI_CComposition_CICompositionGraphicsDevice_INTERFACE_DEFINED__ ++#define ____x_ABI_CWindows_CUI_CComposition_CICompositionGraphicsDevice_INTERFACE_DEFINED__ ++ ++DEFINE_GUID(IID___x_ABI_CWindows_CUI_CComposition_CICompositionGraphicsDevice, 0xfb22c6e1, 0x80a2, 0x4667, 0x99,0x36, 0xdb,0xea,0xf6,0xee,0xfe,0x95); ++#if defined(__cplusplus) && !defined(CINTERFACE) ++} /* extern "C" */ ++namespace ABI { ++ namespace Windows { ++ namespace UI { ++ namespace Composition { ++ MIDL_INTERFACE("fb22c6e1-80a2-4667-9936-dbeaf6eefe95") ++ ICompositionGraphicsDevice : public IInspectable ++ { ++ virtual HRESULT STDMETHODCALLTYPE CreateDrawingSurface( ++ ABI::Windows::Foundation::Size sizePixels, ++ ABI::Windows::Graphics::DirectX::DirectXPixelFormat pixelFormat, ++ ABI::Windows::Graphics::DirectX::DirectXAlphaMode alphaMode, ++ ABI::Windows::UI::Composition::CompositionDrawingSurface **result) = 0; ++ ++ virtual HRESULT STDMETHODCALLTYPE RenderingDeviceReplaced( ++ int *handler, ++ int *token) = 0; ++ ++ virtual HRESULT STDMETHODCALLTYPE RenderingDeviceReplaced( ++ int token) = 0; ++ ++ }; ++ } ++ } ++ } ++} ++extern "C" { ++#ifdef __CRT_UUID_DECL ++__CRT_UUID_DECL(ABI::Windows::UI::Composition::ICompositionGraphicsDevice, 0xfb22c6e1, 0x80a2, 0x4667, 0x99,0x36, 0xdb,0xea,0xf6,0xee,0xfe,0x95) ++#endif ++#else ++typedef struct __x_ABI_CWindows_CUI_CComposition_CICompositionGraphicsDeviceVtbl { ++ BEGIN_INTERFACE ++ ++ /*** IUnknown methods ***/ ++ HRESULT (STDMETHODCALLTYPE *QueryInterface)( ++ __x_ABI_CWindows_CUI_CComposition_CICompositionGraphicsDevice *This, ++ REFIID riid, ++ void **ppvObject); ++ ++ ULONG (STDMETHODCALLTYPE *AddRef)( ++ __x_ABI_CWindows_CUI_CComposition_CICompositionGraphicsDevice *This); ++ ++ ULONG (STDMETHODCALLTYPE *Release)( ++ __x_ABI_CWindows_CUI_CComposition_CICompositionGraphicsDevice *This); ++ ++ /*** IInspectable methods ***/ ++ HRESULT (STDMETHODCALLTYPE *GetIids)( ++ __x_ABI_CWindows_CUI_CComposition_CICompositionGraphicsDevice *This, ++ ULONG *iidCount, ++ IID **iids); ++ ++ HRESULT (STDMETHODCALLTYPE *GetRuntimeClassName)( ++ __x_ABI_CWindows_CUI_CComposition_CICompositionGraphicsDevice *This, ++ HSTRING *className); ++ ++ HRESULT (STDMETHODCALLTYPE *GetTrustLevel)( ++ __x_ABI_CWindows_CUI_CComposition_CICompositionGraphicsDevice *This, ++ TrustLevel *trustLevel); ++ ++ /*** ICompositionGraphicsDevice methods ***/ ++ HRESULT (STDMETHODCALLTYPE *CreateDrawingSurface)( ++ __x_ABI_CWindows_CUI_CComposition_CICompositionGraphicsDevice *This, ++ __x_ABI_CWindows_CFoundation_CSize sizePixels, ++ __x_ABI_CWindows_CGraphics_CDirectX_CDirectXPixelFormat pixelFormat, ++ __x_ABI_CWindows_CGraphics_CDirectX_CDirectXAlphaMode alphaMode, ++ __x_ABI_CWindows_CUI_CComposition_CCompositionDrawingSurface **result); ++ ++ HRESULT (STDMETHODCALLTYPE *RenderingDeviceReplaced)( ++ __x_ABI_CWindows_CUI_CComposition_CICompositionGraphicsDevice *This, ++ int *handler, ++ int *token); ++ ++ HRESULT (STDMETHODCALLTYPE *RenderingDeviceReplaced)( ++ __x_ABI_CWindows_CUI_CComposition_CICompositionGraphicsDevice *This, ++ int token); ++ ++ END_INTERFACE ++} __x_ABI_CWindows_CUI_CComposition_CICompositionGraphicsDeviceVtbl; ++ ++interface __x_ABI_CWindows_CUI_CComposition_CICompositionGraphicsDevice { ++ CONST_VTBL __x_ABI_CWindows_CUI_CComposition_CICompositionGraphicsDeviceVtbl* lpVtbl; ++}; ++ ++#ifdef COBJMACROS ++#ifndef WIDL_C_INLINE_WRAPPERS ++/*** IUnknown methods ***/ ++#define __x_ABI_CWindows_CUI_CComposition_CICompositionGraphicsDevice_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) ++#define __x_ABI_CWindows_CUI_CComposition_CICompositionGraphicsDevice_AddRef(This) (This)->lpVtbl->AddRef(This) ++#define __x_ABI_CWindows_CUI_CComposition_CICompositionGraphicsDevice_Release(This) (This)->lpVtbl->Release(This) ++/*** IInspectable methods ***/ ++#define __x_ABI_CWindows_CUI_CComposition_CICompositionGraphicsDevice_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids) ++#define __x_ABI_CWindows_CUI_CComposition_CICompositionGraphicsDevice_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className) ++#define __x_ABI_CWindows_CUI_CComposition_CICompositionGraphicsDevice_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel) ++/*** ICompositionGraphicsDevice methods ***/ ++#define __x_ABI_CWindows_CUI_CComposition_CICompositionGraphicsDevice_CreateDrawingSurface(This,sizePixels,pixelFormat,alphaMode,result) (This)->lpVtbl->CreateDrawingSurface(This,sizePixels,pixelFormat,alphaMode,result) ++#define __x_ABI_CWindows_CUI_CComposition_CICompositionGraphicsDevice_RenderingDeviceReplaced(This,handler,token) (This)->lpVtbl->RenderingDeviceReplaced(This,handler,token) ++#define __x_ABI_CWindows_CUI_CComposition_CICompositionGraphicsDevice_RenderingDeviceReplaced(This,token) (This)->lpVtbl->RenderingDeviceReplaced(This,token) ++#else ++/*** IUnknown methods ***/ ++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositionGraphicsDevice_QueryInterface(__x_ABI_CWindows_CUI_CComposition_CICompositionGraphicsDevice* This,REFIID riid,void **ppvObject) { ++ return This->lpVtbl->QueryInterface(This,riid,ppvObject); ++} ++static FORCEINLINE ULONG __x_ABI_CWindows_CUI_CComposition_CICompositionGraphicsDevice_AddRef(__x_ABI_CWindows_CUI_CComposition_CICompositionGraphicsDevice* This) { ++ return This->lpVtbl->AddRef(This); ++} ++static FORCEINLINE ULONG __x_ABI_CWindows_CUI_CComposition_CICompositionGraphicsDevice_Release(__x_ABI_CWindows_CUI_CComposition_CICompositionGraphicsDevice* This) { ++ return This->lpVtbl->Release(This); ++} ++/*** IInspectable methods ***/ ++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositionGraphicsDevice_GetIids(__x_ABI_CWindows_CUI_CComposition_CICompositionGraphicsDevice* This,ULONG *iidCount,IID **iids) { ++ return This->lpVtbl->GetIids(This,iidCount,iids); ++} ++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositionGraphicsDevice_GetRuntimeClassName(__x_ABI_CWindows_CUI_CComposition_CICompositionGraphicsDevice* This,HSTRING *className) { ++ return This->lpVtbl->GetRuntimeClassName(This,className); ++} ++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositionGraphicsDevice_GetTrustLevel(__x_ABI_CWindows_CUI_CComposition_CICompositionGraphicsDevice* This,TrustLevel *trustLevel) { ++ return This->lpVtbl->GetTrustLevel(This,trustLevel); ++} ++/*** ICompositionGraphicsDevice methods ***/ ++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositionGraphicsDevice_CreateDrawingSurface(__x_ABI_CWindows_CUI_CComposition_CICompositionGraphicsDevice* This,__x_ABI_CWindows_CFoundation_CSize sizePixels,__x_ABI_CWindows_CGraphics_CDirectX_CDirectXPixelFormat pixelFormat,__x_ABI_CWindows_CGraphics_CDirectX_CDirectXAlphaMode alphaMode,__x_ABI_CWindows_CUI_CComposition_CCompositionDrawingSurface **result) { ++ return This->lpVtbl->CreateDrawingSurface(This,sizePixels,pixelFormat,alphaMode,result); ++} ++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositionGraphicsDevice_RenderingDeviceReplaced(__x_ABI_CWindows_CUI_CComposition_CICompositionGraphicsDevice* This,int *handler,int *token) { ++ return This->lpVtbl->RenderingDeviceReplaced(This,handler,token); ++} ++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositionGraphicsDevice_RenderingDeviceReplaced(__x_ABI_CWindows_CUI_CComposition_CICompositionGraphicsDevice* This,int token) { ++ return This->lpVtbl->RenderingDeviceReplaced(This,token); ++} ++#endif ++#endif ++ ++#endif ++ ++#endif /* ____x_ABI_CWindows_CUI_CComposition_CICompositionGraphicsDevice_INTERFACE_DEFINED__ */ ++ ++extern const __declspec(selectany) WCHAR RuntimeClass_Windows_UI_Composition_SpriteVisual[] = L"Windows.UI.Composition.SpriteVisual"; ++/* Begin additional prototypes for all interfaces */ ++ ++ULONG __RPC_USER HSTRING_UserSize (ULONG *, ULONG, HSTRING *); ++unsigned char * __RPC_USER HSTRING_UserMarshal (ULONG *, unsigned char *, HSTRING *); ++unsigned char * __RPC_USER HSTRING_UserUnmarshal(ULONG *, unsigned char *, HSTRING *); ++void __RPC_USER HSTRING_UserFree (ULONG *, HSTRING *); ++ ++/* End additional prototypes */ ++ ++#ifdef __cplusplus ++} ++#endif ++ ++#endif /* __windows_ui_composition_h__ */ +diff --git a/mingw-w64-headers/include/windows.ui.composition.interop.h b/mingw-w64-headers/include/windows.ui.composition.interop.h +new file mode 100644 +index 00000000..a82afdf1 +--- /dev/null ++++ b/mingw-w64-headers/include/windows.ui.composition.interop.h +@@ -0,0 +1,31 @@ ++#include <windows.ui.composition.h> ++ ++namespace ABI { ++namespace Windows { ++namespace UI { ++namespace Composition { ++ ++#undef INTERFACE ++#define INTERFACE ICompositorInterop ++ DECLARE_INTERFACE_IID_(ICompositorInterop, IUnknown, "25297d5c-3ad4-4c9c-b5cf-e36a38512330") ++ { ++ IFACEMETHOD(CreateCompositionSurfaceForHandle)( ++ HANDLE swapChain, ++ ICompositionSurface **result) PURE; ++ IFACEMETHOD(CreateCompositionSurfaceForSwapChain)( ++ IUnknown *swapChain, ++ ICompositionSurface **result) PURE; ++ ++ IFACEMETHOD(CreateGraphicsDevice)( ++ IUnknown *renderingDevice, ++ ICompositionGraphicsDevice **result) PURE; ++ }; ++} ++} ++} ++} ++ ++#ifdef __CRT_UUID_DECL ++__CRT_UUID_DECL(ABI::Windows::UI::Composition::ICompositorInterop, 0x25297d5c,0x3ad4,0x4c9c,0xb5,0xcf,0xe3,0x6a,0x38,0x51,0x23,0x30) ++#endif ++ +diff --git a/mingw-w64-headers/include/windows.ui.core.h b/mingw-w64-headers/include/windows.ui.core.h +new file mode 100644 +index 00000000..a3c16ac2 +--- /dev/null ++++ b/mingw-w64-headers/include/windows.ui.core.h +@@ -0,0 +1,127 @@ ++/*** Autogenerated by WIDL 4.4 from windows.ui.core.idl - Do not edit ***/ ++ ++#ifdef _WIN32 ++#ifndef __REQUIRED_RPCNDR_H_VERSION__ ++#define __REQUIRED_RPCNDR_H_VERSION__ 475 ++#endif ++#include <rpc.h> ++#include <rpcndr.h> ++#endif ++ ++#ifndef COM_NO_WINDOWS_H ++#include <windows.h> ++#include <ole2.h> ++#endif ++ ++#ifndef __windows_ui_core_h__ ++#define __windows_ui_core_h__ ++ ++/* Forward declarations */ ++ ++#ifndef ____x_ABI_CWindows_CUI_CCore_CCoreDispatcher_FWD_DEFINED__ ++#define ____x_ABI_CWindows_CUI_CCore_CCoreDispatcher_FWD_DEFINED__ ++typedef interface __x_ABI_CWindows_CUI_CCore_CCoreDispatcher __x_ABI_CWindows_CUI_CCore_CCoreDispatcher; ++#ifdef __cplusplus ++namespace ABI { ++ namespace Windows { ++ namespace UI { ++ namespace Core { ++ interface CoreDispatcher; ++ } ++ } ++ } ++} ++#endif /* __cplusplus */ ++#endif ++ ++/* Headers for imported files */ ++ ++#include <inspectable.h> ++#include <windows.foundation.h> ++ ++#ifdef __cplusplus ++extern "C" { ++#endif ++ ++/***************************************************************************** ++ * CoreDispatcher interface ++ */ ++#ifndef ____x_ABI_CWindows_CUI_CCore_CCoreDispatcher_INTERFACE_DEFINED__ ++#define ____x_ABI_CWindows_CUI_CCore_CCoreDispatcher_INTERFACE_DEFINED__ ++ ++DEFINE_GUID(IID___x_ABI_CWindows_CUI_CCore_CCoreDispatcher, 0x3fe05581, 0x1ad1, 0x4f97, 0x96,0x66, 0x40,0x2d,0x76,0xe4,0x23,0x3b); ++#if defined(__cplusplus) && !defined(CINTERFACE) ++} /* extern "C" */ ++namespace ABI { ++ namespace Windows { ++ namespace UI { ++ namespace Core { ++ MIDL_INTERFACE("3fe05581-1ad1-4f97-9666-402d76e4233b") ++ CoreDispatcher : public IUnknown ++ { ++ }; ++ } ++ } ++ } ++} ++extern "C" { ++#ifdef __CRT_UUID_DECL ++__CRT_UUID_DECL(ABI::Windows::UI::Core::CoreDispatcher, 0x3fe05581, 0x1ad1, 0x4f97, 0x96,0x66, 0x40,0x2d,0x76,0xe4,0x23,0x3b) ++#endif ++#else ++typedef struct __x_ABI_CWindows_CUI_CCore_CCoreDispatcherVtbl { ++ BEGIN_INTERFACE ++ ++ /*** IUnknown methods ***/ ++ HRESULT (STDMETHODCALLTYPE *QueryInterface)( ++ __x_ABI_CWindows_CUI_CCore_CCoreDispatcher *This, ++ REFIID riid, ++ void **ppvObject); ++ ++ ULONG (STDMETHODCALLTYPE *AddRef)( ++ __x_ABI_CWindows_CUI_CCore_CCoreDispatcher *This); ++ ++ ULONG (STDMETHODCALLTYPE *Release)( ++ __x_ABI_CWindows_CUI_CCore_CCoreDispatcher *This); ++ ++ END_INTERFACE ++} __x_ABI_CWindows_CUI_CCore_CCoreDispatcherVtbl; ++ ++interface __x_ABI_CWindows_CUI_CCore_CCoreDispatcher { ++ CONST_VTBL __x_ABI_CWindows_CUI_CCore_CCoreDispatcherVtbl* lpVtbl; ++}; ++ ++#ifdef COBJMACROS ++#ifndef WIDL_C_INLINE_WRAPPERS ++/*** IUnknown methods ***/ ++#define __x_ABI_CWindows_CUI_CCore_CCoreDispatcher_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) ++#define __x_ABI_CWindows_CUI_CCore_CCoreDispatcher_AddRef(This) (This)->lpVtbl->AddRef(This) ++#define __x_ABI_CWindows_CUI_CCore_CCoreDispatcher_Release(This) (This)->lpVtbl->Release(This) ++#else ++/*** IUnknown methods ***/ ++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CCore_CCoreDispatcher_QueryInterface(__x_ABI_CWindows_CUI_CCore_CCoreDispatcher* This,REFIID riid,void **ppvObject) { ++ return This->lpVtbl->QueryInterface(This,riid,ppvObject); ++} ++static FORCEINLINE ULONG __x_ABI_CWindows_CUI_CCore_CCoreDispatcher_AddRef(__x_ABI_CWindows_CUI_CCore_CCoreDispatcher* This) { ++ return This->lpVtbl->AddRef(This); ++} ++static FORCEINLINE ULONG __x_ABI_CWindows_CUI_CCore_CCoreDispatcher_Release(__x_ABI_CWindows_CUI_CCore_CCoreDispatcher* This) { ++ return This->lpVtbl->Release(This); ++} ++#endif ++#endif ++ ++#endif ++ ++#endif /* ____x_ABI_CWindows_CUI_CCore_CCoreDispatcher_INTERFACE_DEFINED__ */ ++ ++/* Begin additional prototypes for all interfaces */ ++ ++ ++/* End additional prototypes */ ++ ++#ifdef __cplusplus ++} ++#endif ++ ++#endif /* __windows_ui_core_h__ */ +diff --git a/mingw-w64-headers/include/windows.ui.h b/mingw-w64-headers/include/windows.ui.h +new file mode 100644 +index 00000000..2e4abd54 +--- /dev/null ++++ b/mingw-w64-headers/include/windows.ui.h +@@ -0,0 +1,72 @@ ++/*** Autogenerated by WIDL 4.4 from windows.ui.idl - Do not edit ***/ ++ ++#ifdef _WIN32 ++#ifndef __REQUIRED_RPCNDR_H_VERSION__ ++#define __REQUIRED_RPCNDR_H_VERSION__ 475 ++#endif ++#include <rpc.h> ++#include <rpcndr.h> ++#endif ++ ++#ifndef COM_NO_WINDOWS_H ++#include <windows.h> ++#include <ole2.h> ++#endif ++ ++#ifndef __windows_ui_h__ ++#define __windows_ui_h__ ++ ++/* Forward declarations */ ++ ++/* Headers for imported files */ ++ ++#include <inspectable.h> ++#include <windows.foundation.h> ++ ++#ifdef __cplusplus ++extern "C" { ++#endif ++ ++#ifdef __cplusplus ++} /* extern "C" */ ++namespace ABI { ++ namespace Windows { ++ namespace UI { ++ struct Color { ++ BYTE A; ++ BYTE R; ++ BYTE G; ++ BYTE B; ++ }; ++ } ++ } ++} ++extern "C" { ++#else ++struct __x_ABI_CWindows_CUI_CColor { ++ BYTE A; ++ BYTE R; ++ BYTE G; ++ BYTE B; ++}; ++#endif ++ ++#ifdef __cplusplus ++namespace ABI { ++ namespace Windows { ++ namespace UI { ++typedef struct Color Color; ++ } ++ } ++} ++#endif /* __cplusplus */ ++/* Begin additional prototypes for all interfaces */ ++ ++ ++/* End additional prototypes */ ++ ++#ifdef __cplusplus ++} ++#endif ++ ++#endif /* __windows_ui_h__ */