CAMLprim value ml_rsvg_handle_set_size_callback(value vh, value cb) { RsvgHandle *h = RsvgHandle_val(vh); value *u_data = ml_global_root_new(cb); rsvg_handle_set_size_callback(h, ml_rsvg_size_callback, u_data, ml_global_root_destroy); return Val_unit; }
CAMLprim value ml_gtk_clipboard_request_text (value c, value f) { void *f_p = ml_global_root_new (f); gtk_clipboard_request_text (GtkClipboard_val(c), clipboard_text_received_func, f_p); return Val_unit; }
CAMLprim value ml_gtk_clipboard_request_contents (value c, value a, value f) { void *f_p = ml_global_root_new (f); gtk_clipboard_request_contents (GtkClipboard_val(c), GdkAtom_val(a), clipboard_received_func, f_p); return Val_unit; }
CAMLprim value ml_custom_undo_manager_new (value obj) { CAMLparam1(obj); CustomUndoManager* p = (CustomUndoManager*) g_object_new (TYPE_CUSTOM_UNDO_MANAGER, NULL); g_assert (p != NULL); p->caml_object = ml_global_root_new(obj); CAMLreturn (Val_GtkSourceUndoManager_new(p)); }
CAMLprim value ml_custom_completion_provider_new (value obj) { CAMLparam1(obj); CustomCompletionProvider* p = (CustomCompletionProvider*) g_object_new (TYPE_CUSTOM_COMPLETION_PROVIDER, NULL); g_assert (p != NULL); p->caml_object = ml_global_root_new(obj); CAMLreturn (Val_GtkSourceCompletionProvider_new(p)); }
CAMLprim value ml_gtk_about_dialog_set_email_hook (value hook) { gtk_about_dialog_set_email_hook (&ml_activate_link_func, ml_global_root_new (hook), ml_global_root_destroy); return Val_unit; }