unsafe static void EvaluateCallback(IntPtr info, nfloat *input, nfloat *output) { GCHandle lgc = GCHandle.FromIntPtr(info); CGFunction container = (CGFunction)lgc.Target; container.evaluate(input, output); }
public static CGShading CreateAxial (CGColorSpace colorspace, CGPoint start, CGPoint end, CGFunction function, bool extendStart, bool extendEnd) { if (colorspace == null) throw new ArgumentNullException ("colorspace"); if (colorspace.Handle == IntPtr.Zero) throw new ObjectDisposedException ("colorspace"); if (function == null) throw new ArgumentNullException ("function"); if (function.Handle == IntPtr.Zero) throw new ObjectDisposedException ("function"); return new CGShading (CGShadingCreateAxial (colorspace.Handle, start, end, function.Handle, extendStart, extendEnd), true); }
public static CGShading CreateRadial(CGColorSpace colorspace, CGPoint start, nfloat startRadius, CGPoint end, nfloat endRadius, CGFunction function, bool extendStart, bool extendEnd) { if (colorspace == null) { throw new ArgumentNullException("colorspace"); } if (colorspace.Handle == IntPtr.Zero) { throw new ObjectDisposedException("colorspace"); } if (function == null) { throw new ArgumentNullException("function"); } if (function.Handle == IntPtr.Zero) { throw new ObjectDisposedException("function"); } return(new CGShading(CGShadingCreateRadial(colorspace.Handle, start, startRadius, end, endRadius, function.Handle, extendStart, extendEnd), true)); }