// ------------------------------------------------------------------------------ // // This code was generated by a tool. // // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // // ------------------------------------------------------------------------------ namespace Win32.Graphics.Direct2D; /// /// ID2D1Factory2 [Guid("94f81a73-9212-4376-9c58-b16a3a0d3992")] [NativeTypeName("struct ID2D1Factory2 : ID2D1Factory1")] [NativeInheritance("ID2D1Factory1")] public unsafe partial struct ID2D1Factory2 : ID2D1Factory2.Interface, INativeGuid { public static ref readonly Guid IID_ID2D1Factory2 { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { ReadOnlySpan data = new byte[] { 0x73, 0x1A, 0xF8, 0x94, 0x12, 0x92, 0x76, 0x43, 0x9C, 0x58, 0xB1, 0x6A, 0x3A, 0x0D, 0x39, 0x92 }; Debug.Assert(data.Length == Unsafe.SizeOf()); return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); } } static Guid* INativeGuid.NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID2D1Factory2)); public void** lpVtbl; /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(0)] public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) { return ((delegate* unmanaged[MemberFunction])(lpVtbl[0]))((ID2D1Factory2*)Unsafe.AsPointer(ref this), riid, ppvObject); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(1)] [return: NativeTypeName("ULONG")] public uint AddRef() { return ((delegate* unmanaged[MemberFunction])(lpVtbl[1]))((ID2D1Factory2*)Unsafe.AsPointer(ref this)); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(2)] [return: NativeTypeName("ULONG")] public uint Release() { return ((delegate* unmanaged[MemberFunction])(lpVtbl[2]))((ID2D1Factory2*)Unsafe.AsPointer(ref this)); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(3)] public HResult ReloadSystemMetrics() { return ((delegate* unmanaged[MemberFunction])(lpVtbl[3]))((ID2D1Factory2*)Unsafe.AsPointer(ref this)); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(4)] public void GetDesktopDpi(float* dpiX, float* dpiY) { ((delegate* unmanaged[MemberFunction])(lpVtbl[4]))((ID2D1Factory2*)Unsafe.AsPointer(ref this), dpiX, dpiY); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(5)] public HResult CreateRectangleGeometry(Win32.Numerics.RectF* rectangle, ID2D1RectangleGeometry** rectangleGeometry) { return ((delegate* unmanaged[MemberFunction])(lpVtbl[5]))((ID2D1Factory2*)Unsafe.AsPointer(ref this), rectangle, rectangleGeometry); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(6)] public HResult CreateRoundedRectangleGeometry(RoundedRect* roundedRectangle, ID2D1RoundedRectangleGeometry** roundedRectangleGeometry) { return ((delegate* unmanaged[MemberFunction])(lpVtbl[6]))((ID2D1Factory2*)Unsafe.AsPointer(ref this), roundedRectangle, roundedRectangleGeometry); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(7)] public HResult CreateEllipseGeometry(Ellipse* ellipse, ID2D1EllipseGeometry** ellipseGeometry) { return ((delegate* unmanaged[MemberFunction])(lpVtbl[7]))((ID2D1Factory2*)Unsafe.AsPointer(ref this), ellipse, ellipseGeometry); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(8)] public HResult CreateGeometryGroup(Common.FillMode fillMode, ID2D1Geometry** geometries, uint geometriesCount, ID2D1GeometryGroup** geometryGroup) { return ((delegate* unmanaged[MemberFunction])(lpVtbl[8]))((ID2D1Factory2*)Unsafe.AsPointer(ref this), fillMode, geometries, geometriesCount, geometryGroup); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(9)] public HResult CreateTransformedGeometry(ID2D1Geometry* sourceGeometry, Matrix3x2* transform, ID2D1TransformedGeometry** transformedGeometry) { return ((delegate* unmanaged[MemberFunction])(lpVtbl[9]))((ID2D1Factory2*)Unsafe.AsPointer(ref this), sourceGeometry, transform, transformedGeometry); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(10)] public HResult CreatePathGeometry(ID2D1PathGeometry** pathGeometry) { return ((delegate* unmanaged[MemberFunction])(lpVtbl[10]))((ID2D1Factory2*)Unsafe.AsPointer(ref this), pathGeometry); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(11)] public HResult CreateStrokeStyle(StrokeStyleProperties* strokeStyleProperties, float* dashes, uint dashesCount, ID2D1StrokeStyle** strokeStyle) { return ((delegate* unmanaged[MemberFunction])(lpVtbl[11]))((ID2D1Factory2*)Unsafe.AsPointer(ref this), strokeStyleProperties, dashes, dashesCount, strokeStyle); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(12)] public HResult CreateDrawingStateBlock(DrawingStateDescription* drawingStateDescription, Graphics.DirectWrite.IDWriteRenderingParams* textRenderingParams, ID2D1DrawingStateBlock** drawingStateBlock) { return ((delegate* unmanaged[MemberFunction])(lpVtbl[12]))((ID2D1Factory2*)Unsafe.AsPointer(ref this), drawingStateDescription, textRenderingParams, drawingStateBlock); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(13)] public HResult CreateWicBitmapRenderTarget(Graphics.Imaging.IWICBitmap* target, RenderTargetProperties* renderTargetProperties, ID2D1RenderTarget** renderTarget) { return ((delegate* unmanaged[MemberFunction])(lpVtbl[13]))((ID2D1Factory2*)Unsafe.AsPointer(ref this), target, renderTargetProperties, renderTarget); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(14)] public HResult CreateHwndRenderTarget(RenderTargetProperties* renderTargetProperties, HwndRenderTargetProperties* hwndRenderTargetProperties, ID2D1HwndRenderTarget** hwndRenderTarget) { return ((delegate* unmanaged[MemberFunction])(lpVtbl[14]))((ID2D1Factory2*)Unsafe.AsPointer(ref this), renderTargetProperties, hwndRenderTargetProperties, hwndRenderTarget); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(15)] public HResult CreateDxgiSurfaceRenderTarget(Graphics.Dxgi.IDXGISurface* dxgiSurface, RenderTargetProperties* renderTargetProperties, ID2D1RenderTarget** renderTarget) { return ((delegate* unmanaged[MemberFunction])(lpVtbl[15]))((ID2D1Factory2*)Unsafe.AsPointer(ref this), dxgiSurface, renderTargetProperties, renderTarget); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(16)] public HResult CreateDCRenderTarget(RenderTargetProperties* renderTargetProperties, ID2D1DCRenderTarget** dcRenderTarget) { return ((delegate* unmanaged[MemberFunction])(lpVtbl[16]))((ID2D1Factory2*)Unsafe.AsPointer(ref this), renderTargetProperties, dcRenderTarget); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(17)] public HResult CreateDevice(Graphics.Dxgi.IDXGIDevice* dxgiDevice, ID2D1Device** d2dDevice) { return ((delegate* unmanaged[MemberFunction])(lpVtbl[17]))((ID2D1Factory2*)Unsafe.AsPointer(ref this), dxgiDevice, d2dDevice); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(18)] public HResult CreateStrokeStyle(StrokeStyleProperties1* strokeStyleProperties, float* dashes, uint dashesCount, ID2D1StrokeStyle1** strokeStyle) { return ((delegate* unmanaged[MemberFunction])(lpVtbl[18]))((ID2D1Factory2*)Unsafe.AsPointer(ref this), strokeStyleProperties, dashes, dashesCount, strokeStyle); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(19)] public HResult CreatePathGeometry(ID2D1PathGeometry1** pathGeometry) { return ((delegate* unmanaged[MemberFunction])(lpVtbl[19]))((ID2D1Factory2*)Unsafe.AsPointer(ref this), pathGeometry); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(20)] public HResult CreateDrawingStateBlock(DrawingStateDescription1* drawingStateDescription, Graphics.DirectWrite.IDWriteRenderingParams* textRenderingParams, ID2D1DrawingStateBlock1** drawingStateBlock) { return ((delegate* unmanaged[MemberFunction])(lpVtbl[20]))((ID2D1Factory2*)Unsafe.AsPointer(ref this), drawingStateDescription, textRenderingParams, drawingStateBlock); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(21)] public HResult CreateGdiMetafile(Com.IStream* metafileStream, ID2D1GdiMetafile** metafile) { return ((delegate* unmanaged[MemberFunction])(lpVtbl[21]))((ID2D1Factory2*)Unsafe.AsPointer(ref this), metafileStream, metafile); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(22)] public HResult RegisterEffectFromStream(Guid* classId, Com.IStream* propertyXml, PropertyBinding* bindings, uint bindingsCount, delegate* unmanaged[Stdcall] effectFactory) { return ((delegate* unmanaged[MemberFunction], int>)(lpVtbl[22]))((ID2D1Factory2*)Unsafe.AsPointer(ref this), classId, propertyXml, bindings, bindingsCount, effectFactory); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(23)] public HResult RegisterEffectFromString(Guid* classId, char* propertyXml, PropertyBinding* bindings, uint bindingsCount, delegate* unmanaged[Stdcall] effectFactory) { return ((delegate* unmanaged[MemberFunction], int>)(lpVtbl[23]))((ID2D1Factory2*)Unsafe.AsPointer(ref this), classId, propertyXml, bindings, bindingsCount, effectFactory); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(24)] public HResult UnregisterEffect(Guid* classId) { return ((delegate* unmanaged[MemberFunction])(lpVtbl[24]))((ID2D1Factory2*)Unsafe.AsPointer(ref this), classId); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(25)] public HResult GetRegisteredEffects(Guid* effects, uint effectsCount, uint* effectsReturned, uint* effectsRegistered) { return ((delegate* unmanaged[MemberFunction])(lpVtbl[25]))((ID2D1Factory2*)Unsafe.AsPointer(ref this), effects, effectsCount, effectsReturned, effectsRegistered); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(26)] public HResult GetEffectProperties(Guid* effectId, ID2D1Properties** properties) { return ((delegate* unmanaged[MemberFunction])(lpVtbl[26]))((ID2D1Factory2*)Unsafe.AsPointer(ref this), effectId, properties); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(27)] public HResult CreateDevice(Graphics.Dxgi.IDXGIDevice* dxgiDevice, ID2D1Device1** d2dDevice1) { return ((delegate* unmanaged[MemberFunction])(lpVtbl[27]))((ID2D1Factory2*)Unsafe.AsPointer(ref this), dxgiDevice, d2dDevice1); } public interface Interface : ID2D1Factory1.Interface { [VtblIndex(27)] HResult CreateDevice(Graphics.Dxgi.IDXGIDevice* dxgiDevice, ID2D1Device1** d2dDevice1); } }