Updated with upstream update
This commit is contained in:
@ -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);
|
||||
|
||||
|
@ -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"));
|
||||
|
||||
|
@ -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);
|
||||
}
|
||||
|
@ -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);
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user