• Michael Natterer's avatar
    Move the shadow tiles from the image to the drawable. Fixes bug #100469. · e5be5664
    Michael Natterer authored
    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
    e5be5664
gimpdrawable_pdb.c 41.5 KB