Gimp/app/actions
Michael Natterer 33bba65728 Make sure the selection (gimpimage-mask.c) functionality is really built
2002-08-20  Michael Natterer  <mitch@gimp.org>

	Make sure the selection (gimpimage-mask.c) functionality is really
	built *on top* of the GimpChannel functionality:

	* app/undo.[ch]: renamed undo_push_image_mask() to
	undo_push_mask() and generalized it's API to take a GimpChannel
	param so undos can be pushed for channels which are not the
	image's selection. Simplified the API and added code which copies
	the region of interest instead of leaving this to callers.

	* app/undo_types.h: s/IMAGE_MASK_UNDO/MASK_UNDO/

	* app/undo_history.c: changed accordingly.

	* app/core/gimpchannel.[ch]: don't #include "gimpimage-mask.h".
	Changed gimp_channel_push_undo() to really push a channel undo,
	not a selection undo. Added "gboolean push_undo" params to all
	functions which are called from gimpimage-mask.c. Various cleanups
	and optimizations. Added /*< proxy-foo >*/ stuff to the header so
	we export just the struct itself to libgimpproxy. Added accessors
	gimp_channel_[get|set]_show_masked().

	* app/core/gimpimage-mask.[ch]: renamed gimp_image_mask_undo() to
	gimp_image_mask_push_undo(). Call it before calling GimpChannel
	functions which modify the mask, also call all GimpChannel
	functions with push_undo = FALSE. Emit gimp_image_mask_changed()
	after each operation instead of calling it in
	gimp_image_mask_invalidate(). Removed gimp_image_mask_none()
	because it is the same as gimp_image_mask_clear().
	General cleanup.

	* app/core/gimpimage-mask-select.c
	* app/core/gimpimage-qmask.c: changed accordingly.

	* app/core/gimpedit.c: call gimp_image_mask_clear(), not
	gimp_channel_clear (gimp_image_get_mask()).

	* app/core/gimpimage-crop.c
	* app/core/gimpimage-resize.c
	* app/core/gimpimage-scale.c: call gimp_image_mask_changed()

	* app/gui/channels-commands.c
	* app/gui/select-commands.c
	* app/tools/gimptexttool.c
	* tools/pdbgen/pdb/channel.pdb
	* tools/pdbgen/pdb/selection.pdb: follow GimpChannel and
	gimp_image_mask* API changes.

	* app/pdb/channel_cmds.c
	* app/pdb/selection_cmds.c
	* libgimpproxy/gimpchannel.h: regenerated.

	Unrelated:

	* app/core/gimpimage.c: call gimp_drawable_push_undo() instead of
	undo_push_image() directly.
2002-08-20 10:22:23 +00:00
..
buffers-commands.c derive from GtkDrawingArea instead of deprecated GtkPreview. 2002-01-30 17:39:56 +00:00
buffers-commands.h app/core/Makefile.am new files: the QMask stuff stripped from GUI code. 2001-11-30 14:41:56 +00:00
channels-commands.c Make sure the selection (gimpimage-mask.c) functionality is really built 2002-08-20 10:22:23 +00:00
channels-commands.h changed the GimpNewDrawableFunc typedef to take an additional 2001-12-17 13:41:23 +00:00
colormap-commands.c Started to get rid of the gdisplays_foo() functions in 2002-05-08 17:48:24 +00:00
colormap-commands.h namespaceified and cleaned up a lot. Removed the menu code. 2002-03-17 13:52:25 +00:00
colormap-editor-commands.c Started to get rid of the gdisplays_foo() functions in 2002-05-08 17:48:24 +00:00
colormap-editor-commands.h namespaceified and cleaned up a lot. Removed the menu code. 2002-03-17 13:52:25 +00:00
data-commands.c devel-docs/Makefile.am new file documenting the core's include policy. 2002-05-03 12:45:22 +00:00
data-commands.h the active_tool may change in the middle of gdisplay_canvas_events(), so 2001-07-08 21:44:52 +00:00
dialogs-commands.c added a read-only property for the display's image, so it can be retreived 2002-05-10 13:09:19 +00:00
dialogs-commands.h g_strdup() the stock_id passed to gimp_tool_info_new() because the 2002-03-14 17:07:02 +00:00
documents-commands.c added "gchar *name_changed_signal" to GimpViewableClass which defaults to 2002-04-28 23:10:42 +00:00
documents-commands.h added "gchar *name_changed_signal" to GimpViewableClass which defaults to 2002-04-28 23:10:42 +00:00
drawable-commands.c Started to get rid of the gdisplays_foo() functions in 2002-05-08 17:48:24 +00:00
drawable-commands.h make absolute paths out of relative ones passed on the commandline so the 2002-02-26 16:30:14 +00:00
edit-commands.c Started to get rid of the gdisplays_foo() functions in 2002-05-08 17:48:24 +00:00
edit-commands.h app/Makefile.am removed. 2001-06-26 12:09:43 +00:00
file-commands.c Started to get rid of the gdisplays_foo() functions in 2002-05-08 17:48:24 +00:00
file-commands.h added a (commented out) function to open files (to get rid of including 2001-07-09 17:58:56 +00:00
gradient-editor-commands.c changed gimp_channel_get_color() to not return the color but take a second 2002-03-08 16:34:42 +00:00
gradient-editor-commands.h app/core/Makefile.am new files: the QMask stuff stripped from GUI code. 2001-11-30 14:41:56 +00:00
gradients-commands.c added a boolean "internal" which indicates that the data object is an 2002-06-12 13:48:47 +00:00
gradients-commands.h app/core/Makefile.am new files: the QMask stuff stripped from GUI code. 2001-11-30 14:41:56 +00:00
help-commands.c devel-docs/Makefile.am new file documenting the core's include policy. 2002-05-03 12:45:22 +00:00
help-commands.h app/gui/Makefile.am removed... 2002-03-20 20:08:19 +00:00
image-commands.c removed gdisp->scale, gdisp->dot_for_dot, the scaling marcos and the 2002-06-26 22:16:59 +00:00
image-commands.h renamed shell->cd_list to shell->filters and shell->cd_ui to 2002-03-15 15:09:58 +00:00
images-commands.c removed unused commented out prototype. 2002-05-08 12:39:01 +00:00
images-commands.h removed unused commented out prototype. 2002-05-08 12:39:01 +00:00
layers-commands.c removed gdisp->scale, gdisp->dot_for_dot, the scaling marcos and the 2002-06-26 22:16:59 +00:00
layers-commands.h reordered some lines, no logic changed. 2002-04-12 12:29:51 +00:00
palette-editor-commands.c g_strdup() the stock_id passed to gimp_tool_info_new() because the 2002-03-14 17:07:02 +00:00
palette-editor-commands.h changed gimp_channel_get_color() to not return the color but take a second 2002-03-08 16:34:42 +00:00
palettes-commands.c added a boolean "internal" which indicates that the data object is an 2002-06-12 13:48:47 +00:00
palettes-commands.h app/core/Makefile.am new files: the QMask stuff stripped from GUI code. 2001-11-30 14:41:56 +00:00
plug-in-commands.c badly chopped into the new files below. Pass around much more "PlugIn" and 2002-03-20 17:46:13 +00:00
plug-in-commands.h badly chopped into the new files below. Pass around much more "PlugIn" and 2002-03-20 17:46:13 +00:00
qmask-commands.c Started to get rid of the gdisplays_foo() functions in 2002-05-08 17:48:24 +00:00
qmask-commands.h app/core/Makefile.am new files: the QMask stuff stripped from GUI code. 2001-11-30 14:41:56 +00:00
quick-mask-commands.c Started to get rid of the gdisplays_foo() functions in 2002-05-08 17:48:24 +00:00
quick-mask-commands.h app/core/Makefile.am new files: the QMask stuff stripped from GUI code. 2001-11-30 14:41:56 +00:00
select-commands.c Make sure the selection (gimpimage-mask.c) functionality is really built 2002-08-20 10:22:23 +00:00
select-commands.h app/Makefile.am removed. 2001-06-26 12:09:43 +00:00
tools-commands.c massive tool plugin changes 2002-03-29 03:50:29 +00:00
tools-commands.h app/Makefile.am removed, chopped... 2001-12-07 17:39:51 +00:00
vectors-commands.c Started to get rid of the gdisplays_foo() functions in 2002-05-08 17:48:24 +00:00
vectors-commands.h added a "item_activate_func" to the struct and the constructor so we can 2002-02-26 14:40:30 +00:00
view-commands.c removed gdisp->scale, gdisp->dot_for_dot, the scaling marcos and the 2002-06-26 22:16:59 +00:00
view-commands.h pass an additional "Gimp" pointer to 2002-03-20 15:32:35 +00:00