void vectors_copy_cmd_callback (GtkAction *action, gpointer data) { GimpImage *image; GimpVectors *vectors; gchar *svg; return_if_no_vectors (image, vectors, data); svg = gimp_vectors_export_string (image, vectors); if (svg) { gimp_clipboard_set_svg (image->gimp, svg); g_free (svg); } }
static guchar * gimp_vectors_tree_view_drag_svg (GtkWidget *widget, gsize *svg_data_len, gpointer data) { GimpItemTreeView *view = GIMP_ITEM_TREE_VIEW (data); GimpImage *image = gimp_item_tree_view_get_image (view); GimpItem *item; gchar *svg_data = NULL; item = GIMP_ITEM_TREE_VIEW_GET_CLASS (view)->get_active_item (image); *svg_data_len = 0; if (item) { svg_data = gimp_vectors_export_string (image, GIMP_VECTORS (item)); if (svg_data) *svg_data_len = strlen (svg_data); } return (guchar *) svg_data; }