public D2D1LinearGradientBrush CreateLinearGradientBrush(D2D1LinearGradientBrushProperties linearGradientBrushProperties, D2D1BrushProperties brushProperties, D2D1GradientStopCollection gradientStopCollection) { if (gradientStopCollection == null) { throw new ArgumentNullException("gradientStopCollection"); } ID2D1LinearGradientBrush linearGradientBrush; GCHandle brushPropertiesHandle = GCHandle.Alloc(brushProperties, GCHandleType.Pinned); try { this.GetHandle<ID2D1RenderTarget>().CreateLinearGradientBrush(ref linearGradientBrushProperties, brushPropertiesHandle.AddrOfPinnedObject(), gradientStopCollection.GetHandle<ID2D1GradientStopCollection>(), out linearGradientBrush); } finally { brushPropertiesHandle.Free(); } return new D2D1LinearGradientBrush(linearGradientBrush); }
public D2D1LinearGradientBrush CreateLinearGradientBrush(D2D1LinearGradientBrushProperties linearGradientBrushProperties, D2D1GradientStopCollection gradientStopCollection) { if (gradientStopCollection == null) { throw new ArgumentNullException("gradientStopCollection"); } ID2D1LinearGradientBrush linearGradientBrush; this.GetHandle<ID2D1RenderTarget>().CreateLinearGradientBrush(ref linearGradientBrushProperties, IntPtr.Zero, gradientStopCollection.GetHandle<ID2D1GradientStopCollection>(), out linearGradientBrush); return new D2D1LinearGradientBrush(linearGradientBrush); }