Module: wine Branch: master Commit: 6ec9f446eb8bed66fb368834d23660fac115de52 URL: https://gitlab.winehq.org/wine/wine/-/commit/6ec9f446eb8bed66fb368834d23660f...
Author: Biswapriyo Nath nathbappai@gmail.com Date: Thu Feb 15 15:07:10 2024 +0000
include: Add FaceDetector runtimeclass in windows.media.faceanalysis.idl.
---
include/windows.graphics.imaging.idl | 8 ++++++ include/windows.media.faceanalysis.idl | 51 ++++++++++++++++++++++++++++++++++ 2 files changed, 59 insertions(+)
diff --git a/include/windows.graphics.imaging.idl b/include/windows.graphics.imaging.idl index 4ca51490dcd..5409481f043 100644 --- a/include/windows.graphics.imaging.idl +++ b/include/windows.graphics.imaging.idl @@ -34,6 +34,7 @@ namespace Windows.Graphics.Imaging { typedef enum BitmapPixelFormat BitmapPixelFormat; typedef struct BitmapBounds BitmapBounds; typedef struct BitmapPlaneDescription BitmapPlaneDescription; + typedef struct BitmapSize BitmapSize;
interface IBitmapBuffer; interface ISoftwareBitmap; @@ -107,6 +108,13 @@ namespace Windows.Graphics.Imaging { INT32 Stride; };
+ [contract(Windows.Foundation.UniversalApiContract, 1.0)] + struct BitmapSize + { + UINT32 Width; + UINT32 Height; + }; + [ contract(Windows.Foundation.UniversalApiContract, 1.0), exclusiveto(Windows.Graphics.Imaging.BitmapBuffer), diff --git a/include/windows.media.faceanalysis.idl b/include/windows.media.faceanalysis.idl index de5cf136ab9..595d36186b6 100644 --- a/include/windows.media.faceanalysis.idl +++ b/include/windows.media.faceanalysis.idl @@ -30,14 +30,19 @@ import "windows.media.idl";
namespace Windows.Media.FaceAnalysis { interface IDetectedFace; + interface IFaceDetector; + interface IFaceDetectorStatics;
runtimeclass DetectedFace; + runtimeclass FaceDetector;
declare { interface Windows.Foundation.Collections.IIterable<Windows.Media.FaceAnalysis.DetectedFace *>; interface Windows.Foundation.Collections.IIterator<Windows.Media.FaceAnalysis.DetectedFace *>; interface Windows.Foundation.Collections.IVectorView<Windows.Media.FaceAnalysis.DetectedFace *>; interface Windows.Foundation.Collections.IVector<Windows.Media.FaceAnalysis.DetectedFace *>; + interface Windows.Foundation.IAsyncOperation<Windows.Media.FaceAnalysis.FaceDetector *>; + interface Windows.Foundation.AsyncOperationCompletedHandler<Windows.Media.FaceAnalysis.FaceDetector *>; interface Windows.Foundation.IAsyncOperation<Windows.Foundation.Collections.IVector<Windows.Media.FaceAnalysis.DetectedFace *> *>; interface Windows.Foundation.AsyncOperationCompletedHandler<Windows.Foundation.Collections.IVector<Windows.Media.FaceAnalysis.DetectedFace *> *>; } @@ -52,6 +57,41 @@ namespace Windows.Media.FaceAnalysis { [propget] HRESULT FaceBox([out, retval] Windows.Graphics.Imaging.BitmapBounds *return_value); }
+ [ + contract(Windows.Foundation.UniversalApiContract, 1.0), + exclusiveto(Windows.Media.FaceAnalysis.FaceDetector), + uuid(16b672dc-fe6f-3117-8d95-c3f04d51630c) + ] + interface IFaceDetector : IInspectable + { + [overload("DetectFacesAsync")] + HRESULT DetectFacesAsync( + [in] Windows.Graphics.Imaging.SoftwareBitmap *image, + [out, retval] Windows.Foundation.IAsyncOperation<Windows.Foundation.Collections.IVector<Windows.Media.FaceAnalysis.DetectedFace *> *> **return_value); + [overload("DetectFacesAsync")] + HRESULT DetectFacesWithSearchAreaAsync( + [in] Windows.Graphics.Imaging.SoftwareBitmap *image, + [in] Windows.Graphics.Imaging.BitmapBounds search_area, + [out, retval] Windows.Foundation.IAsyncOperation<Windows.Foundation.Collections.IVector<Windows.Media.FaceAnalysis.DetectedFace *> *> **return_value); + [propget] HRESULT MinDetectableFaceSize([out, retval] Windows.Graphics.Imaging.BitmapSize *return_value); + [propput] HRESULT MinDetectableFaceSize([in] Windows.Graphics.Imaging.BitmapSize value); + [propget] HRESULT MaxDetectableFaceSize([out, retval] Windows.Graphics.Imaging.BitmapSize *return_value); + [propput] HRESULT MaxDetectableFaceSize([in] Windows.Graphics.Imaging.BitmapSize value); + } + + [ + contract(Windows.Foundation.UniversalApiContract, 1.0), + exclusiveto(Windows.Media.FaceAnalysis.FaceDetector), + uuid(bc042d67-9047-33f6-881b-6746c1b218b8) + ] + interface IFaceDetectorStatics : IInspectable + { + HRESULT CreateAsync([out, retval] Windows.Foundation.IAsyncOperation<Windows.Media.FaceAnalysis.FaceDetector *> **return_value); + HRESULT GetSupportedBitmapPixelFormats([out, retval] Windows.Foundation.Collections.IVectorView<Windows.Graphics.Imaging.BitmapPixelFormat> **result); + HRESULT IsBitmapPixelFormatSupported([in] Windows.Graphics.Imaging.BitmapPixelFormat bitmap_pixel_format, [out, retval] boolean *result); + [propget] HRESULT IsSupported([out, retval] boolean *return_value); + } + [ contract(Windows.Foundation.UniversalApiContract, 1.0), marshaling_behavior(agile), @@ -61,4 +101,15 @@ namespace Windows.Media.FaceAnalysis { { [default] interface Windows.Media.FaceAnalysis.IDetectedFace; } + + [ + contract(Windows.Foundation.UniversalApiContract, 1.0), + marshaling_behavior(agile), + static(Windows.Media.FaceAnalysis.IFaceDetectorStatics, Windows.Foundation.UniversalApiContract, 1.0), + threading(both) + ] + runtimeclass FaceDetector + { + [default] interface Windows.Media.FaceAnalysis.IFaceDetector; + } }