public virtual int CreateSolidColorBrush(
            ref System.Numerics.Vector4 color,
            ref D2D1_BRUSH_PROPERTIES brushProperties,
            out ID2D1SolidColorBrush solidColorBrush
            )
        {
            var fp = GetFunctionPointer(8);

            if (m_CreateSolidColorBrushFunc == null)
            {
                m_CreateSolidColorBrushFunc = (CreateSolidColorBrushFunc)Marshal.GetDelegateForFunctionPointer(fp, typeof(CreateSolidColorBrushFunc));
            }
            solidColorBrush = new ID2D1SolidColorBrush();
            return(m_CreateSolidColorBrushFunc(m_ptr, ref color, ref brushProperties, out solidColorBrush.PtrForNew));
        }
        public virtual int CreateBitmapBrush(
            ID2D1Bitmap bitmap,
            ref D2D1_BITMAP_BRUSH_PROPERTIES1 bitmapBrushProperties,
            ref D2D1_BRUSH_PROPERTIES brushProperties,
            out ID2D1BitmapBrush1 bitmapBrush
            )
        {
            var fp = GetFunctionPointer(66);

            if (m_CreateBitmapBrushFunc == null)
            {
                m_CreateBitmapBrushFunc = (CreateBitmapBrushFunc)Marshal.GetDelegateForFunctionPointer(fp, typeof(CreateBitmapBrushFunc));
            }
            bitmapBrush = new ID2D1BitmapBrush1();
            return(m_CreateBitmapBrushFunc(m_ptr, bitmap != null ? bitmap.Ptr : IntPtr.Zero, ref bitmapBrushProperties, ref brushProperties, out bitmapBrush.PtrForNew));
        }
        public virtual int CreateImageBrush(
            ID2D1Image image,
            ref D2D1_IMAGE_BRUSH_PROPERTIES imageBrushProperties,
            ref D2D1_BRUSH_PROPERTIES brushProperties,
            out ID2D1ImageBrush imageBrush
            )
        {
            var fp = GetFunctionPointer(65);

            if (m_CreateImageBrushFunc == null)
            {
                m_CreateImageBrushFunc = (CreateImageBrushFunc)Marshal.GetDelegateForFunctionPointer(fp, typeof(CreateImageBrushFunc));
            }
            imageBrush = new ID2D1ImageBrush();
            return(m_CreateImageBrushFunc(m_ptr, image != null ? image.Ptr : IntPtr.Zero, ref imageBrushProperties, ref brushProperties, out imageBrush.PtrForNew));
        }
        public virtual int CreateRadialGradientBrush(
            ref D2D1_RADIAL_GRADIENT_BRUSH_PROPERTIES radialGradientBrushProperties,
            ref D2D1_BRUSH_PROPERTIES brushProperties,
            ID2D1GradientStopCollection gradientStopCollection,
            out ID2D1RadialGradientBrush radialGradientBrush
            )
        {
            var fp = GetFunctionPointer(11);

            if (m_CreateRadialGradientBrushFunc == null)
            {
                m_CreateRadialGradientBrushFunc = (CreateRadialGradientBrushFunc)Marshal.GetDelegateForFunctionPointer(fp, typeof(CreateRadialGradientBrushFunc));
            }
            radialGradientBrush = new ID2D1RadialGradientBrush();
            return(m_CreateRadialGradientBrushFunc(m_ptr, ref radialGradientBrushProperties, ref brushProperties, gradientStopCollection != null ? gradientStopCollection.Ptr : IntPtr.Zero, out radialGradientBrush.PtrForNew));
        }