plug-ins: port file-jp2-load to GEGL

This commit is contained in:
Michael Natterer 2012-11-18 23:48:31 +01:00
parent 5d5c73de98
commit 1c88116e31
3 changed files with 16 additions and 24 deletions

View File

@ -1203,6 +1203,7 @@ file_jp2_load_LDADD = \
$(libgimpbase) \
$(CAIRO_LIBS) \
$(GDK_PIXBUF_LIBS) \
$(GEGL_LIBS) \
$(JP2_LIBS) \
$(RT_LIBS) \
$(INTLLIBS) \

View File

@ -123,6 +123,7 @@ run (const gchar *name,
GError *error = NULL;
INIT_I18N ();
gegl_init (NULL, NULL);
*nreturn_vals = 1;
*return_vals = values;
@ -175,8 +176,7 @@ load_image (const gchar *filename,
gint height;
gint num_components;
gint colourspace_family;
GimpPixelRgn pixel_rgn;
GimpDrawable *drawable;
GeglBuffer *buffer;
gint i, j, k;
guchar *pixels;
jas_matrix_t *matrix;
@ -219,7 +219,7 @@ load_image (const gchar *filename,
jas_stream_close (stream);
close (fd);
width = jas_image_width (image);
width = jas_image_width (image);
height = jas_image_height (image);
/* determine image type */
@ -237,6 +237,7 @@ load_image (const gchar *filename,
gimp_filename_to_utf8 (filename));
return -1;
}
components[1] = jas_image_getcmptbytype (image, JAS_IMAGE_CT_OPACITY);
if (components[1] != -1)
{
@ -355,12 +356,8 @@ load_image (const gchar *filename,
width, height,
image_type, 100, GIMP_NORMAL_MODE);
gimp_image_insert_layer (image_ID, layer_ID, -1, 0);
drawable = gimp_drawable_get (layer_ID);
gimp_tile_cache_ntiles (drawable->ntile_cols);
gimp_pixel_rgn_init (&pixel_rgn, drawable, 0, 0,
width, height, TRUE, FALSE);
buffer = gimp_drawable_get_buffer (layer_ID);
pixels = malloc (width * num_components);
matrix = jas_matrix_create (1, width);
@ -394,22 +391,22 @@ load_image (const gchar *filename,
}
}
gimp_pixel_rgn_set_rect (&pixel_rgn, pixels, 0, i, width, 1);
gegl_buffer_set (buffer, GEGL_RECTANGLE (0, i, width, 1), 0,
NULL, pixels, GEGL_AUTO_ROWSTRIDE);
}
gimp_progress_update (100);
load_icc_profile (image, image_ID);
jas_matrix_destroy (matrix);
free(pixels);
free (pixels);
jas_image_destroy (image);
gimp_drawable_flush (drawable);
gimp_drawable_detach (drawable);
g_object_unref (buffer);
jas_cleanup ();
gimp_progress_update (1.0);
return image_ID;
}
@ -426,21 +423,15 @@ load_icc_profile (jas_image_t *jas_image,
cm_prof = jas_image_cmprof (jas_image);
if (!cm_prof)
{
return;
}
return;
jas_icc = jas_iccprof_createfromcmprof (cm_prof);
if (!jas_icc)
{
return;
}
return;
stream = jas_stream_memopen (NULL, -1);
if (!stream)
{
return;
}
return;
jas_iccprof_save (jas_icc, stream);

View File

@ -57,7 +57,7 @@
'file-glob' => {},
'file-header' => { ui => 1 },
'file-html-table' => { ui => 1 },
'file-jp2-load' => { optional => 1, libs => 'JP2_LIBS' },
'file-jp2-load' => { optional => 1, gegl => 1, libs => 'JP2_LIBS' },
'file-mng' => { ui => 1, optional => 1, libs => 'MNG_LIBS', cflags => 'MNG_CFLAGS' },
'file-pat' => { ui => 1, gegl => 1 },
'file-pcx' => { ui => 1 },