Module: wine Branch: master Commit: af4838321e3a2d04ac134b35f6d12aef4b9552ff URL: https://gitlab.winehq.org/wine/wine/-/commit/af4838321e3a2d04ac134b35f6d12ae...
Author: Biswapriyo Nath nathbappai@gmail.com Date: Thu Feb 15 15:07:10 2024 +0000
include: Add BitmapBuffer runtimeclass in windows.graphics.imaging.idl.
---
include/windows.graphics.imaging.idl | 70 ++++++++++++++++++++++++++++++++++++ 1 file changed, 70 insertions(+)
diff --git a/include/windows.graphics.imaging.idl b/include/windows.graphics.imaging.idl new file mode 100644 index 00000000000..5c6a6c2ea60 --- /dev/null +++ b/include/windows.graphics.imaging.idl @@ -0,0 +1,70 @@ +/* + * Copyright (C) 2024 Biswapriyo Nath + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#ifdef __WIDL__ +#pragma winrt ns_prefix +#endif + +import "inspectable.idl"; +import "asyncinfo.idl"; +import "eventtoken.idl"; +import "windowscontracts.idl"; +import "windows.foundation.idl"; +import "windows.graphics.directx.direct3d11.idl"; +import "windows.storage.streams.idl"; + +namespace Windows.Graphics.Imaging { + typedef struct BitmapPlaneDescription BitmapPlaneDescription; + + interface IBitmapBuffer; + + runtimeclass BitmapBuffer; + + [contract(Windows.Foundation.UniversalApiContract, 1.0)] + struct BitmapPlaneDescription + { + INT32 StartIndex; + INT32 Width; + INT32 Height; + INT32 Stride; + }; + + [ + contract(Windows.Foundation.UniversalApiContract, 1.0), + exclusiveto(Windows.Graphics.Imaging.BitmapBuffer), + uuid(a53e04c4-399c-438c-b28f-a63a6b83d1a1) + ] + interface IBitmapBuffer : IInspectable + requires Windows.Foundation.IMemoryBuffer, Windows.Foundation.IClosable + { + HRESULT GetPlaneCount([out, retval] INT32 *value); + HRESULT GetPlaneDescription([in] INT32 index, [out, retval] Windows.Graphics.Imaging.BitmapPlaneDescription *value); + } + + [ + contract(Windows.Foundation.UniversalApiContract, 1.0), + marshaling_behavior(agile), + threading(both) + ] + runtimeclass BitmapBuffer + { + [default] interface Windows.Graphics.Imaging.IBitmapBuffer; + interface Windows.Foundation.IMemoryBuffer; + interface Windows.Foundation.IClosable; + } +}