internal static extern void cairo_pattern_destroy(IntPtr pattern);
public void Destroy() { if (pattern != IntPtr.Zero) { NativeMethods.cairo_pattern_destroy(pattern); pattern = IntPtr.Zero; } lock (patterns){ patterns.Remove(this); } }