// ------------------------------------------------------------------------------
//
// 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));
}
}
static Guid* INativeGuid.NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID2D1RenderTarget));
public void** lpVtbl;
///
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(0)]
public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject)
{
return ((delegate* unmanaged[MemberFunction])(lpVtbl[0]))((ID2D1RenderTarget*)Unsafe.AsPointer(ref this), riid, ppvObject);
}
///
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(1)]
[return: NativeTypeName("ULONG")]
public uint AddRef()
{
return ((delegate* unmanaged[MemberFunction])(lpVtbl[1]))((ID2D1RenderTarget*)Unsafe.AsPointer(ref this));
}
///
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(2)]
[return: NativeTypeName("ULONG")]
public uint Release()
{
return ((delegate* unmanaged[MemberFunction])(lpVtbl[2]))((ID2D1RenderTarget*)Unsafe.AsPointer(ref this));
}
///
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(3)]
public void GetFactory(ID2D1Factory** factory)
{
((delegate* unmanaged[MemberFunction])(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[MemberFunction])(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[MemberFunction])(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[MemberFunction])(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[MemberFunction])(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[MemberFunction])(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[MemberFunction])(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[MemberFunction])(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[MemberFunction])(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[MemberFunction])(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[MemberFunction])(lpVtbl[13]))((ID2D1RenderTarget*)Unsafe.AsPointer(ref this), size, layer);
}
///
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(14)]
public HResult CreateMesh(ID2D1Mesh** mesh)
{
return ((delegate* unmanaged[MemberFunction])(lpVtbl[14]))((ID2D1RenderTarget*)Unsafe.AsPointer(ref this), mesh);
}
///
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(15)]
public void DrawLine(Vector2 point0, Vector2 point1, ID2D1Brush* brush, float strokeWidth, ID2D1StrokeStyle* strokeStyle)
{
((delegate* unmanaged[MemberFunction])(lpVtbl[15]))((ID2D1RenderTarget*)Unsafe.AsPointer(ref this), point0, point1, brush, strokeWidth, strokeStyle);
}
///
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(16)]
public void DrawRectangle(Win32.Numerics.RectF* rect, ID2D1Brush* brush, float strokeWidth, ID2D1StrokeStyle* strokeStyle)
{
((delegate* unmanaged[MemberFunction])(lpVtbl[16]))((ID2D1RenderTarget*)Unsafe.AsPointer(ref this), rect, brush, strokeWidth, strokeStyle);
}
///
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(17)]
public void FillRectangle(Win32.Numerics.RectF* rect, ID2D1Brush* brush)
{
((delegate* unmanaged[MemberFunction])(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[MemberFunction])(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[MemberFunction])(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[MemberFunction])(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[MemberFunction])(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[MemberFunction])(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[MemberFunction])(lpVtbl[23]))((ID2D1RenderTarget*)Unsafe.AsPointer(ref this), geometry, brush, opacityBrush);
}
///
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(24)]
public void FillMesh(ID2D1Mesh* mesh, ID2D1Brush* brush)
{
((delegate* unmanaged[MemberFunction])(lpVtbl[24]))((ID2D1RenderTarget*)Unsafe.AsPointer(ref this), mesh, brush);
}
///
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(25)]
public void FillOpacityMask(ID2D1Bitmap* opacityMask, ID2D1Brush* brush, OpacityMaskContent content, Win32.Numerics.RectF* destinationRectangle, Win32.Numerics.RectF* sourceRectangle)
{
((delegate* unmanaged[MemberFunction])(lpVtbl[25]))((ID2D1RenderTarget*)Unsafe.AsPointer(ref this), opacityMask, brush, content, destinationRectangle, sourceRectangle);
}
///
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(26)]
public void DrawBitmap(ID2D1Bitmap* bitmap, Win32.Numerics.RectF* destinationRectangle, float opacity, BitmapInterpolationMode interpolationMode, Win32.Numerics.RectF* sourceRectangle)
{
((delegate* unmanaged[MemberFunction])(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, Win32.Numerics.RectF* layoutRect, ID2D1Brush* defaultFillBrush, DrawTextOptions options, Graphics.DirectWrite.MeasuringMode measuringMode)
{
((delegate* unmanaged[MemberFunction])(lpVtbl[27]))((ID2D1RenderTarget*)Unsafe.AsPointer(ref this), @string, stringLength, textFormat, layoutRect, defaultFillBrush, options, measuringMode);
}
///
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(28)]
public void DrawTextLayout(Vector2 origin, Graphics.DirectWrite.IDWriteTextLayout* textLayout, ID2D1Brush* defaultFillBrush, DrawTextOptions options)
{
((delegate* unmanaged[MemberFunction])(lpVtbl[28]))((ID2D1RenderTarget*)Unsafe.AsPointer(ref this), origin, textLayout, defaultFillBrush, options);
}
///
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(29)]
public void DrawGlyphRun(Vector2 baselineOrigin, Graphics.DirectWrite.GlyphRun* glyphRun, ID2D1Brush* foregroundBrush, Graphics.DirectWrite.MeasuringMode measuringMode)
{
((delegate* unmanaged[MemberFunction])(lpVtbl[29]))((ID2D1RenderTarget*)Unsafe.AsPointer(ref this), baselineOrigin, glyphRun, foregroundBrush, measuringMode);
}
///
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(30)]
public void SetTransform(Matrix3x2* transform)
{
((delegate* unmanaged[MemberFunction])(lpVtbl[30]))((ID2D1RenderTarget*)Unsafe.AsPointer(ref this), transform);
}
///
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(31)]
public void GetTransform(Matrix3x2* transform)
{
((delegate* unmanaged[MemberFunction])(lpVtbl[31]))((ID2D1RenderTarget*)Unsafe.AsPointer(ref this), transform);
}
///
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(32)]
public void SetAntialiasMode(AntialiasMode antialiasMode)
{
((delegate* unmanaged[MemberFunction])(lpVtbl[32]))((ID2D1RenderTarget*)Unsafe.AsPointer(ref this), antialiasMode);
}
///
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(33)]
public AntialiasMode GetAntialiasMode()
{
return ((delegate* unmanaged[MemberFunction])(lpVtbl[33]))((ID2D1RenderTarget*)Unsafe.AsPointer(ref this));
}
///
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(34)]
public void SetTextAntialiasMode(TextAntialiasMode textAntialiasMode)
{
((delegate* unmanaged[MemberFunction])(lpVtbl[34]))((ID2D1RenderTarget*)Unsafe.AsPointer(ref this), textAntialiasMode);
}
///
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(35)]
public TextAntialiasMode GetTextAntialiasMode()
{
return ((delegate* unmanaged[MemberFunction])(lpVtbl[35]))((ID2D1RenderTarget*)Unsafe.AsPointer(ref this));
}
///
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(36)]
public void SetTextRenderingParams(Graphics.DirectWrite.IDWriteRenderingParams* textRenderingParams)
{
((delegate* unmanaged[MemberFunction])(lpVtbl[36]))((ID2D1RenderTarget*)Unsafe.AsPointer(ref this), textRenderingParams);
}
///
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(37)]
public void GetTextRenderingParams(Graphics.DirectWrite.IDWriteRenderingParams** textRenderingParams)
{
((delegate* unmanaged[MemberFunction])(lpVtbl[37]))((ID2D1RenderTarget*)Unsafe.AsPointer(ref this), textRenderingParams);
}
///
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(38)]
public void SetTags(ulong tag1, ulong tag2)
{
((delegate* unmanaged[MemberFunction])(lpVtbl[38]))((ID2D1RenderTarget*)Unsafe.AsPointer(ref this), tag1, tag2);
}
///
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(39)]
public void GetTags(ulong* tag1, ulong* tag2)
{
((delegate* unmanaged[MemberFunction])(lpVtbl[39]))((ID2D1RenderTarget*)Unsafe.AsPointer(ref this), tag1, tag2);
}
///
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(40)]
public void PushLayer(LayerParameters* layerParameters, ID2D1Layer* layer)
{
((delegate* unmanaged[MemberFunction])(lpVtbl[40]))((ID2D1RenderTarget*)Unsafe.AsPointer(ref this), layerParameters, layer);
}
///
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(41)]
public void PopLayer()
{
((delegate* unmanaged[MemberFunction])(lpVtbl[41]))((ID2D1RenderTarget*)Unsafe.AsPointer(ref this));
}
///
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(42)]
public HResult Flush(ulong* tag1, ulong* tag2)
{
return ((delegate* unmanaged[MemberFunction])(lpVtbl[42]))((ID2D1RenderTarget*)Unsafe.AsPointer(ref this), tag1, tag2);
}
///
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(43)]
public void SaveDrawingState(ID2D1DrawingStateBlock* drawingStateBlock)
{
((delegate* unmanaged[MemberFunction])(lpVtbl[43]))((ID2D1RenderTarget*)Unsafe.AsPointer(ref this), drawingStateBlock);
}
///
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(44)]
public void RestoreDrawingState(ID2D1DrawingStateBlock* drawingStateBlock)
{
((delegate* unmanaged[MemberFunction])(lpVtbl[44]))((ID2D1RenderTarget*)Unsafe.AsPointer(ref this), drawingStateBlock);
}
///
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(45)]
public void PushAxisAlignedClip(Win32.Numerics.RectF* clipRect, AntialiasMode antialiasMode)
{
((delegate* unmanaged[MemberFunction])(lpVtbl[45]))((ID2D1RenderTarget*)Unsafe.AsPointer(ref this), clipRect, antialiasMode);
}
///
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(46)]
public void PopAxisAlignedClip()
{
((delegate* unmanaged[MemberFunction])(lpVtbl[46]))((ID2D1RenderTarget*)Unsafe.AsPointer(ref this));
}
///
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(47)]
public void Clear(Color4* clearColor)
{
((delegate* unmanaged[MemberFunction])(lpVtbl[47]))((ID2D1RenderTarget*)Unsafe.AsPointer(ref this), clearColor);
}
///
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(48)]
public void BeginDraw()
{
((delegate* unmanaged[MemberFunction])(lpVtbl[48]))((ID2D1RenderTarget*)Unsafe.AsPointer(ref this));
}
///
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(49)]
public HResult EndDraw(ulong* tag1 = null, ulong* tag2 = null)
{
return ((delegate* unmanaged[MemberFunction])(lpVtbl[49]))((ID2D1RenderTarget*)Unsafe.AsPointer(ref this), tag1, tag2);
}
///
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(50)]
public Common.PixelFormat GetPixelFormat()
{
Common.PixelFormat result;
return *((delegate* unmanaged[MemberFunction])(lpVtbl[50]))((ID2D1RenderTarget*)Unsafe.AsPointer(ref this), &result);
}
///
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(51)]
public void SetDpi(float dpiX, float dpiY)
{
((delegate* unmanaged[MemberFunction])(lpVtbl[51]))((ID2D1RenderTarget*)Unsafe.AsPointer(ref this), dpiX, dpiY);
}
///
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(52)]
public void GetDpi(float* dpiX, float* dpiY)
{
((delegate* unmanaged[MemberFunction])(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[MemberFunction])(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[MemberFunction])(lpVtbl[54]))((ID2D1RenderTarget*)Unsafe.AsPointer(ref this), &result);
}
///
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(55)]
public uint GetMaximumBitmapSize()
{
return ((delegate* unmanaged[MemberFunction])(lpVtbl[55]))((ID2D1RenderTarget*)Unsafe.AsPointer(ref this));
}
///
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(56)]
public Bool32 IsSupported(RenderTargetProperties* renderTargetProperties)
{
return ((delegate* unmanaged[MemberFunction])(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(Vector2 point0, Vector2 point1, ID2D1Brush* brush, float strokeWidth, ID2D1StrokeStyle* strokeStyle);
[VtblIndex(16)]
void DrawRectangle(Win32.Numerics.RectF* rect, ID2D1Brush* brush, float strokeWidth, ID2D1StrokeStyle* strokeStyle);
[VtblIndex(17)]
void FillRectangle(Win32.Numerics.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, Win32.Numerics.RectF* destinationRectangle, Win32.Numerics.RectF* sourceRectangle);
[VtblIndex(26)]
void DrawBitmap(ID2D1Bitmap* bitmap, Win32.Numerics.RectF* destinationRectangle, float opacity, BitmapInterpolationMode interpolationMode, Win32.Numerics.RectF* sourceRectangle);
[VtblIndex(27)]
void DrawText(ushort* @string, uint stringLength, Graphics.DirectWrite.IDWriteTextFormat* textFormat, Win32.Numerics.RectF* layoutRect, ID2D1Brush* defaultFillBrush, DrawTextOptions options, Graphics.DirectWrite.MeasuringMode measuringMode);
[VtblIndex(28)]
void DrawTextLayout(Vector2 origin, Graphics.DirectWrite.IDWriteTextLayout* textLayout, ID2D1Brush* defaultFillBrush, DrawTextOptions options);
[VtblIndex(29)]
void DrawGlyphRun(Vector2 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(Win32.Numerics.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);
}
}