public GdkPixbufDoneCallbackWrapper(Gnome.GdkPixbufDoneCallback managed) { this.managed = managed; if (managed != null) { NativeDelegate = new GdkPixbufDoneCallbackNative(NativeCallback); } }
public static Gnome.GdkPixbufAsyncHandle PixbufNewFromUriAsync(string uri, Gnome.GdkPixbufLoadCallback load_callback, Gnome.GdkPixbufDoneCallback done_callback) { IntPtr native_uri = GLib.Marshaller.StringToPtrGStrdup(uri); GnomeSharp.GdkPixbufLoadCallbackWrapper load_callback_wrapper = new GnomeSharp.GdkPixbufLoadCallbackWrapper(load_callback); GnomeSharp.GdkPixbufDoneCallbackWrapper done_callback_wrapper = new GnomeSharp.GdkPixbufDoneCallbackWrapper(done_callback); IntPtr raw_ret = gnome_gdk_pixbuf_new_from_uri_async(native_uri, load_callback_wrapper.NativeDelegate, done_callback_wrapper.NativeDelegate, IntPtr.Zero); Gnome.GdkPixbufAsyncHandle ret = raw_ret == IntPtr.Zero ? null : (Gnome.GdkPixbufAsyncHandle)GLib.Opaque.GetOpaque(raw_ret, typeof(Gnome.GdkPixbufAsyncHandle), false); GLib.Marshaller.Free(native_uri); return(ret); }