mirror of https://github.com/GNOME/gimp.git
plug-ins: Remove n_drawables parameter
Port all plug-ins to retrieve the layers directly from the image rather than having them passed in. This resolves some issues with introspection and sets the foundation for future API work.
This commit is contained in:
parent
bb3c28689a
commit
443947c6aa
|
@ -70,8 +70,6 @@ file_save (Gimp *gimp,
|
|||
gboolean mounted = TRUE;
|
||||
GError *my_error = NULL;
|
||||
GList *drawables_list;
|
||||
GimpDrawable **drawables = NULL;
|
||||
gint n_drawables;
|
||||
|
||||
g_return_val_if_fail (GIMP_IS_GIMP (gimp), GIMP_PDB_CALLING_ERROR);
|
||||
g_return_val_if_fail (GIMP_IS_IMAGE (image), GIMP_PDB_CALLING_ERROR);
|
||||
|
@ -95,19 +93,7 @@ file_save (Gimp *gimp,
|
|||
|
||||
drawables_list = gimp_image_get_selected_drawables (image);
|
||||
|
||||
if (drawables_list)
|
||||
{
|
||||
GList *iter;
|
||||
gint i;
|
||||
|
||||
n_drawables = g_list_length (drawables_list);
|
||||
drawables = g_new (GimpDrawable *, n_drawables);
|
||||
for (iter = drawables_list, i = 0; iter; iter = iter->next, i++)
|
||||
drawables[i] = iter->data;
|
||||
|
||||
g_list_free (drawables_list);
|
||||
}
|
||||
else
|
||||
if (! drawables_list)
|
||||
{
|
||||
g_set_error_literal (error, G_FILE_ERROR, G_FILE_ERROR_FAILED,
|
||||
_("There is no active layer to save"));
|
||||
|
@ -206,14 +192,11 @@ file_save (Gimp *gimp,
|
|||
gimp_object_get_name (file_proc),
|
||||
GIMP_TYPE_RUN_MODE, run_mode,
|
||||
GIMP_TYPE_IMAGE, image,
|
||||
G_TYPE_INT, n_drawables,
|
||||
GIMP_TYPE_OBJECT_ARRAY, drawables,
|
||||
G_TYPE_FILE, file,
|
||||
G_TYPE_NONE);
|
||||
status = g_value_get_enum (gimp_value_array_index (return_vals, 0));
|
||||
|
||||
gimp_value_array_unref (return_vals);
|
||||
g_clear_pointer (&drawables, g_free);
|
||||
|
||||
if (local_file)
|
||||
{
|
||||
|
|
|
@ -390,19 +390,17 @@ gimp_plug_in_set_file_proc_save_handler (GimpPlugIn *plug_in,
|
|||
|
||||
procedure = GIMP_PROCEDURE (proc);
|
||||
|
||||
if ((procedure->num_args < 5) ||
|
||||
if ((procedure->num_args < 3) ||
|
||||
! GIMP_IS_PARAM_SPEC_RUN_MODE (procedure->args[0]) ||
|
||||
! GIMP_IS_PARAM_SPEC_IMAGE (procedure->args[1]) ||
|
||||
! G_IS_PARAM_SPEC_INT (procedure->args[2]) ||
|
||||
! GIMP_IS_PARAM_SPEC_OBJECT_ARRAY (procedure->args[3]) ||
|
||||
! GIMP_IS_PARAM_SPEC_FILE (procedure->args[4]))
|
||||
! GIMP_IS_PARAM_SPEC_FILE (procedure->args[2]))
|
||||
{
|
||||
g_set_error (error, GIMP_PDB_ERROR, GIMP_PDB_ERROR_FAILED,
|
||||
"Plug-in \"%s\"\n(%s)\n"
|
||||
"attempted to register procedure \"%s\" "
|
||||
"as save handler which does not take the standard "
|
||||
"save procedure arguments:\n"
|
||||
"(GimpRunMode, GimpImage, int [array size], GimpDrawable Array, GFile)",
|
||||
"(GimpRunMode, GimpImage, GFile)",
|
||||
gimp_object_get_name (plug_in),
|
||||
gimp_file_get_utf8_name (plug_in->file),
|
||||
proc_name);
|
||||
|
|
|
@ -43,8 +43,6 @@ drawables = image.list_selected_drawables()
|
|||
# Needed otherwise it doesn't save the proper size because of bug #8855.
|
||||
drawables[0].resize_to_image_size()
|
||||
config.set_property("image", image)
|
||||
config.set_property("num-drawables", len(drawables))
|
||||
config.set_property("drawables", Gimp.ObjectArray.new(Gimp.Drawable, drawables, False))
|
||||
config.set_property("file", Gio.file_new_for_path(output_path))
|
||||
Gimp.Procedure.run(procedure, config)
|
||||
|
||||
|
|
|
@ -14,8 +14,6 @@ procedure = Gimp.get_pdb().lookup_procedure("gimp-xcf-save")
|
|||
config = procedure.create_config()
|
||||
drawables = image.list_selected_drawables()
|
||||
config.set_property("image", image)
|
||||
config.set_property("num-drawables", len(drawables))
|
||||
config.set_property("drawables", Gimp.ObjectArray.new(Gimp.Drawable, drawables, False))
|
||||
config.set_property("file", Gio.file_new_for_path(output_path))
|
||||
Gimp.Procedure.run(procedure, config)
|
||||
|
||||
|
|
|
@ -23,7 +23,5 @@ drawables = image.list_selected_drawables()
|
|||
# Needed otherwise it doesn't save the proper size because of bug #8855.
|
||||
drawables[0].resize_to_image_size()
|
||||
config.set_property("image", image)
|
||||
config.set_property("num-drawables", len(drawables))
|
||||
config.set_property("drawables", Gimp.ObjectArray.new(Gimp.Drawable, drawables, False))
|
||||
config.set_property("file", Gio.file_new_for_path(output_path))
|
||||
Gimp.Procedure.run(procedure, config)
|
||||
|
|
|
@ -555,8 +555,6 @@ export_action_perform (const ExportAction *action,
|
|||
* gimp_export_image:
|
||||
* @image: Pointer to the image.
|
||||
* @n_drawables: Size of @drawables.
|
||||
* @drawables: (array length=n_drawables): Array of pointers to drawables.
|
||||
* @format_name: The (short) name of the image_format (e.g. JPEG or GIF).
|
||||
* @capabilities: What can the image_format do?
|
||||
*
|
||||
* Takes an image and a drawable to be saved together with a
|
||||
|
@ -566,11 +564,10 @@ export_action_perform (const ExportAction *action,
|
|||
* to be exported and offers to do the necessary conversions.
|
||||
*
|
||||
* If the user chooses to export the image, a copy is created.
|
||||
* This copy is then converted, @image and @drawables are changed to
|
||||
* point to the new image and the procedure returns GIMP_EXPORT_EXPORT.
|
||||
* This copy is then converted, @image is changed to point to the
|
||||
* new image and the procedure returns GIMP_EXPORT_EXPORT.
|
||||
* The save_plugin has to take care of deleting the created image using
|
||||
* gimp_image_delete() and the drawables list with g_free() once the
|
||||
* image has been saved.
|
||||
* gimp_image_delete() once the image has been saved.
|
||||
*
|
||||
* If the user chooses to Ignore the export problem, @image and
|
||||
* @drawables are not altered, GIMP_EXPORT_IGNORE is returned and the
|
||||
|
@ -584,35 +581,20 @@ export_action_perform (const ExportAction *action,
|
|||
**/
|
||||
GimpExportReturn
|
||||
gimp_export_image (GimpImage **image,
|
||||
gint *n_drawables,
|
||||
GimpDrawable ***drawables,
|
||||
const gchar *format_name,
|
||||
GimpExportCapabilities capabilities)
|
||||
{
|
||||
GSList *actions = NULL;
|
||||
GimpImageBaseType type;
|
||||
GList *layers;
|
||||
gint n_layers;
|
||||
GList *iter;
|
||||
GType drawables_type = G_TYPE_NONE;
|
||||
gboolean added_flatten = FALSE;
|
||||
gboolean has_layer_masks = FALSE;
|
||||
gboolean background_has_alpha = TRUE;
|
||||
GimpExportReturn retval = GIMP_EXPORT_IGNORE;
|
||||
gint i;
|
||||
|
||||
g_return_val_if_fail (gimp_image_is_valid (*image) && drawables &&
|
||||
n_drawables && *n_drawables > 0, FALSE);
|
||||
|
||||
for (i = 0; i < *n_drawables; i++)
|
||||
{
|
||||
g_return_val_if_fail (gimp_item_is_valid (GIMP_ITEM ((*drawables)[i])), FALSE);
|
||||
|
||||
if (drawables_type == G_TYPE_NONE ||
|
||||
g_type_is_a (drawables_type, G_OBJECT_TYPE ((*drawables)[i])))
|
||||
drawables_type = G_OBJECT_TYPE ((*drawables)[i]);
|
||||
else
|
||||
g_return_val_if_fail (g_type_is_a (G_OBJECT_TYPE ((*drawables)[i]), drawables_type), FALSE);
|
||||
}
|
||||
g_return_val_if_fail (gimp_image_is_valid (*image), FALSE);
|
||||
|
||||
/* do some sanity checks */
|
||||
if (capabilities & GIMP_EXPORT_NEEDS_ALPHA)
|
||||
|
@ -629,7 +611,14 @@ gimp_export_image (GimpImage **image,
|
|||
actions = g_slist_prepend (actions, &export_action_merge_layer_effects);
|
||||
|
||||
/* check alpha and layer masks */
|
||||
layers = gimp_image_list_layers (*image);
|
||||
layers = gimp_image_list_layers (*image);
|
||||
n_layers = g_list_length (layers);
|
||||
|
||||
if (n_layers < 1)
|
||||
{
|
||||
g_list_free (layers);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
for (iter = layers; iter; iter = iter->next)
|
||||
{
|
||||
|
@ -724,10 +713,9 @@ gimp_export_image (GimpImage **image,
|
|||
/* check if layer size != canvas size, opacity != 100%, or offsets != 0 */
|
||||
if (g_list_length (layers) == 1 &&
|
||||
! children &&
|
||||
g_type_is_a (drawables_type, GIMP_TYPE_LAYER) &&
|
||||
! (capabilities & GIMP_EXPORT_CAN_HANDLE_LAYERS))
|
||||
{
|
||||
GimpDrawable *drawable = (*drawables)[0];
|
||||
GimpDrawable *drawable = layers->data;
|
||||
gint offset_x;
|
||||
gint offset_y;
|
||||
|
||||
|
@ -884,7 +872,6 @@ gimp_export_image (GimpImage **image,
|
|||
GSList *list;
|
||||
GList *drawables_in;
|
||||
GList *drawables_out;
|
||||
gint i;
|
||||
|
||||
*image = gimp_image_duplicate (*image);
|
||||
drawables_in = gimp_image_list_selected_layers (*image);
|
||||
|
@ -903,11 +890,6 @@ gimp_export_image (GimpImage **image,
|
|||
}
|
||||
}
|
||||
|
||||
*n_drawables = g_list_length (drawables_out);
|
||||
*drawables = g_new (GimpDrawable *, *n_drawables);
|
||||
for (iter = drawables_out, i = 0; iter; iter = iter->next, i++)
|
||||
(*drawables)[i] = iter->data;
|
||||
|
||||
g_list_free (drawables_out);
|
||||
}
|
||||
|
||||
|
|
|
@ -83,8 +83,6 @@ GtkWidget * gimp_export_dialog_new (const gchar *
|
|||
GtkWidget * gimp_export_dialog_get_content_area (GtkWidget *dialog);
|
||||
|
||||
GimpExportReturn gimp_export_image (GimpImage **image,
|
||||
gint *n_drawables,
|
||||
GimpDrawable ***drawables,
|
||||
const gchar *format_name,
|
||||
GimpExportCapabilities capabilities);
|
||||
|
||||
|
|
|
@ -220,18 +220,6 @@ gimp_export_procedure_constructed (GObject *object)
|
|||
FALSE,
|
||||
G_PARAM_READWRITE);
|
||||
|
||||
GIMP_PROC_ARG_INT (procedure, "num-drawables",
|
||||
"Number of drawables",
|
||||
"Number of drawables to be exported",
|
||||
0, G_MAXINT, 1,
|
||||
G_PARAM_READWRITE);
|
||||
|
||||
GIMP_PROC_ARG_OBJECT_ARRAY (procedure, "drawables",
|
||||
"Drawables",
|
||||
"The drawables to export",
|
||||
GIMP_TYPE_DRAWABLE,
|
||||
G_PARAM_READWRITE | GIMP_PARAM_NO_VALIDATE);
|
||||
|
||||
GIMP_PROC_ARG_FILE (procedure, "file",
|
||||
"File",
|
||||
"The file to export to",
|
||||
|
@ -347,7 +335,7 @@ gimp_export_procedure_install (GimpProcedure *procedure)
|
|||
priority);
|
||||
}
|
||||
|
||||
#define ARG_OFFSET 5
|
||||
#define ARG_OFFSET 3
|
||||
|
||||
static GimpValueArray *
|
||||
gimp_export_procedure_run (GimpProcedure *procedure,
|
||||
|
@ -360,18 +348,14 @@ gimp_export_procedure_run (GimpProcedure *procedure,
|
|||
GimpProcedureConfig *config;
|
||||
GimpRunMode run_mode;
|
||||
GimpImage *image;
|
||||
GimpDrawable **drawables;
|
||||
GFile *file;
|
||||
gint n_drawables;
|
||||
GimpMetadata *metadata;
|
||||
gchar *mimetype = NULL;
|
||||
GimpPDBStatusType status = GIMP_PDB_EXECUTION_ERROR;
|
||||
|
||||
run_mode = GIMP_VALUES_GET_ENUM (args, 0);
|
||||
image = GIMP_VALUES_GET_IMAGE (args, 1);
|
||||
n_drawables = GIMP_VALUES_GET_INT (args, 2);
|
||||
drawables = GIMP_VALUES_GET_OBJECT_ARRAY (args, 3);
|
||||
file = GIMP_VALUES_GET_FILE (args, 4);
|
||||
run_mode = GIMP_VALUES_GET_ENUM (args, 0);
|
||||
image = GIMP_VALUES_GET_IMAGE (args, 1);
|
||||
file = GIMP_VALUES_GET_FILE (args, 2);
|
||||
|
||||
remaining = gimp_value_array_new (gimp_value_array_length (args) - ARG_OFFSET);
|
||||
|
||||
|
@ -415,10 +399,9 @@ gimp_export_procedure_run (GimpProcedure *procedure,
|
|||
metadata = _gimp_procedure_config_begin_export (config, image, run_mode, remaining, mimetype);
|
||||
g_free (mimetype);
|
||||
|
||||
return_values = export_proc->priv->run_func (procedure, run_mode,
|
||||
image, n_drawables, drawables,
|
||||
file, metadata, config,
|
||||
export_proc->priv->run_data);
|
||||
return_values = export_proc->priv->run_func (procedure, run_mode, image,
|
||||
file, metadata, config,
|
||||
export_proc->priv->run_data);
|
||||
|
||||
if (return_values != NULL &&
|
||||
gimp_value_array_length (return_values) > 0 &&
|
||||
|
|
|
@ -34,8 +34,6 @@ G_BEGIN_DECLS
|
|||
* @procedure: the #GimpProcedure that runs.
|
||||
* @run_mode: the #GimpRunMode.
|
||||
* @image: the image to export.
|
||||
* @n_drawables: the number of drawables to export.
|
||||
* @drawables: (array length=n_drawables): the drawables to export.
|
||||
* @file: the #GFile to export to.
|
||||
* @metadata: metadata object prepared for the mimetype passed in
|
||||
* gimp_file_procedure_set_mime_types() if export_metadata
|
||||
|
@ -58,8 +56,6 @@ G_BEGIN_DECLS
|
|||
typedef GimpValueArray * (* GimpRunExportFunc) (GimpProcedure *procedure,
|
||||
GimpRunMode run_mode,
|
||||
GimpImage *image,
|
||||
gint n_drawables,
|
||||
GimpDrawable **drawables,
|
||||
GFile *file,
|
||||
GimpMetadata *metadata,
|
||||
GimpProcedureConfig *config,
|
||||
|
|
|
@ -67,8 +67,6 @@ static GimpProcedure * ascii_create_procedure (GimpPlugIn *plug_in,
|
|||
static GimpValueArray * ascii_export (GimpProcedure *procedure,
|
||||
GimpRunMode run_mode,
|
||||
GimpImage *image,
|
||||
gint n_drawables,
|
||||
GimpDrawable **drawables,
|
||||
GFile *file,
|
||||
GimpMetadata *metadata,
|
||||
GimpProcedureConfig *config,
|
||||
|
@ -166,8 +164,6 @@ static GimpValueArray *
|
|||
ascii_export (GimpProcedure *procedure,
|
||||
GimpRunMode run_mode,
|
||||
GimpImage *image,
|
||||
gint n_drawables,
|
||||
GimpDrawable **drawables,
|
||||
GFile *file,
|
||||
GimpMetadata *metadata,
|
||||
GimpProcedureConfig *config,
|
||||
|
@ -175,6 +171,7 @@ ascii_export (GimpProcedure *procedure,
|
|||
{
|
||||
GimpPDBStatusType status = GIMP_PDB_SUCCESS;
|
||||
GimpExportReturn export = GIMP_EXPORT_IGNORE;
|
||||
GList *drawables;
|
||||
GError *error = NULL;
|
||||
|
||||
gegl_init (NULL, NULL);
|
||||
|
@ -185,7 +182,7 @@ ascii_export (GimpProcedure *procedure,
|
|||
case GIMP_RUN_WITH_LAST_VALS:
|
||||
gimp_ui_init (PLUG_IN_BINARY);
|
||||
|
||||
export = gimp_export_image (&image, &n_drawables, &drawables, "AA",
|
||||
export = gimp_export_image (&image, "AA",
|
||||
GIMP_EXPORT_CAN_HANDLE_RGB |
|
||||
GIMP_EXPORT_CAN_HANDLE_GRAY |
|
||||
GIMP_EXPORT_CAN_HANDLE_INDEXED |
|
||||
|
@ -195,16 +192,7 @@ ascii_export (GimpProcedure *procedure,
|
|||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
if (n_drawables != 1)
|
||||
{
|
||||
g_set_error (&error, G_FILE_ERROR, 0,
|
||||
_("ASCII art does not support multiple layers."));
|
||||
|
||||
return gimp_procedure_new_return_values (procedure,
|
||||
GIMP_PDB_CALLING_ERROR,
|
||||
error);
|
||||
}
|
||||
drawables = gimp_image_list_layers (image);
|
||||
|
||||
if (run_mode == GIMP_RUN_INTERACTIVE)
|
||||
{
|
||||
|
@ -214,18 +202,16 @@ ascii_export (GimpProcedure *procedure,
|
|||
|
||||
if (status == GIMP_PDB_SUCCESS)
|
||||
{
|
||||
if (! export_aa (file, drawables[0], G_OBJECT (config), &error))
|
||||
if (! export_aa (file, drawables->data, G_OBJECT (config), &error))
|
||||
{
|
||||
status = GIMP_PDB_EXECUTION_ERROR;
|
||||
}
|
||||
}
|
||||
|
||||
if (export == GIMP_EXPORT_EXPORT)
|
||||
{
|
||||
gimp_image_delete (image);
|
||||
g_free (drawables);
|
||||
}
|
||||
gimp_image_delete (image);
|
||||
|
||||
g_list_free (drawables);
|
||||
return gimp_procedure_new_return_values (procedure, status, error);
|
||||
}
|
||||
|
||||
|
|
|
@ -70,8 +70,6 @@ static GimpValueArray * cel_load (GimpProcedure *procedure,
|
|||
static GimpValueArray * cel_export (GimpProcedure *procedure,
|
||||
GimpRunMode run_mode,
|
||||
GimpImage *image,
|
||||
gint n_drawables,
|
||||
GimpDrawable **drawables,
|
||||
GFile *file,
|
||||
GimpMetadata *metadata,
|
||||
GimpProcedureConfig *config,
|
||||
|
@ -277,8 +275,6 @@ static GimpValueArray *
|
|||
cel_export (GimpProcedure *procedure,
|
||||
GimpRunMode run_mode,
|
||||
GimpImage *image,
|
||||
gint n_drawables,
|
||||
GimpDrawable **drawables,
|
||||
GFile *file,
|
||||
GimpMetadata *metadata,
|
||||
GimpProcedureConfig *config,
|
||||
|
@ -286,7 +282,8 @@ cel_export (GimpProcedure *procedure,
|
|||
{
|
||||
GimpPDBStatusType status = GIMP_PDB_SUCCESS;
|
||||
GimpExportReturn export = GIMP_EXPORT_IGNORE;
|
||||
GError *error = NULL;
|
||||
GList *drawables;
|
||||
GError *error = NULL;
|
||||
|
||||
gegl_init (NULL, NULL);
|
||||
|
||||
|
@ -296,7 +293,7 @@ cel_export (GimpProcedure *procedure,
|
|||
case GIMP_RUN_WITH_LAST_VALS:
|
||||
gimp_ui_init (PLUG_IN_BINARY);
|
||||
|
||||
export = gimp_export_image (&image, &n_drawables, &drawables, "CEL",
|
||||
export = gimp_export_image (&image, "CEL",
|
||||
GIMP_EXPORT_CAN_HANDLE_RGB |
|
||||
GIMP_EXPORT_CAN_HANDLE_ALPHA |
|
||||
GIMP_EXPORT_CAN_HANDLE_INDEXED);
|
||||
|
@ -305,26 +302,15 @@ cel_export (GimpProcedure *procedure,
|
|||
default:
|
||||
break;
|
||||
}
|
||||
drawables = gimp_image_list_layers (image);
|
||||
|
||||
if (n_drawables != 1)
|
||||
{
|
||||
g_set_error (&error, G_FILE_ERROR, 0,
|
||||
_("CEL format does not support multiple layers."));
|
||||
|
||||
return gimp_procedure_new_return_values (procedure,
|
||||
GIMP_PDB_CALLING_ERROR,
|
||||
error);
|
||||
}
|
||||
|
||||
if (! export_image (file, image, drawables[0], &error))
|
||||
if (! export_image (file, image, drawables->data, &error))
|
||||
status = GIMP_PDB_EXECUTION_ERROR;
|
||||
|
||||
if (export == GIMP_EXPORT_EXPORT)
|
||||
{
|
||||
gimp_image_delete (image);
|
||||
g_free (drawables);
|
||||
}
|
||||
gimp_image_delete (image);
|
||||
|
||||
g_list_free (drawables);
|
||||
return gimp_procedure_new_return_values (procedure, status, error);
|
||||
}
|
||||
|
||||
|
|
|
@ -156,8 +156,6 @@ static GimpProcedure * compressor_create_procedure (GimpPlugIn *plug
|
|||
static GimpValueArray * compressor_export (GimpProcedure *procedure,
|
||||
GimpRunMode run_mode,
|
||||
GimpImage *image,
|
||||
gint n_drawables,
|
||||
GimpDrawable **drawables,
|
||||
GFile *file,
|
||||
GimpMetadata *metadata,
|
||||
GimpProcedureConfig *config,
|
||||
|
@ -179,7 +177,7 @@ static GimpPDBStatusType export_image (const CompressorEntry *comp
|
|||
GFile *file,
|
||||
GimpImage *image,
|
||||
gint n_drawables,
|
||||
GimpDrawable **drawables,
|
||||
GList *drawables,
|
||||
gint32 run_mode,
|
||||
GError **error);
|
||||
|
||||
|
@ -402,16 +400,16 @@ static GimpValueArray *
|
|||
compressor_export (GimpProcedure *procedure,
|
||||
GimpRunMode run_mode,
|
||||
GimpImage *image,
|
||||
gint n_drawables,
|
||||
GimpDrawable **drawables,
|
||||
GFile *file,
|
||||
GimpMetadata *metadata,
|
||||
GimpProcedureConfig *config,
|
||||
gpointer run_data)
|
||||
{
|
||||
const CompressorEntry *compressor = run_data;
|
||||
const CompressorEntry *compressor = run_data;
|
||||
GimpPDBStatusType status;
|
||||
GError *error = NULL;
|
||||
GList *drawables = gimp_image_list_layers (image);
|
||||
gint n_drawables = g_list_length (drawables);
|
||||
GError *error = NULL;
|
||||
|
||||
/* We handle PDB errors by forwarding them to the caller in
|
||||
* our return values.
|
||||
|
@ -422,6 +420,7 @@ compressor_export (GimpProcedure *procedure,
|
|||
status = export_image (compressor, file, image, n_drawables, drawables,
|
||||
run_mode, &error);
|
||||
|
||||
g_list_free (drawables);
|
||||
return gimp_procedure_new_return_values (procedure, status, error);
|
||||
}
|
||||
|
||||
|
@ -430,7 +429,7 @@ export_image (const CompressorEntry *compressor,
|
|||
GFile *file,
|
||||
GimpImage *image,
|
||||
gint n_drawables,
|
||||
GimpDrawable **drawables,
|
||||
GList *drawables,
|
||||
gint32 run_mode,
|
||||
GError **error)
|
||||
{
|
||||
|
|
|
@ -62,8 +62,6 @@ static GimpProcedure * csource_create_procedure (GimpPlugIn *plug_in,
|
|||
static GimpValueArray * csource_export (GimpProcedure *procedure,
|
||||
GimpRunMode run_mode,
|
||||
GimpImage *image,
|
||||
gint n_drawables,
|
||||
GimpDrawable **drawables,
|
||||
GFile *file,
|
||||
GimpMetadata *metadata,
|
||||
GimpProcedureConfig *config,
|
||||
|
@ -206,8 +204,6 @@ static GimpValueArray *
|
|||
csource_export (GimpProcedure *procedure,
|
||||
GimpRunMode run_mode,
|
||||
GimpImage *image,
|
||||
gint n_drawables,
|
||||
GimpDrawable **drawables,
|
||||
GFile *file,
|
||||
GimpMetadata *metadata,
|
||||
GimpProcedureConfig *config,
|
||||
|
@ -215,6 +211,7 @@ csource_export (GimpProcedure *procedure,
|
|||
{
|
||||
GimpPDBStatusType status = GIMP_PDB_SUCCESS;
|
||||
GimpExportReturn export = GIMP_EXPORT_IGNORE;
|
||||
GList *drawables;
|
||||
gchar *prefixed_name;
|
||||
gchar *comment;
|
||||
GError *error = NULL;
|
||||
|
@ -228,22 +225,13 @@ csource_export (GimpProcedure *procedure,
|
|||
|
||||
gimp_ui_init (PLUG_IN_BINARY);
|
||||
|
||||
export = gimp_export_image (&image, &n_drawables, &drawables, "C Source",
|
||||
export = gimp_export_image (&image, "C Source",
|
||||
GIMP_EXPORT_CAN_HANDLE_RGB |
|
||||
GIMP_EXPORT_CAN_HANDLE_ALPHA);
|
||||
|
||||
if (n_drawables != 1)
|
||||
{
|
||||
g_set_error (&error, G_FILE_ERROR, 0,
|
||||
_("C source does not support multiple layers."));
|
||||
|
||||
return gimp_procedure_new_return_values (procedure,
|
||||
GIMP_PDB_CALLING_ERROR,
|
||||
error);
|
||||
}
|
||||
drawables = gimp_image_list_layers (image);
|
||||
|
||||
g_object_set (config,
|
||||
"save-alpha", gimp_drawable_has_alpha (drawables[0]),
|
||||
"save-alpha", gimp_drawable_has_alpha (drawables->data),
|
||||
NULL);
|
||||
|
||||
if (! save_dialog (image, procedure, G_OBJECT (config)))
|
||||
|
@ -269,7 +257,7 @@ csource_export (GimpProcedure *procedure,
|
|||
|
||||
if (status == GIMP_PDB_SUCCESS)
|
||||
{
|
||||
if (! export_image (file, image, drawables[0], G_OBJECT (config),
|
||||
if (! export_image (file, image, drawables->data, G_OBJECT (config),
|
||||
&error))
|
||||
{
|
||||
status = GIMP_PDB_EXECUTION_ERROR;
|
||||
|
@ -277,11 +265,9 @@ csource_export (GimpProcedure *procedure,
|
|||
}
|
||||
|
||||
if (export == GIMP_EXPORT_EXPORT)
|
||||
{
|
||||
gimp_image_delete (image);
|
||||
g_free (drawables);
|
||||
}
|
||||
gimp_image_delete (image);
|
||||
|
||||
g_list_free (drawables);
|
||||
return gimp_procedure_new_return_values (procedure, status, error);
|
||||
}
|
||||
|
||||
|
|
|
@ -95,8 +95,6 @@ static GimpValueArray * dicom_load (GimpProcedure *procedure
|
|||
static GimpValueArray * dicom_export (GimpProcedure *procedure,
|
||||
GimpRunMode run_mode,
|
||||
GimpImage *image,
|
||||
gint n_drawables,
|
||||
GimpDrawable **drawables,
|
||||
GFile *file,
|
||||
GimpMetadata *metadata,
|
||||
GimpProcedureConfig *config,
|
||||
|
@ -269,8 +267,6 @@ static GimpValueArray *
|
|||
dicom_export (GimpProcedure *procedure,
|
||||
GimpRunMode run_mode,
|
||||
GimpImage *image,
|
||||
gint n_drawables,
|
||||
GimpDrawable **drawables,
|
||||
GFile *file,
|
||||
GimpMetadata *metadata,
|
||||
GimpProcedureConfig *config,
|
||||
|
@ -278,7 +274,8 @@ dicom_export (GimpProcedure *procedure,
|
|||
{
|
||||
GimpPDBStatusType status = GIMP_PDB_SUCCESS;
|
||||
GimpExportReturn export = GIMP_EXPORT_IGNORE;
|
||||
GError *error = NULL;
|
||||
GList *drawables;
|
||||
GError *error = NULL;
|
||||
|
||||
gegl_init (NULL, NULL);
|
||||
|
||||
|
@ -287,7 +284,7 @@ dicom_export (GimpProcedure *procedure,
|
|||
case GIMP_RUN_INTERACTIVE:
|
||||
case GIMP_RUN_WITH_LAST_VALS:
|
||||
gimp_ui_init (PLUG_IN_BINARY);
|
||||
export = gimp_export_image (&image, &n_drawables, &drawables, "DICOM",
|
||||
export = gimp_export_image (&image, "DICOM",
|
||||
GIMP_EXPORT_CAN_HANDLE_RGB |
|
||||
GIMP_EXPORT_CAN_HANDLE_GRAY);
|
||||
break;
|
||||
|
@ -295,20 +292,11 @@ dicom_export (GimpProcedure *procedure,
|
|||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
if (n_drawables != 1)
|
||||
{
|
||||
g_set_error (&error, G_FILE_ERROR, 0,
|
||||
_("Dicom format does not support multiple layers."));
|
||||
|
||||
return gimp_procedure_new_return_values (procedure,
|
||||
GIMP_PDB_CALLING_ERROR,
|
||||
error);
|
||||
}
|
||||
drawables = gimp_image_list_layers (image);
|
||||
|
||||
if (status == GIMP_PDB_SUCCESS)
|
||||
{
|
||||
if (! export_image (file, image, drawables[0],
|
||||
if (! export_image (file, image, drawables->data,
|
||||
&error))
|
||||
{
|
||||
status = GIMP_PDB_EXECUTION_ERROR;
|
||||
|
@ -316,11 +304,9 @@ dicom_export (GimpProcedure *procedure,
|
|||
}
|
||||
|
||||
if (export == GIMP_EXPORT_EXPORT)
|
||||
{
|
||||
gimp_image_delete (image);
|
||||
g_free (drawables);
|
||||
}
|
||||
gimp_image_delete (image);
|
||||
|
||||
g_list_free (drawables);
|
||||
return gimp_procedure_new_return_values (procedure, status, error);
|
||||
}
|
||||
|
||||
|
|
|
@ -73,8 +73,6 @@ static GimpValueArray * farbfeld_load (GimpProcedure *proced
|
|||
static GimpValueArray * farbfeld_export (GimpProcedure *procedure,
|
||||
GimpRunMode run_mode,
|
||||
GimpImage *image,
|
||||
gint n_drawables,
|
||||
GimpDrawable **drawables,
|
||||
GFile *file,
|
||||
GimpMetadata *metadata,
|
||||
GimpProcedureConfig *config,
|
||||
|
@ -216,8 +214,6 @@ static GimpValueArray *
|
|||
farbfeld_export (GimpProcedure *procedure,
|
||||
GimpRunMode run_mode,
|
||||
GimpImage *image,
|
||||
gint n_drawables,
|
||||
GimpDrawable **drawables,
|
||||
GFile *file,
|
||||
GimpMetadata *metadata,
|
||||
GimpProcedureConfig *config,
|
||||
|
@ -225,6 +221,7 @@ farbfeld_export (GimpProcedure *procedure,
|
|||
{
|
||||
GimpPDBStatusType status = GIMP_PDB_SUCCESS;
|
||||
GimpExportReturn export = GIMP_EXPORT_IGNORE;
|
||||
GList *drawables;
|
||||
GError *error = NULL;
|
||||
|
||||
gegl_init (NULL, NULL);
|
||||
|
@ -235,7 +232,7 @@ farbfeld_export (GimpProcedure *procedure,
|
|||
case GIMP_RUN_WITH_LAST_VALS:
|
||||
gimp_ui_init (PLUG_IN_BINARY);
|
||||
|
||||
export = gimp_export_image (&image, &n_drawables, &drawables, "farbfeld",
|
||||
export = gimp_export_image (&image, "farbfeld",
|
||||
GIMP_EXPORT_CAN_HANDLE_RGB |
|
||||
GIMP_EXPORT_CAN_HANDLE_GRAY |
|
||||
GIMP_EXPORT_CAN_HANDLE_INDEXED |
|
||||
|
@ -245,26 +242,15 @@ farbfeld_export (GimpProcedure *procedure,
|
|||
default:
|
||||
break;
|
||||
}
|
||||
drawables = gimp_image_list_layers (image);
|
||||
|
||||
if (n_drawables != 1)
|
||||
{
|
||||
g_set_error (&error, G_FILE_ERROR, 0,
|
||||
_("Farbfeld format does not support multiple layers."));
|
||||
|
||||
return gimp_procedure_new_return_values (procedure,
|
||||
GIMP_PDB_CALLING_ERROR,
|
||||
error);
|
||||
}
|
||||
|
||||
if (! export_image (file, image, drawables[0], &error))
|
||||
if (! export_image (file, image, drawables->data, &error))
|
||||
status = GIMP_PDB_EXECUTION_ERROR;
|
||||
|
||||
if (export == GIMP_EXPORT_EXPORT)
|
||||
{
|
||||
gimp_image_delete (image);
|
||||
g_free (drawables);
|
||||
}
|
||||
gimp_image_delete (image);
|
||||
|
||||
g_list_free (drawables);
|
||||
return gimp_procedure_new_return_values (procedure, status, error);
|
||||
}
|
||||
|
||||
|
|
|
@ -70,8 +70,6 @@ static GimpProcedure * gbr_create_procedure (GimpPlugIn *plug_in,
|
|||
static GimpValueArray * gbr_export (GimpProcedure *procedure,
|
||||
GimpRunMode run_mode,
|
||||
GimpImage *image,
|
||||
gint n_drawables,
|
||||
GimpDrawable **drawables,
|
||||
GFile *file,
|
||||
GimpMetadata *metadata,
|
||||
GimpProcedureConfig *config,
|
||||
|
@ -168,8 +166,6 @@ static GimpValueArray *
|
|||
gbr_export (GimpProcedure *procedure,
|
||||
GimpRunMode run_mode,
|
||||
GimpImage *image,
|
||||
gint n_drawables,
|
||||
GimpDrawable **drawables,
|
||||
GFile *file,
|
||||
GimpMetadata *metadata,
|
||||
GimpProcedureConfig *config,
|
||||
|
@ -177,6 +173,8 @@ gbr_export (GimpProcedure *procedure,
|
|||
{
|
||||
GimpPDBStatusType status = GIMP_PDB_SUCCESS;
|
||||
GimpExportReturn export = GIMP_EXPORT_IGNORE;
|
||||
GList *drawables;
|
||||
gint n_drawables;
|
||||
gchar *description;
|
||||
GError *error = NULL;
|
||||
|
||||
|
@ -207,7 +205,7 @@ gbr_export (GimpProcedure *procedure,
|
|||
case GIMP_RUN_WITH_LAST_VALS:
|
||||
gimp_ui_init (PLUG_IN_BINARY);
|
||||
|
||||
export = gimp_export_image (&image, &n_drawables, &drawables, "GBR",
|
||||
export = gimp_export_image (&image, "GBR",
|
||||
GIMP_EXPORT_CAN_HANDLE_GRAY |
|
||||
GIMP_EXPORT_CAN_HANDLE_RGB |
|
||||
GIMP_EXPORT_CAN_HANDLE_INDEXED |
|
||||
|
@ -217,6 +215,8 @@ gbr_export (GimpProcedure *procedure,
|
|||
default:
|
||||
break;
|
||||
}
|
||||
drawables = gimp_image_list_layers (image);
|
||||
n_drawables = g_list_length (drawables);
|
||||
|
||||
if (run_mode == GIMP_RUN_INTERACTIVE)
|
||||
{
|
||||
|
@ -266,11 +266,9 @@ gbr_export (GimpProcedure *procedure,
|
|||
}
|
||||
|
||||
if (export == GIMP_EXPORT_EXPORT)
|
||||
{
|
||||
gimp_image_delete (image);
|
||||
g_free (drawables);
|
||||
}
|
||||
gimp_image_delete (image);
|
||||
|
||||
g_list_free (drawables);
|
||||
return gimp_procedure_new_return_values (procedure, status, error);
|
||||
}
|
||||
|
||||
|
|
|
@ -88,8 +88,6 @@ static GimpValueArray * goat_load (GimpProcedure *procedure,
|
|||
static GimpValueArray * goat_export (GimpProcedure *procedure,
|
||||
GimpRunMode run_mode,
|
||||
GimpImage *image,
|
||||
gint n_drawables,
|
||||
GimpDrawable **drawables,
|
||||
GFile *file,
|
||||
GimpMetadata *metadata,
|
||||
GimpProcedureConfig *config,
|
||||
|
@ -275,8 +273,6 @@ static GimpValueArray *
|
|||
goat_export (GimpProcedure *procedure,
|
||||
GimpRunMode run_mode,
|
||||
GimpImage *image,
|
||||
gint n_drawables,
|
||||
GimpDrawable **drawables,
|
||||
GFile *file,
|
||||
GimpMetadata *metadata,
|
||||
GimpProcedureConfig *config,
|
||||
|
@ -285,7 +281,8 @@ goat_export (GimpProcedure *procedure,
|
|||
const FileFormat *format = run_data;
|
||||
GimpPDBStatusType status = GIMP_PDB_SUCCESS;
|
||||
GimpExportReturn export = GIMP_EXPORT_IGNORE;
|
||||
GError *error = NULL;
|
||||
GList *drawables;
|
||||
GError *error = NULL;
|
||||
|
||||
gegl_init (NULL, NULL);
|
||||
|
||||
|
@ -295,7 +292,7 @@ goat_export (GimpProcedure *procedure,
|
|||
case GIMP_RUN_WITH_LAST_VALS:
|
||||
gimp_ui_init (PLUG_IN_BINARY);
|
||||
|
||||
export = gimp_export_image (&image, &n_drawables, &drawables, "GEGL",
|
||||
export = gimp_export_image (&image, "GEGL",
|
||||
GIMP_EXPORT_CAN_HANDLE_RGB |
|
||||
GIMP_EXPORT_CAN_HANDLE_GRAY |
|
||||
GIMP_EXPORT_CAN_HANDLE_INDEXED |
|
||||
|
@ -305,29 +302,18 @@ goat_export (GimpProcedure *procedure,
|
|||
default:
|
||||
break;
|
||||
}
|
||||
drawables = gimp_image_list_layers (image);
|
||||
|
||||
if (n_drawables != 1)
|
||||
{
|
||||
g_set_error (&error, G_FILE_ERROR, 0,
|
||||
_("GEGL export plug-in does not support multiple layers."));
|
||||
|
||||
return gimp_procedure_new_return_values (procedure,
|
||||
GIMP_PDB_CALLING_ERROR,
|
||||
error);
|
||||
}
|
||||
|
||||
if (! export_image (file, format->export_op, image, drawables[0],
|
||||
if (! export_image (file, format->export_op, image, drawables->data,
|
||||
&error))
|
||||
{
|
||||
status = GIMP_PDB_EXECUTION_ERROR;
|
||||
}
|
||||
|
||||
if (export == GIMP_EXPORT_EXPORT)
|
||||
{
|
||||
gimp_image_delete (image);
|
||||
g_free (drawables);
|
||||
}
|
||||
gimp_image_delete (image);
|
||||
|
||||
g_list_free (drawables);
|
||||
return gimp_procedure_new_return_values (procedure, status, error);
|
||||
}
|
||||
|
||||
|
|
|
@ -78,8 +78,6 @@ static GimpProcedure * gif_create_procedure (GimpPlugIn *plug_in,
|
|||
static GimpValueArray * gif_export (GimpProcedure *procedure,
|
||||
GimpRunMode run_mode,
|
||||
GimpImage *image,
|
||||
gint n_drawables,
|
||||
GimpDrawable **drawables,
|
||||
GFile *file,
|
||||
GimpMetadata *metadata,
|
||||
GimpProcedureConfig *config,
|
||||
|
@ -258,15 +256,13 @@ static GimpValueArray *
|
|||
gif_export (GimpProcedure *procedure,
|
||||
GimpRunMode run_mode,
|
||||
GimpImage *image,
|
||||
gint n_drawables,
|
||||
GimpDrawable **drawables,
|
||||
GFile *file,
|
||||
GimpMetadata *metadata,
|
||||
GimpProcedureConfig *config,
|
||||
gpointer run_data)
|
||||
{
|
||||
GimpPDBStatusType status = GIMP_PDB_SUCCESS;
|
||||
GimpExportReturn export = GIMP_EXPORT_IGNORE;
|
||||
GimpPDBStatusType status = GIMP_PDB_SUCCESS;
|
||||
GimpExportReturn export = GIMP_EXPORT_IGNORE;
|
||||
GimpImage *orig_image;
|
||||
GimpImage *sanitized_image = NULL;
|
||||
GimpParasite *parasite = NULL;
|
||||
|
@ -333,6 +329,8 @@ gif_export (GimpProcedure *procedure,
|
|||
|
||||
if (status == GIMP_PDB_SUCCESS)
|
||||
{
|
||||
GList *drawables;
|
||||
|
||||
/* Create an exportable image based on the export options */
|
||||
switch (run_mode)
|
||||
{
|
||||
|
@ -353,39 +351,28 @@ gif_export (GimpProcedure *procedure,
|
|||
if (as_animation)
|
||||
capabilities |= GIMP_EXPORT_CAN_HANDLE_LAYERS;
|
||||
|
||||
export = gimp_export_image (&image, &n_drawables, &drawables, "GIF",
|
||||
capabilities);
|
||||
export = gimp_export_image (&image, "GIF", capabilities);
|
||||
break;
|
||||
}
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
drawables = gimp_image_list_layers (image);
|
||||
|
||||
if (n_drawables != 1)
|
||||
{
|
||||
g_set_error (&error, G_FILE_ERROR, 0,
|
||||
_("GIF format does not support multiple layers."));
|
||||
|
||||
return gimp_procedure_new_return_values (procedure,
|
||||
GIMP_PDB_CALLING_ERROR,
|
||||
error);
|
||||
}
|
||||
|
||||
if (! export_image (file, image, drawables[0], orig_image, G_OBJECT (config),
|
||||
&error))
|
||||
if (! export_image (file, image, drawables->data, orig_image,
|
||||
G_OBJECT (config), &error))
|
||||
{
|
||||
status = GIMP_PDB_EXECUTION_ERROR;
|
||||
}
|
||||
|
||||
gimp_image_delete (sanitized_image);
|
||||
g_list_free (drawables);
|
||||
}
|
||||
|
||||
if (export == GIMP_EXPORT_EXPORT)
|
||||
{
|
||||
gimp_image_delete (image);
|
||||
g_free (drawables);
|
||||
}
|
||||
gimp_image_delete (image);
|
||||
|
||||
|
||||
return gimp_procedure_new_return_values (procedure, status, error);
|
||||
}
|
||||
|
|
|
@ -86,8 +86,6 @@ static GimpProcedure * gih_create_procedure (GimpPlugIn *plug_in,
|
|||
static GimpValueArray * gih_export (GimpProcedure *procedure,
|
||||
GimpRunMode run_mode,
|
||||
GimpImage *image,
|
||||
gint n_drawables,
|
||||
GimpDrawable **drawables,
|
||||
GFile *file,
|
||||
GimpMetadata *metadata,
|
||||
GimpProcedureConfig *config,
|
||||
|
@ -249,18 +247,18 @@ static GimpValueArray *
|
|||
gih_export (GimpProcedure *procedure,
|
||||
GimpRunMode run_mode,
|
||||
GimpImage *image,
|
||||
gint n_drawables,
|
||||
GimpDrawable **drawables,
|
||||
GFile *file,
|
||||
GimpMetadata *metadata,
|
||||
GimpProcedureConfig *config,
|
||||
gpointer run_data)
|
||||
{
|
||||
GimpPDBStatusType status = GIMP_PDB_SUCCESS;
|
||||
GimpExportReturn export = GIMP_EXPORT_IGNORE;
|
||||
GimpPDBStatusType status = GIMP_PDB_SUCCESS;
|
||||
GimpExportReturn export = GIMP_EXPORT_IGNORE;
|
||||
GList *drawables = NULL;
|
||||
gint n_drawables;
|
||||
GimpParasite *parasite;
|
||||
GimpImage *orig_image;
|
||||
GError *error = NULL;
|
||||
GError *error = NULL;
|
||||
|
||||
GimpPixPipeParams gihparams = { 0, };
|
||||
gchar *description = NULL;
|
||||
|
@ -281,7 +279,7 @@ gih_export (GimpProcedure *procedure,
|
|||
|
||||
gimp_pixpipe_params_init (&gihparams);
|
||||
|
||||
export = gimp_export_image (&image, &n_drawables, &drawables, "GIH",
|
||||
export = gimp_export_image (&image, "GIH",
|
||||
GIMP_EXPORT_CAN_HANDLE_RGB |
|
||||
GIMP_EXPORT_CAN_HANDLE_GRAY |
|
||||
GIMP_EXPORT_CAN_HANDLE_ALPHA |
|
||||
|
@ -386,6 +384,8 @@ gih_export (GimpProcedure *procedure,
|
|||
goto out;
|
||||
}
|
||||
}
|
||||
drawables = gimp_image_list_layers (image);
|
||||
n_drawables = g_list_length (drawables);
|
||||
|
||||
g_object_get (config,
|
||||
"spacing", &spacing,
|
||||
|
@ -465,11 +465,9 @@ gih_export (GimpProcedure *procedure,
|
|||
|
||||
out:
|
||||
if (export == GIMP_EXPORT_EXPORT)
|
||||
{
|
||||
gimp_image_delete (image);
|
||||
g_free (drawables);
|
||||
}
|
||||
gimp_image_delete (image);
|
||||
|
||||
g_list_free (drawables);
|
||||
return gimp_procedure_new_return_values (procedure, status, error);
|
||||
}
|
||||
|
||||
|
|
|
@ -56,8 +56,6 @@ static GimpProcedure * header_create_procedure (GimpPlugIn *plug_in,
|
|||
static GimpValueArray * header_export (GimpProcedure *procedure,
|
||||
GimpRunMode run_mode,
|
||||
GimpImage *image,
|
||||
gint n_drawables,
|
||||
GimpDrawable **drawables,
|
||||
GFile *file,
|
||||
GimpMetadata *metadata,
|
||||
GimpProcedureConfig *config,
|
||||
|
@ -142,8 +140,6 @@ static GimpValueArray *
|
|||
header_export (GimpProcedure *procedure,
|
||||
GimpRunMode run_mode,
|
||||
GimpImage *image,
|
||||
gint n_drawables,
|
||||
GimpDrawable **drawables,
|
||||
GFile *file,
|
||||
GimpMetadata *metadata,
|
||||
GimpProcedureConfig *config,
|
||||
|
@ -151,6 +147,7 @@ header_export (GimpProcedure *procedure,
|
|||
{
|
||||
GimpPDBStatusType status = GIMP_PDB_SUCCESS;
|
||||
GimpExportReturn export = GIMP_EXPORT_IGNORE;
|
||||
GList *drawables;
|
||||
GError *error = NULL;
|
||||
|
||||
gegl_init (NULL, NULL);
|
||||
|
@ -161,7 +158,7 @@ header_export (GimpProcedure *procedure,
|
|||
case GIMP_RUN_WITH_LAST_VALS:
|
||||
gimp_ui_init (PLUG_IN_BINARY);
|
||||
|
||||
export = gimp_export_image (&image, &n_drawables, &drawables, "Header",
|
||||
export = gimp_export_image (&image, "Header",
|
||||
GIMP_EXPORT_CAN_HANDLE_RGB |
|
||||
GIMP_EXPORT_CAN_HANDLE_INDEXED);
|
||||
break;
|
||||
|
@ -169,29 +166,18 @@ header_export (GimpProcedure *procedure,
|
|||
default:
|
||||
break;
|
||||
}
|
||||
drawables = gimp_image_list_layers (image);
|
||||
|
||||
if (n_drawables != 1)
|
||||
{
|
||||
g_set_error (&error, G_FILE_ERROR, 0,
|
||||
_("Header plug-in does not support multiple layers."));
|
||||
|
||||
return gimp_procedure_new_return_values (procedure,
|
||||
GIMP_PDB_CALLING_ERROR,
|
||||
error);
|
||||
}
|
||||
|
||||
if (! export_image (file, image, drawables[0],
|
||||
if (! export_image (file, image, drawables->data,
|
||||
&error))
|
||||
{
|
||||
status = GIMP_PDB_EXECUTION_ERROR;
|
||||
}
|
||||
|
||||
if (export == GIMP_EXPORT_EXPORT)
|
||||
{
|
||||
gimp_image_delete (image);
|
||||
g_free (drawables);
|
||||
}
|
||||
gimp_image_delete (image);
|
||||
|
||||
g_list_free (drawables);
|
||||
return gimp_procedure_new_return_values (procedure, status, error);
|
||||
}
|
||||
|
||||
|
|
|
@ -84,8 +84,6 @@ static GimpValueArray * heif_load (GimpProcedure *pro
|
|||
static GimpValueArray * heif_export (GimpProcedure *procedure,
|
||||
GimpRunMode run_mode,
|
||||
GimpImage *image,
|
||||
gint n_drawables,
|
||||
GimpDrawable **drawables,
|
||||
GFile *file,
|
||||
GimpMetadata *metadata,
|
||||
GimpProcedureConfig *config,
|
||||
|
@ -94,8 +92,6 @@ static GimpValueArray * heif_export (GimpProcedure *pro
|
|||
static GimpValueArray * heif_av1_export (GimpProcedure *procedure,
|
||||
GimpRunMode run_mode,
|
||||
GimpImage *image,
|
||||
gint n_drawables,
|
||||
GimpDrawable **drawables,
|
||||
GFile *file,
|
||||
GimpMetadata *metadata,
|
||||
GimpProcedureConfig *config,
|
||||
|
@ -489,8 +485,6 @@ static GimpValueArray *
|
|||
heif_export (GimpProcedure *procedure,
|
||||
GimpRunMode run_mode,
|
||||
GimpImage *image,
|
||||
gint n_drawables,
|
||||
GimpDrawable **drawables,
|
||||
GFile *file,
|
||||
GimpMetadata *metadata_unused,
|
||||
GimpProcedureConfig *config,
|
||||
|
@ -498,6 +492,7 @@ heif_export (GimpProcedure *procedure,
|
|||
{
|
||||
GimpPDBStatusType status = GIMP_PDB_SUCCESS;
|
||||
GimpExportReturn export = GIMP_EXPORT_IGNORE;
|
||||
GList *drawables;
|
||||
GimpMetadata *metadata;
|
||||
GError *error = NULL;
|
||||
|
||||
|
@ -509,7 +504,7 @@ heif_export (GimpProcedure *procedure,
|
|||
case GIMP_RUN_WITH_LAST_VALS:
|
||||
gimp_ui_init (PLUG_IN_BINARY);
|
||||
|
||||
export = gimp_export_image (&image, &n_drawables, &drawables, "HEIF",
|
||||
export = gimp_export_image (&image, "HEIF",
|
||||
GIMP_EXPORT_CAN_HANDLE_RGB |
|
||||
GIMP_EXPORT_CAN_HANDLE_ALPHA);
|
||||
break;
|
||||
|
@ -517,16 +512,7 @@ heif_export (GimpProcedure *procedure,
|
|||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
if (n_drawables != 1)
|
||||
{
|
||||
g_set_error (&error, G_FILE_ERROR, 0,
|
||||
_("HEIF format does not support multiple layers."));
|
||||
|
||||
return gimp_procedure_new_return_values (procedure,
|
||||
GIMP_PDB_CALLING_ERROR,
|
||||
error);
|
||||
}
|
||||
drawables = gimp_image_list_layers (image);
|
||||
|
||||
if (run_mode == GIMP_RUN_INTERACTIVE)
|
||||
{
|
||||
|
@ -542,7 +528,7 @@ heif_export (GimpProcedure *procedure,
|
|||
|
||||
heif_init (NULL);
|
||||
|
||||
if (! export_image (file, image, drawables[0], G_OBJECT (config),
|
||||
if (! export_image (file, image, drawables->data, G_OBJECT (config),
|
||||
&error, heif_compression_HEVC, metadata))
|
||||
{
|
||||
status = GIMP_PDB_EXECUTION_ERROR;
|
||||
|
@ -562,6 +548,7 @@ heif_export (GimpProcedure *procedure,
|
|||
g_free (drawables);
|
||||
}
|
||||
|
||||
g_list_free (drawables);
|
||||
return gimp_procedure_new_return_values (procedure, status, error);
|
||||
}
|
||||
|
||||
|
@ -569,8 +556,6 @@ static GimpValueArray *
|
|||
heif_av1_export (GimpProcedure *procedure,
|
||||
GimpRunMode run_mode,
|
||||
GimpImage *image,
|
||||
gint n_drawables,
|
||||
GimpDrawable **drawables,
|
||||
GFile *file,
|
||||
GimpMetadata *metadata_unused,
|
||||
GimpProcedureConfig *config,
|
||||
|
@ -578,8 +563,10 @@ heif_av1_export (GimpProcedure *procedure,
|
|||
{
|
||||
GimpPDBStatusType status = GIMP_PDB_SUCCESS;
|
||||
GimpExportReturn export = GIMP_EXPORT_IGNORE;
|
||||
GList *drawables;
|
||||
|
||||
GimpMetadata *metadata;
|
||||
GError *error = NULL;
|
||||
GError *error = NULL;
|
||||
|
||||
gegl_init (NULL, NULL);
|
||||
|
||||
|
@ -589,7 +576,7 @@ heif_av1_export (GimpProcedure *procedure,
|
|||
case GIMP_RUN_WITH_LAST_VALS:
|
||||
gimp_ui_init (PLUG_IN_BINARY);
|
||||
|
||||
export = gimp_export_image (&image, &n_drawables, &drawables, "AVIF",
|
||||
export = gimp_export_image (&image, "AVIF",
|
||||
GIMP_EXPORT_CAN_HANDLE_RGB |
|
||||
GIMP_EXPORT_CAN_HANDLE_ALPHA);
|
||||
break;
|
||||
|
@ -597,16 +584,7 @@ heif_av1_export (GimpProcedure *procedure,
|
|||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
if (n_drawables != 1)
|
||||
{
|
||||
g_set_error (&error, G_FILE_ERROR, 0,
|
||||
_("HEIF format does not support multiple layers."));
|
||||
|
||||
return gimp_procedure_new_return_values (procedure,
|
||||
GIMP_PDB_CALLING_ERROR,
|
||||
error);
|
||||
}
|
||||
drawables = gimp_image_list_layers (image);
|
||||
|
||||
if (run_mode == GIMP_RUN_INTERACTIVE)
|
||||
{
|
||||
|
@ -622,7 +600,7 @@ heif_av1_export (GimpProcedure *procedure,
|
|||
|
||||
heif_init (NULL);
|
||||
|
||||
if (! export_image (file, image, drawables[0], G_OBJECT (config),
|
||||
if (! export_image (file, image, drawables->data, G_OBJECT (config),
|
||||
&error, heif_compression_AV1, metadata))
|
||||
{
|
||||
status = GIMP_PDB_EXECUTION_ERROR;
|
||||
|
@ -637,11 +615,9 @@ heif_av1_export (GimpProcedure *procedure,
|
|||
}
|
||||
|
||||
if (export == GIMP_EXPORT_EXPORT)
|
||||
{
|
||||
gimp_image_delete (image);
|
||||
g_free (drawables);
|
||||
}
|
||||
gimp_image_delete (image);
|
||||
|
||||
g_list_free (drawables);
|
||||
return gimp_procedure_new_return_values (procedure, status, error);
|
||||
}
|
||||
|
||||
|
|
|
@ -87,8 +87,6 @@ static GimpProcedure * html_create_procedure (GimpPlugIn *plug_in,
|
|||
static GimpValueArray * html_export (GimpProcedure *procedure,
|
||||
GimpRunMode run_mode,
|
||||
GimpImage *image,
|
||||
gint n_drawables,
|
||||
GimpDrawable **drawables,
|
||||
GFile *file,
|
||||
GimpMetadata *metadata,
|
||||
GimpProcedureConfig *config,
|
||||
|
@ -258,16 +256,15 @@ static GimpValueArray *
|
|||
html_export (GimpProcedure *procedure,
|
||||
GimpRunMode run_mode,
|
||||
GimpImage *image,
|
||||
gint n_drawables,
|
||||
GimpDrawable **drawables,
|
||||
GFile *file,
|
||||
GimpMetadata *metadata,
|
||||
GimpProcedureConfig *config,
|
||||
gpointer run_data)
|
||||
{
|
||||
GimpPDBStatusType status = GIMP_PDB_SUCCESS;
|
||||
GimpPDBStatusType status = GIMP_PDB_SUCCESS;
|
||||
GList *drawables = gimp_image_list_layers (image);
|
||||
GeglBuffer *buffer;
|
||||
GError *error = NULL;
|
||||
GError *error = NULL;
|
||||
|
||||
gegl_init (NULL, NULL);
|
||||
|
||||
|
@ -281,17 +278,7 @@ html_export (GimpProcedure *procedure,
|
|||
GIMP_PDB_CANCEL,
|
||||
NULL);
|
||||
|
||||
if (n_drawables != 1)
|
||||
{
|
||||
g_set_error (&error, G_FILE_ERROR, 0,
|
||||
_("HTML table plug-in does not support multiple layers."));
|
||||
|
||||
return gimp_procedure_new_return_values (procedure,
|
||||
GIMP_PDB_CALLING_ERROR,
|
||||
error);
|
||||
}
|
||||
|
||||
buffer = gimp_drawable_get_buffer (drawables[0]);
|
||||
buffer = gimp_drawable_get_buffer (drawables->data);
|
||||
|
||||
if (! export_image (file, buffer, G_OBJECT (config),
|
||||
&error))
|
||||
|
@ -301,6 +288,7 @@ html_export (GimpProcedure *procedure,
|
|||
|
||||
g_object_unref (buffer);
|
||||
|
||||
g_list_free (drawables);
|
||||
return gimp_procedure_new_return_values (procedure, status, error);
|
||||
}
|
||||
|
||||
|
|
|
@ -69,8 +69,6 @@ static GimpValueArray *jpegxl_load (GimpProcedure *procedur
|
|||
static GimpValueArray *jpegxl_export (GimpProcedure *procedure,
|
||||
GimpRunMode run_mode,
|
||||
GimpImage *image,
|
||||
gint n_drawables,
|
||||
GimpDrawable **drawables,
|
||||
GFile *file,
|
||||
GimpMetadata *metadata,
|
||||
GimpProcedureConfig *config,
|
||||
|
@ -2107,8 +2105,6 @@ static GimpValueArray *
|
|||
jpegxl_export (GimpProcedure *procedure,
|
||||
GimpRunMode run_mode,
|
||||
GimpImage *image,
|
||||
gint n_drawables,
|
||||
GimpDrawable **drawables,
|
||||
GFile *file,
|
||||
GimpMetadata *metadata,
|
||||
GimpProcedureConfig *config,
|
||||
|
@ -2116,6 +2112,7 @@ jpegxl_export (GimpProcedure *procedure,
|
|||
{
|
||||
GimpPDBStatusType status = GIMP_PDB_SUCCESS;
|
||||
GimpExportReturn export = GIMP_EXPORT_IGNORE;
|
||||
GList *drawables;
|
||||
GError *error = NULL;
|
||||
|
||||
gegl_init (NULL, NULL);
|
||||
|
@ -2126,7 +2123,7 @@ jpegxl_export (GimpProcedure *procedure,
|
|||
case GIMP_RUN_WITH_LAST_VALS:
|
||||
gimp_ui_init (PLUG_IN_BINARY);
|
||||
|
||||
export = gimp_export_image (&image, &n_drawables, &drawables, "JPEG XL",
|
||||
export = gimp_export_image (&image, "JPEG XL",
|
||||
GIMP_EXPORT_CAN_HANDLE_RGB |
|
||||
GIMP_EXPORT_CAN_HANDLE_GRAY |
|
||||
GIMP_EXPORT_CAN_HANDLE_ALPHA);
|
||||
|
@ -2135,16 +2132,7 @@ jpegxl_export (GimpProcedure *procedure,
|
|||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
if (n_drawables < 1)
|
||||
{
|
||||
g_set_error (&error, G_FILE_ERROR, 0,
|
||||
"No drawables to export");
|
||||
|
||||
return gimp_procedure_new_return_values (procedure,
|
||||
GIMP_PDB_CALLING_ERROR,
|
||||
error);
|
||||
}
|
||||
drawables = gimp_image_list_layers (image);
|
||||
|
||||
if (run_mode == GIMP_RUN_INTERACTIVE)
|
||||
{
|
||||
|
@ -2160,7 +2148,7 @@ jpegxl_export (GimpProcedure *procedure,
|
|||
|
||||
GimpMetadata *metadata = gimp_image_metadata_save_prepare (image, "image/jxl", &metadata_flags);
|
||||
|
||||
if (! export_image (file, config, image, drawables[0], metadata, &error))
|
||||
if (! export_image (file, config, image, drawables->data, metadata, &error))
|
||||
{
|
||||
status = GIMP_PDB_EXECUTION_ERROR;
|
||||
}
|
||||
|
@ -2172,10 +2160,8 @@ jpegxl_export (GimpProcedure *procedure,
|
|||
}
|
||||
|
||||
if (export == GIMP_EXPORT_EXPORT)
|
||||
{
|
||||
g_free (drawables);
|
||||
gimp_image_delete (image);
|
||||
}
|
||||
gimp_image_delete (image);
|
||||
|
||||
g_list_free (drawables);
|
||||
return gimp_procedure_new_return_values (procedure, status, error);
|
||||
}
|
||||
|
|
|
@ -160,8 +160,6 @@ static GimpProcedure * mng_create_procedure (GimpPlugIn *plug_in,
|
|||
static GimpValueArray * mng_export (GimpProcedure *procedure,
|
||||
GimpRunMode run_mode,
|
||||
GimpImage *image,
|
||||
gint n_drawables,
|
||||
GimpDrawable **drawables,
|
||||
GFile *file,
|
||||
GimpMetadata *metadata,
|
||||
GimpProcedureConfig *config,
|
||||
|
@ -200,7 +198,7 @@ static gboolean respin_cmap (png_structp png_ptr,
|
|||
static gboolean mng_export_image (GFile *file,
|
||||
GimpImage *image,
|
||||
gint n_drawables,
|
||||
GimpDrawable **drawables,
|
||||
GList *drawables,
|
||||
GObject *config,
|
||||
GError **error);
|
||||
static gboolean mng_save_dialog (GimpImage *image,
|
||||
|
@ -359,8 +357,6 @@ static GimpValueArray *
|
|||
mng_export (GimpProcedure *procedure,
|
||||
GimpRunMode run_mode,
|
||||
GimpImage *image,
|
||||
gint n_drawables,
|
||||
GimpDrawable **drawables,
|
||||
GFile *file,
|
||||
GimpMetadata *metadata,
|
||||
GimpProcedureConfig *config,
|
||||
|
@ -368,6 +364,8 @@ mng_export (GimpProcedure *procedure,
|
|||
{
|
||||
GimpPDBStatusType status = GIMP_PDB_SUCCESS;
|
||||
GimpExportReturn export = GIMP_EXPORT_IGNORE;
|
||||
GList *drawables;
|
||||
gint n_drawables;
|
||||
GError *error = NULL;
|
||||
|
||||
gegl_init (NULL, NULL);
|
||||
|
@ -377,13 +375,15 @@ mng_export (GimpProcedure *procedure,
|
|||
{
|
||||
gimp_ui_init (PLUG_IN_BINARY);
|
||||
|
||||
export = gimp_export_image (&image, &n_drawables, &drawables, "MNG",
|
||||
export = gimp_export_image (&image, "MNG",
|
||||
GIMP_EXPORT_CAN_HANDLE_RGB |
|
||||
GIMP_EXPORT_CAN_HANDLE_GRAY |
|
||||
GIMP_EXPORT_CAN_HANDLE_INDEXED |
|
||||
GIMP_EXPORT_CAN_HANDLE_ALPHA |
|
||||
GIMP_EXPORT_CAN_HANDLE_LAYERS);
|
||||
}
|
||||
drawables = gimp_image_list_layers (image);
|
||||
n_drawables = g_list_length (drawables);
|
||||
|
||||
if (run_mode == GIMP_RUN_INTERACTIVE)
|
||||
{
|
||||
|
@ -401,11 +401,9 @@ mng_export (GimpProcedure *procedure,
|
|||
}
|
||||
|
||||
if (export == GIMP_EXPORT_EXPORT)
|
||||
{
|
||||
gimp_image_delete (image);
|
||||
g_free (drawables);
|
||||
}
|
||||
gimp_image_delete (image);
|
||||
|
||||
g_list_free (drawables);
|
||||
return gimp_procedure_new_return_values (procedure, status, error);
|
||||
}
|
||||
|
||||
|
@ -770,7 +768,7 @@ static gboolean
|
|||
mng_export_image (GFile *file,
|
||||
GimpImage *image,
|
||||
gint n_drawables,
|
||||
GimpDrawable **drawables,
|
||||
GList *drawables,
|
||||
GObject *config,
|
||||
GError **error)
|
||||
{
|
||||
|
|
|
@ -57,8 +57,6 @@ static GimpProcedure * pat_create_procedure (GimpPlugIn *plug_in,
|
|||
static GimpValueArray * pat_export (GimpProcedure *procedure,
|
||||
GimpRunMode run_mode,
|
||||
GimpImage *image,
|
||||
gint n_drawables,
|
||||
GimpDrawable **drawables,
|
||||
GFile *file,
|
||||
GimpMetadata *metadata,
|
||||
GimpProcedureConfig *config,
|
||||
|
@ -146,9 +144,7 @@ pat_create_procedure (GimpPlugIn *plug_in,
|
|||
static GimpValueArray *
|
||||
pat_export (GimpProcedure *procedure,
|
||||
GimpRunMode run_mode,
|
||||
GimpImage *image,
|
||||
gint n_drawables,
|
||||
GimpDrawable **drawables,
|
||||
GimpImage *image,
|
||||
GFile *file,
|
||||
GimpMetadata *metadata,
|
||||
GimpProcedureConfig *config,
|
||||
|
@ -156,6 +152,8 @@ pat_export (GimpProcedure *procedure,
|
|||
{
|
||||
GimpPDBStatusType status = GIMP_PDB_SUCCESS;
|
||||
GimpExportReturn export = GIMP_EXPORT_IGNORE;
|
||||
GList *drawables;
|
||||
gint n_drawables;
|
||||
gchar *description;
|
||||
GError *error = NULL;
|
||||
|
||||
|
@ -186,7 +184,7 @@ pat_export (GimpProcedure *procedure,
|
|||
case GIMP_RUN_WITH_LAST_VALS:
|
||||
gimp_ui_init (PLUG_IN_BINARY);
|
||||
|
||||
export = gimp_export_image (&image, &n_drawables, &drawables, "PAT",
|
||||
export = gimp_export_image (&image, "PAT",
|
||||
GIMP_EXPORT_CAN_HANDLE_GRAY |
|
||||
GIMP_EXPORT_CAN_HANDLE_RGB |
|
||||
GIMP_EXPORT_CAN_HANDLE_INDEXED |
|
||||
|
@ -196,6 +194,8 @@ pat_export (GimpProcedure *procedure,
|
|||
default:
|
||||
break;
|
||||
}
|
||||
drawables = gimp_image_list_layers (image);
|
||||
n_drawables = g_list_length (drawables);
|
||||
|
||||
if (run_mode == GIMP_RUN_INTERACTIVE)
|
||||
{
|
||||
|
@ -240,11 +240,9 @@ pat_export (GimpProcedure *procedure,
|
|||
}
|
||||
|
||||
if (export == GIMP_EXPORT_EXPORT)
|
||||
{
|
||||
gimp_image_delete (image);
|
||||
g_free (drawables);
|
||||
}
|
||||
gimp_image_delete (image);
|
||||
|
||||
g_list_free (drawables);
|
||||
return gimp_procedure_new_return_values (procedure, status, error);
|
||||
}
|
||||
|
||||
|
|
|
@ -79,8 +79,6 @@ static GimpValueArray * dcx_load (GimpProcedure *procedure,
|
|||
static GimpValueArray * pcx_export (GimpProcedure *procedure,
|
||||
GimpRunMode run_mode,
|
||||
GimpImage *image,
|
||||
gint n_drawables,
|
||||
GimpDrawable **drawables,
|
||||
GFile *file,
|
||||
GimpMetadata *metadata,
|
||||
GimpProcedureConfig *config,
|
||||
|
@ -359,8 +357,6 @@ static GimpValueArray *
|
|||
pcx_export (GimpProcedure *procedure,
|
||||
GimpRunMode run_mode,
|
||||
GimpImage *image,
|
||||
gint n_drawables,
|
||||
GimpDrawable **drawables,
|
||||
GFile *file,
|
||||
GimpMetadata *metadata,
|
||||
GimpProcedureConfig *config,
|
||||
|
@ -368,6 +364,7 @@ pcx_export (GimpProcedure *procedure,
|
|||
{
|
||||
GimpPDBStatusType status = GIMP_PDB_SUCCESS;
|
||||
GimpExportReturn export = GIMP_EXPORT_IGNORE;
|
||||
GList *drawables;
|
||||
GError *error = NULL;
|
||||
|
||||
gegl_init (NULL, NULL);
|
||||
|
@ -378,7 +375,7 @@ pcx_export (GimpProcedure *procedure,
|
|||
case GIMP_RUN_WITH_LAST_VALS:
|
||||
gimp_ui_init (PLUG_IN_BINARY);
|
||||
|
||||
export = gimp_export_image (&image, &n_drawables, &drawables, "PCX",
|
||||
export = gimp_export_image (&image, "PCX",
|
||||
GIMP_EXPORT_CAN_HANDLE_RGB |
|
||||
GIMP_EXPORT_CAN_HANDLE_GRAY |
|
||||
GIMP_EXPORT_CAN_HANDLE_INDEXED);
|
||||
|
@ -387,30 +384,19 @@ pcx_export (GimpProcedure *procedure,
|
|||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
if (n_drawables != 1)
|
||||
{
|
||||
g_set_error (&error, G_FILE_ERROR, 0,
|
||||
_("PCX format does not support multiple layers."));
|
||||
|
||||
return gimp_procedure_new_return_values (procedure,
|
||||
GIMP_PDB_CALLING_ERROR,
|
||||
error);
|
||||
}
|
||||
drawables = gimp_image_list_layers (image);
|
||||
|
||||
if (! export_image (file,
|
||||
image, drawables[0],
|
||||
image, drawables->data,
|
||||
&error))
|
||||
{
|
||||
status = GIMP_PDB_EXECUTION_ERROR;
|
||||
}
|
||||
|
||||
if (export == GIMP_EXPORT_EXPORT)
|
||||
{
|
||||
gimp_image_delete (image);
|
||||
g_free (drawables);
|
||||
}
|
||||
gimp_image_delete (image);
|
||||
|
||||
g_list_free (drawables);
|
||||
return gimp_procedure_new_return_values (procedure, status, error);
|
||||
}
|
||||
|
||||
|
|
|
@ -186,8 +186,6 @@ static GimpProcedure * pdf_create_procedure (GimpPlugIn *plug_in,
|
|||
static GimpValueArray * pdf_export (GimpProcedure *procedure,
|
||||
GimpRunMode run_mode,
|
||||
GimpImage *image,
|
||||
gint n_drawables,
|
||||
GimpDrawable **drawables,
|
||||
GFile *file,
|
||||
GimpMetadata *metadata,
|
||||
GimpProcedureConfig *config,
|
||||
|
@ -471,15 +469,13 @@ static GimpValueArray *
|
|||
pdf_export (GimpProcedure *procedure,
|
||||
GimpRunMode run_mode,
|
||||
GimpImage *image,
|
||||
gint n_drawables,
|
||||
GimpDrawable **drawables,
|
||||
GFile *file,
|
||||
GimpMetadata *metadata,
|
||||
GimpProcedureConfig *config,
|
||||
gpointer run_data)
|
||||
{
|
||||
GError *error = NULL;
|
||||
GimpPDBStatusType status = GIMP_PDB_SUCCESS;
|
||||
GError *error = NULL;
|
||||
GimpPDBStatusType status = GIMP_PDB_SUCCESS;
|
||||
|
||||
gegl_init (NULL, NULL);
|
||||
|
||||
|
@ -704,11 +700,8 @@ pdf_export_image (GimpProcedure *procedure,
|
|||
gint32 n_layers;
|
||||
gdouble x_res, y_res;
|
||||
gdouble x_scale, y_scale;
|
||||
GimpDrawable **temp;
|
||||
GimpDrawable **temp_out;
|
||||
GimpItem **drawables;
|
||||
gint n_drawables;
|
||||
gint temp_size = 1;
|
||||
gint j;
|
||||
|
||||
drawables = gimp_image_get_selected_drawables (image, &n_drawables);
|
||||
|
@ -718,17 +711,12 @@ pdf_export_image (GimpProcedure *procedure,
|
|||
continue;
|
||||
}
|
||||
|
||||
temp = g_new (GimpDrawable *, 1);
|
||||
temp[0] = GIMP_DRAWABLE (drawables[0]);
|
||||
g_free (drawables);
|
||||
temp_out = temp;
|
||||
|
||||
/* Save the state of the surface before any changes, so that
|
||||
* settings from one page won't affect all the others
|
||||
*/
|
||||
cairo_save (cr);
|
||||
|
||||
if (! (gimp_export_image (&image, &temp_size, &temp, NULL,
|
||||
if (! (gimp_export_image (&image, NULL,
|
||||
capabilities) == GIMP_EXPORT_EXPORT))
|
||||
{
|
||||
/* gimp_drawable_histogram() only works within the bounds of
|
||||
|
@ -740,10 +728,6 @@ pdf_export_image (GimpProcedure *procedure,
|
|||
image = gimp_image_duplicate (image);
|
||||
}
|
||||
|
||||
if (temp != temp_out)
|
||||
g_free (temp_out);
|
||||
g_free (temp);
|
||||
|
||||
gimp_selection_none (image);
|
||||
|
||||
gimp_image_get_resolution (image, &x_res, &y_res);
|
||||
|
|
|
@ -100,8 +100,6 @@ static GimpValueArray * pix_load (GimpProcedure *procedure,
|
|||
static GimpValueArray * pix_export (GimpProcedure *procedure,
|
||||
GimpRunMode run_mode,
|
||||
GimpImage *image,
|
||||
gint n_drawables,
|
||||
GimpDrawable **drawables,
|
||||
GFile *file,
|
||||
GimpMetadata *metadata,
|
||||
GimpProcedureConfig *config,
|
||||
|
@ -257,8 +255,6 @@ static GimpValueArray *
|
|||
pix_export (GimpProcedure *procedure,
|
||||
GimpRunMode run_mode,
|
||||
GimpImage *image,
|
||||
gint n_drawables,
|
||||
GimpDrawable **drawables,
|
||||
GFile *file,
|
||||
GimpMetadata *metadata,
|
||||
GimpProcedureConfig *config,
|
||||
|
@ -266,6 +262,7 @@ pix_export (GimpProcedure *procedure,
|
|||
{
|
||||
GimpPDBStatusType status = GIMP_PDB_SUCCESS;
|
||||
GimpExportReturn export = GIMP_EXPORT_IGNORE;
|
||||
GList *drawables;
|
||||
GError *error = NULL;
|
||||
|
||||
gegl_init (NULL, NULL);
|
||||
|
@ -276,7 +273,7 @@ pix_export (GimpProcedure *procedure,
|
|||
case GIMP_RUN_WITH_LAST_VALS:
|
||||
gimp_ui_init (PLUG_IN_BINARY);
|
||||
|
||||
export = gimp_export_image (&image, &n_drawables, &drawables, "PIX",
|
||||
export = gimp_export_image (&image, "PIX",
|
||||
GIMP_EXPORT_CAN_HANDLE_RGB |
|
||||
GIMP_EXPORT_CAN_HANDLE_GRAY |
|
||||
GIMP_EXPORT_CAN_HANDLE_INDEXED);
|
||||
|
@ -285,28 +282,17 @@ pix_export (GimpProcedure *procedure,
|
|||
default:
|
||||
break;
|
||||
}
|
||||
drawables = gimp_image_list_layers (image);
|
||||
|
||||
if (n_drawables != 1)
|
||||
{
|
||||
g_set_error (&error, G_FILE_ERROR, 0,
|
||||
_("PIX format does not support multiple layers."));
|
||||
|
||||
return gimp_procedure_new_return_values (procedure,
|
||||
GIMP_PDB_CALLING_ERROR,
|
||||
error);
|
||||
}
|
||||
|
||||
if (! export_image (file, image, drawables[0], &error))
|
||||
if (! export_image (file, image, drawables->data, &error))
|
||||
{
|
||||
status = GIMP_PDB_EXECUTION_ERROR;
|
||||
}
|
||||
|
||||
if (export == GIMP_EXPORT_EXPORT)
|
||||
{
|
||||
gimp_image_delete (image);
|
||||
g_free (drawables);
|
||||
}
|
||||
gimp_image_delete (image);
|
||||
|
||||
g_list_free (drawables);
|
||||
return gimp_procedure_new_return_values (procedure, status, error);
|
||||
}
|
||||
|
||||
|
|
|
@ -96,8 +96,6 @@ static GimpValueArray * png_load (GimpProcedure *procedure,
|
|||
static GimpValueArray * png_export (GimpProcedure *procedure,
|
||||
GimpRunMode run_mode,
|
||||
GimpImage *image,
|
||||
gint n_drawables,
|
||||
GimpDrawable **drawables,
|
||||
GFile *file,
|
||||
GimpMetadata *metadata,
|
||||
GimpProcedureConfig *config,
|
||||
|
@ -368,8 +366,6 @@ static GimpValueArray *
|
|||
png_export (GimpProcedure *procedure,
|
||||
GimpRunMode run_mode,
|
||||
GimpImage *image,
|
||||
gint n_drawables,
|
||||
GimpDrawable **drawables,
|
||||
GFile *file,
|
||||
GimpMetadata *metadata,
|
||||
GimpProcedureConfig *config,
|
||||
|
@ -377,9 +373,10 @@ png_export (GimpProcedure *procedure,
|
|||
{
|
||||
GimpPDBStatusType status = GIMP_PDB_SUCCESS;
|
||||
GimpExportReturn export = GIMP_EXPORT_IGNORE;
|
||||
GList *drawables;
|
||||
GimpImage *orig_image;
|
||||
gboolean alpha;
|
||||
GError *error = NULL;
|
||||
GError *error = NULL;
|
||||
|
||||
gegl_init (NULL, NULL);
|
||||
|
||||
|
@ -391,7 +388,7 @@ png_export (GimpProcedure *procedure,
|
|||
case GIMP_RUN_WITH_LAST_VALS:
|
||||
gimp_ui_init (PLUG_IN_BINARY);
|
||||
|
||||
export = gimp_export_image (&image, &n_drawables, &drawables, "PNG",
|
||||
export = gimp_export_image (&image, "PNG",
|
||||
GIMP_EXPORT_CAN_HANDLE_RGB |
|
||||
GIMP_EXPORT_CAN_HANDLE_GRAY |
|
||||
GIMP_EXPORT_CAN_HANDLE_INDEXED |
|
||||
|
@ -401,21 +398,8 @@ png_export (GimpProcedure *procedure,
|
|||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
if (n_drawables != 1)
|
||||
{
|
||||
/* PNG images have no layer concept. Export image should have a
|
||||
* single drawable selected.
|
||||
*/
|
||||
g_set_error (&error, G_FILE_ERROR, 0,
|
||||
_("PNG format does not support multiple layers."));
|
||||
|
||||
return gimp_procedure_new_return_values (procedure,
|
||||
GIMP_PDB_CALLING_ERROR,
|
||||
error);
|
||||
}
|
||||
|
||||
alpha = gimp_drawable_has_alpha (drawables[0]);
|
||||
drawables = gimp_image_list_layers (image);
|
||||
alpha = gimp_drawable_has_alpha (drawables->data);
|
||||
|
||||
/* If the image has no transparency, then there is usually no need
|
||||
* to save a bKGD chunk. For more information, see:
|
||||
|
@ -436,7 +420,7 @@ png_export (GimpProcedure *procedure,
|
|||
{
|
||||
gint bits_per_sample;
|
||||
|
||||
if (export_image (file, image, drawables[0], orig_image, G_OBJECT (config),
|
||||
if (export_image (file, image, drawables->data, orig_image, G_OBJECT (config),
|
||||
&bits_per_sample, run_mode != GIMP_RUN_NONINTERACTIVE,
|
||||
&error))
|
||||
{
|
||||
|
@ -450,11 +434,9 @@ png_export (GimpProcedure *procedure,
|
|||
}
|
||||
|
||||
if (export == GIMP_EXPORT_EXPORT)
|
||||
{
|
||||
gimp_image_delete (image);
|
||||
g_free (drawables);
|
||||
}
|
||||
gimp_image_delete (image);
|
||||
|
||||
g_list_free (drawables);
|
||||
return gimp_procedure_new_return_values (procedure, status, error);
|
||||
}
|
||||
|
||||
|
|
|
@ -154,8 +154,6 @@ static GimpValueArray * pnm_load (GimpProcedure *procedure,
|
|||
static GimpValueArray * pnm_export (GimpProcedure *procedure,
|
||||
GimpRunMode run_mode,
|
||||
GimpImage *image,
|
||||
gint n_drawables,
|
||||
GimpDrawable **drawables,
|
||||
GFile *file,
|
||||
GimpMetadata *metadata,
|
||||
GimpProcedureConfig *config,
|
||||
|
@ -580,8 +578,6 @@ static GimpValueArray *
|
|||
pnm_export (GimpProcedure *procedure,
|
||||
GimpRunMode run_mode,
|
||||
GimpImage *image,
|
||||
gint n_drawables,
|
||||
GimpDrawable **drawables,
|
||||
GFile *file,
|
||||
GimpMetadata *metadata,
|
||||
GimpProcedureConfig *config,
|
||||
|
@ -590,6 +586,7 @@ pnm_export (GimpProcedure *procedure,
|
|||
FileType file_type = GPOINTER_TO_INT (run_data);
|
||||
GimpPDBStatusType status = GIMP_PDB_SUCCESS;
|
||||
GimpExportReturn export = GIMP_EXPORT_IGNORE;
|
||||
GList *drawables;
|
||||
const gchar *format_name = NULL;
|
||||
GError *error = NULL;
|
||||
|
||||
|
@ -605,7 +602,7 @@ pnm_export (GimpProcedure *procedure,
|
|||
{
|
||||
case FILE_TYPE_PNM:
|
||||
format_name = "PNM";
|
||||
export = gimp_export_image (&image, &n_drawables, &drawables, "PNM",
|
||||
export = gimp_export_image (&image, "PNM",
|
||||
GIMP_EXPORT_CAN_HANDLE_RGB |
|
||||
GIMP_EXPORT_CAN_HANDLE_GRAY |
|
||||
GIMP_EXPORT_CAN_HANDLE_INDEXED);
|
||||
|
@ -613,26 +610,26 @@ pnm_export (GimpProcedure *procedure,
|
|||
|
||||
case FILE_TYPE_PBM:
|
||||
format_name = "PBM";
|
||||
export = gimp_export_image (&image, &n_drawables, &drawables, "PBM",
|
||||
export = gimp_export_image (&image, "PBM",
|
||||
GIMP_EXPORT_CAN_HANDLE_BITMAP);
|
||||
break;
|
||||
|
||||
case FILE_TYPE_PGM:
|
||||
format_name = "PGM";
|
||||
export = gimp_export_image (&image, &n_drawables, &drawables, "PGM",
|
||||
export = gimp_export_image (&image, "PGM",
|
||||
GIMP_EXPORT_CAN_HANDLE_GRAY);
|
||||
break;
|
||||
|
||||
case FILE_TYPE_PPM:
|
||||
format_name = "PPM";
|
||||
export = gimp_export_image (&image, &n_drawables, &drawables, "PPM",
|
||||
export = gimp_export_image (&image, "PPM",
|
||||
GIMP_EXPORT_CAN_HANDLE_RGB |
|
||||
GIMP_EXPORT_CAN_HANDLE_INDEXED);
|
||||
break;
|
||||
|
||||
case FILE_TYPE_PAM:
|
||||
format_name = "PAM";
|
||||
export = gimp_export_image (&image, &n_drawables, &drawables, "PAM",
|
||||
export = gimp_export_image (&image, "PAM",
|
||||
GIMP_EXPORT_CAN_HANDLE_RGB |
|
||||
GIMP_EXPORT_CAN_HANDLE_GRAY |
|
||||
GIMP_EXPORT_CAN_HANDLE_ALPHA |
|
||||
|
@ -641,7 +638,7 @@ pnm_export (GimpProcedure *procedure,
|
|||
|
||||
case FILE_TYPE_PFM:
|
||||
format_name = "PFM";
|
||||
export = gimp_export_image (&image, &n_drawables, &drawables, "PFM",
|
||||
export = gimp_export_image (&image, "PFM",
|
||||
GIMP_EXPORT_CAN_HANDLE_RGB |
|
||||
GIMP_EXPORT_CAN_HANDLE_GRAY);
|
||||
break;
|
||||
|
@ -651,17 +648,7 @@ pnm_export (GimpProcedure *procedure,
|
|||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
if (n_drawables != 1)
|
||||
{
|
||||
g_set_error (&error, G_FILE_ERROR, 0,
|
||||
_("%s format does not support multiple layers."),
|
||||
format_name);
|
||||
|
||||
return gimp_procedure_new_return_values (procedure,
|
||||
GIMP_PDB_CALLING_ERROR,
|
||||
error);
|
||||
}
|
||||
drawables = gimp_image_list_layers (image);
|
||||
|
||||
if (file_type != FILE_TYPE_PFM &&
|
||||
file_type != FILE_TYPE_PAM &&
|
||||
|
@ -673,19 +660,17 @@ pnm_export (GimpProcedure *procedure,
|
|||
|
||||
if (status == GIMP_PDB_SUCCESS)
|
||||
{
|
||||
if (! export_image (file, image, drawables[0], file_type, G_OBJECT (config),
|
||||
&error))
|
||||
if (! export_image (file, image, drawables->data, file_type,
|
||||
G_OBJECT (config), &error))
|
||||
{
|
||||
status = GIMP_PDB_EXECUTION_ERROR;
|
||||
}
|
||||
}
|
||||
|
||||
if (export == GIMP_EXPORT_EXPORT)
|
||||
{
|
||||
gimp_image_delete (image);
|
||||
g_free (drawables);
|
||||
}
|
||||
gimp_image_delete (image);
|
||||
|
||||
g_list_free (drawables);
|
||||
return gimp_procedure_new_return_values (procedure, status, error);
|
||||
}
|
||||
|
||||
|
|
|
@ -148,8 +148,6 @@ static GimpValueArray * ps_load_thumb (GimpProcedure *procedure,
|
|||
static GimpValueArray * ps_export (GimpProcedure *procedure,
|
||||
GimpRunMode run_mode,
|
||||
GimpImage *image,
|
||||
gint n_drawables,
|
||||
GimpDrawable **drawables,
|
||||
GFile *file,
|
||||
GimpMetadata *metadata,
|
||||
GimpProcedureConfig *config,
|
||||
|
@ -670,8 +668,6 @@ static GimpValueArray *
|
|||
ps_export (GimpProcedure *procedure,
|
||||
GimpRunMode run_mode,
|
||||
GimpImage *image,
|
||||
gint n_drawables,
|
||||
GimpDrawable **drawables,
|
||||
GFile *file,
|
||||
GimpMetadata *metadata,
|
||||
GimpProcedureConfig *config,
|
||||
|
@ -679,6 +675,7 @@ ps_export (GimpProcedure *procedure,
|
|||
{
|
||||
GimpPDBStatusType status = GIMP_PDB_SUCCESS;
|
||||
GimpExportReturn export = GIMP_EXPORT_IGNORE;
|
||||
GList *drawables;
|
||||
GimpImage *orig_image;
|
||||
gboolean eps_flag = FALSE;
|
||||
GError *error = NULL;
|
||||
|
@ -698,7 +695,7 @@ ps_export (GimpProcedure *procedure,
|
|||
case GIMP_RUN_WITH_LAST_VALS:
|
||||
gimp_ui_init (PLUG_IN_BINARY);
|
||||
|
||||
export = gimp_export_image (&image, &n_drawables, &drawables,
|
||||
export = gimp_export_image (&image,
|
||||
eps_flag ? "EPS" : "PostScript",
|
||||
GIMP_EXPORT_CAN_HANDLE_RGB |
|
||||
GIMP_EXPORT_CAN_HANDLE_GRAY |
|
||||
|
@ -708,16 +705,7 @@ ps_export (GimpProcedure *procedure,
|
|||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
if (n_drawables != 1)
|
||||
{
|
||||
g_set_error (&error, G_FILE_ERROR, 0,
|
||||
_("PostScript plug-in does not support multiple layers."));
|
||||
|
||||
return gimp_procedure_new_return_values (procedure,
|
||||
GIMP_PDB_CALLING_ERROR,
|
||||
error);
|
||||
}
|
||||
drawables = gimp_image_list_layers (image);
|
||||
|
||||
switch (run_mode)
|
||||
{
|
||||
|
@ -752,16 +740,15 @@ ps_export (GimpProcedure *procedure,
|
|||
|
||||
check_save_vals (config);
|
||||
|
||||
if (! export_image (file, G_OBJECT (config), image, drawables[0], &error))
|
||||
if (! export_image (file, G_OBJECT (config), image, drawables->data,
|
||||
&error))
|
||||
status = GIMP_PDB_EXECUTION_ERROR;
|
||||
}
|
||||
|
||||
if (export == GIMP_EXPORT_EXPORT)
|
||||
{
|
||||
gimp_image_delete (image);
|
||||
g_free (drawables);
|
||||
}
|
||||
gimp_image_delete (image);
|
||||
|
||||
g_list_free (drawables);
|
||||
return gimp_procedure_new_return_values (procedure, status, error);
|
||||
}
|
||||
|
||||
|
|
|
@ -594,8 +594,6 @@ static GimpValueArray * psp_load (GimpProcedure *procedure,
|
|||
static GimpValueArray * psp_export (GimpProcedure *procedure,
|
||||
GimpRunMode run_mode,
|
||||
GimpImage *image,
|
||||
gint n_drawables,
|
||||
GimpDrawable **drawables,
|
||||
GFile *file,
|
||||
GimpMetadata *metadata,
|
||||
GimpProcedureConfig *config,
|
||||
|
@ -606,7 +604,7 @@ static GimpImage * load_image (GFile *file,
|
|||
static gboolean export_image (GFile *file,
|
||||
GimpImage *image,
|
||||
gint n_drawables,
|
||||
GimpDrawable **drawables,
|
||||
GList *drawables,
|
||||
GObject *config,
|
||||
GError **error);
|
||||
static gboolean save_dialog (GimpProcedure *procedure,
|
||||
|
@ -761,8 +759,6 @@ static GimpValueArray *
|
|||
psp_export (GimpProcedure *procedure,
|
||||
GimpRunMode run_mode,
|
||||
GimpImage *image,
|
||||
gint n_drawables,
|
||||
GimpDrawable **drawables,
|
||||
GFile *file,
|
||||
GimpMetadata *metadata,
|
||||
GimpProcedureConfig *config,
|
||||
|
@ -770,6 +766,8 @@ psp_export (GimpProcedure *procedure,
|
|||
{
|
||||
GimpPDBStatusType status = GIMP_PDB_SUCCESS;
|
||||
GimpExportReturn export = GIMP_EXPORT_IGNORE;
|
||||
GList *drawables;
|
||||
gint n_drawables;
|
||||
GError *error = NULL;
|
||||
|
||||
gegl_init (NULL, NULL);
|
||||
|
@ -780,7 +778,7 @@ psp_export (GimpProcedure *procedure,
|
|||
case GIMP_RUN_WITH_LAST_VALS:
|
||||
gimp_ui_init (PLUG_IN_BINARY);
|
||||
|
||||
export = gimp_export_image (&image, &n_drawables, &drawables, "PSP",
|
||||
export = gimp_export_image (&image, "PSP",
|
||||
GIMP_EXPORT_CAN_HANDLE_RGB |
|
||||
GIMP_EXPORT_CAN_HANDLE_GRAY |
|
||||
GIMP_EXPORT_CAN_HANDLE_INDEXED |
|
||||
|
@ -791,6 +789,8 @@ psp_export (GimpProcedure *procedure,
|
|||
default:
|
||||
break;
|
||||
}
|
||||
drawables = gimp_image_list_layers (image);
|
||||
n_drawables = g_list_length (drawables);
|
||||
|
||||
if (run_mode == GIMP_RUN_INTERACTIVE)
|
||||
{
|
||||
|
@ -808,11 +808,9 @@ psp_export (GimpProcedure *procedure,
|
|||
}
|
||||
|
||||
if (export == GIMP_EXPORT_EXPORT)
|
||||
{
|
||||
gimp_image_delete (image);
|
||||
g_free (drawables);
|
||||
}
|
||||
gimp_image_delete (image);
|
||||
|
||||
g_list_free (drawables);
|
||||
return gimp_procedure_new_return_values (procedure, status, error);
|
||||
}
|
||||
|
||||
|
@ -2834,7 +2832,7 @@ static gint
|
|||
export_image (GFile *file,
|
||||
GimpImage *image,
|
||||
gint n_drawables,
|
||||
GimpDrawable **drawables,
|
||||
GList *drawables,
|
||||
GObject *config,
|
||||
GError **error)
|
||||
{
|
||||
|
|
|
@ -75,8 +75,6 @@ static GimpValueArray * qoi_load (GimpProcedure *procedure,
|
|||
static GimpValueArray * qoi_export (GimpProcedure *procedure,
|
||||
GimpRunMode run_mode,
|
||||
GimpImage *image,
|
||||
gint n_drawables,
|
||||
GimpDrawable **drawables,
|
||||
GFile *file,
|
||||
GimpMetadata *metadata,
|
||||
GimpProcedureConfig *config,
|
||||
|
@ -220,8 +218,6 @@ static GimpValueArray *
|
|||
qoi_export (GimpProcedure *procedure,
|
||||
GimpRunMode run_mode,
|
||||
GimpImage *image,
|
||||
gint n_drawables,
|
||||
GimpDrawable **drawables,
|
||||
GFile *file,
|
||||
GimpMetadata *metadata,
|
||||
GimpProcedureConfig *config,
|
||||
|
@ -229,6 +225,7 @@ qoi_export (GimpProcedure *procedure,
|
|||
{
|
||||
GimpPDBStatusType status = GIMP_PDB_SUCCESS;
|
||||
GimpExportReturn export = GIMP_EXPORT_IGNORE;
|
||||
GList *drawables;
|
||||
GError *error = NULL;
|
||||
|
||||
gegl_init (NULL, NULL);
|
||||
|
@ -239,7 +236,7 @@ qoi_export (GimpProcedure *procedure,
|
|||
case GIMP_RUN_WITH_LAST_VALS:
|
||||
gimp_ui_init (PLUG_IN_BINARY);
|
||||
|
||||
export = gimp_export_image (&image, &n_drawables, &drawables, "qoi",
|
||||
export = gimp_export_image (&image, "qoi",
|
||||
GIMP_EXPORT_CAN_HANDLE_RGB |
|
||||
GIMP_EXPORT_CAN_HANDLE_GRAY |
|
||||
GIMP_EXPORT_CAN_HANDLE_INDEXED |
|
||||
|
@ -249,18 +246,9 @@ qoi_export (GimpProcedure *procedure,
|
|||
default:
|
||||
break;
|
||||
}
|
||||
drawables = gimp_image_list_layers (image);
|
||||
|
||||
if (n_drawables != 1)
|
||||
{
|
||||
g_set_error (&error, G_FILE_ERROR, 0,
|
||||
_("QOI format does not support multiple layers."));
|
||||
|
||||
return gimp_procedure_new_return_values (procedure,
|
||||
GIMP_PDB_CALLING_ERROR,
|
||||
error);
|
||||
}
|
||||
|
||||
if (! export_image (file, image, drawables[0], &error))
|
||||
if (! export_image (file, image, drawables->data, &error))
|
||||
status = GIMP_PDB_EXECUTION_ERROR;
|
||||
|
||||
if (export == GIMP_EXPORT_EXPORT)
|
||||
|
@ -269,6 +257,7 @@ qoi_export (GimpProcedure *procedure,
|
|||
g_free (drawables);
|
||||
}
|
||||
|
||||
g_list_free (drawables);
|
||||
return gimp_procedure_new_return_values (procedure, status, error);
|
||||
}
|
||||
|
||||
|
|
|
@ -174,8 +174,6 @@ static GimpValueArray * raw_load (GimpProcedure *procedur
|
|||
static GimpValueArray * raw_export (GimpProcedure *procedure,
|
||||
GimpRunMode run_mode,
|
||||
GimpImage *image,
|
||||
gint n_drawables,
|
||||
GimpDrawable **drawables,
|
||||
GFile *file,
|
||||
GimpMetadata *metadata,
|
||||
GimpProcedureConfig *config,
|
||||
|
@ -657,8 +655,6 @@ static GimpValueArray *
|
|||
raw_export (GimpProcedure *procedure,
|
||||
GimpRunMode run_mode,
|
||||
GimpImage *image,
|
||||
gint n_drawables,
|
||||
GimpDrawable **drawables,
|
||||
GFile *file,
|
||||
GimpMetadata *metadata,
|
||||
GimpProcedureConfig *config,
|
||||
|
@ -666,6 +662,7 @@ raw_export (GimpProcedure *procedure,
|
|||
{
|
||||
GimpPDBStatusType status = GIMP_PDB_SUCCESS;
|
||||
GimpExportReturn export = GIMP_EXPORT_IGNORE;
|
||||
GList *drawables;
|
||||
RawPlanarConfiguration planar_conf;
|
||||
GError *error = NULL;
|
||||
|
||||
|
@ -680,50 +677,33 @@ raw_export (GimpProcedure *procedure,
|
|||
NULL);
|
||||
}
|
||||
|
||||
export = gimp_export_image (&image, &n_drawables, &drawables, "RAW",
|
||||
export = gimp_export_image (&image, "RAW",
|
||||
GIMP_EXPORT_CAN_HANDLE_RGB |
|
||||
GIMP_EXPORT_CAN_HANDLE_GRAY |
|
||||
GIMP_EXPORT_CAN_HANDLE_INDEXED |
|
||||
GIMP_EXPORT_CAN_HANDLE_ALPHA);
|
||||
|
||||
if (n_drawables != 1)
|
||||
{
|
||||
g_set_error (&error, G_FILE_ERROR, 0,
|
||||
_("RAW export does not support multiple layers."));
|
||||
|
||||
if (export == GIMP_EXPORT_EXPORT)
|
||||
{
|
||||
gimp_image_delete (image);
|
||||
g_free (drawables);
|
||||
}
|
||||
|
||||
return gimp_procedure_new_return_values (procedure,
|
||||
GIMP_PDB_CALLING_ERROR,
|
||||
error);
|
||||
}
|
||||
drawables = gimp_image_list_layers (image);
|
||||
|
||||
if (run_mode == GIMP_RUN_INTERACTIVE)
|
||||
{
|
||||
if (! save_dialog (image, procedure,
|
||||
gimp_drawable_has_alpha (drawables[0]),
|
||||
gimp_drawable_has_alpha (drawables->data),
|
||||
G_OBJECT (config)))
|
||||
status = GIMP_PDB_CANCEL;
|
||||
}
|
||||
|
||||
if (status == GIMP_PDB_SUCCESS)
|
||||
{
|
||||
if (! export_image (file, image, drawables[0], config, &error))
|
||||
if (! export_image (file, image, drawables->data, config, &error))
|
||||
{
|
||||
status = GIMP_PDB_EXECUTION_ERROR;
|
||||
}
|
||||
}
|
||||
|
||||
if (export == GIMP_EXPORT_EXPORT)
|
||||
{
|
||||
gimp_image_delete (image);
|
||||
g_free (drawables);
|
||||
}
|
||||
gimp_image_delete (image);
|
||||
|
||||
g_list_free (drawables);
|
||||
return gimp_procedure_new_return_values (procedure, status, error);
|
||||
}
|
||||
|
||||
|
|
|
@ -120,8 +120,6 @@ static GimpValueArray * sunras_load (GimpProcedure *procedur
|
|||
static GimpValueArray * sunras_export (GimpProcedure *procedure,
|
||||
GimpRunMode run_mode,
|
||||
GimpImage *image,
|
||||
gint n_drawables,
|
||||
GimpDrawable **drawables,
|
||||
GFile *file,
|
||||
GimpMetadata *metadata,
|
||||
GimpProcedureConfig *config,
|
||||
|
@ -366,8 +364,6 @@ static GimpValueArray *
|
|||
sunras_export (GimpProcedure *procedure,
|
||||
GimpRunMode run_mode,
|
||||
GimpImage *image,
|
||||
gint n_drawables,
|
||||
GimpDrawable **drawables,
|
||||
GFile *file,
|
||||
GimpMetadata *metadata,
|
||||
GimpProcedureConfig *config,
|
||||
|
@ -375,6 +371,7 @@ sunras_export (GimpProcedure *procedure,
|
|||
{
|
||||
GimpPDBStatusType status = GIMP_PDB_SUCCESS;
|
||||
GimpExportReturn export = GIMP_EXPORT_IGNORE;
|
||||
GList *drawables;
|
||||
GError *error = NULL;
|
||||
|
||||
gegl_init (NULL, NULL);
|
||||
|
@ -385,7 +382,7 @@ sunras_export (GimpProcedure *procedure,
|
|||
case GIMP_RUN_WITH_LAST_VALS:
|
||||
gimp_ui_init (PLUG_IN_BINARY);
|
||||
|
||||
export = gimp_export_image (&image, &n_drawables, &drawables, "SUNRAS",
|
||||
export = gimp_export_image (&image, "SUNRAS",
|
||||
GIMP_EXPORT_CAN_HANDLE_RGB |
|
||||
GIMP_EXPORT_CAN_HANDLE_GRAY |
|
||||
GIMP_EXPORT_CAN_HANDLE_INDEXED);
|
||||
|
@ -394,19 +391,7 @@ sunras_export (GimpProcedure *procedure,
|
|||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
if (n_drawables != 1)
|
||||
{
|
||||
/* PNG images have no layer concept. Export image should have a
|
||||
* single drawable selected.
|
||||
*/
|
||||
g_set_error (&error, G_FILE_ERROR, 0,
|
||||
_("SUNRAS format does not support multiple layers."));
|
||||
|
||||
return gimp_procedure_new_return_values (procedure,
|
||||
GIMP_PDB_CALLING_ERROR,
|
||||
error);
|
||||
}
|
||||
drawables = gimp_image_list_layers (image);
|
||||
|
||||
if (run_mode == GIMP_RUN_INTERACTIVE)
|
||||
{
|
||||
|
@ -416,19 +401,18 @@ sunras_export (GimpProcedure *procedure,
|
|||
|
||||
if (status == GIMP_PDB_SUCCESS)
|
||||
{
|
||||
if (! export_image (file, image, drawables[0], G_OBJECT (config),
|
||||
if (! export_image (file, image, drawables->data, G_OBJECT (config),
|
||||
&error))
|
||||
{
|
||||
status = GIMP_PDB_EXECUTION_ERROR;
|
||||
}
|
||||
}
|
||||
|
||||
if (export == GIMP_EXPORT_EXPORT)
|
||||
{
|
||||
gimp_image_delete (image);
|
||||
g_free (drawables);
|
||||
}
|
||||
|
||||
if (export == GIMP_EXPORT_EXPORT)
|
||||
gimp_image_delete (image);
|
||||
|
||||
g_list_free (drawables);
|
||||
return gimp_procedure_new_return_values (procedure, status, error);
|
||||
}
|
||||
|
||||
|
|
|
@ -184,8 +184,6 @@ static GimpValueArray * tga_load (GimpProcedure *procedure,
|
|||
static GimpValueArray * tga_export (GimpProcedure *procedure,
|
||||
GimpRunMode run_mode,
|
||||
GimpImage *image,
|
||||
gint n_drawables,
|
||||
GimpDrawable **drawables,
|
||||
GFile *file,
|
||||
GimpMetadata *metadata,
|
||||
GimpProcedureConfig *config,
|
||||
|
@ -355,8 +353,6 @@ static GimpValueArray *
|
|||
tga_export (GimpProcedure *procedure,
|
||||
GimpRunMode run_mode,
|
||||
GimpImage *image,
|
||||
gint n_drawables,
|
||||
GimpDrawable **drawables,
|
||||
GFile *file,
|
||||
GimpMetadata *metadata,
|
||||
GimpProcedureConfig *config,
|
||||
|
@ -364,6 +360,7 @@ tga_export (GimpProcedure *procedure,
|
|||
{
|
||||
GimpPDBStatusType status = GIMP_PDB_SUCCESS;
|
||||
GimpExportReturn export = GIMP_EXPORT_IGNORE;
|
||||
GList *drawables;
|
||||
GError *error = NULL;
|
||||
|
||||
gegl_init (NULL, NULL);
|
||||
|
@ -374,7 +371,7 @@ tga_export (GimpProcedure *procedure,
|
|||
case GIMP_RUN_WITH_LAST_VALS:
|
||||
gimp_ui_init (PLUG_IN_BINARY);
|
||||
|
||||
export = gimp_export_image (&image, &n_drawables, &drawables, "TGA",
|
||||
export = gimp_export_image (&image, "TGA",
|
||||
GIMP_EXPORT_CAN_HANDLE_RGB |
|
||||
GIMP_EXPORT_CAN_HANDLE_GRAY |
|
||||
GIMP_EXPORT_CAN_HANDLE_INDEXED |
|
||||
|
@ -384,16 +381,7 @@ tga_export (GimpProcedure *procedure,
|
|||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
if (n_drawables != 1)
|
||||
{
|
||||
g_set_error (&error, G_FILE_ERROR, 0,
|
||||
_("TGA format does not support multiple layers."));
|
||||
|
||||
return gimp_procedure_new_return_values (procedure,
|
||||
GIMP_PDB_CALLING_ERROR,
|
||||
error);
|
||||
}
|
||||
drawables = gimp_image_list_layers (image);
|
||||
|
||||
if (run_mode == GIMP_RUN_INTERACTIVE)
|
||||
{
|
||||
|
@ -403,7 +391,7 @@ tga_export (GimpProcedure *procedure,
|
|||
|
||||
if (status == GIMP_PDB_SUCCESS)
|
||||
{
|
||||
if (! export_image (file, image, drawables[0], G_OBJECT (config),
|
||||
if (! export_image (file, image, drawables->data, G_OBJECT (config),
|
||||
&error))
|
||||
{
|
||||
status = GIMP_PDB_EXECUTION_ERROR;
|
||||
|
@ -411,11 +399,9 @@ tga_export (GimpProcedure *procedure,
|
|||
}
|
||||
|
||||
if (export == GIMP_EXPORT_EXPORT)
|
||||
{
|
||||
gimp_image_delete (image);
|
||||
g_free (drawables);
|
||||
}
|
||||
gimp_image_delete (image);
|
||||
|
||||
g_list_free (drawables);
|
||||
return gimp_procedure_new_return_values (procedure, status, error);
|
||||
}
|
||||
|
||||
|
|
|
@ -88,8 +88,6 @@ static GimpValueArray * xbm_load (GimpProcedure *procedure,
|
|||
static GimpValueArray * xbm_export (GimpProcedure *procedure,
|
||||
GimpRunMode run_mode,
|
||||
GimpImage *image,
|
||||
gint n_drawables,
|
||||
GimpDrawable **drawables,
|
||||
GFile *file,
|
||||
GimpMetadata *metadata,
|
||||
GimpProcedureConfig *config,
|
||||
|
@ -338,8 +336,6 @@ static GimpValueArray *
|
|||
xbm_export (GimpProcedure *procedure,
|
||||
GimpRunMode run_mode,
|
||||
GimpImage *image,
|
||||
gint n_drawables,
|
||||
GimpDrawable **drawables,
|
||||
GFile *file,
|
||||
GimpMetadata *metadata,
|
||||
GimpProcedureConfig *config,
|
||||
|
@ -347,6 +343,7 @@ xbm_export (GimpProcedure *procedure,
|
|||
{
|
||||
GimpPDBStatusType status = GIMP_PDB_SUCCESS;
|
||||
GimpExportReturn export = GIMP_EXPORT_IGNORE;
|
||||
GList *drawables;
|
||||
gchar *mask_basename = NULL;
|
||||
GError *error = NULL;
|
||||
|
||||
|
@ -358,7 +355,7 @@ xbm_export (GimpProcedure *procedure,
|
|||
case GIMP_RUN_WITH_LAST_VALS:
|
||||
gimp_ui_init (PLUG_IN_BINARY);
|
||||
|
||||
export = gimp_export_image (&image, &n_drawables, &drawables, "XBM",
|
||||
export = gimp_export_image (&image, "XBM",
|
||||
GIMP_EXPORT_CAN_HANDLE_BITMAP |
|
||||
GIMP_EXPORT_CAN_HANDLE_ALPHA);
|
||||
break;
|
||||
|
@ -366,16 +363,7 @@ xbm_export (GimpProcedure *procedure,
|
|||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
if (n_drawables != 1)
|
||||
{
|
||||
g_set_error (&error, G_FILE_ERROR, 0,
|
||||
_("XBM format does not support multiple layers."));
|
||||
|
||||
return gimp_procedure_new_return_values (procedure,
|
||||
GIMP_PDB_CALLING_ERROR,
|
||||
error);
|
||||
}
|
||||
drawables = gimp_image_list_layers (image);
|
||||
|
||||
if (run_mode == GIMP_RUN_INTERACTIVE ||
|
||||
run_mode == GIMP_RUN_WITH_LAST_VALS)
|
||||
|
@ -412,7 +400,7 @@ xbm_export (GimpProcedure *procedure,
|
|||
g_free (parasite_data);
|
||||
}
|
||||
|
||||
if (! save_dialog (image, drawables[0], procedure, G_OBJECT (config)))
|
||||
if (! save_dialog (image, drawables->data, procedure, G_OBJECT (config)))
|
||||
status = GIMP_PDB_CANCEL;
|
||||
}
|
||||
|
||||
|
@ -458,7 +446,7 @@ xbm_export (GimpProcedure *procedure,
|
|||
if (! export_image (file,
|
||||
prefix,
|
||||
FALSE,
|
||||
image, drawables[0],
|
||||
image, drawables->data,
|
||||
G_OBJECT (config),
|
||||
&error)
|
||||
|
||||
|
@ -468,7 +456,7 @@ xbm_export (GimpProcedure *procedure,
|
|||
! export_image (mask_file,
|
||||
mask_prefix,
|
||||
TRUE,
|
||||
image, drawables[0],
|
||||
image, drawables->data,
|
||||
G_OBJECT (config),
|
||||
&error)))
|
||||
{
|
||||
|
@ -484,11 +472,9 @@ xbm_export (GimpProcedure *procedure,
|
|||
}
|
||||
|
||||
if (export == GIMP_EXPORT_EXPORT)
|
||||
{
|
||||
gimp_image_delete (image);
|
||||
g_free (drawables);
|
||||
}
|
||||
gimp_image_delete (image);
|
||||
|
||||
g_list_free (drawables);
|
||||
return gimp_procedure_new_return_values (procedure, status, error);
|
||||
}
|
||||
|
||||
|
|
|
@ -172,8 +172,6 @@ static GimpValueArray * xmc_load_thumb (GimpProcedure *pro
|
|||
static GimpValueArray * xmc_export (GimpProcedure *procedure,
|
||||
GimpRunMode run_mode,
|
||||
GimpImage *image,
|
||||
gint n_drawables,
|
||||
GimpDrawable **drawables,
|
||||
GFile *file,
|
||||
GimpMetadata *metadata,
|
||||
GimpProcedureConfig *config,
|
||||
|
@ -195,7 +193,7 @@ static guint32 read32 (FILE *f,
|
|||
static gboolean export_image (GFile *file,
|
||||
GimpImage *image,
|
||||
gint n_drawables,
|
||||
GimpDrawable **drawables,
|
||||
GList *drawables,
|
||||
GimpImage *orig_image,
|
||||
GObject *config,
|
||||
GError **error);
|
||||
|
@ -526,20 +524,20 @@ static GimpValueArray *
|
|||
xmc_export (GimpProcedure *procedure,
|
||||
GimpRunMode run_mode,
|
||||
GimpImage *image,
|
||||
gint n_drawables,
|
||||
GimpDrawable **drawables,
|
||||
GFile *file,
|
||||
GimpMetadata *metadata,
|
||||
GimpProcedureConfig *config,
|
||||
gpointer run_data)
|
||||
{
|
||||
GimpPDBStatusType status = GIMP_PDB_SUCCESS;
|
||||
GimpExportReturn export = GIMP_EXPORT_IGNORE;
|
||||
GimpPDBStatusType status = GIMP_PDB_SUCCESS;
|
||||
GimpExportReturn export = GIMP_EXPORT_IGNORE;
|
||||
GList *drawables = gimp_image_list_layers (image);
|
||||
gint n_drawables = g_list_length (drawables);
|
||||
GimpImage *orig_image;
|
||||
GeglRectangle *hotspot_range;
|
||||
gint hot_spot_x;
|
||||
gint hot_spot_y;
|
||||
GError *error = NULL;
|
||||
GError *error = NULL;
|
||||
|
||||
gegl_init (NULL, NULL);
|
||||
|
||||
|
@ -565,7 +563,7 @@ xmc_export (GimpProcedure *procedure,
|
|||
case GIMP_RUN_WITH_LAST_VALS:
|
||||
gimp_ui_init (PLUG_IN_BINARY);
|
||||
|
||||
export = gimp_export_image (&image, &n_drawables, &drawables, "XMC",
|
||||
export = gimp_export_image (&image, "XMC",
|
||||
GIMP_EXPORT_CAN_HANDLE_RGB |
|
||||
GIMP_EXPORT_CAN_HANDLE_ALPHA |
|
||||
GIMP_EXPORT_CAN_HANDLE_LAYERS |
|
||||
|
@ -575,6 +573,8 @@ xmc_export (GimpProcedure *procedure,
|
|||
default:
|
||||
break;
|
||||
}
|
||||
drawables = gimp_image_list_layers (image);
|
||||
n_drawables = g_list_length (drawables);
|
||||
|
||||
switch (run_mode)
|
||||
{
|
||||
|
@ -617,12 +617,10 @@ xmc_export (GimpProcedure *procedure,
|
|||
}
|
||||
|
||||
if (export == GIMP_EXPORT_EXPORT)
|
||||
{
|
||||
gimp_image_delete (image);
|
||||
g_free (drawables);
|
||||
}
|
||||
gimp_image_delete (image);
|
||||
|
||||
g_free (hotspot_range);
|
||||
g_list_free (drawables);
|
||||
|
||||
return gimp_procedure_new_return_values (procedure, status, error);
|
||||
}
|
||||
|
@ -1212,7 +1210,7 @@ static gboolean
|
|||
export_image (GFile *file,
|
||||
GimpImage *image,
|
||||
gint n_drawables,
|
||||
GimpDrawable **drawables,
|
||||
GList *drawables,
|
||||
GimpImage *orig_image,
|
||||
GObject *config,
|
||||
GError **error)
|
||||
|
|
|
@ -114,8 +114,6 @@ static GimpValueArray * xpm_load (GimpProcedure *procedure,
|
|||
static GimpValueArray * xpm_export (GimpProcedure *procedure,
|
||||
GimpRunMode run_mode,
|
||||
GimpImage *image,
|
||||
gint n_drawables,
|
||||
GimpDrawable **drawables,
|
||||
GFile *file,
|
||||
GimpMetadata *metadata,
|
||||
GimpProcedureConfig *config,
|
||||
|
@ -303,8 +301,6 @@ static GimpValueArray *
|
|||
xpm_export (GimpProcedure *procedure,
|
||||
GimpRunMode run_mode,
|
||||
GimpImage *image,
|
||||
gint n_drawables,
|
||||
GimpDrawable **drawables,
|
||||
GFile *file,
|
||||
GimpMetadata *metadata,
|
||||
GimpProcedureConfig *config,
|
||||
|
@ -312,7 +308,8 @@ xpm_export (GimpProcedure *procedure,
|
|||
{
|
||||
GimpPDBStatusType status = GIMP_PDB_SUCCESS;
|
||||
GimpExportReturn export = GIMP_EXPORT_IGNORE;
|
||||
GError *error = NULL;
|
||||
GList *drawables;
|
||||
GError *error = NULL;
|
||||
|
||||
gegl_init (NULL, NULL);
|
||||
|
||||
|
@ -322,7 +319,7 @@ xpm_export (GimpProcedure *procedure,
|
|||
case GIMP_RUN_WITH_LAST_VALS:
|
||||
gimp_ui_init (PLUG_IN_BINARY);
|
||||
|
||||
export = gimp_export_image (&image, &n_drawables, &drawables, "XPM",
|
||||
export = gimp_export_image (&image, "XPM",
|
||||
GIMP_EXPORT_CAN_HANDLE_RGB |
|
||||
GIMP_EXPORT_CAN_HANDLE_GRAY |
|
||||
GIMP_EXPORT_CAN_HANDLE_INDEXED |
|
||||
|
@ -332,27 +329,18 @@ xpm_export (GimpProcedure *procedure,
|
|||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
if (n_drawables != 1)
|
||||
{
|
||||
g_set_error (&error, G_FILE_ERROR, 0,
|
||||
_("XPM format does not support multiple layers."));
|
||||
|
||||
return gimp_procedure_new_return_values (procedure,
|
||||
GIMP_PDB_CALLING_ERROR,
|
||||
error);
|
||||
}
|
||||
drawables = gimp_image_list_layers (image);
|
||||
|
||||
if (run_mode == GIMP_RUN_INTERACTIVE)
|
||||
{
|
||||
if (gimp_drawable_has_alpha (drawables[0]))
|
||||
if (gimp_drawable_has_alpha (drawables->data))
|
||||
if (! save_dialog (image, procedure, G_OBJECT (config)))
|
||||
status = GIMP_PDB_CANCEL;
|
||||
}
|
||||
|
||||
if (status == GIMP_PDB_SUCCESS)
|
||||
{
|
||||
if (! export_image (file, image, drawables[0], G_OBJECT (config),
|
||||
if (! export_image (file, image, drawables->data, G_OBJECT (config),
|
||||
&error))
|
||||
{
|
||||
status = GIMP_PDB_EXECUTION_ERROR;
|
||||
|
@ -360,11 +348,9 @@ xpm_export (GimpProcedure *procedure,
|
|||
}
|
||||
|
||||
if (export == GIMP_EXPORT_EXPORT)
|
||||
{
|
||||
gimp_image_delete (image);
|
||||
g_free (drawables);
|
||||
}
|
||||
gimp_image_delete (image);
|
||||
|
||||
g_list_free (drawables);
|
||||
return gimp_procedure_new_return_values (procedure, status, error);
|
||||
}
|
||||
|
||||
|
|
|
@ -169,8 +169,6 @@ static GimpValueArray * xwd_load (GimpProcedure *procedure,
|
|||
static GimpValueArray * xwd_export (GimpProcedure *procedure,
|
||||
GimpRunMode run_mode,
|
||||
GimpImage *image,
|
||||
gint n_drawables,
|
||||
GimpDrawable **drawables,
|
||||
GFile *file,
|
||||
GimpMetadata *metadata,
|
||||
GimpProcedureConfig *config,
|
||||
|
@ -413,8 +411,6 @@ static GimpValueArray *
|
|||
xwd_export (GimpProcedure *procedure,
|
||||
GimpRunMode run_mode,
|
||||
GimpImage *image,
|
||||
gint n_drawables,
|
||||
GimpDrawable **drawables,
|
||||
GFile *file,
|
||||
GimpMetadata *metadata,
|
||||
GimpProcedureConfig *config,
|
||||
|
@ -422,7 +418,8 @@ xwd_export (GimpProcedure *procedure,
|
|||
{
|
||||
GimpPDBStatusType status = GIMP_PDB_SUCCESS;
|
||||
GimpExportReturn export = GIMP_EXPORT_IGNORE;
|
||||
GError *error = NULL;
|
||||
GList *drawables;
|
||||
GError *error = NULL;
|
||||
|
||||
gegl_init (NULL, NULL);
|
||||
|
||||
|
@ -432,7 +429,7 @@ xwd_export (GimpProcedure *procedure,
|
|||
case GIMP_RUN_WITH_LAST_VALS:
|
||||
gimp_ui_init (PLUG_IN_BINARY);
|
||||
|
||||
export = gimp_export_image (&image, &n_drawables, &drawables, "XWD",
|
||||
export = gimp_export_image (&image, "XWD",
|
||||
GIMP_EXPORT_CAN_HANDLE_RGB |
|
||||
GIMP_EXPORT_CAN_HANDLE_GRAY |
|
||||
GIMP_EXPORT_CAN_HANDLE_INDEXED);
|
||||
|
@ -441,28 +438,17 @@ xwd_export (GimpProcedure *procedure,
|
|||
default:
|
||||
break;
|
||||
}
|
||||
drawables = gimp_image_list_layers (image);
|
||||
|
||||
if (n_drawables != 1)
|
||||
{
|
||||
g_set_error (&error, G_FILE_ERROR, 0,
|
||||
_("XWD format does not support multiple layers."));
|
||||
|
||||
return gimp_procedure_new_return_values (procedure,
|
||||
GIMP_PDB_CALLING_ERROR,
|
||||
error);
|
||||
}
|
||||
|
||||
if (! export_image (file, image, drawables[0], &error))
|
||||
if (! export_image (file, image, drawables->data, &error))
|
||||
{
|
||||
status = GIMP_PDB_EXECUTION_ERROR;
|
||||
}
|
||||
|
||||
if (export == GIMP_EXPORT_EXPORT)
|
||||
{
|
||||
gimp_image_delete (image);
|
||||
g_free (drawables);
|
||||
}
|
||||
gimp_image_delete (image);
|
||||
|
||||
g_list_free (drawables);
|
||||
return gimp_procedure_new_return_values (procedure, status, error);
|
||||
}
|
||||
|
||||
|
|
|
@ -99,8 +99,6 @@ static GimpValueArray * bmp_load (GimpProcedure *procedure,
|
|||
static GimpValueArray * bmp_export (GimpProcedure *procedure,
|
||||
GimpRunMode run_mode,
|
||||
GimpImage *image,
|
||||
gint n_drawables,
|
||||
GimpDrawable **drawables,
|
||||
GFile *file,
|
||||
GimpMetadata *metadata,
|
||||
GimpProcedureConfig *config,
|
||||
|
@ -257,8 +255,6 @@ static GimpValueArray *
|
|||
bmp_export (GimpProcedure *procedure,
|
||||
GimpRunMode run_mode,
|
||||
GimpImage *image,
|
||||
gint n_drawables,
|
||||
GimpDrawable **drawables,
|
||||
GFile *file,
|
||||
GimpMetadata *metadata,
|
||||
GimpProcedureConfig *config,
|
||||
|
@ -266,7 +262,8 @@ bmp_export (GimpProcedure *procedure,
|
|||
{
|
||||
GimpPDBStatusType status = GIMP_PDB_SUCCESS;
|
||||
GimpExportReturn export = GIMP_EXPORT_IGNORE;
|
||||
GError *error = NULL;
|
||||
GList *drawables;
|
||||
GError *error = NULL;
|
||||
|
||||
gegl_init (NULL, NULL);
|
||||
|
||||
|
@ -276,7 +273,7 @@ bmp_export (GimpProcedure *procedure,
|
|||
case GIMP_RUN_WITH_LAST_VALS:
|
||||
gimp_ui_init (PLUG_IN_BINARY);
|
||||
|
||||
export = gimp_export_image (&image, &n_drawables, &drawables, "BMP",
|
||||
export = gimp_export_image (&image, "BMP",
|
||||
GIMP_EXPORT_CAN_HANDLE_RGB |
|
||||
GIMP_EXPORT_CAN_HANDLE_GRAY |
|
||||
GIMP_EXPORT_CAN_HANDLE_ALPHA |
|
||||
|
@ -286,26 +283,15 @@ bmp_export (GimpProcedure *procedure,
|
|||
default:
|
||||
break;
|
||||
}
|
||||
drawables = gimp_image_list_layers (image);
|
||||
|
||||
if (n_drawables != 1)
|
||||
{
|
||||
g_set_error (&error, G_FILE_ERROR, 0,
|
||||
_("BMP format does not support multiple layers."));
|
||||
|
||||
return gimp_procedure_new_return_values (procedure,
|
||||
GIMP_PDB_CALLING_ERROR,
|
||||
error);
|
||||
}
|
||||
|
||||
status = export_image (file, image, drawables[0], run_mode,
|
||||
status = export_image (file, image, drawables->data, run_mode,
|
||||
procedure, G_OBJECT (config),
|
||||
&error);
|
||||
|
||||
if (export == GIMP_EXPORT_EXPORT)
|
||||
{
|
||||
gimp_image_delete (image);
|
||||
g_free (drawables);
|
||||
}
|
||||
gimp_image_delete (image);
|
||||
|
||||
g_list_free (drawables);
|
||||
return gimp_procedure_new_return_values (procedure, status, error);
|
||||
}
|
||||
|
|
|
@ -76,8 +76,6 @@ static GimpValueArray * dds_load (GimpProcedure *procedure,
|
|||
static GimpValueArray * dds_export (GimpProcedure *procedure,
|
||||
GimpRunMode run_mode,
|
||||
GimpImage *image,
|
||||
gint n_drawables,
|
||||
GimpDrawable **drawables,
|
||||
GFile *file,
|
||||
GimpMetadata *metadata,
|
||||
GimpProcedureConfig *config,
|
||||
|
@ -371,8 +369,6 @@ static GimpValueArray *
|
|||
dds_export (GimpProcedure *procedure,
|
||||
GimpRunMode run_mode,
|
||||
GimpImage *image,
|
||||
gint n_drawables,
|
||||
GimpDrawable **drawables,
|
||||
GFile *file,
|
||||
GimpMetadata *metadata,
|
||||
GimpProcedureConfig *config,
|
||||
|
@ -380,7 +376,8 @@ dds_export (GimpProcedure *procedure,
|
|||
{
|
||||
GimpPDBStatusType status = GIMP_PDB_SUCCESS;
|
||||
GimpExportReturn export = GIMP_EXPORT_IGNORE;
|
||||
GError *error = NULL;
|
||||
GList *drawables;
|
||||
GError *error = NULL;
|
||||
gdouble gamma;
|
||||
|
||||
gegl_init (NULL, NULL);
|
||||
|
@ -391,7 +388,7 @@ dds_export (GimpProcedure *procedure,
|
|||
case GIMP_RUN_WITH_LAST_VALS:
|
||||
gimp_ui_init ("dds");
|
||||
|
||||
export = gimp_export_image (&image, &n_drawables, &drawables, "DDS",
|
||||
export = gimp_export_image (&image, "DDS",
|
||||
GIMP_EXPORT_CAN_HANDLE_RGB |
|
||||
GIMP_EXPORT_CAN_HANDLE_GRAY |
|
||||
GIMP_EXPORT_CAN_HANDLE_INDEXED |
|
||||
|
@ -402,6 +399,7 @@ dds_export (GimpProcedure *procedure,
|
|||
default:
|
||||
break;
|
||||
}
|
||||
drawables = gimp_image_list_layers (image);
|
||||
|
||||
g_object_get (config,
|
||||
"gamma", &gamma,
|
||||
|
@ -419,16 +417,14 @@ dds_export (GimpProcedure *procedure,
|
|||
/* TODO: support multiple-layers selection, especially as DDS has
|
||||
* DDS_SAVE_SELECTED_LAYER option support.
|
||||
*/
|
||||
status = write_dds (file, image, drawables[0],
|
||||
status = write_dds (file, image, drawables->data,
|
||||
run_mode == GIMP_RUN_INTERACTIVE,
|
||||
procedure, config,
|
||||
export == GIMP_EXPORT_EXPORT);
|
||||
|
||||
if (export == GIMP_EXPORT_EXPORT)
|
||||
{
|
||||
gimp_image_delete (image);
|
||||
g_free (drawables);
|
||||
}
|
||||
gimp_image_delete (image);
|
||||
|
||||
g_list_free (drawables);
|
||||
return gimp_procedure_new_return_values (procedure, status, error);
|
||||
}
|
||||
|
|
|
@ -97,8 +97,6 @@ static GimpValueArray * fits_load (GimpProcedure *procedure,
|
|||
static GimpValueArray * fits_export (GimpProcedure *procedure,
|
||||
GimpRunMode run_mode,
|
||||
GimpImage *image,
|
||||
gint n_drawables,
|
||||
GimpDrawable **drawables,
|
||||
GFile *file,
|
||||
GimpMetadata *metadata,
|
||||
GimpProcedureConfig *config,
|
||||
|
@ -283,8 +281,6 @@ static GimpValueArray *
|
|||
fits_export (GimpProcedure *procedure,
|
||||
GimpRunMode run_mode,
|
||||
GimpImage *image,
|
||||
gint n_drawables,
|
||||
GimpDrawable **drawables,
|
||||
GFile *file,
|
||||
GimpMetadata *metadata,
|
||||
GimpProcedureConfig *config,
|
||||
|
@ -294,6 +290,8 @@ fits_export (GimpProcedure *procedure,
|
|||
GimpItem **flipped_drawables;
|
||||
GimpPDBStatusType status = GIMP_PDB_SUCCESS;
|
||||
GimpExportReturn export = GIMP_EXPORT_IGNORE;
|
||||
GList *drawables;
|
||||
gint n_drawables;
|
||||
GError *error = NULL;
|
||||
|
||||
gegl_init (NULL, NULL);
|
||||
|
@ -304,7 +302,7 @@ fits_export (GimpProcedure *procedure,
|
|||
case GIMP_RUN_WITH_LAST_VALS:
|
||||
gimp_ui_init (PLUG_IN_BINARY);
|
||||
|
||||
export = gimp_export_image (&image, &n_drawables, &drawables, "FITS",
|
||||
export = gimp_export_image (&image, "FITS",
|
||||
GIMP_EXPORT_CAN_HANDLE_RGB |
|
||||
GIMP_EXPORT_CAN_HANDLE_GRAY |
|
||||
GIMP_EXPORT_CAN_HANDLE_INDEXED);
|
||||
|
@ -313,16 +311,8 @@ fits_export (GimpProcedure *procedure,
|
|||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
if (n_drawables != 1)
|
||||
{
|
||||
g_set_error (&error, G_FILE_ERROR, 0,
|
||||
_("FITS format does not support multiple layers."));
|
||||
|
||||
return gimp_procedure_new_return_values (procedure,
|
||||
GIMP_PDB_CALLING_ERROR,
|
||||
error);
|
||||
}
|
||||
drawables = gimp_image_list_layers (image);
|
||||
n_drawables = g_list_length (drawables);
|
||||
|
||||
/* Flip image vertical since FITS writes from bottom to top */
|
||||
duplicate_image = gimp_image_duplicate (image);
|
||||
|
@ -338,11 +328,9 @@ fits_export (GimpProcedure *procedure,
|
|||
g_free (flipped_drawables);
|
||||
|
||||
if (export == GIMP_EXPORT_EXPORT)
|
||||
{
|
||||
gimp_image_delete (image);
|
||||
g_free (drawables);
|
||||
}
|
||||
gimp_image_delete (image);
|
||||
|
||||
g_list_free (drawables);
|
||||
return gimp_procedure_new_return_values (procedure, status, error);
|
||||
}
|
||||
|
||||
|
|
|
@ -104,8 +104,6 @@ static GimpValueArray * fli_load (GimpProcedure *procedure,
|
|||
static GimpValueArray * fli_export (GimpProcedure *procedure,
|
||||
GimpRunMode run_mode,
|
||||
GimpImage *image,
|
||||
gint n_drawables,
|
||||
GimpDrawable **drawables,
|
||||
GFile *file,
|
||||
GimpMetadata *metadata,
|
||||
GimpProcedureConfig *config,
|
||||
|
@ -335,8 +333,6 @@ static GimpValueArray *
|
|||
fli_export (GimpProcedure *procedure,
|
||||
GimpRunMode run_mode,
|
||||
GimpImage *image,
|
||||
gint n_drawables,
|
||||
GimpDrawable **drawables,
|
||||
GFile *file,
|
||||
GimpMetadata *metadata,
|
||||
GimpProcedureConfig *config,
|
||||
|
@ -344,6 +340,7 @@ fli_export (GimpProcedure *procedure,
|
|||
{
|
||||
GimpPDBStatusType status = GIMP_PDB_SUCCESS;
|
||||
GimpExportReturn export = GIMP_EXPORT_IGNORE;
|
||||
GList *drawables;
|
||||
GError *error = NULL;
|
||||
|
||||
gegl_init (NULL, NULL);
|
||||
|
@ -354,7 +351,7 @@ fli_export (GimpProcedure *procedure,
|
|||
case GIMP_RUN_WITH_LAST_VALS:
|
||||
gimp_ui_init (PLUG_IN_BINARY);
|
||||
|
||||
export = gimp_export_image (&image, &n_drawables, &drawables, "FLI",
|
||||
export = gimp_export_image (&image, "FLI",
|
||||
GIMP_EXPORT_CAN_HANDLE_INDEXED |
|
||||
GIMP_EXPORT_CAN_HANDLE_GRAY |
|
||||
GIMP_EXPORT_CAN_HANDLE_ALPHA |
|
||||
|
@ -364,6 +361,7 @@ fli_export (GimpProcedure *procedure,
|
|||
default:
|
||||
break;
|
||||
}
|
||||
drawables = gimp_image_list_layers (image);
|
||||
|
||||
if (run_mode == GIMP_RUN_INTERACTIVE)
|
||||
{
|
||||
|
@ -381,11 +379,9 @@ fli_export (GimpProcedure *procedure,
|
|||
}
|
||||
|
||||
if (export == GIMP_EXPORT_EXPORT)
|
||||
{
|
||||
gimp_image_delete (image);
|
||||
g_free (drawables);
|
||||
}
|
||||
gimp_image_delete (image);
|
||||
|
||||
g_list_free (drawables);
|
||||
return gimp_procedure_new_return_values (procedure, status, error);
|
||||
}
|
||||
|
||||
|
|
|
@ -453,26 +453,26 @@ icns_export_image (GFile *file,
|
|||
{
|
||||
GimpProcedure *procedure;
|
||||
GimpValueArray *return_vals;
|
||||
GimpDrawable **drawables = NULL;
|
||||
GimpImage *temp_image;
|
||||
GimpLayer *temp_layer;
|
||||
GFile *temp_file = NULL;
|
||||
GimpObjectArray *args;
|
||||
FILE *temp_fp;
|
||||
gint temp_size;
|
||||
gint macos_size;
|
||||
|
||||
temp_file = gimp_temp_file ("png");
|
||||
temp_file = gimp_temp_file ("png");
|
||||
|
||||
drawables = g_new (GimpDrawable *, 1);
|
||||
drawables[0] = iter->data;
|
||||
|
||||
args = gimp_object_array_new (GIMP_TYPE_DRAWABLE, (GObject **) drawables, 1, FALSE);
|
||||
/* TODO: Use GimpExportOptions for this when available */
|
||||
temp_image = gimp_image_new (width, height,
|
||||
gimp_image_get_base_type (image));
|
||||
temp_layer = gimp_layer_new_from_drawable (GIMP_DRAWABLE (iter->data),
|
||||
temp_image);
|
||||
gimp_image_insert_layer (temp_image, temp_layer, NULL, 0);
|
||||
|
||||
procedure = gimp_pdb_lookup_procedure (gimp_get_pdb (), "file-png-export");
|
||||
return_vals = gimp_procedure_run (procedure,
|
||||
"run-mode", GIMP_RUN_NONINTERACTIVE,
|
||||
"image", image,
|
||||
"num-drawables", 1,
|
||||
"drawables", args,
|
||||
"image", temp_image,
|
||||
"file", temp_file,
|
||||
"interlaced", FALSE,
|
||||
"compression", 9,
|
||||
|
@ -483,9 +483,7 @@ icns_export_image (GFile *file,
|
|||
"save-transparent", FALSE,
|
||||
"optimize-palette", FALSE,
|
||||
NULL);
|
||||
|
||||
gimp_object_array_free (args);
|
||||
g_clear_pointer (&drawables, g_free);
|
||||
gimp_image_delete (temp_image);
|
||||
|
||||
if (GIMP_VALUES_GET_ENUM (return_vals, 0) != GIMP_PDB_SUCCESS)
|
||||
{
|
||||
|
|
|
@ -79,8 +79,6 @@ static GimpValueArray * icns_load_thumb (GimpProcedure *procedure,
|
|||
static GimpValueArray * icns_export (GimpProcedure *procedure,
|
||||
GimpRunMode run_mode,
|
||||
GimpImage *image,
|
||||
gint n_drawables,
|
||||
GimpDrawable **drawables,
|
||||
GFile *file,
|
||||
GimpMetadata *metadata,
|
||||
GimpProcedureConfig *config,
|
||||
|
@ -270,8 +268,6 @@ static GimpValueArray *
|
|||
icns_export (GimpProcedure *procedure,
|
||||
GimpRunMode run_mode,
|
||||
GimpImage *image,
|
||||
gint n_drawables,
|
||||
GimpDrawable **drawables,
|
||||
GFile *file,
|
||||
GimpMetadata *metadata,
|
||||
GimpProcedureConfig *config,
|
||||
|
|
|
@ -96,8 +96,6 @@ static GimpValueArray * ani_load_thumb (GimpProcedure *procedure,
|
|||
static GimpValueArray * ico_export (GimpProcedure *procedure,
|
||||
GimpRunMode run_mode,
|
||||
GimpImage *image,
|
||||
gint n_drawables,
|
||||
GimpDrawable **drawables,
|
||||
GFile *file,
|
||||
GimpMetadata *metadata,
|
||||
GimpProcedureConfig *config,
|
||||
|
@ -105,8 +103,6 @@ static GimpValueArray * ico_export (GimpProcedure *procedure,
|
|||
static GimpValueArray * cur_export (GimpProcedure *procedure,
|
||||
GimpRunMode run_mode,
|
||||
GimpImage *image,
|
||||
gint n_drawables,
|
||||
GimpDrawable **drawables,
|
||||
GFile *file,
|
||||
GimpMetadata *metadata,
|
||||
GimpProcedureConfig *config,
|
||||
|
@ -114,8 +110,6 @@ static GimpValueArray * cur_export (GimpProcedure *procedure,
|
|||
static GimpValueArray * ani_export (GimpProcedure *procedure,
|
||||
GimpRunMode run_mode,
|
||||
GimpImage *image,
|
||||
gint n_drawables,
|
||||
GimpDrawable **drawables,
|
||||
GFile *file,
|
||||
GimpMetadata *metadata,
|
||||
GimpProcedureConfig *config,
|
||||
|
@ -574,8 +568,6 @@ static GimpValueArray *
|
|||
ico_export (GimpProcedure *procedure,
|
||||
GimpRunMode run_mode,
|
||||
GimpImage *image,
|
||||
gint n_drawables,
|
||||
GimpDrawable **drawables,
|
||||
GFile *file,
|
||||
GimpMetadata *metadata,
|
||||
GimpProcedureConfig *config,
|
||||
|
@ -595,8 +587,6 @@ static GimpValueArray *
|
|||
cur_export (GimpProcedure *procedure,
|
||||
GimpRunMode run_mode,
|
||||
GimpImage *image,
|
||||
gint n_drawables,
|
||||
GimpDrawable **drawables,
|
||||
GFile *file,
|
||||
GimpMetadata *metadata,
|
||||
GimpProcedureConfig *config,
|
||||
|
@ -646,8 +636,6 @@ static GimpValueArray *
|
|||
ani_export (GimpProcedure *procedure,
|
||||
GimpRunMode run_mode,
|
||||
GimpImage *image,
|
||||
gint n_drawables,
|
||||
GimpDrawable **drawables,
|
||||
GFile *file,
|
||||
GimpMetadata *metadata,
|
||||
GimpProcedureConfig *config,
|
||||
|
|
|
@ -73,8 +73,6 @@ static GimpValueArray * jpeg_load_thumb (GimpProcedure *procedure,
|
|||
static GimpValueArray * jpeg_export (GimpProcedure *procedure,
|
||||
GimpRunMode run_mode,
|
||||
GimpImage *image,
|
||||
gint n_drawables,
|
||||
GimpDrawable **drawables,
|
||||
GFile *file,
|
||||
GimpMetadata *metadata,
|
||||
GimpProcedureConfig *config,
|
||||
|
@ -416,8 +414,6 @@ static GimpValueArray *
|
|||
jpeg_export (GimpProcedure *procedure,
|
||||
GimpRunMode run_mode,
|
||||
GimpImage *image,
|
||||
gint n_drawables,
|
||||
GimpDrawable **drawables,
|
||||
GFile *file,
|
||||
GimpMetadata *metadata,
|
||||
GimpProcedureConfig *config,
|
||||
|
@ -426,6 +422,7 @@ jpeg_export (GimpProcedure *procedure,
|
|||
GimpPDBStatusType status = GIMP_PDB_SUCCESS;
|
||||
GimpImage *orig_image;
|
||||
GimpExportReturn export = GIMP_EXPORT_IGNORE;
|
||||
GList *drawables;
|
||||
GError *error = NULL;
|
||||
|
||||
gint orig_num_quant_tables = -1;
|
||||
|
@ -445,7 +442,7 @@ jpeg_export (GimpProcedure *procedure,
|
|||
case GIMP_RUN_WITH_LAST_VALS:
|
||||
gimp_ui_init (PLUG_IN_BINARY);
|
||||
|
||||
export = gimp_export_image (&image, &n_drawables, &drawables, "JPEG",
|
||||
export = gimp_export_image (&image, "JPEG",
|
||||
GIMP_EXPORT_CAN_HANDLE_RGB |
|
||||
GIMP_EXPORT_CAN_HANDLE_GRAY);
|
||||
|
||||
|
@ -464,16 +461,7 @@ jpeg_export (GimpProcedure *procedure,
|
|||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
if (n_drawables != 1)
|
||||
{
|
||||
g_set_error (&error, G_FILE_ERROR, 0,
|
||||
_("JPEG format does not support multiple layers."));
|
||||
|
||||
return gimp_procedure_new_return_values (procedure,
|
||||
GIMP_PDB_CALLING_ERROR,
|
||||
error);
|
||||
}
|
||||
drawables = gimp_image_list_layers (image);
|
||||
|
||||
/* Override preferences from JPG export defaults (if saved). */
|
||||
|
||||
|
@ -574,10 +562,10 @@ jpeg_export (GimpProcedure *procedure,
|
|||
/* prepare for the preview */
|
||||
preview_image = image;
|
||||
orig_image_global = orig_image;
|
||||
drawable_global = drawables[0];
|
||||
drawable_global = drawables->data;
|
||||
|
||||
/* First acquire information with a dialog */
|
||||
if (! save_dialog (procedure, config, drawables[0], orig_image))
|
||||
if (! save_dialog (procedure, config, drawables->data, orig_image))
|
||||
{
|
||||
status = GIMP_PDB_CANCEL;
|
||||
}
|
||||
|
@ -595,7 +583,7 @@ jpeg_export (GimpProcedure *procedure,
|
|||
if (status == GIMP_PDB_SUCCESS)
|
||||
{
|
||||
if (! export_image (file, config,
|
||||
image, drawables[0], orig_image, FALSE,
|
||||
image, drawables->data, orig_image, FALSE,
|
||||
&error))
|
||||
{
|
||||
status = GIMP_PDB_EXECUTION_ERROR;
|
||||
|
@ -622,10 +610,9 @@ jpeg_export (GimpProcedure *procedure,
|
|||
{
|
||||
gimp_image_delete (image);
|
||||
}
|
||||
|
||||
g_free (drawables);
|
||||
}
|
||||
|
||||
g_list_free (drawables);
|
||||
return gimp_procedure_new_return_values (procedure, status, error);
|
||||
}
|
||||
|
||||
|
|
|
@ -71,8 +71,6 @@ static GimpValueArray * psd_load_thumb (GimpProcedure *procedure,
|
|||
static GimpValueArray * psd_export (GimpProcedure *procedure,
|
||||
GimpRunMode run_mode,
|
||||
GimpImage *image,
|
||||
gint n_drawables,
|
||||
GimpDrawable **drawables,
|
||||
GFile *file,
|
||||
GimpMetadata *metadata,
|
||||
GimpProcedureConfig *config,
|
||||
|
@ -424,8 +422,6 @@ static GimpValueArray *
|
|||
psd_export (GimpProcedure *procedure,
|
||||
GimpRunMode run_mode,
|
||||
GimpImage *image,
|
||||
gint n_drawables,
|
||||
GimpDrawable **drawables,
|
||||
GFile *file,
|
||||
GimpMetadata *metadata,
|
||||
GimpProcedureConfig *config,
|
||||
|
@ -433,7 +429,8 @@ psd_export (GimpProcedure *procedure,
|
|||
{
|
||||
GimpPDBStatusType status = GIMP_PDB_SUCCESS;
|
||||
GimpExportReturn export = GIMP_EXPORT_IGNORE;
|
||||
GError *error = NULL;
|
||||
GList *drawables;
|
||||
GError *error = NULL;
|
||||
|
||||
gegl_init (NULL, NULL);
|
||||
|
||||
|
@ -443,7 +440,7 @@ psd_export (GimpProcedure *procedure,
|
|||
case GIMP_RUN_WITH_LAST_VALS:
|
||||
gimp_ui_init (PLUG_IN_BINARY);
|
||||
|
||||
export = gimp_export_image (&image, &n_drawables, &drawables, "PSD",
|
||||
export = gimp_export_image (&image, "PSD",
|
||||
GIMP_EXPORT_CAN_HANDLE_RGB |
|
||||
GIMP_EXPORT_CAN_HANDLE_GRAY |
|
||||
GIMP_EXPORT_CAN_HANDLE_INDEXED |
|
||||
|
@ -455,6 +452,7 @@ psd_export (GimpProcedure *procedure,
|
|||
default:
|
||||
break;
|
||||
}
|
||||
drawables = gimp_image_list_layers (image);
|
||||
|
||||
if (run_mode == GIMP_RUN_INTERACTIVE)
|
||||
{
|
||||
|
@ -474,11 +472,9 @@ psd_export (GimpProcedure *procedure,
|
|||
}
|
||||
|
||||
if (export == GIMP_EXPORT_EXPORT)
|
||||
{
|
||||
gimp_image_delete (image);
|
||||
g_free (drawables);
|
||||
}
|
||||
gimp_image_delete (image);
|
||||
|
||||
g_list_free (drawables);
|
||||
return gimp_procedure_new_return_values (procedure, status, error);
|
||||
}
|
||||
|
||||
|
|
|
@ -79,8 +79,6 @@ static GimpValueArray * sgi_load (GimpProcedure *procedure,
|
|||
static GimpValueArray * sgi_export (GimpProcedure *procedure,
|
||||
GimpRunMode run_mode,
|
||||
GimpImage *image,
|
||||
gint n_drawables,
|
||||
GimpDrawable **drawables,
|
||||
GFile *file,
|
||||
GimpMetadata *metadata,
|
||||
GimpProcedureConfig *config,
|
||||
|
@ -235,8 +233,6 @@ static GimpValueArray *
|
|||
sgi_export (GimpProcedure *procedure,
|
||||
GimpRunMode run_mode,
|
||||
GimpImage *image,
|
||||
gint n_drawables,
|
||||
GimpDrawable **drawables,
|
||||
GFile *file,
|
||||
GimpMetadata *metadata,
|
||||
GimpProcedureConfig *config,
|
||||
|
@ -244,6 +240,7 @@ sgi_export (GimpProcedure *procedure,
|
|||
{
|
||||
GimpPDBStatusType status = GIMP_PDB_SUCCESS;
|
||||
GimpExportReturn export = GIMP_EXPORT_IGNORE;
|
||||
GList *drawables;
|
||||
GError *error = NULL;
|
||||
|
||||
gegl_init (NULL, NULL);
|
||||
|
@ -254,7 +251,7 @@ sgi_export (GimpProcedure *procedure,
|
|||
case GIMP_RUN_WITH_LAST_VALS:
|
||||
gimp_ui_init (PLUG_IN_BINARY);
|
||||
|
||||
export = gimp_export_image (&image, &n_drawables, &drawables, "SGI",
|
||||
export = gimp_export_image (&image, "SGI",
|
||||
GIMP_EXPORT_CAN_HANDLE_RGB |
|
||||
GIMP_EXPORT_CAN_HANDLE_GRAY |
|
||||
GIMP_EXPORT_CAN_HANDLE_INDEXED |
|
||||
|
@ -264,16 +261,7 @@ sgi_export (GimpProcedure *procedure,
|
|||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
if (n_drawables != 1)
|
||||
{
|
||||
g_set_error (&error, G_FILE_ERROR, 0,
|
||||
_("SGI format does not support multiple layers."));
|
||||
|
||||
return gimp_procedure_new_return_values (procedure,
|
||||
GIMP_PDB_CALLING_ERROR,
|
||||
error);
|
||||
}
|
||||
drawables = gimp_image_list_layers (image);
|
||||
|
||||
if (run_mode == GIMP_RUN_INTERACTIVE)
|
||||
{
|
||||
|
@ -283,7 +271,7 @@ sgi_export (GimpProcedure *procedure,
|
|||
|
||||
if (status == GIMP_PDB_SUCCESS)
|
||||
{
|
||||
if (! export_image (file, image, drawables[0],
|
||||
if (! export_image (file, image, drawables->data,
|
||||
G_OBJECT (config), &error))
|
||||
{
|
||||
status = GIMP_PDB_EXECUTION_ERROR;
|
||||
|
@ -291,11 +279,9 @@ sgi_export (GimpProcedure *procedure,
|
|||
}
|
||||
|
||||
if (export == GIMP_EXPORT_EXPORT)
|
||||
{
|
||||
gimp_image_delete (image);
|
||||
g_free (drawables);
|
||||
}
|
||||
gimp_image_delete (image);
|
||||
|
||||
g_list_free (drawables);
|
||||
return gimp_procedure_new_return_values (procedure, status, error);
|
||||
}
|
||||
|
||||
|
|
|
@ -94,8 +94,6 @@ static GimpValueArray * tiff_load (GimpProcedure *procedure
|
|||
static GimpValueArray * tiff_export (GimpProcedure *procedure,
|
||||
GimpRunMode run_mode,
|
||||
GimpImage *image,
|
||||
gint n_drawables,
|
||||
GimpDrawable **drawables,
|
||||
GFile *file,
|
||||
GimpMetadata *metadata,
|
||||
GimpProcedureConfig *config,
|
||||
|
@ -103,8 +101,6 @@ static GimpValueArray * tiff_export (GimpProcedure *procedure
|
|||
static GimpPDBStatusType tiff_export_rec (GimpProcedure *procedure,
|
||||
GimpRunMode run_mode,
|
||||
GimpImage *orig_image,
|
||||
gint n_orig_drawables,
|
||||
GimpDrawable **orig_drawables,
|
||||
GFile *file,
|
||||
GimpProcedureConfig *config,
|
||||
GimpMetadata *metadata,
|
||||
|
@ -341,14 +337,12 @@ static GimpValueArray *
|
|||
tiff_export (GimpProcedure *procedure,
|
||||
GimpRunMode run_mode,
|
||||
GimpImage *image,
|
||||
gint n_drawables,
|
||||
GimpDrawable **drawables,
|
||||
GFile *file,
|
||||
GimpMetadata *metadata,
|
||||
GimpProcedureConfig *config,
|
||||
gpointer run_data)
|
||||
{
|
||||
GError *error = NULL;
|
||||
GError *error = NULL;
|
||||
GimpPDBStatusType status = GIMP_PDB_SUCCESS;
|
||||
|
||||
gegl_init (NULL, NULL);
|
||||
|
@ -364,7 +358,6 @@ tiff_export (GimpProcedure *procedure,
|
|||
}
|
||||
|
||||
status = tiff_export_rec (procedure, run_mode, image,
|
||||
n_drawables, drawables,
|
||||
file, config, metadata, FALSE, &error);
|
||||
|
||||
return gimp_procedure_new_return_values (procedure, status, error);
|
||||
|
@ -374,8 +367,6 @@ static GimpPDBStatusType
|
|||
tiff_export_rec (GimpProcedure *procedure,
|
||||
GimpRunMode run_mode,
|
||||
GimpImage *orig_image,
|
||||
gint n_orig_drawables,
|
||||
GimpDrawable **orig_drawables,
|
||||
GFile *file,
|
||||
GimpProcedureConfig *config,
|
||||
GimpMetadata *metadata,
|
||||
|
@ -383,8 +374,8 @@ tiff_export_rec (GimpProcedure *procedure,
|
|||
GError **error)
|
||||
{
|
||||
GimpImage *image = orig_image;
|
||||
GimpDrawable **drawables = orig_drawables;
|
||||
gint n_drawables = n_orig_drawables;
|
||||
GList *drawables = gimp_image_list_layers (image);
|
||||
gint n_drawables = g_list_length (drawables);
|
||||
GimpPDBStatusType status = GIMP_PDB_SUCCESS;
|
||||
GimpExportReturn export = GIMP_EXPORT_IGNORE;
|
||||
gboolean bigtiff = FALSE;
|
||||
|
@ -392,7 +383,7 @@ tiff_export_rec (GimpProcedure *procedure,
|
|||
if (run_mode == GIMP_RUN_INTERACTIVE)
|
||||
{
|
||||
if (! save_dialog (orig_image, procedure, G_OBJECT (config),
|
||||
n_drawables == 1 ? gimp_drawable_has_alpha (drawables[0]) : TRUE,
|
||||
n_drawables == 1 ? gimp_drawable_has_alpha (drawables->data) : TRUE,
|
||||
image_is_monochrome (orig_image),
|
||||
gimp_image_get_base_type (orig_image) == GIMP_INDEXED,
|
||||
image_is_multi_layer (orig_image),
|
||||
|
@ -443,14 +434,14 @@ tiff_export_rec (GimpProcedure *procedure,
|
|||
capabilities |= GIMP_EXPORT_NEEDS_CROP;
|
||||
}
|
||||
|
||||
export = gimp_export_image (&image, &n_drawables, &drawables, "TIFF",
|
||||
capabilities);
|
||||
export = gimp_export_image (&image, "TIFF", capabilities);
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
drawables = gimp_image_list_layers (image);
|
||||
|
||||
#if 0
|
||||
/* FIXME */
|
||||
|
@ -471,10 +462,7 @@ tiff_export_rec (GimpProcedure *procedure,
|
|||
}
|
||||
|
||||
if (export == GIMP_EXPORT_EXPORT)
|
||||
{
|
||||
gimp_image_delete (image);
|
||||
g_free (drawables);
|
||||
}
|
||||
gimp_image_delete (image);
|
||||
|
||||
if (status == GIMP_PDB_EXECUTION_ERROR &&
|
||||
run_mode == GIMP_RUN_INTERACTIVE &&
|
||||
|
@ -485,8 +473,7 @@ tiff_export_rec (GimpProcedure *procedure,
|
|||
tiff_reset_file_size_error ();
|
||||
g_clear_error (error);
|
||||
|
||||
return tiff_export_rec (procedure, run_mode,
|
||||
orig_image, n_orig_drawables, orig_drawables,
|
||||
return tiff_export_rec (procedure, run_mode, orig_image,
|
||||
file, config, metadata, TRUE, error);
|
||||
}
|
||||
|
||||
|
|
|
@ -505,7 +505,7 @@ gboolean
|
|||
save_animation (GFile *file,
|
||||
GimpImage *image,
|
||||
gint n_drawables,
|
||||
GimpDrawable **drawables,
|
||||
GList *drawables,
|
||||
GObject *config,
|
||||
GError **error)
|
||||
{
|
||||
|
@ -582,7 +582,7 @@ save_animation (GFile *file,
|
|||
}
|
||||
|
||||
if (! space)
|
||||
space = gimp_drawable_get_format (drawables[0]);
|
||||
space = gimp_drawable_get_format (drawables->data);
|
||||
|
||||
gimp_image_undo_freeze (image);
|
||||
|
||||
|
|
|
@ -32,7 +32,7 @@ gboolean save_layer (GFile *file,
|
|||
gboolean save_animation (GFile *file,
|
||||
GimpImage *image,
|
||||
gint n_drawables,
|
||||
GimpDrawable **drawables,
|
||||
GList *drawables,
|
||||
GObject *config,
|
||||
GError **error);
|
||||
|
||||
|
|
|
@ -69,8 +69,6 @@ static GimpValueArray * webp_load (GimpProcedure *procedure,
|
|||
static GimpValueArray * webp_export (GimpProcedure *procedure,
|
||||
GimpRunMode run_mode,
|
||||
GimpImage *image,
|
||||
gint n_drawables,
|
||||
GimpDrawable **drawables,
|
||||
GFile *file,
|
||||
GimpMetadata *metadata,
|
||||
GimpProcedureConfig *config,
|
||||
|
@ -283,8 +281,6 @@ static GimpValueArray *
|
|||
webp_export (GimpProcedure *procedure,
|
||||
GimpRunMode run_mode,
|
||||
GimpImage *image,
|
||||
gint n_drawables,
|
||||
GimpDrawable **drawables,
|
||||
GFile *file,
|
||||
GimpMetadata *metadata,
|
||||
GimpProcedureConfig *config,
|
||||
|
@ -292,6 +288,8 @@ webp_export (GimpProcedure *procedure,
|
|||
{
|
||||
GimpPDBStatusType status = GIMP_PDB_SUCCESS;
|
||||
GimpExportReturn export = GIMP_EXPORT_IGNORE;
|
||||
GList *drawables;
|
||||
gint n_drawables;
|
||||
gboolean animation;
|
||||
GError *error = NULL;
|
||||
|
||||
|
@ -324,9 +322,10 @@ webp_export (GimpProcedure *procedure,
|
|||
if (animation)
|
||||
capabilities |= GIMP_EXPORT_CAN_HANDLE_LAYERS_AS_ANIMATION;
|
||||
|
||||
export = gimp_export_image (&image, &n_drawables, &drawables, "WebP",
|
||||
capabilities);
|
||||
export = gimp_export_image (&image, "WebP", capabilities);
|
||||
}
|
||||
drawables = gimp_image_list_layers (image);
|
||||
n_drawables = g_list_length (drawables);
|
||||
|
||||
if (animation)
|
||||
{
|
||||
|
@ -338,17 +337,7 @@ webp_export (GimpProcedure *procedure,
|
|||
}
|
||||
else
|
||||
{
|
||||
if (n_drawables != 1)
|
||||
{
|
||||
g_set_error (&error, G_FILE_ERROR, 0,
|
||||
_("The WebP plug-in cannot export multiple layer, except in animation mode."));
|
||||
|
||||
return gimp_procedure_new_return_values (procedure,
|
||||
GIMP_PDB_CALLING_ERROR,
|
||||
error);
|
||||
}
|
||||
|
||||
if (! save_layer (file, image, drawables[0], G_OBJECT (config),
|
||||
if (! save_layer (file, image, drawables->data, G_OBJECT (config),
|
||||
&error))
|
||||
{
|
||||
status = GIMP_PDB_EXECUTION_ERROR;
|
||||
|
@ -371,10 +360,8 @@ webp_export (GimpProcedure *procedure,
|
|||
}
|
||||
|
||||
if (export == GIMP_EXPORT_EXPORT)
|
||||
{
|
||||
gimp_image_delete (image);
|
||||
g_free (drawables);
|
||||
}
|
||||
gimp_image_delete (image);
|
||||
|
||||
g_list_free (drawables);
|
||||
return gimp_procedure_new_return_values (procedure, status, error);
|
||||
}
|
||||
|
|
|
@ -62,7 +62,7 @@ preamble = """<!DOCTYPE html>
|
|||
|
||||
postamble = """\n</pre>\n</body>\n</html>\n"""
|
||||
|
||||
def export_colorxhtml(procedure, run_mode, image, n_layers, layers, file, metadata, config, data):
|
||||
def export_colorxhtml(procedure, run_mode, image, file, metadata, config, data):
|
||||
source_file = config.get_property("source-file")
|
||||
characters = config.get_property("characters")
|
||||
size = config.get_property("font-size");
|
||||
|
@ -169,7 +169,7 @@ def export_colorxhtml(procedure, run_mode, image, n_layers, layers, file, metada
|
|||
GLib.Error())
|
||||
|
||||
#For now, work with a single layer
|
||||
layer = layers[0]
|
||||
layer = image.list_layers()[0]
|
||||
|
||||
width = layer.get_width()
|
||||
height = layer.get_height()
|
||||
|
|
|
@ -188,10 +188,7 @@ def thumbnail_ora(procedure, file, thumb_size, args, data):
|
|||
else:
|
||||
return procedure.new_return_values(result.index(0), GLib.Error(result.index(1)))
|
||||
|
||||
# We would expect the n_drawables parameter to not be there with introspection but
|
||||
# currently that isn't working, see issue #5312. Until that is resolved we keep
|
||||
# this parameter here or else saving would fail.
|
||||
def export_ora(procedure, run_mode, image, n_drawables, drawables, file, metadata, config, data):
|
||||
def export_ora(procedure, run_mode, image, file, metadata, config, data):
|
||||
def write_file_str(zfile, fname, data):
|
||||
# work around a permission bug in the zipfile library:
|
||||
# http://bugs.python.org/issue3394
|
||||
|
@ -219,12 +216,16 @@ def export_ora(procedure, run_mode, image, n_drawables, drawables, file, metadat
|
|||
tmp = os.path.join(tempdir, 'tmp.png')
|
||||
interlace, compression = 0, 2
|
||||
|
||||
#TODO: Use GimpExportOptions for this once available
|
||||
width, height = drawable.get_width(), drawable.get_height()
|
||||
tmp_img = Gimp.Image.new(width, height, image.get_base_type())
|
||||
tmp_layer = Gimp.Layer.new_from_drawable (drawable, tmp_img)
|
||||
tmp_img.insert_layer (tmp_layer, None, 0)
|
||||
|
||||
pdb_proc = Gimp.get_pdb().lookup_procedure('file-png-export')
|
||||
pdb_config = pdb_proc.create_config()
|
||||
pdb_config.set_property('run-mode', Gimp.RunMode.NONINTERACTIVE)
|
||||
pdb_config.set_property('image', image)
|
||||
pdb_config.set_property('num-drawables', 1)
|
||||
pdb_config.set_property('drawables', Gimp.ObjectArray.new(Gimp.Drawable, [drawable], False))
|
||||
pdb_config.set_property('image', tmp_img)
|
||||
pdb_config.set_property('file', Gio.File.new_for_path(tmp))
|
||||
pdb_config.set_property('interlaced', interlace)
|
||||
pdb_config.set_property('compression', compression)
|
||||
|
@ -241,6 +242,8 @@ def export_ora(procedure, run_mode, image, n_drawables, drawables, file, metadat
|
|||
else:
|
||||
print("Error removing ", tmp)
|
||||
|
||||
tmp_img.delete()
|
||||
|
||||
def add_layer(parent, x, y, opac, gimp_layer, path, visible=True):
|
||||
store_layer(image, gimp_layer, path)
|
||||
# create layer attributes
|
||||
|
|
Loading…
Reference in New Issue