Gimp/app/text
Michael Natterer 7a5f914866 To optimize duplicate and/or wrong image updates away, introduced new
2003-09-06  Michael Natterer  <mitch@gimp.org>

	To optimize duplicate and/or wrong image updates away, introduced
	new policy that a child object must never explicitly update or
	invalidate its parent object (just like the GUI is not updated
	explicitly by the core):

	* app/core/gimpdrawable.[ch]: added new signal
	GimpDrawable::update(). Never update or invalidate the image when
	the drawable is updated or invalidated.

	(gimp_drawable_set_visible): don't gimp_drawable_update() the
	drawable since its pixels have not changed.

	* app/core/gimpimage.[ch]: connect to the "add" and "remove"
	signals of the layers and channels containers. Also connect to the
	"update" and "visibility_changed" signals of all drawables in
	these containers (optimizes away updates issued by drawables which
	are not yet added to the image and updates of the selection
	mask). Also, don't propagate updates to the image if the emitting
	drawable is invisible (optimizes away updates issued by invisible
	drawables).

	(gimp_image_add_layer,channel)
	(gimp_image_remove_layer,channel): don't update the image since
	that's done by our "add" and "remove" handlers now.

	(gimp_image_position_layer,channel): update just the image, not
	the drawable since its pixels have not changed.

	(gimp_image_real_colormap_changed)
	(gimp_image_set_component_visible): always call
	gimp_image_update() *and* gimp_viewable_invalidate_preview() to
	get everything updated, since update and invalidate of images are
	not connected.

	* app/core/gimpimage-undo-push.c (undo_pop_layer,channel): don't
	update the drawable since (a) its pixels don't change and (b) the
	image updates itself upon adding/removing now.

	(undo_pop_layer_mod): replaced gimp_image_update() by
	gimp_drawable_update() (just for consistency with other similar
	functions).

	* app/core/gimplayer.c: connect to "update" of the layer mask and
	issue updates on the layer if the mask update has any effect on
	the projection.
	(gimp_layer_create_mask): don't set the mask's offsets here since
	they may be different when we later add the mask to the layer.

	* app/core/gimplayermask.c (gimp_layer_mask_set_layer): set the
	mask offsets here instead.

	* app/core/gimpchannel.c (gimp_channel_translate): update the
	channel even if push_undo == FALSE.

	* app/paint/gimppaintcore.c (gimp_paint_core_finish)
	* app/tools/gimpinktool.c (ink_finish): invalidate both the
	drawable and the image preview since invalidating the drawable
	doesn't invalidate the image any more.

	* app/text/gimptextlayer.c (gimp_text_layer_render_now): also
	update the new extents of the text layer, not only the old one.

	(gimp_text_layer_render_layout): don't update the drawable since
	gimp_drawable_fill() already updated it.
2003-09-06 20:06:53 +00:00
..
.cvsignore configure.in app/Makefile.am added new directory text. 2003-01-29 22:20:09 +00:00
gimp-fonts.c Font configuration stuff: You can rescan for fonts on the fly now. A 2003-09-01 18:20:56 +00:00
gimp-fonts.h Font configuration stuff: You can rescan for fonts on the fly now. A 2003-09-01 18:20:56 +00:00
gimpfont.c #define GIMP_VIEWABLE_MAX_PREVIEW_SIZE here. 2003-04-01 13:53:47 +00:00
gimpfont.h require gtk+ >= 2.2. 2003-03-25 22:13:10 +00:00
gimpfontlist.c Query fontconfig directly for the font list, avoiding scanning the 2003-05-02 05:50:36 +00:00
gimpfontlist.h added gimp_font_list_restore() which loads the fonts (not yet). 2003-03-25 22:53:10 +00:00
gimpfonts.c Font configuration stuff: You can rescan for fonts on the fly now. A 2003-09-01 18:20:56 +00:00
gimpfonts.h Font configuration stuff: You can rescan for fonts on the fly now. A 2003-09-01 18:20:56 +00:00
gimptext-bitmap.c app/text/Makefile.am new files that hold yet unused GimpItem transform 2003-08-15 19:45:41 +00:00
gimptext-bitmap.h app/text/Makefile.am new files that hold yet unused GimpItem transform 2003-08-15 19:45:41 +00:00
gimptext-compat.c define PANGO_DISABLE_DEPRECATED. 2003-09-03 14:22:34 +00:00
gimptext-compat.h Fixed most of the bugs the Script-Fu logo scripts triggered: 2003-02-14 22:33:22 +00:00
gimptext-parasite.c attempt to convert text from locale encoding. 2003-06-25 21:18:45 +00:00
gimptext-parasite.h added new function gimp_config_serialize_to_fd() for the sake of 2003-06-24 19:45:55 +00:00
gimptext-private.h app/text/Makefile.am new files that hold yet unused GimpItem transform 2003-08-15 19:45:41 +00:00
gimptext-vectors.c removed excessive path debugging output. 2003-08-31 23:46:05 +00:00
gimptext-vectors.h Generalized text rendering and added a framework for creating GimpVectors 2003-07-20 21:23:01 +00:00
gimptext-xlfd.c added convenience function gimp_text_set_font_from_xlfd(). Improved and 2003-06-25 11:43:36 +00:00
gimptext-xlfd.h added convenience function gimp_text_set_font_from_xlfd(). Improved and 2003-06-25 11:43:36 +00:00
gimptext.c derive it from GimpObject and added GimpObject::get_memsize() 2003-08-25 12:24:51 +00:00
gimptext.h derive it from GimpObject and added GimpObject::get_memsize() 2003-08-25 12:24:51 +00:00
gimptextlayer-transform.c use gimp_drawable_invalidate_boundary now. 2003-09-04 17:48:15 +00:00
gimptextlayer-transform.h app/text/Makefile.am new files that hold yet unused GimpItem transform 2003-08-15 19:45:41 +00:00
gimptextlayer.c To optimize duplicate and/or wrong image updates away, introduced new 2003-09-06 20:06:53 +00:00
gimptextlayer.h app/text/Makefile.am new files that hold yet unused GimpItem transform 2003-08-15 19:45:41 +00:00
gimptextlayout-render.c app/text/gimptextlayout-render.c (gimp_text_layout_render) 2003-09-02 13:43:26 +00:00
gimptextlayout-render.h Generalized text rendering and added a framework for creating GimpVectors 2003-07-20 21:23:01 +00:00
gimptextlayout.c Generalized text rendering and added a framework for creating GimpVectors 2003-07-20 21:23:01 +00:00
gimptextlayout.h app/text/Makefile.am app/text/gimptextlayout-private.h new files that 2003-07-06 18:43:58 +00:00
Makefile.am app/display/Makefile.am app/gui/Makefile.am app/paint/Makefile.am 2003-09-06 17:20:02 +00:00
makefile.msc replace the win9x specific cd .... with the portable cd ..\..\.. 2003-06-19 09:57:35 +00:00
text-enums.c app/text/text-enums.[ch] app/text/gimptext.[ch] added some more text 2003-04-09 21:19:12 +00:00
text-enums.h app/text/text-enums.[ch] app/text/gimptext.[ch] added some more text 2003-04-09 21:19:12 +00:00
text-types.h app/text/Makefile.am app/text/text-types.h new GimpList subclass. 2003-03-25 22:00:59 +00:00