// ------------------------------------------------------------------------------ // // 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; /// /// ID2D1RenderTarget [Guid("2cd90694-12e2-11dc-9fed-001143a055f9")] [NativeTypeName("struct ID2D1RenderTarget : ID2D1Resource")] [NativeInheritance("ID2D1Resource")] public unsafe partial struct ID2D1RenderTarget : ID2D1RenderTarget.Interface, INativeGuid { public static ref readonly Guid IID_ID2D1RenderTarget { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { ReadOnlySpan data = new byte[] { 0x94, 0x06, 0xD9, 0x2C, 0xE2, 0x12, 0xDC, 0x11, 0x9F, 0xED, 0x00, 0x11, 0x43, 0xA0, 0x55, 0xF9 }; Debug.Assert(data.Length == Unsafe.SizeOf()); return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); } } #if NET6_0_OR_GREATER static Guid* INativeGuid.NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID2D1RenderTarget)); #else public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID2D1RenderTarget)); #endif public void** lpVtbl; /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(0)] public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) { return ((delegate* unmanaged[Stdcall])(lpVtbl[0]))((ID2D1RenderTarget*)Unsafe.AsPointer(ref this), riid, ppvObject); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(1)] [return: NativeTypeName("ULONG")] public uint AddRef() { return ((delegate* unmanaged[Stdcall])(lpVtbl[1]))((ID2D1RenderTarget*)Unsafe.AsPointer(ref this)); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(2)] [return: NativeTypeName("ULONG")] public uint Release() { return ((delegate* unmanaged[Stdcall])(lpVtbl[2]))((ID2D1RenderTarget*)Unsafe.AsPointer(ref this)); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(3)] public void GetFactory(ID2D1Factory** factory) { ((delegate* unmanaged[Stdcall])(lpVtbl[3]))((ID2D1RenderTarget*)Unsafe.AsPointer(ref this), factory); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(4)] public HResult CreateBitmap(System.Drawing.Size size, void* srcData, uint pitch, BitmapProperties* bitmapProperties, ID2D1Bitmap** bitmap) { return ((delegate* unmanaged[Stdcall])(lpVtbl[4]))((ID2D1RenderTarget*)Unsafe.AsPointer(ref this), size, srcData, pitch, bitmapProperties, bitmap); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(5)] public HResult CreateBitmapFromWicBitmap(Graphics.Imaging.IWICBitmapSource* wicBitmapSource, BitmapProperties* bitmapProperties, ID2D1Bitmap** bitmap) { return ((delegate* unmanaged[Stdcall])(lpVtbl[5]))((ID2D1RenderTarget*)Unsafe.AsPointer(ref this), wicBitmapSource, bitmapProperties, bitmap); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(6)] public HResult CreateSharedBitmap(Guid* riid, void* data, BitmapProperties* bitmapProperties, ID2D1Bitmap** bitmap) { return ((delegate* unmanaged[Stdcall])(lpVtbl[6]))((ID2D1RenderTarget*)Unsafe.AsPointer(ref this), riid, data, bitmapProperties, bitmap); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(7)] public HResult CreateBitmapBrush(ID2D1Bitmap* bitmap, BitmapBrushProperties* bitmapBrushProperties, BrushProperties* brushProperties, ID2D1BitmapBrush** bitmapBrush) { return ((delegate* unmanaged[Stdcall])(lpVtbl[7]))((ID2D1RenderTarget*)Unsafe.AsPointer(ref this), bitmap, bitmapBrushProperties, brushProperties, bitmapBrush); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(8)] public HResult CreateSolidColorBrush(Color4* color, BrushProperties* brushProperties, ID2D1SolidColorBrush** solidColorBrush) { return ((delegate* unmanaged[Stdcall])(lpVtbl[8]))((ID2D1RenderTarget*)Unsafe.AsPointer(ref this), color, brushProperties, solidColorBrush); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(9)] public HResult CreateGradientStopCollection(GradientStop* gradientStops, uint gradientStopsCount, Gamma colorInterpolationGamma, ExtendMode extendMode, ID2D1GradientStopCollection** gradientStopCollection) { return ((delegate* unmanaged[Stdcall])(lpVtbl[9]))((ID2D1RenderTarget*)Unsafe.AsPointer(ref this), gradientStops, gradientStopsCount, colorInterpolationGamma, extendMode, gradientStopCollection); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(10)] public HResult CreateLinearGradientBrush(LinearGradientBrushProperties* linearGradientBrushProperties, BrushProperties* brushProperties, ID2D1GradientStopCollection* gradientStopCollection, ID2D1LinearGradientBrush** linearGradientBrush) { return ((delegate* unmanaged[Stdcall])(lpVtbl[10]))((ID2D1RenderTarget*)Unsafe.AsPointer(ref this), linearGradientBrushProperties, brushProperties, gradientStopCollection, linearGradientBrush); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(11)] public HResult CreateRadialGradientBrush(RadialGradientBrushProperties* radialGradientBrushProperties, BrushProperties* brushProperties, ID2D1GradientStopCollection* gradientStopCollection, ID2D1RadialGradientBrush** radialGradientBrush) { return ((delegate* unmanaged[Stdcall])(lpVtbl[11]))((ID2D1RenderTarget*)Unsafe.AsPointer(ref this), radialGradientBrushProperties, brushProperties, gradientStopCollection, radialGradientBrush); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(12)] public HResult CreateCompatibleRenderTarget(System.Drawing.SizeF* desiredSize, System.Drawing.Size* desiredPixelSize, Common.PixelFormat* desiredFormat, CompatibleRenderTargetOptions options, ID2D1BitmapRenderTarget** bitmapRenderTarget) { return ((delegate* unmanaged[Stdcall])(lpVtbl[12]))((ID2D1RenderTarget*)Unsafe.AsPointer(ref this), desiredSize, desiredPixelSize, desiredFormat, options, bitmapRenderTarget); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(13)] public HResult CreateLayer(System.Drawing.SizeF* size, ID2D1Layer** layer) { return ((delegate* unmanaged[Stdcall])(lpVtbl[13]))((ID2D1RenderTarget*)Unsafe.AsPointer(ref this), size, layer); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(14)] public HResult CreateMesh(ID2D1Mesh** mesh) { return ((delegate* unmanaged[Stdcall])(lpVtbl[14]))((ID2D1RenderTarget*)Unsafe.AsPointer(ref this), mesh); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(15)] public void DrawLine(System.Drawing.PointF point0, System.Drawing.PointF point1, ID2D1Brush* brush, float strokeWidth, ID2D1StrokeStyle* strokeStyle) { ((delegate* unmanaged[Stdcall])(lpVtbl[15]))((ID2D1RenderTarget*)Unsafe.AsPointer(ref this), point0, point1, brush, strokeWidth, strokeStyle); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(16)] public void DrawRectangle(Common.RectF* rect, ID2D1Brush* brush, float strokeWidth, ID2D1StrokeStyle* strokeStyle) { ((delegate* unmanaged[Stdcall])(lpVtbl[16]))((ID2D1RenderTarget*)Unsafe.AsPointer(ref this), rect, brush, strokeWidth, strokeStyle); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(17)] public void FillRectangle(Common.RectF* rect, ID2D1Brush* brush) { ((delegate* unmanaged[Stdcall])(lpVtbl[17]))((ID2D1RenderTarget*)Unsafe.AsPointer(ref this), rect, brush); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(18)] public void DrawRoundedRectangle(RoundedRect* roundedRect, ID2D1Brush* brush, float strokeWidth, ID2D1StrokeStyle* strokeStyle) { ((delegate* unmanaged[Stdcall])(lpVtbl[18]))((ID2D1RenderTarget*)Unsafe.AsPointer(ref this), roundedRect, brush, strokeWidth, strokeStyle); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(19)] public void FillRoundedRectangle(RoundedRect* roundedRect, ID2D1Brush* brush) { ((delegate* unmanaged[Stdcall])(lpVtbl[19]))((ID2D1RenderTarget*)Unsafe.AsPointer(ref this), roundedRect, brush); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(20)] public void DrawEllipse(Ellipse* ellipse, ID2D1Brush* brush, float strokeWidth, ID2D1StrokeStyle* strokeStyle) { ((delegate* unmanaged[Stdcall])(lpVtbl[20]))((ID2D1RenderTarget*)Unsafe.AsPointer(ref this), ellipse, brush, strokeWidth, strokeStyle); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(21)] public void FillEllipse(Ellipse* ellipse, ID2D1Brush* brush) { ((delegate* unmanaged[Stdcall])(lpVtbl[21]))((ID2D1RenderTarget*)Unsafe.AsPointer(ref this), ellipse, brush); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(22)] public void DrawGeometry(ID2D1Geometry* geometry, ID2D1Brush* brush, float strokeWidth, ID2D1StrokeStyle* strokeStyle) { ((delegate* unmanaged[Stdcall])(lpVtbl[22]))((ID2D1RenderTarget*)Unsafe.AsPointer(ref this), geometry, brush, strokeWidth, strokeStyle); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(23)] public void FillGeometry(ID2D1Geometry* geometry, ID2D1Brush* brush, ID2D1Brush* opacityBrush) { ((delegate* unmanaged[Stdcall])(lpVtbl[23]))((ID2D1RenderTarget*)Unsafe.AsPointer(ref this), geometry, brush, opacityBrush); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(24)] public void FillMesh(ID2D1Mesh* mesh, ID2D1Brush* brush) { ((delegate* unmanaged[Stdcall])(lpVtbl[24]))((ID2D1RenderTarget*)Unsafe.AsPointer(ref this), mesh, brush); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(25)] public void FillOpacityMask(ID2D1Bitmap* opacityMask, ID2D1Brush* brush, OpacityMaskContent content, Common.RectF* destinationRectangle, Common.RectF* sourceRectangle) { ((delegate* unmanaged[Stdcall])(lpVtbl[25]))((ID2D1RenderTarget*)Unsafe.AsPointer(ref this), opacityMask, brush, content, destinationRectangle, sourceRectangle); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(26)] public void DrawBitmap(ID2D1Bitmap* bitmap, Common.RectF* destinationRectangle, float opacity, BitmapInterpolationMode interpolationMode, Common.RectF* sourceRectangle) { ((delegate* unmanaged[Stdcall])(lpVtbl[26]))((ID2D1RenderTarget*)Unsafe.AsPointer(ref this), bitmap, destinationRectangle, opacity, interpolationMode, sourceRectangle); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(27)] public void DrawText(ushort* @string, uint stringLength, Graphics.DirectWrite.IDWriteTextFormat* textFormat, Common.RectF* layoutRect, ID2D1Brush* defaultFillBrush, DrawTextOptions options, Graphics.DirectWrite.MeasuringMode measuringMode) { ((delegate* unmanaged[Stdcall])(lpVtbl[27]))((ID2D1RenderTarget*)Unsafe.AsPointer(ref this), @string, stringLength, textFormat, layoutRect, defaultFillBrush, options, measuringMode); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(28)] public void DrawTextLayout(System.Drawing.PointF origin, Graphics.DirectWrite.IDWriteTextLayout* textLayout, ID2D1Brush* defaultFillBrush, DrawTextOptions options) { ((delegate* unmanaged[Stdcall])(lpVtbl[28]))((ID2D1RenderTarget*)Unsafe.AsPointer(ref this), origin, textLayout, defaultFillBrush, options); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(29)] public void DrawGlyphRun(System.Drawing.PointF baselineOrigin, Graphics.DirectWrite.GlyphRun* glyphRun, ID2D1Brush* foregroundBrush, Graphics.DirectWrite.MeasuringMode measuringMode) { ((delegate* unmanaged[Stdcall])(lpVtbl[29]))((ID2D1RenderTarget*)Unsafe.AsPointer(ref this), baselineOrigin, glyphRun, foregroundBrush, measuringMode); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(30)] public void SetTransform(Matrix3x2* transform) { ((delegate* unmanaged[Stdcall])(lpVtbl[30]))((ID2D1RenderTarget*)Unsafe.AsPointer(ref this), transform); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(31)] public void GetTransform(Matrix3x2* transform) { ((delegate* unmanaged[Stdcall])(lpVtbl[31]))((ID2D1RenderTarget*)Unsafe.AsPointer(ref this), transform); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(32)] public void SetAntialiasMode(AntialiasMode antialiasMode) { ((delegate* unmanaged[Stdcall])(lpVtbl[32]))((ID2D1RenderTarget*)Unsafe.AsPointer(ref this), antialiasMode); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(33)] public AntialiasMode GetAntialiasMode() { return ((delegate* unmanaged[Stdcall])(lpVtbl[33]))((ID2D1RenderTarget*)Unsafe.AsPointer(ref this)); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(34)] public void SetTextAntialiasMode(TextAntialiasMode textAntialiasMode) { ((delegate* unmanaged[Stdcall])(lpVtbl[34]))((ID2D1RenderTarget*)Unsafe.AsPointer(ref this), textAntialiasMode); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(35)] public TextAntialiasMode GetTextAntialiasMode() { return ((delegate* unmanaged[Stdcall])(lpVtbl[35]))((ID2D1RenderTarget*)Unsafe.AsPointer(ref this)); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(36)] public void SetTextRenderingParams(Graphics.DirectWrite.IDWriteRenderingParams* textRenderingParams) { ((delegate* unmanaged[Stdcall])(lpVtbl[36]))((ID2D1RenderTarget*)Unsafe.AsPointer(ref this), textRenderingParams); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(37)] public void GetTextRenderingParams(Graphics.DirectWrite.IDWriteRenderingParams** textRenderingParams) { ((delegate* unmanaged[Stdcall])(lpVtbl[37]))((ID2D1RenderTarget*)Unsafe.AsPointer(ref this), textRenderingParams); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(38)] public void SetTags(ulong tag1, ulong tag2) { ((delegate* unmanaged[Stdcall])(lpVtbl[38]))((ID2D1RenderTarget*)Unsafe.AsPointer(ref this), tag1, tag2); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(39)] public void GetTags(ulong* tag1, ulong* tag2) { ((delegate* unmanaged[Stdcall])(lpVtbl[39]))((ID2D1RenderTarget*)Unsafe.AsPointer(ref this), tag1, tag2); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(40)] public void PushLayer(LayerParameters* layerParameters, ID2D1Layer* layer) { ((delegate* unmanaged[Stdcall])(lpVtbl[40]))((ID2D1RenderTarget*)Unsafe.AsPointer(ref this), layerParameters, layer); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(41)] public void PopLayer() { ((delegate* unmanaged[Stdcall])(lpVtbl[41]))((ID2D1RenderTarget*)Unsafe.AsPointer(ref this)); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(42)] public HResult Flush(ulong* tag1, ulong* tag2) { return ((delegate* unmanaged[Stdcall])(lpVtbl[42]))((ID2D1RenderTarget*)Unsafe.AsPointer(ref this), tag1, tag2); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(43)] public void SaveDrawingState(ID2D1DrawingStateBlock* drawingStateBlock) { ((delegate* unmanaged[Stdcall])(lpVtbl[43]))((ID2D1RenderTarget*)Unsafe.AsPointer(ref this), drawingStateBlock); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(44)] public void RestoreDrawingState(ID2D1DrawingStateBlock* drawingStateBlock) { ((delegate* unmanaged[Stdcall])(lpVtbl[44]))((ID2D1RenderTarget*)Unsafe.AsPointer(ref this), drawingStateBlock); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(45)] public void PushAxisAlignedClip(Common.RectF* clipRect, AntialiasMode antialiasMode) { ((delegate* unmanaged[Stdcall])(lpVtbl[45]))((ID2D1RenderTarget*)Unsafe.AsPointer(ref this), clipRect, antialiasMode); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(46)] public void PopAxisAlignedClip() { ((delegate* unmanaged[Stdcall])(lpVtbl[46]))((ID2D1RenderTarget*)Unsafe.AsPointer(ref this)); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(47)] public void Clear(Color4* clearColor) { ((delegate* unmanaged[Stdcall])(lpVtbl[47]))((ID2D1RenderTarget*)Unsafe.AsPointer(ref this), clearColor); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(48)] public void BeginDraw() { ((delegate* unmanaged[Stdcall])(lpVtbl[48]))((ID2D1RenderTarget*)Unsafe.AsPointer(ref this)); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(49)] public HResult EndDraw(ulong* tag1 = null, ulong* tag2 = null) { return ((delegate* unmanaged[Stdcall])(lpVtbl[49]))((ID2D1RenderTarget*)Unsafe.AsPointer(ref this), tag1, tag2); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(50)] public Common.PixelFormat GetPixelFormat() { Common.PixelFormat result; return *((delegate* unmanaged[Stdcall])(lpVtbl[50]))((ID2D1RenderTarget*)Unsafe.AsPointer(ref this), &result); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(51)] public void SetDpi(float dpiX, float dpiY) { ((delegate* unmanaged[Stdcall])(lpVtbl[51]))((ID2D1RenderTarget*)Unsafe.AsPointer(ref this), dpiX, dpiY); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(52)] public void GetDpi(float* dpiX, float* dpiY) { ((delegate* unmanaged[Stdcall])(lpVtbl[52]))((ID2D1RenderTarget*)Unsafe.AsPointer(ref this), dpiX, dpiY); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(53)] public System.Drawing.SizeF GetSize() { System.Drawing.SizeF result; return *((delegate* unmanaged[Stdcall])(lpVtbl[53]))((ID2D1RenderTarget*)Unsafe.AsPointer(ref this), &result); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(54)] public System.Drawing.Size GetPixelSize() { System.Drawing.Size result; return *((delegate* unmanaged[Stdcall])(lpVtbl[54]))((ID2D1RenderTarget*)Unsafe.AsPointer(ref this), &result); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(55)] public uint GetMaximumBitmapSize() { return ((delegate* unmanaged[Stdcall])(lpVtbl[55]))((ID2D1RenderTarget*)Unsafe.AsPointer(ref this)); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(56)] public Bool32 IsSupported(RenderTargetProperties* renderTargetProperties) { return ((delegate* unmanaged[Stdcall])(lpVtbl[56]))((ID2D1RenderTarget*)Unsafe.AsPointer(ref this), renderTargetProperties); } public interface Interface : ID2D1Resource.Interface { [VtblIndex(4)] HResult CreateBitmap(System.Drawing.Size size, void* srcData, uint pitch, BitmapProperties* bitmapProperties, ID2D1Bitmap** bitmap); [VtblIndex(5)] HResult CreateBitmapFromWicBitmap(Graphics.Imaging.IWICBitmapSource* wicBitmapSource, BitmapProperties* bitmapProperties, ID2D1Bitmap** bitmap); [VtblIndex(6)] HResult CreateSharedBitmap(Guid* riid, void* data, BitmapProperties* bitmapProperties, ID2D1Bitmap** bitmap); [VtblIndex(7)] HResult CreateBitmapBrush(ID2D1Bitmap* bitmap, BitmapBrushProperties* bitmapBrushProperties, BrushProperties* brushProperties, ID2D1BitmapBrush** bitmapBrush); [VtblIndex(8)] HResult CreateSolidColorBrush(Color4* color, BrushProperties* brushProperties, ID2D1SolidColorBrush** solidColorBrush); [VtblIndex(9)] HResult CreateGradientStopCollection(GradientStop* gradientStops, uint gradientStopsCount, Gamma colorInterpolationGamma, ExtendMode extendMode, ID2D1GradientStopCollection** gradientStopCollection); [VtblIndex(10)] HResult CreateLinearGradientBrush(LinearGradientBrushProperties* linearGradientBrushProperties, BrushProperties* brushProperties, ID2D1GradientStopCollection* gradientStopCollection, ID2D1LinearGradientBrush** linearGradientBrush); [VtblIndex(11)] HResult CreateRadialGradientBrush(RadialGradientBrushProperties* radialGradientBrushProperties, BrushProperties* brushProperties, ID2D1GradientStopCollection* gradientStopCollection, ID2D1RadialGradientBrush** radialGradientBrush); [VtblIndex(12)] HResult CreateCompatibleRenderTarget(System.Drawing.SizeF* desiredSize, System.Drawing.Size* desiredPixelSize, Common.PixelFormat* desiredFormat, CompatibleRenderTargetOptions options, ID2D1BitmapRenderTarget** bitmapRenderTarget); [VtblIndex(13)] HResult CreateLayer(System.Drawing.SizeF* size, ID2D1Layer** layer); [VtblIndex(14)] HResult CreateMesh(ID2D1Mesh** mesh); [VtblIndex(15)] void DrawLine(System.Drawing.PointF point0, System.Drawing.PointF point1, ID2D1Brush* brush, float strokeWidth, ID2D1StrokeStyle* strokeStyle); [VtblIndex(16)] void DrawRectangle(Common.RectF* rect, ID2D1Brush* brush, float strokeWidth, ID2D1StrokeStyle* strokeStyle); [VtblIndex(17)] void FillRectangle(Common.RectF* rect, ID2D1Brush* brush); [VtblIndex(18)] void DrawRoundedRectangle(RoundedRect* roundedRect, ID2D1Brush* brush, float strokeWidth, ID2D1StrokeStyle* strokeStyle); [VtblIndex(19)] void FillRoundedRectangle(RoundedRect* roundedRect, ID2D1Brush* brush); [VtblIndex(20)] void DrawEllipse(Ellipse* ellipse, ID2D1Brush* brush, float strokeWidth, ID2D1StrokeStyle* strokeStyle); [VtblIndex(21)] void FillEllipse(Ellipse* ellipse, ID2D1Brush* brush); [VtblIndex(22)] void DrawGeometry(ID2D1Geometry* geometry, ID2D1Brush* brush, float strokeWidth, ID2D1StrokeStyle* strokeStyle); [VtblIndex(23)] void FillGeometry(ID2D1Geometry* geometry, ID2D1Brush* brush, ID2D1Brush* opacityBrush); [VtblIndex(24)] void FillMesh(ID2D1Mesh* mesh, ID2D1Brush* brush); [VtblIndex(25)] void FillOpacityMask(ID2D1Bitmap* opacityMask, ID2D1Brush* brush, OpacityMaskContent content, Common.RectF* destinationRectangle, Common.RectF* sourceRectangle); [VtblIndex(26)] void DrawBitmap(ID2D1Bitmap* bitmap, Common.RectF* destinationRectangle, float opacity, BitmapInterpolationMode interpolationMode, Common.RectF* sourceRectangle); [VtblIndex(27)] void DrawText(ushort* @string, uint stringLength, Graphics.DirectWrite.IDWriteTextFormat* textFormat, Common.RectF* layoutRect, ID2D1Brush* defaultFillBrush, DrawTextOptions options, Graphics.DirectWrite.MeasuringMode measuringMode); [VtblIndex(28)] void DrawTextLayout(System.Drawing.PointF origin, Graphics.DirectWrite.IDWriteTextLayout* textLayout, ID2D1Brush* defaultFillBrush, DrawTextOptions options); [VtblIndex(29)] void DrawGlyphRun(System.Drawing.PointF baselineOrigin, Graphics.DirectWrite.GlyphRun* glyphRun, ID2D1Brush* foregroundBrush, Graphics.DirectWrite.MeasuringMode measuringMode); [VtblIndex(30)] void SetTransform(Matrix3x2* transform); [VtblIndex(31)] void GetTransform(Matrix3x2* transform); [VtblIndex(32)] void SetAntialiasMode(AntialiasMode antialiasMode); [VtblIndex(33)] AntialiasMode GetAntialiasMode(); [VtblIndex(34)] void SetTextAntialiasMode(TextAntialiasMode textAntialiasMode); [VtblIndex(35)] TextAntialiasMode GetTextAntialiasMode(); [VtblIndex(36)] void SetTextRenderingParams(Graphics.DirectWrite.IDWriteRenderingParams* textRenderingParams); [VtblIndex(37)] void GetTextRenderingParams(Graphics.DirectWrite.IDWriteRenderingParams** textRenderingParams); [VtblIndex(38)] void SetTags(ulong tag1, ulong tag2); [VtblIndex(39)] void GetTags(ulong* tag1, ulong* tag2); [VtblIndex(40)] void PushLayer(LayerParameters* layerParameters, ID2D1Layer* layer); [VtblIndex(41)] void PopLayer(); [VtblIndex(42)] HResult Flush(ulong* tag1, ulong* tag2); [VtblIndex(43)] void SaveDrawingState(ID2D1DrawingStateBlock* drawingStateBlock); [VtblIndex(44)] void RestoreDrawingState(ID2D1DrawingStateBlock* drawingStateBlock); [VtblIndex(45)] void PushAxisAlignedClip(Common.RectF* clipRect, AntialiasMode antialiasMode); [VtblIndex(46)] void PopAxisAlignedClip(); [VtblIndex(47)] void Clear(Color4* clearColor); [VtblIndex(48)] void BeginDraw(); [VtblIndex(49)] HResult EndDraw(ulong* tag1 = null, ulong* tag2 = null); [VtblIndex(50)] Common.PixelFormat GetPixelFormat(); [VtblIndex(51)] void SetDpi(float dpiX, float dpiY); [VtblIndex(52)] void GetDpi(float* dpiX, float* dpiY); [VtblIndex(53)] System.Drawing.SizeF GetSize(); [VtblIndex(54)] System.Drawing.Size GetPixelSize(); [VtblIndex(55)] uint GetMaximumBitmapSize(); [VtblIndex(56)] Bool32 IsSupported(RenderTargetProperties* renderTargetProperties); } }