// ------------------------------------------------------------------------------ // // 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; /// /// ID2D1Ink [Guid("b499923b-7029-478f-a8b3-432c7c5f5312")] [NativeTypeName("struct ID2D1Ink : ID2D1Resource")] [NativeInheritance("ID2D1Resource")] public unsafe partial struct ID2D1Ink : ID2D1Ink.Interface, INativeGuid { public static ref readonly Guid IID_ID2D1Ink { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { ReadOnlySpan data = new byte[] { 0x3B, 0x92, 0x99, 0xB4, 0x29, 0x70, 0x8F, 0x47, 0xA8, 0xB3, 0x43, 0x2C, 0x7C, 0x5F, 0x53, 0x12 }; 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_ID2D1Ink)); public void** lpVtbl; /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(0)] public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) { return ((delegate* unmanaged[MemberFunction])(lpVtbl[0]))((ID2D1Ink*)Unsafe.AsPointer(ref this), riid, ppvObject); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(1)] [return: NativeTypeName("ULONG")] public uint AddRef() { return ((delegate* unmanaged[MemberFunction])(lpVtbl[1]))((ID2D1Ink*)Unsafe.AsPointer(ref this)); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(2)] [return: NativeTypeName("ULONG")] public uint Release() { return ((delegate* unmanaged[MemberFunction])(lpVtbl[2]))((ID2D1Ink*)Unsafe.AsPointer(ref this)); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(3)] public void GetFactory(ID2D1Factory** factory) { ((delegate* unmanaged[MemberFunction])(lpVtbl[3]))((ID2D1Ink*)Unsafe.AsPointer(ref this), factory); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(4)] public void SetStartPoint(InkPoint* startPoint) { ((delegate* unmanaged[MemberFunction])(lpVtbl[4]))((ID2D1Ink*)Unsafe.AsPointer(ref this), startPoint); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(5)] public InkPoint GetStartPoint() { InkPoint result; return *((delegate* unmanaged[MemberFunction])(lpVtbl[5]))((ID2D1Ink*)Unsafe.AsPointer(ref this), &result); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(6)] public HResult AddSegments(InkBezierSegment* segments, uint segmentsCount) { return ((delegate* unmanaged[MemberFunction])(lpVtbl[6]))((ID2D1Ink*)Unsafe.AsPointer(ref this), segments, segmentsCount); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(7)] public HResult RemoveSegmentsAtEnd(uint segmentsCount) { return ((delegate* unmanaged[MemberFunction])(lpVtbl[7]))((ID2D1Ink*)Unsafe.AsPointer(ref this), segmentsCount); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(8)] public HResult SetSegments(uint startSegment, InkBezierSegment* segments, uint segmentsCount) { return ((delegate* unmanaged[MemberFunction])(lpVtbl[8]))((ID2D1Ink*)Unsafe.AsPointer(ref this), startSegment, segments, segmentsCount); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(9)] public HResult SetSegmentAtEnd(InkBezierSegment* segment) { return ((delegate* unmanaged[MemberFunction])(lpVtbl[9]))((ID2D1Ink*)Unsafe.AsPointer(ref this), segment); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(10)] public uint GetSegmentCount() { return ((delegate* unmanaged[MemberFunction])(lpVtbl[10]))((ID2D1Ink*)Unsafe.AsPointer(ref this)); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(11)] public HResult GetSegments(uint startSegment, InkBezierSegment* segments, uint segmentsCount) { return ((delegate* unmanaged[MemberFunction])(lpVtbl[11]))((ID2D1Ink*)Unsafe.AsPointer(ref this), startSegment, segments, segmentsCount); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(12)] public HResult StreamAsGeometry(ID2D1InkStyle* inkStyle, Matrix3x2* worldTransform, float flatteningTolerance, Common.ID2D1SimplifiedGeometrySink* geometrySink) { return ((delegate* unmanaged[MemberFunction])(lpVtbl[12]))((ID2D1Ink*)Unsafe.AsPointer(ref this), inkStyle, worldTransform, flatteningTolerance, geometrySink); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(13)] public HResult GetBounds(ID2D1InkStyle* inkStyle, Matrix3x2* worldTransform, Win32.Numerics.RectF** bounds) { return ((delegate* unmanaged[MemberFunction])(lpVtbl[13]))((ID2D1Ink*)Unsafe.AsPointer(ref this), inkStyle, worldTransform, bounds); } public interface Interface : ID2D1Resource.Interface { [VtblIndex(4)] void SetStartPoint(InkPoint* startPoint); [VtblIndex(5)] InkPoint GetStartPoint(); [VtblIndex(6)] HResult AddSegments(InkBezierSegment* segments, uint segmentsCount); [VtblIndex(7)] HResult RemoveSegmentsAtEnd(uint segmentsCount); [VtblIndex(8)] HResult SetSegments(uint startSegment, InkBezierSegment* segments, uint segmentsCount); [VtblIndex(9)] HResult SetSegmentAtEnd(InkBezierSegment* segment); [VtblIndex(10)] uint GetSegmentCount(); [VtblIndex(11)] HResult GetSegments(uint startSegment, InkBezierSegment* segments, uint segmentsCount); [VtblIndex(12)] HResult StreamAsGeometry(ID2D1InkStyle* inkStyle, Matrix3x2* worldTransform, float flatteningTolerance, Common.ID2D1SimplifiedGeometrySink* geometrySink); [VtblIndex(13)] HResult GetBounds(ID2D1InkStyle* inkStyle, Matrix3x2* worldTransform, Win32.Numerics.RectF** bounds); } }