mirror of
https://gitlab.gnome.org/GNOME/gimp
synced 2024-10-23 13:01:42 +00:00
e5be5664ed
2008-04-21 Michael Natterer <mitch@gimp.org> Move the shadow tiles from the image to the drawable. Fixes bug #100469. * app/core/Makefile.am * app/core/gimpdrawable-shadow.[ch]: new files implementing the shadow tiles. * app/core/gimpimage.[ch]: remove the shadow tile manager from the GimpImage struct. Remove gimp_image_get_shadow_tiles() and _free_shadow_tiles(). * app/core/gimpdrawable.[ch]: add the shadow tile manager here. Remove get_shadow_tiles() and merge_shadow(). Free the shadow tiles in finalize and when the drawable gets removed from the image. * app/core/gimpdrawable-brightness-contrast.c * app/core/gimpdrawable-color-balance.c * app/core/gimpdrawable-colorize.c * app/core/gimpdrawable-curves.c * app/core/gimpdrawable-desaturate.c * app/core/gimpdrawable-equalize.c * app/core/gimpdrawable-hue-saturation.c * app/core/gimpdrawable-invert.c * app/core/gimpdrawable-levels.c * app/core/gimpdrawable-operation.c * app/core/gimpdrawable-posterize.c * app/core/gimpdrawable-threshold.c * app/core/gimpimagemap.c: changed accordingly. Free the shadow tiles after using them. * app/plug-in/gimpplugin-cleanup.[ch]: add gimp_plug_in_cleanup_add_shadow() and _remove_shadow() which keep track of whether shadow tiles were created on behalf of a plug-in procedure. (gimp_plug_in_cleanup): free shadow tiles which were created but not destroyed by a plug-in procedure. * app/plug-in/gimpplugin-message.c (plug_in_handle_tile_request): call gimp_plug_in_cleanup_add_shadow() whenever a plug-in requests shadow tiles. * tools/pdbgen/pdb/drawable.pdb: use the new drawable shadow API. Add new procedure gimp-drawable-free-shadow. Call gimp_plug_in_cleaup_remove_shadow() when it gets called. * tools/pdbgen/pdb/image.pdb: deprecate gimp-image-free-shadow. Calling it has no effect any longer. * app/pdb/drawable-cmds.c * app/pdb/image-cmds.c * app/pdb/internal-procs.c * libgimp/gimpimage_pdb.[ch] * libgimp/gimpdrawable_pdb.[ch]: regenerated. svn path=/trunk/; revision=25510
129 lines
9.8 KiB
C
129 lines
9.8 KiB
C
/* LIBGIMP - The GIMP Library
|
|
* Copyright (C) 1995-2003 Peter Mattis and Spencer Kimball
|
|
*
|
|
* gimpdrawable_pdb.h
|
|
*
|
|
* This library is free software; you can redistribute it and/or
|
|
* modify it under the terms of the GNU Lesser General Public
|
|
* License as published by the Free Software Foundation; either
|
|
* version 2 of the License, or (at your option) any later version.
|
|
*
|
|
* This library is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
* Lesser General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU Lesser General Public
|
|
* License along with this library; if not, write to the
|
|
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
|
* Boston, MA 02111-1307, USA.
|
|
*/
|
|
|
|
/* NOTE: This file is auto-generated by pdbgen.pl */
|
|
|
|
#ifndef __GIMP_DRAWABLE_PDB_H__
|
|
#define __GIMP_DRAWABLE_PDB_H__
|
|
|
|
G_BEGIN_DECLS
|
|
|
|
/* For information look into the C source or the html documentation */
|
|
|
|
|
|
gboolean gimp_drawable_is_valid (gint32 drawable_ID);
|
|
gboolean gimp_drawable_is_layer (gint32 drawable_ID);
|
|
gboolean gimp_drawable_is_text_layer (gint32 drawable_ID);
|
|
gboolean gimp_drawable_is_layer_mask (gint32 drawable_ID);
|
|
gboolean gimp_drawable_is_channel (gint32 drawable_ID);
|
|
GimpImageType gimp_drawable_type (gint32 drawable_ID);
|
|
GimpImageType gimp_drawable_type_with_alpha (gint32 drawable_ID);
|
|
gboolean gimp_drawable_has_alpha (gint32 drawable_ID);
|
|
gboolean gimp_drawable_is_rgb (gint32 drawable_ID);
|
|
gboolean gimp_drawable_is_gray (gint32 drawable_ID);
|
|
gboolean gimp_drawable_is_indexed (gint32 drawable_ID);
|
|
gint gimp_drawable_bpp (gint32 drawable_ID);
|
|
gint gimp_drawable_width (gint32 drawable_ID);
|
|
gint gimp_drawable_height (gint32 drawable_ID);
|
|
gboolean gimp_drawable_offsets (gint32 drawable_ID,
|
|
gint *offset_x,
|
|
gint *offset_y);
|
|
gboolean gimp_drawable_delete (gint32 drawable_ID);
|
|
gint32 gimp_drawable_get_image (gint32 drawable_ID);
|
|
#ifndef GIMP_DISABLE_DEPRECATED
|
|
gboolean gimp_drawable_set_image (gint32 drawable_ID,
|
|
gint32 image_ID);
|
|
#endif /* GIMP_DISABLE_DEPRECATED */
|
|
gchar* gimp_drawable_get_name (gint32 drawable_ID);
|
|
gboolean gimp_drawable_set_name (gint32 drawable_ID,
|
|
const gchar *name);
|
|
gboolean gimp_drawable_get_visible (gint32 drawable_ID);
|
|
gboolean gimp_drawable_set_visible (gint32 drawable_ID,
|
|
gboolean visible);
|
|
gboolean gimp_drawable_get_linked (gint32 drawable_ID);
|
|
gboolean gimp_drawable_set_linked (gint32 drawable_ID,
|
|
gboolean linked);
|
|
gint gimp_drawable_get_tattoo (gint32 drawable_ID);
|
|
gboolean gimp_drawable_set_tattoo (gint32 drawable_ID,
|
|
gint tattoo);
|
|
gboolean gimp_drawable_mask_bounds (gint32 drawable_ID,
|
|
gint *x1,
|
|
gint *y1,
|
|
gint *x2,
|
|
gint *y2);
|
|
gboolean gimp_drawable_mask_intersect (gint32 drawable_ID,
|
|
gint *x,
|
|
gint *y,
|
|
gint *width,
|
|
gint *height);
|
|
gboolean gimp_drawable_merge_shadow (gint32 drawable_ID,
|
|
gboolean undo);
|
|
gboolean gimp_drawable_free_shadow (gint32 drawable_ID);
|
|
gboolean gimp_drawable_update (gint32 drawable_ID,
|
|
gint x,
|
|
gint y,
|
|
gint width,
|
|
gint height);
|
|
guint8* gimp_drawable_get_pixel (gint32 drawable_ID,
|
|
gint x_coord,
|
|
gint y_coord,
|
|
gint *num_channels);
|
|
gboolean gimp_drawable_set_pixel (gint32 drawable_ID,
|
|
gint x_coord,
|
|
gint y_coord,
|
|
gint num_channels,
|
|
const guint8 *pixel);
|
|
gboolean gimp_drawable_fill (gint32 drawable_ID,
|
|
GimpFillType fill_type);
|
|
gboolean gimp_drawable_offset (gint32 drawable_ID,
|
|
gboolean wrap_around,
|
|
GimpOffsetType fill_type,
|
|
gint offset_x,
|
|
gint offset_y);
|
|
G_GNUC_INTERNAL gboolean _gimp_drawable_thumbnail (gint32 drawable_ID,
|
|
gint width,
|
|
gint height,
|
|
gint *actual_width,
|
|
gint *actual_height,
|
|
gint *bpp,
|
|
gint *thumbnail_data_count,
|
|
guint8 **thumbnail_data);
|
|
G_GNUC_INTERNAL gboolean _gimp_drawable_sub_thumbnail (gint32 drawable_ID,
|
|
gint src_x,
|
|
gint src_y,
|
|
gint src_width,
|
|
gint src_height,
|
|
gint dest_width,
|
|
gint dest_height,
|
|
gint *width,
|
|
gint *height,
|
|
gint *bpp,
|
|
gint *thumbnail_data_count,
|
|
guint8 **thumbnail_data);
|
|
gboolean gimp_drawable_foreground_extract (gint32 drawable_ID,
|
|
GimpForegroundExtractMode mode,
|
|
gint32 mask_ID);
|
|
|
|
|
|
G_END_DECLS
|
|
|
|
#endif /* __GIMP_DRAWABLE_PDB_H__ */
|