CVSROOT:        /cvs/gnome
Module name:    gimp
Changes by:     mitch   05/08/28 15:17:45

Modified files:
        .              : ChangeLog 
        app/paint      : gimpclone.c gimpclone.h gimpcloneoptions.c 
                         gimpcloneoptions.h gimppaintcore.c 
                         gimppaintcore.h 
        app/tools      : gimpclonetool.c 

Log message:
2005-08-28  Michael Natterer  <[EMAIL PROTECTED]>

Immplement "Sample Merged" for the clone tool. Fixes bug #123627 
[http://bugzilla.gnome.org/show_bug.cgi?id=123627].

* app/paint/gimppaintcore.[ch] (struct GimpPaintCore): added
members "saved_proj_tiles" which stores the unmodified projection,
"orig_proj_buf" which stores the unmodified temp paint application
buf and "use_saved_proj" which controls if all the additional
stuff should be allocated and managed.

(gimp_paint_core_start): allocate the saved_proj_tiles if needed.

(gimp_paint_core_get_orig_proj): new function like
gimp_paint_core_get_orig_image() which returns unmodified
projection pixels for paint application.

(gimp_paint_core_validate_saved_proj_tiles): new function like
gimp_paint_core_validate_undo_tiles() which copies the tiles that
will be dirtied to saved_proj_tiles.

(gimp_paint_core_paste): call above save_proj_tiles() so
projection tiles are saved before dirtying them.

* app/paint/gimpclone.[ch]: replaced member src_drawable by
src_pickable and use the image's projection if sample_merged it
TRUE. Adjust src offsets accordingly and use GimpPaintCore's new
get_orig_proj() API to get the src pixels.

* app/paint/gimpcloneoptions.[ch]: added boolean "sample_merged"
property.

* app/tools/gimpclonetool.c: follow GimpClone's src_drawable ->
src_pickable change.

(gimp_clone_tool_button_press): set the paint_core's
"use_saved_proj" boolean before chaining up.

(gimp_clone_options_gui): add a "Sample Merged" toggle button.

URL : 
http://cvs.gnome.org/bonsai/cvsquery.cgi?branch=&dir=gimp&who=mitch&date=explicit&mindate=2005-08-28%2015:16&maxdate=2005-08-28%2015:18

_______________________________________________
cvs-commits-list mailing list
cvs-commits-list@gnome.org
http://mail.gnome.org/mailman/listinfo/cvs-commits-list

Reply via email to