Updated with upstream update

This commit is contained in:
2023-10-30 15:55:30 -07:00
parent 098531073c
commit 3bbdd873ef
584 changed files with 91827 additions and 70362 deletions

View File

@ -474,6 +474,7 @@ ico_dialog_update_icon_preview (GtkWidget *dialog,
PikaImage *image;
PikaImage *tmp_image;
PikaLayer *tmp_layer;
PikaProcedure *procedure;
PikaValueArray *return_vals;
image = pika_item_get_image (PIKA_ITEM (layer));
@ -508,14 +509,14 @@ ico_dialog_update_icon_preview (GtkWidget *dialog,
if (pika_drawable_is_indexed (layer))
pika_image_convert_rgb (tmp_image);
return_vals =
pika_pdb_run_procedure (pika_get_pdb (),
"plug-in-threshold-alpha",
PIKA_TYPE_RUN_MODE, PIKA_RUN_NONINTERACTIVE,
PIKA_TYPE_IMAGE, tmp_image,
PIKA_TYPE_DRAWABLE, tmp_layer,
G_TYPE_INT, ICO_ALPHA_THRESHOLD,
G_TYPE_NONE);
procedure = pika_pdb_lookup_procedure (pika_get_pdb (),
"plug-in-threshold-alpha");
return_vals = pika_procedure_run (procedure,
"run-mode", PIKA_RUN_NONINTERACTIVE,
"image", tmp_image,
"drawable", tmp_layer,
"threshold", ICO_ALPHA_THRESHOLD,
NULL);
pika_value_array_unref (return_vals);

View File

@ -1005,6 +1005,8 @@ ico_load_thumbnail_image (GFile *file,
IcoLoadInfo *info;
IcoFileHeader header;
PikaImage *image;
gint max_width;
gint max_height;
gint w = 0;
gint h = 0;
gint bpp = 0;
@ -1046,9 +1048,17 @@ ico_load_thumbnail_image (GFile *file,
return NULL;
}
max_width = 0;
max_height = 0;
/* Do a quick scan of the icons in the file to find the best match */
for (i = 0; i < icon_count; i++)
{
if (info[i].width > max_width)
max_width = info[i].width;
if (info[i].height > max_height)
max_height = info[i].height;
if ((info[i].width > w && w < *width) ||
(info[i].height > h && h < *height))
{
@ -1077,8 +1087,8 @@ ico_load_thumbnail_image (GFile *file,
"Thumbnail", info + match);
g_free (buf);
*width = w;
*height = h;
*width = max_width;
*height = max_height;
D(("*** thumbnail successfully loaded.\n\n"));

View File

@ -827,16 +827,17 @@ ico_image_get_reduced_buf (PikaDrawable *layer,
}
else if (bpp == 24)
{
PikaProcedure *procedure;
PikaValueArray *return_vals;
return_vals =
pika_pdb_run_procedure (pika_get_pdb (),
"plug-in-threshold-alpha",
PIKA_TYPE_RUN_MODE, PIKA_RUN_NONINTERACTIVE,
PIKA_TYPE_IMAGE, tmp_image,
PIKA_TYPE_DRAWABLE, tmp_layer,
G_TYPE_INT, ICO_ALPHA_THRESHOLD,
G_TYPE_NONE);
procedure = pika_pdb_lookup_procedure (pika_get_pdb (),
"plug-in-threshold-alpha");
return_vals = pika_procedure_run (procedure,
"run-mode", PIKA_RUN_NONINTERACTIVE,
"image", tmp_image,
"drawable", tmp_layer,
"threshold", ICO_ALPHA_THRESHOLD,
NULL);
pika_value_array_unref (return_vals);
}

View File

@ -65,33 +65,37 @@ struct _IcoClass
#define ICO_TYPE (ico_get_type ())
#define ICO (obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), ICO_TYPE, Ico))
#define ICO(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), ICO_TYPE, Ico))
GType ico_get_type (void) G_GNUC_CONST;
static GList * ico_query_procedures (PikaPlugIn *plug_in);
static PikaProcedure * ico_create_procedure (PikaPlugIn *plug_in,
const gchar *name);
static GList * ico_query_procedures (PikaPlugIn *plug_in);
static PikaProcedure * ico_create_procedure (PikaPlugIn *plug_in,
const gchar *name);
static PikaValueArray * ico_load (PikaProcedure *procedure,
PikaRunMode run_mode,
GFile *file,
const PikaValueArray *args,
gpointer run_data);
static PikaValueArray * ani_load (PikaProcedure *procedure,
PikaRunMode run_mode,
GFile *file,
const PikaValueArray *args,
static PikaValueArray * ico_load (PikaProcedure *procedure,
PikaRunMode run_mode,
GFile *file,
PikaMetadata *metadata,
PikaMetadataLoadFlags *flags,
PikaProcedureConfig *config,
gpointer run_data);
static PikaValueArray * ani_load (PikaProcedure *procedure,
PikaRunMode run_mode,
GFile *file,
PikaMetadata *metadata,
PikaMetadataLoadFlags *flags,
PikaProcedureConfig *config,
gpointer run_data);
static PikaValueArray * ico_load_thumb (PikaProcedure *procedure,
GFile *file,
gint size,
const PikaValueArray *args,
PikaProcedureConfig *config,
gpointer run_data);
static PikaValueArray * ani_load_thumb (PikaProcedure *procedure,
GFile *file,
gint size,
const PikaValueArray *args,
PikaProcedureConfig *config,
gpointer run_data);
static PikaValueArray * ico_save (PikaProcedure *procedure,
PikaRunMode run_mode,
@ -99,7 +103,8 @@ static PikaValueArray * ico_save (PikaProcedure *procedure,
gint n_drawables,
PikaDrawable **drawables,
GFile *file,
const PikaValueArray *args,
PikaMetadata *metadata,
PikaProcedureConfig *config,
gpointer run_data);
static PikaValueArray * cur_save (PikaProcedure *procedure,
PikaRunMode run_mode,
@ -107,7 +112,8 @@ static PikaValueArray * cur_save (PikaProcedure *procedure,
gint n_drawables,
PikaDrawable **drawables,
GFile *file,
const PikaValueArray *args,
PikaMetadata *metadata,
PikaProcedureConfig *config,
gpointer run_data);
static PikaValueArray * ani_save (PikaProcedure *procedure,
PikaRunMode run_mode,
@ -115,7 +121,8 @@ static PikaValueArray * ani_save (PikaProcedure *procedure,
gint n_drawables,
PikaDrawable **drawables,
GFile *file,
const PikaValueArray *args,
PikaMetadata *metadata,
PikaProcedureConfig *config,
gpointer run_data);
@ -166,8 +173,8 @@ ico_create_procedure (PikaPlugIn *plug_in,
if (! strcmp (name, LOAD_PROC))
{
procedure = pika_load_procedure_new (plug_in, name,
PIKA_PDB_PROC_TYPE_PLUGIN,
ico_load, NULL, NULL);
PIKA_PDB_PROC_TYPE_PLUGIN,
ico_load, NULL, NULL);
pika_procedure_set_menu_label (procedure, _("Microsoft Windows icon"));
pika_procedure_set_icon_name (procedure, PIKA_ICON_BRUSH);
@ -194,8 +201,8 @@ ico_create_procedure (PikaPlugIn *plug_in,
else if (! strcmp (name, LOAD_CUR_PROC))
{
procedure = pika_load_procedure_new (plug_in, name,
PIKA_PDB_PROC_TYPE_PLUGIN,
ico_load, NULL, NULL);
PIKA_PDB_PROC_TYPE_PLUGIN,
ico_load, NULL, NULL);
pika_procedure_set_menu_label (procedure, _("Microsoft Windows cursor"));
pika_procedure_set_icon_name (procedure, PIKA_ICON_BRUSH);
@ -224,8 +231,8 @@ ico_create_procedure (PikaPlugIn *plug_in,
else if (! strcmp (name, LOAD_ANI_PROC))
{
procedure = pika_load_procedure_new (plug_in, name,
PIKA_PDB_PROC_TYPE_PLUGIN,
ani_load, NULL, NULL);
PIKA_PDB_PROC_TYPE_PLUGIN,
ani_load, NULL, NULL);
pika_procedure_set_menu_label (procedure, _("Microsoft Windows animated cursor"));
pika_procedure_set_icon_name (procedure, PIKA_ICON_BRUSH);
@ -288,7 +295,7 @@ ico_create_procedure (PikaPlugIn *plug_in,
{
procedure = pika_save_procedure_new (plug_in, name,
PIKA_PDB_PROC_TYPE_PLUGIN,
ico_save, NULL, NULL);
FALSE, ico_save, NULL, NULL);
pika_procedure_set_image_types (procedure, "*");
@ -313,7 +320,7 @@ ico_create_procedure (PikaPlugIn *plug_in,
{
procedure = pika_save_procedure_new (plug_in, name,
PIKA_PDB_PROC_TYPE_PLUGIN,
cur_save, NULL, NULL);
FALSE, cur_save, NULL, NULL);
pika_procedure_set_image_types (procedure, "*");
@ -360,7 +367,7 @@ ico_create_procedure (PikaPlugIn *plug_in,
{
procedure = pika_save_procedure_new (plug_in, name,
PIKA_PDB_PROC_TYPE_PLUGIN,
ani_save, NULL, NULL);
FALSE, ani_save, NULL, NULL);
pika_procedure_set_image_types (procedure, "*");
@ -427,11 +434,13 @@ ico_create_procedure (PikaPlugIn *plug_in,
}
static PikaValueArray *
ico_load (PikaProcedure *procedure,
PikaRunMode run_mode,
GFile *file,
const PikaValueArray *args,
gpointer run_data)
ico_load (PikaProcedure *procedure,
PikaRunMode run_mode,
GFile *file,
PikaMetadata *metadata,
PikaMetadataLoadFlags *flags,
PikaProcedureConfig *config,
gpointer run_data)
{
PikaValueArray *return_vals;
PikaImage *image;
@ -456,11 +465,13 @@ ico_load (PikaProcedure *procedure,
}
static PikaValueArray *
ani_load (PikaProcedure *procedure,
PikaRunMode run_mode,
GFile *file,
const PikaValueArray *args,
gpointer run_data)
ani_load (PikaProcedure *procedure,
PikaRunMode run_mode,
GFile *file,
PikaMetadata *metadata,
PikaMetadataLoadFlags *flags,
PikaProcedureConfig *config,
gpointer run_data)
{
PikaValueArray *return_vals;
PikaImage *image;
@ -486,11 +497,11 @@ ani_load (PikaProcedure *procedure,
}
static PikaValueArray *
ico_load_thumb (PikaProcedure *procedure,
GFile *file,
gint size,
const PikaValueArray *args,
gpointer run_data)
ico_load_thumb (PikaProcedure *procedure,
GFile *file,
gint size,
PikaProcedureConfig *config,
gpointer run_data)
{
PikaValueArray *return_vals;
gint width;
@ -528,7 +539,7 @@ static PikaValueArray *
ani_load_thumb (PikaProcedure *procedure,
GFile *file,
gint size,
const PikaValueArray *args,
PikaProcedureConfig *config,
gpointer run_data)
{
PikaValueArray *return_vals;
@ -570,7 +581,8 @@ ico_save (PikaProcedure *procedure,
gint n_drawables,
PikaDrawable **drawables,
GFile *file,
const PikaValueArray *args,
PikaMetadata *metadata,
PikaProcedureConfig *config,
gpointer run_data)
{
PikaPDBStatusType status;
@ -590,22 +602,19 @@ cur_save (PikaProcedure *procedure,
gint n_drawables,
PikaDrawable **drawables,
GFile *file,
const PikaValueArray *args,
PikaMetadata *metadata,
PikaProcedureConfig *config,
gpointer run_data)
{
PikaProcedureConfig *config;
PikaPDBStatusType status;
GError *error = NULL;
gint32 *hot_spot_x = NULL;
gint32 *hot_spot_y = NULL;
gint n_hot_spot_x = 0;
gint n_hot_spot_y = 0;
PikaPDBStatusType status;
GError *error = NULL;
gint32 *hot_spot_x = NULL;
gint32 *hot_spot_y = NULL;
gint n_hot_spot_x = 0;
gint n_hot_spot_y = 0;
gegl_init (NULL, NULL);
config = pika_procedure_create_config (procedure);
pika_procedure_config_begin_run (config, image, run_mode, args);
g_object_get (config,
"n-hot-spot-x", &n_hot_spot_x,
"n-hot-spot-y", &n_hot_spot_y,
@ -634,9 +643,6 @@ cur_save (PikaProcedure *procedure,
g_free (hot_spot_y);
}
pika_procedure_config_end_run (config, status);
g_object_unref (config);
return pika_procedure_new_return_values (procedure, status, error);
}
@ -647,27 +653,24 @@ ani_save (PikaProcedure *procedure,
gint n_drawables,
PikaDrawable **drawables,
GFile *file,
const PikaValueArray *args,
PikaMetadata *metadata,
PikaProcedureConfig *config,
gpointer run_data)
{
PikaProcedureConfig *config;
PikaPDBStatusType status;
GError *error = NULL;
gchar *inam = NULL;
gchar *iart = NULL;
gint jif_rate = 0;
gint32 *hot_spot_x = NULL;
gint32 *hot_spot_y = NULL;
gint n_hot_spot_x = 0;
gint n_hot_spot_y = 0;
AniFileHeader header;
AniSaveInfo ani_info;
PikaPDBStatusType status;
GError *error = NULL;
gchar *inam = NULL;
gchar *iart = NULL;
gint jif_rate = 0;
gint32 *hot_spot_x = NULL;
gint32 *hot_spot_y = NULL;
gint n_hot_spot_x = 0;
gint n_hot_spot_y = 0;
AniFileHeader header;
AniSaveInfo ani_info;
gegl_init (NULL, NULL);
config = pika_procedure_create_config (procedure);
pika_procedure_config_begin_run (config, image, run_mode, args);
g_object_get (config,
"cursor-name", &inam,
"author-name", &iart,
@ -713,9 +716,6 @@ ani_save (PikaProcedure *procedure,
memset (&ani_info, 0, sizeof (AniSaveInfo));
}
pika_procedure_config_end_run (config, status);
g_object_unref (config);
return pika_procedure_new_return_values (procedure, status, error);
}