Hi,
Continuing the work on
http://gui.gimp.org/index.php/Save_%2B_export_specification , here is my
API proposal for common export dialog logic to be shared by file format
plug-ins:
GtkWidget * gimp_export_dialog_new (const gchar *format_name,
const gchar *role,
const gchar *help_id);
This function creates a new dialog, and plug-ins then use
GtkWidget * gimp_export_dialog_get_container (GtkWidget *dialog);
to get a vbox that the file-format specific widgets with export options
are put it.
By getting rid of all dialogs that gimp_export_image() pops up, and by
porting plug-ins to this new API, we have a much nicer export workflow
already. You can try it out on the export-dialog-cleanup-tmp branch in
GIMP git for JPEG, PNG, TIFF and BMP:
http://git.gnome.org/cgit/gimp/log/?h=export-dialog-cleanup-tmp
One open question is how to deal with exporting specific layers to
files. With the removal of dialogs in gimp_export_image() one does not
have the possibility to ignore flattening/merging the image any longer,
so it's not possible to export a single layer to a PNG without creating
a separate image for that layer. But on the other hand, it doesn't seem
unreasonable to require a user to do that if he/she wants to export a
single layer. With some effort I guess we can add common logic to the
export dialog to deal with single-layer exports somehow.
Btw, the -tmp suffix to the git branch name is supposed to be
interpreted as that the branch is volatile and no work should be based
on it.
/ Martin
_______________________________________________
Gimp-developer mailing list
[email protected]
https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer