diff --git a/include/Makefile.in b/include/Makefile.in index 81ff6cfa634..6b66918d564 100644 --- a/include/Makefile.in +++ b/include/Makefile.in @@ -849,6 +849,7 @@ SOURCES = \ windows.graphics.directx.idl \ windows.graphics.effects.idl \ windows.graphics.holographic.idl \ + windows.graphics.idl \ windows.graphics.imaging.idl \ windows.h \ windows.management.deployment.idl \ diff --git a/include/windows.graphics.idl b/include/windows.graphics.idl new file mode 100644 index 00000000000..48c68014a76 --- /dev/null +++ b/include/windows.graphics.idl @@ -0,0 +1,97 @@ +/* + * 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 "eventtoken.idl"; +import "windowscontracts.idl"; +import "windows.foundation.idl"; + +namespace Windows.Graphics { + typedef struct DisplayAdapterId DisplayAdapterId; + typedef struct DisplayId DisplayId; + typedef struct PointInt32 PointInt32; + typedef struct RectInt32 RectInt32; + typedef struct SizeInt32 SizeInt32; + + interface IGeometrySource2D; + + declare { + interface Windows.Foundation.Collections.IIterable; + interface Windows.Foundation.Collections.IIterator; + interface Windows.Foundation.Collections.IVectorView; + interface Windows.Foundation.IReference; + } + + [ + contract(Windows.Foundation.UniversalApiContract, 6.0) + ] + struct DisplayAdapterId + { + UINT32 LowPart; + INT32 HighPart; + }; + + [ + contract(Windows.Foundation.UniversalApiContract, 12.0) + ] + struct DisplayId + { + UINT64 Value; + }; + + [ + contract(Windows.Foundation.UniversalApiContract, 4.0) + ] + struct PointInt32 + { + INT32 X; + INT32 Y; + }; + + [ + contract(Windows.Foundation.UniversalApiContract, 4.0) + ] + struct RectInt32 + { + INT32 X; + INT32 Y; + INT32 Width; + INT32 Height; + }; + + [ + contract(Windows.Foundation.UniversalApiContract, 4.0) + ] + struct SizeInt32 + { + INT32 Width; + INT32 Height; + }; + + [ + contract(Windows.Foundation.UniversalApiContract, 6.0), + uuid(caff7902-670c-4181-a624-da977203b845) + ] + interface IGeometrySource2D : IInspectable + { + } +}