[gimp] plug-ins: port flame to libgimp objects
- From: Michael Natterer <mitch src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gimp] plug-ins: port flame to libgimp objects
- Date: Fri, 30 Aug 2019 16:00:57 +0000 (UTC)
commit b407d33259a991240776ccce5b33c356ee4aac41
Author: Michael Natterer <mitch gimp org>
Date: Fri Aug 30 18:00:44 2019 +0200
plug-ins: port flame to libgimp objects
plug-ins/flame/Makefile.am | 3 +--
plug-ins/flame/flame.c | 55 +++++++++++++++++++++++-----------------------
2 files changed, 29 insertions(+), 29 deletions(-)
---
diff --git a/plug-ins/flame/Makefile.am b/plug-ins/flame/Makefile.am
index da008f8ad9..ed6d8f0558 100644
--- a/plug-ins/flame/Makefile.am
+++ b/plug-ins/flame/Makefile.am
@@ -36,10 +36,9 @@ flame_SOURCES = \
rect.h
AM_CPPFLAGS = \
- -DGIMP_DEPRECATED_REPLACE_NEW_API \
-I$(top_srcdir) \
$(GTK_CFLAGS) \
- $(GEGL_CFLAGS) \
+ $(GEGL_CFLAGS) \
-I$(includedir)
EXTRA_DIST = README
diff --git a/plug-ins/flame/flame.c b/plug-ins/flame/flame.c
index 6cccd00ff4..d4e6215b78 100644
--- a/plug-ins/flame/flame.c
+++ b/plug-ins/flame/flame.c
@@ -69,7 +69,7 @@ static void run (const gchar *name,
const GimpParam *param,
gint *nreturn_vals,
GimpParam **return_vals);
-static void flame (gint32 drawable_id);
+static void flame (GimpDrawable *drawable);
static gboolean flame_dialog (void);
static void set_flame_preview (void);
@@ -178,15 +178,15 @@ run (const gchar *name,
GimpParam **return_vals)
{
static GimpParam values[1];
- gint32 drawable_id;
+ GimpDrawable *drawable;
GimpRunMode run_mode;
GimpPDBStatusType status = GIMP_PDB_SUCCESS;
*nreturn_vals = 1;
*return_vals = values;
- run_mode = param[0].data.d_int32;
- drawable_id = param[2].data.d_drawable;
+ run_mode = param[0].data.d_int32;
+ drawable = GIMP_DRAWABLE (gimp_item_get_by_id (param[2].data.d_drawable));
INIT_I18N ();
gegl_init (NULL, NULL);
@@ -200,8 +200,8 @@ run (const gchar *name,
gimp_get_data (PLUG_IN_PROC, &config);
maybe_init_cp ();
- config.cp.width = gimp_drawable_width (drawable_id);
- config.cp.height = gimp_drawable_height (drawable_id);
+ config.cp.width = gimp_drawable_width (drawable);
+ config.cp.height = gimp_drawable_height (drawable);
if (run_mode == GIMP_RUN_INTERACTIVE)
{
@@ -212,7 +212,7 @@ run (const gchar *name,
}
else
{
- /* reusing a drawable_ID from the last run is a bad idea
+ /* reusing a drawable from the last run is a bad idea
since the drawable might have vanished (bug #37761) */
if (config.cmap_drawable >= 0)
config.cmap_drawable = GRADIENT_DRAWABLE;
@@ -221,11 +221,11 @@ run (const gchar *name,
if (status == GIMP_PDB_SUCCESS)
{
- if (gimp_drawable_is_rgb (drawable_id))
+ if (gimp_drawable_is_rgb (drawable))
{
gimp_progress_init (_("Drawing flame"));
- flame (drawable_id);
+ flame (drawable);
if (run_mode != GIMP_RUN_NONINTERACTIVE)
gimp_displays_flush ();
@@ -277,17 +277,18 @@ drawable_to_cmap (control_point *cp)
}
else
{
- GeglBuffer *buffer = gimp_drawable_get_buffer (config.cmap_drawable);
- gint width = gegl_buffer_get_width (buffer);
- gint height = gegl_buffer_get_height (buffer);
- guchar p[3];
+ GimpDrawable *drawable = GIMP_DRAWABLE (gimp_item_get_by_id (config.cmap_drawable));
+ GeglBuffer *buffer = gimp_drawable_get_buffer (drawable);
+ gint width = gegl_buffer_get_width (buffer);
+ gint height = gegl_buffer_get_height (buffer);
+ guchar p[3];
for (i = 0; i < 256; i++)
{
gegl_buffer_sample (buffer,
i % width,
(i / width) % height,
- NULL, p, babl_format ("R'G'B'"),
+ NULL, p, babl_format ("R'G'B' u8"),
GEGL_SAMPLER_NEAREST, GEGL_ABYSS_NONE);
for (j = 0; j < 3; j++)
@@ -299,17 +300,17 @@ drawable_to_cmap (control_point *cp)
}
static void
-flame (gint32 drawable_id)
+flame (GimpDrawable *drawable)
{
const Babl *format;
gint width, height;
guchar *tmp;
gint bytes;
- width = gimp_drawable_width (drawable_id);
- height = gimp_drawable_height (drawable_id);
+ width = gimp_drawable_width (drawable);
+ height = gimp_drawable_height (drawable);
- if (gimp_drawable_has_alpha (drawable_id))
+ if (gimp_drawable_has_alpha (drawable))
format = babl_format ("R'G'B'A u8");
else
format = babl_format ("R'G'B' u8");
@@ -331,7 +332,7 @@ flame (gint32 drawable_id)
/* update destination */
if (bytes == 4)
{
- GeglBuffer *buffer = gimp_drawable_get_shadow_buffer (drawable_id);
+ GeglBuffer *buffer = gimp_drawable_get_shadow_buffer (drawable);
gegl_buffer_set (buffer, GEGL_RECTANGLE (0, 0, width, height), 0,
format, tmp,
@@ -341,8 +342,8 @@ flame (gint32 drawable_id)
}
else if (bytes == 3)
{
- GeglBuffer *src_buffer = gimp_drawable_get_buffer (drawable_id);
- GeglBuffer *dest_buffer = gimp_drawable_get_shadow_buffer (drawable_id);
+ GeglBuffer *src_buffer = gimp_drawable_get_buffer (drawable);
+ GeglBuffer *dest_buffer = gimp_drawable_get_shadow_buffer (drawable);
gint i, j;
guchar *sl;
@@ -385,8 +386,8 @@ flame (gint32 drawable_id)
g_free (tmp);
- gimp_drawable_merge_shadow (drawable_id, TRUE);
- gimp_drawable_update (drawable_id, 0, 0, width, height);
+ gimp_drawable_merge_shadow (drawable, TRUE);
+ gimp_drawable_update (drawable, 0, 0, width, height);
}
static void
@@ -951,11 +952,11 @@ cmap_callback (GtkWidget *widget,
}
static gboolean
-cmap_constrain (gint32 image_id,
- gint32 drawable_id,
- gpointer data)
+cmap_constrain (GimpImage *image,
+ GimpItem *item,
+ gpointer data)
{
- return ! gimp_drawable_is_indexed (drawable_id);
+ return ! item || ! gimp_drawable_is_indexed (GIMP_DRAWABLE (item));
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]