pub struct ID2D1RenderTargetVtbl {
    pub parent: ID2D1ResourceVtbl,
    pub CreateBitmap: unsafe extern "system" fn(This: *mut ID2D1RenderTarget, size: D2D1_SIZE_U, srcData: *const c_void, pitch: UINT32, bitmapProperties: *const D2D1_BITMAP_PROPERTIES, bitmap: *mut *mut ID2D1Bitmap) -> HRESULT,
    pub CreateBitmapFromWicBitmap: unsafe extern "system" fn(This: *mut ID2D1RenderTarget, wicBitmapSource: *mut IWICBitmapSource, bitmapProperties: *const D2D1_BITMAP_PROPERTIES, bitmap: *mut *mut ID2D1Bitmap) -> HRESULT,
    pub CreateSharedBitmap: unsafe extern "system" fn(This: *mut ID2D1RenderTarget, riid: REFIID, data: *const c_void, bitmapProperties: *const D2D1_BITMAP_PROPERTIES, bitmap: *mut *mut ID2D1Bitmap) -> HRESULT,
    pub CreateBitmapBrush: unsafe extern "system" fn(This: *mut ID2D1RenderTarget, bitmap: *mut ID2D1Bitmap, bitmapBrushProperties: *const D2D1_BITMAP_BRUSH_PROPERTIES, brushProperties: *const D2D1_BRUSH_PROPERTIES, bitmapBrush: *mut *mut ID2D1BitmapBrush) -> HRESULT,
    pub CreateSolidColorBrush: unsafe extern "system" fn(This: *mut ID2D1RenderTarget, color: *const D2D1_COLOR_F, brushProperties: *const D2D1_BRUSH_PROPERTIES, solidColorBrush: *mut *mut ID2D1SolidColorBrush) -> HRESULT,
    pub CreateGradientStopCollection: unsafe extern "system" fn(This: *mut ID2D1RenderTarget, gradientStops: *const D2D1_GRADIENT_STOP, gradientStopsCount: UINT32, colorInterpolationGamma: D2D1_GAMMA, extendMode: D2D1_EXTEND_MODE, gradientStopCollection: *mut *mut ID2D1GradientStopCollection) -> HRESULT,
    pub CreateLinearGradientBrush: unsafe extern "system" fn(This: *mut ID2D1RenderTarget, linearGradientBrushProperties: *const D2D1_LINEAR_GRADIENT_BRUSH_PROPERTIES, brushProperties: *const D2D1_BRUSH_PROPERTIES, gradientStopCollection: *mut ID2D1GradientStopCollection, linearGradientBrush: *mut *mut ID2D1LinearGradientBrush) -> HRESULT,
    pub CreateRadialGradientBrush: unsafe extern "system" fn(This: *mut ID2D1RenderTarget, radialGradientBrushProperties: *const D2D1_RADIAL_GRADIENT_BRUSH_PROPERTIES, brushProperties: *const D2D1_BRUSH_PROPERTIES, gradientStopCollection: *mut ID2D1GradientStopCollection, radialGradientBrush: *mut *mut ID2D1RadialGradientBrush) -> HRESULT,
    pub CreateCompatibleRenderTarget: unsafe extern "system" fn(This: *mut ID2D1RenderTarget, desiredSize: *const D2D1_SIZE_F, desiredPixelSize: *const D2D1_SIZE_U, desiredFormat: *const D2D1_PIXEL_FORMAT, options: D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS, bitmapRenderTarget: *mut *mut ID2D1BitmapRenderTarget) -> HRESULT,
    pub CreateLayer: unsafe extern "system" fn(This: *mut ID2D1RenderTarget, size: *const D2D1_SIZE_F, layer: *mut *mut ID2D1Layer) -> HRESULT,
    pub CreateMesh: unsafe extern "system" fn(This: *mut ID2D1RenderTarget, mesh: *mut *mut ID2D1Mesh) -> HRESULT,
    pub DrawLine: unsafe extern "system" fn(This: *mut ID2D1RenderTarget, point0: D2D1_POINT_2F, point1: D2D1_POINT_2F, brush: *mut ID2D1Brush, strokeWidth: FLOAT, strokeStype: *mut ID2D1StrokeStyle),
    pub DrawRectangle: unsafe extern "system" fn(This: *mut ID2D1RenderTarget, rect: *const D2D1_RECT_F, brush: *mut ID2D1Brush, strokeWidth: FLOAT, strokeStyle: *mut ID2D1StrokeStyle),
    pub FillRectangle: unsafe extern "system" fn(This: *mut ID2D1RenderTarget, rect: *const D2D1_RECT_F, brush: *mut ID2D1Brush),
    pub DrawRoundedRectangle: unsafe extern "system" fn(This: *mut ID2D1RenderTarget, roundedRect: *const D2D1_ROUNDED_RECT, brush: *mut ID2D1Brush, strokeWidth: FLOAT, strokeStyle: *mut ID2D1StrokeStyle),
    pub FillRoundedRectangle: unsafe extern "system" fn(This: *mut ID2D1RenderTarget, roundedRect: *const D2D1_ROUNDED_RECT, brush: *mut ID2D1Brush),
    pub DrawEllipse: unsafe extern "system" fn(This: *mut ID2D1RenderTarget, ellipse: *const D2D1_ELLIPSE, brush: *mut ID2D1Brush, strokeWidth: FLOAT, strokeStyle: *mut ID2D1StrokeStyle),
    pub FillEllipse: unsafe extern "system" fn(This: *mut ID2D1RenderTarget, ellipse: *const D2D1_ELLIPSE, brush: *mut ID2D1Brush),
    pub DrawGeometry: unsafe extern "system" fn(This: *mut ID2D1RenderTarget, geometry: *mut ID2D1Geometry, brush: *mut ID2D1Brush, strokeWidth: FLOAT, strokeStyle: *mut ID2D1StrokeStyle),
    pub FillGeometry: unsafe extern "system" fn(This: *mut ID2D1RenderTarget, geometry: *mut ID2D1Geometry, brush: *mut ID2D1Brush, opacityBrush: *mut ID2D1Brush),
    pub FillMesh: unsafe extern "system" fn(This: *mut ID2D1RenderTarget, mesh: *mut ID2D1Mesh, brush: *const ID2D1Brush),
    pub FillOpacityMask: unsafe extern "system" fn(This: *mut ID2D1RenderTarget, opacityMask: *mut ID2D1Bitmap, brush: *mut ID2D1Brush, content: D2D1_OPACITY_MASK_CONTENT, destinationRectangle: *const D2D1_RECT_F, sourceRectangle: *const D2D1_RECT_F),
    pub DrawBitmap: unsafe extern "system" fn(This: *mut ID2D1RenderTarget, bitmap: *mut ID2D1Bitmap, destinationRectangle: *const D2D1_RECT_F, opacity: FLOAT, interpolationMode: D2D1_BITMAP_INTERPOLATION_MODE, sourceRectangle: *const D2D1_RECT_F),
    pub DrawText: unsafe extern "system" fn(This: *mut ID2D1RenderTarget, string: *const WCHAR, stringLength: UINT32, textFormat: *mut IDWriteTextFormat, layoutRect: *const D2D1_RECT_F, defaultForegroundBrush: *mut ID2D1Brush, options: D2D1_DRAW_TEXT_OPTIONS, measuringMode: DWRITE_MEASURING_MODE),
    pub DrawTextLayout: unsafe extern "system" fn(This: *mut ID2D1RenderTarget, origin: D2D1_POINT_2F, textLayout: *mut IDWriteTextLayout, defaultForegroundBrush: *mut ID2D1Brush, options: D2D1_DRAW_TEXT_OPTIONS),
    pub DrawGlyphRun: unsafe extern "system" fn(This: *mut ID2D1RenderTarget, baselineOrigin: D2D1_POINT_2F, glyphRun: *const DWRITE_GLYPH_RUN, foregroundBrush: *mut ID2D1Brush, measuringMode: DWRITE_MEASURING_MODE),
    pub SetTransform: unsafe extern "system" fn(This: *mut ID2D1RenderTarget, transform: *const D2D1_MATRIX_3X2_F),
    pub GetTransform: unsafe extern "system" fn(This: *mut ID2D1RenderTarget, transform: *mut D2D1_MATRIX_3X2_F),
    pub SetAntialiasMode: unsafe extern "system" fn(This: *mut ID2D1RenderTarget, antialiasMode: D2D1_ANTIALIAS_MODE),
    pub GetAntialiasMode: unsafe extern "system" fn(This: *mut ID2D1RenderTarget) -> D2D1_ANTIALIAS_MODE,
    pub SetTextAntialiasMode: unsafe extern "system" fn(This: *mut ID2D1RenderTarget, textAntialiasMode: D2D1_TEXT_ANTIALIAS_MODE),
    pub GetTextAntialiasMode: unsafe extern "system" fn(This: *mut ID2D1RenderTarget) -> D2D1_TEXT_ANTIALIAS_MODE,
    pub SetTextRenderingParams: unsafe extern "system" fn(This: *mut ID2D1RenderTarget, textRenderingParams: *mut IDWriteRenderingParams),
    pub GetTextRenderingParams: unsafe extern "system" fn(This: *mut ID2D1RenderTarget, textRenderingParams: *mut *mut IDWriteRenderingParams),
    pub SetTags: unsafe extern "system" fn(This: *mut ID2D1RenderTarget, tag1: D2D1_TAG, tag2: D2D1_TAG),
    pub GetTags: unsafe extern "system" fn(This: *mut ID2D1RenderTarget, tag1: *mut D2D1_TAG, tag2: *mut D2D1_TAG),
    pub PushLayer: unsafe extern "system" fn(This: *mut ID2D1RenderTarget, layerParameters: *const D2D1_LAYER_PARAMETERS, layer: *mut ID2D1Layer),
    pub PopLayer: unsafe extern "system" fn(This: *mut ID2D1RenderTarget),
    pub Flush: unsafe extern "system" fn(This: *mut ID2D1RenderTarget, tag1: *mut D2D1_TAG, tag2: *mut D2D1_TAG) -> HRESULT,
    pub SaveDrawingState: unsafe extern "system" fn(This: *mut ID2D1RenderTarget, drawingStateBlock: *mut ID2D1DrawingStateBlock),
    pub RestoreDrawingState: unsafe extern "system" fn(This: *mut ID2D1RenderTarget, drawingStateBlock: *mut ID2D1DrawingStateBlock),
    pub PushAxisAlignedClip: unsafe extern "system" fn(This: *mut ID2D1RenderTarget, clipRect: *const D2D1_RECT_F, antialiasMode: D2D1_ANTIALIAS_MODE),
    pub PopAxisAlignedClip: unsafe extern "system" fn(This: *mut ID2D1RenderTarget),
    pub Clear: unsafe extern "system" fn(This: *mut ID2D1RenderTarget, clearColor: *const D2D1_COLOR_F),
    pub BeginDraw: unsafe extern "system" fn(This: *mut ID2D1RenderTarget),
    pub EndDraw: unsafe extern "system" fn(This: *mut ID2D1RenderTarget, tag1: *mut D2D1_TAG, tag2: *mut D2D1_TAG) -> HRESULT,
    pub GetPixelFormat: unsafe extern "system" fn(This: *mut ID2D1RenderTarget, ret: *mut D2D1_PIXEL_FORMAT) -> *mut D2D1_PIXEL_FORMAT,
    pub SetDpi: unsafe extern "system" fn(This: *mut ID2D1RenderTarget, dpiX: FLOAT, dpiY: FLOAT),
    pub GetDpi: unsafe extern "system" fn(This: *mut ID2D1RenderTarget, dpiX: *mut FLOAT, dpiY: *mut FLOAT),
    pub GetSize: unsafe extern "system" fn(This: *mut ID2D1RenderTarget, ret: *mut D2D1_SIZE_F) -> *mut D2D1_SIZE_F,
    pub GetPixelSize: unsafe extern "system" fn(This: *mut ID2D1RenderTarget, ret: *mut D2D1_SIZE_U) -> *mut D2D1_SIZE_U,
    pub GetMaximumBitmapSize: unsafe extern "system" fn(This: *mut ID2D1RenderTarget) -> UINT32,
    pub IsSupported: unsafe extern "system" fn(This: *mut ID2D1RenderTarget, renderTargetProperties: *const D2D1_RENDER_TARGET_PROPERTIES) -> BOOL,
}Fields
                             | parent |  | 
                             | CreateBitmap |  | 
                             | CreateBitmapFromWicBitmap |  | 
                             | CreateSharedBitmap |  | 
                             | CreateBitmapBrush |  | 
                             | CreateSolidColorBrush |  | 
                             | CreateGradientStopCollection |  | 
                             | CreateLinearGradientBrush |  | 
                             | CreateRadialGradientBrush |  | 
                             | CreateCompatibleRenderTarget |  | 
                             | CreateLayer |  | 
                             | CreateMesh |  | 
                             | DrawLine |  | 
                             | DrawRectangle |  | 
                             | FillRectangle |  | 
                             | DrawRoundedRectangle |  | 
                             | FillRoundedRectangle |  | 
                             | DrawEllipse |  | 
                             | FillEllipse |  | 
                             | DrawGeometry |  | 
                             | FillGeometry |  | 
                             | FillMesh |  | 
                             | FillOpacityMask |  | 
                             | DrawBitmap |  | 
                             | DrawText |  | 
                             | DrawTextLayout |  | 
                             | DrawGlyphRun |  | 
                             | SetTransform |  | 
                             | GetTransform |  | 
                             | SetAntialiasMode |  | 
                             | GetAntialiasMode |  | 
                             | SetTextAntialiasMode |  | 
                             | GetTextAntialiasMode |  | 
                             | SetTextRenderingParams |  | 
                             | GetTextRenderingParams |  | 
                             | SetTags |  | 
                             | GetTags |  | 
                             | PushLayer |  | 
                             | PopLayer |  | 
                             | Flush |  | 
                             | SaveDrawingState |  | 
                             | RestoreDrawingState |  | 
                             | PushAxisAlignedClip |  | 
                             | PopAxisAlignedClip |  | 
                             | Clear |  | 
                             | BeginDraw |  | 
                             | EndDraw |  | 
                             | GetPixelFormat |  | 
                             | SetDpi |  | 
                             | GetDpi |  | 
                             | GetSize |  | 
                             | GetPixelSize |  | 
                             | GetMaximumBitmapSize |  | 
                             | IsSupported |  |