Commit graph

9213 commits

Author SHA1 Message Date
Sven Neumann a67a70b559 weight the pixels by their alpha value.
2007-06-07  Sven Neumann  <sven@gimp.org>

	* app/core/gimpprojection.c (gimp_projection_write_quarter):
	weight the pixels by their alpha value.

svn path=/trunk/; revision=22738
2007-06-07 15:20:49 +00:00
Sven Neumann 916cb45d93 removed the boolean from the GimpImage struct that used to track whether
2007-06-07  Sven Neumann  <sven@gimp.org>

	* app/core/gimpimage.[ch]: removed the boolean from the GimpImage
	struct that used to track whether the preview was valid.
	(gimp_image_invalidate_preview): just set the preview to NULL.

	* app/core/gimpimage-preview.c (gimp_image_get_new_preview):
	construct the preview from the projection instead of compositing
	the drawable previews.

svn path=/trunk/; revision=22737
2007-06-07 14:25:28 +00:00
Sven Neumann 916c53f0d8 lazily allocate the tile managers of the image pyramid.
2007-06-07  Sven Neumann  <sven@gimp.org>

	* app/core/gimpprojection.c: lazily allocate the tile managers of
	the image pyramid.	
	(gimp_projection_write_quarter): minor optimization.

svn path=/trunk/; revision=22736
2007-06-07 14:21:49 +00:00
Sven Neumann f322854007 app/text/Makefile.am app/core/Makefile.am app/tools/Makefile.am
2007-06-07  Sven Neumann  <sven@gimp.org>

	* app/text/Makefile.am
	* app/core/Makefile.am
	* app/tools/Makefile.am
	* app/display/Makefile.am
	* app/widgets/Makefile.am
	* app/base/Makefile.am
	* app/paint/Makefile.am
	* app/plug-in/Makefile.am
	* libgimp/Makefile.am
	* libgimpthumb/Makefile.am
	* tools/pdbgen/Makefile.am
	* libgimpwidgets/Makefile.am: applied the remaining parts of the
	patch from Daniel Richard G. to fix out-of-source-tree builds
	(bug #444960).

svn path=/trunk/; revision=22735
2007-06-07 13:19:44 +00:00
Sven Neumann 2a3fac83a9 reimplemented without using a logarithm.
2007-06-07  Sven Neumann  <sven@gimp.org>

	* app/core/gimpprojection.c (gimp_projection_get_level):
	reimplemented without using a logarithm.

svn path=/trunk/; revision=22734
2007-06-07 10:35:26 +00:00
Sven Neumann 1c11948985 app/dialogs/Makefile.am when calling xsltproc, use the stylesheet from
2007-06-07  Sven Neumann  <sven@gimp.org>

	* app/dialogs/Makefile.am
	* menus/Makefile.am: when calling xsltproc, use the stylesheet from
	$(srcdir). From the patch attached to bug #444960.

svn path=/trunk/; revision=22733
2007-06-07 08:40:36 +00:00
Sven Neumann af942b5bdb bail out with an error if xsltproc is missing and authors.h needs to be
2007-06-07  Sven Neumann  <sven@gimp.org>

	* app/dialogs/Makefile.am: bail out with an error if xsltproc is
	missing and authors.h needs to be regenerated.

	* libgimpwidgets/Makefile.am: let gimpwidgets-private.lo, not the
	C file, depend on gimp-wilber-pixbufs.h. From the patch attached to
	bug #444960.

svn path=/trunk/; revision=22732
2007-06-07 08:35:20 +00:00
Sven Neumann 5c9a69f81f converted to a GimpDialog.
2007-06-07  Sven Neumann  <sven@gimp.org>

	* app/dialogs/tips-dialog.c: converted to a GimpDialog.


svn path=/trunk/; revision=22731
2007-06-06 22:42:45 +00:00
Sven Neumann a4079a37db minor API cleanup. Use horizontal and vertical scale to determine the
2007-06-06  Sven Neumann  <sven@gimp.org>

	* app/core/gimpprojection.[ch]: minor API cleanup. Use 
horizontal
	and vertical scale to determine the pyramid level to use.

	* app/display/gimpdisplayshell-draw.c
	* app/display/gimpdisplayshell-render.c: follow the API change.


svn path=/trunk/; revision=22730
2007-06-06 21:40:31 +00:00
Sven Neumann 2b401b8691 cosmetics.
2007-06-06  Sven Neumann  <sven@gimp.org>

	* app/core/gimpprojection.c: cosmetics.

svn path=/trunk/; revision=22728
2007-06-06 13:59:41 +00:00
Martin Nordholts 7917611e53 Implemented an image pyramid for the GimpProjection. An image pyramid
2007-06-06  Martin Nordholts  <martinn@svn.gnome.org>

	Implemented an image pyramid for the GimpProjection. An image pyramid
	caches a projection at several sizes, causing the rendering code not to
	have to swap in all tiles of a (potentially) large image; it can use
	small versions of the projection if the user is zoomed out.

	The image pyramid also imroves visual quality, especially at zoom levels
	where there is a pyramid level that matches perfectly (i.e. at e.g. 50%,
	25%, and 12.5% zoom). A step on the right track for bug #76096.

	* app/core/gimpprojection.[ch]: Adjusted to make use of an image
	pyramid. GimpProjection now keeps an array of TileManager:s, one per
	pyramid level. Renamed _alloc_tiles to _alloc_levels.

	* app/display/gimpdisplayshell-draw.c: (gimp_display_shell_draw_area):
	Use the right GimpProjection level when drawing

	* app/display/gimpdisplayshell-render.c: (render_image_init_info_full):
	Setup RenderInfo with level in mind

	* app/base/tile-manager.[ch]: Extended API a bit, nothing complicated.

	* app/base/tile-manager-private.h (struct _TileManager): Keep a pointer
	to the level below for use in an image pyramid.


svn path=/trunk/; revision=22727
2007-06-06 13:45:44 +00:00
Sven Neumann 67ec846b73 corrected a bug introduced by my last commit
svn path=/trunk/; revision=22726
2007-06-06 13:26:48 +00:00
Sven Neumann 5ca92142ad cleanup.
2007-06-06  Sven Neumann  <sven@gimp.org>

	* app/core/gimpimage-preview.c (gimp_image_get_new_preview): cleanup.

svn path=/trunk/; revision=22725
2007-06-06 12:56:50 +00:00
Sven Neumann 806b92fb83 always use scale_region_lanczos() for LANCZOS interpolation. Fixes bug
2007-06-06  Sven Neumann  <sven@gimp.org>

	* app/paint-funcs/scale-funcs.c (scale_region): always use
	scale_region_lanczos() for LANCZOS interpolation. Fixes bug #443640.

svn path=/trunk/; revision=22724
2007-06-06 11:55:38 +00:00
Sven Neumann 097b1768a5 the projection is 2 bytes per pixel for grayscale images.
2007-06-06  Sven Neumann  <sven@gimp.org>

	* app/core/gimpprojection.c (gimp_projection_estimate_memsize):
	the projection is 2 bytes per pixel for grayscale images.

svn path=/trunk/; revision=22723
2007-06-06 10:48:00 +00:00
Sven Neumann 798dd95499 #include "gimprojection.h"
svn path=/trunk/; revision=22722
2007-06-06 10:13:44 +00:00
Sven Neumann feaf142fc7 added function that estimates the memory requirements for an image
2007-06-06  Sven Neumann  <sven@gimp.org>

	* app/core/gimpprojection.[ch]: added function that estimates the
	memory requirements for an image projection.

	* app/core/gimptemplate.c (gimp_template_notify): use it.

svn path=/trunk/; revision=22721
2007-06-06 10:03:17 +00:00
Mukund Sivaraman c2d1214551 Changed "The GIMP" to "GIMP" everywhere, where it's used as a name.
2007-06-06  Mukund Sivaraman  <muks@mukund.org>

        Changed "The GIMP" to "GIMP" everywhere, where it's used as a name.


svn path=/trunk/; revision=22715
2007-06-06 08:44:52 +00:00
Mukund Sivaraman 5fe7f79072 Added format string to dangerous fprintf() call without it, which directly
2007-06-04  Mukund Sivaraman  <muks@mukund.org>

        * app/vectors/gimpvectors-export.c: Added format string to dangerous 
        fprintf() call without it, which directly print variable data.  


svn path=/trunk/; revision=22704
2007-06-04 15:19:32 +00:00
Sven Neumann 5230373dec app/actions/image-actions.c (image_actions) renamed menu entries as
2007-06-04  Sven Neumann  <sven@gimp.org>

	* app/actions/image-actions.c (image_actions)
	* app/actions/layers-actions.c (layers_actions): renamed menu
	entries as suggested in bug #443384.

svn path=/trunk/; revision=22701
2007-06-04 12:19:55 +00:00
Michael Natterer de848de405 remove compat property "threshold" because the parser now silently skips
2007-06-04  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimpmagnifyoptions.c: remove compat property
	"threshold" because the parser now silently skips unknown
	properties.


svn path=/trunk/; revision=22700
2007-06-04 10:56:17 +00:00
Michael Natterer 8cb4d6070b applied patch from Eric Lamarque which adds support for ABR v6 brushes.
2007-06-04  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpbrush-load.c: applied patch from Eric Lamarque
	which adds support for ABR v6 brushes. Did some minor cleanups in
	the patch, reordered functions and generally fixed error handling
	of the ABR parsers. Fixes bug #377016.


svn path=/trunk/; revision=22699
2007-06-04 10:43:31 +00:00
Michael Natterer b0c8362f85 be forward-compatible by skipping unknown object properties.
2007-06-04  Michael Natterer  <mitch@gimp.org>

	* libgimpconfig/gimpconfig-deserialize.c: be forward-compatible by
	skipping unknown object properties.

	* app/config/gimprc-deserialize.c: synced code with
	libgimpconfig (same stuff should look the same).

	* app/config/gimprc.c: whitespace.


svn path=/trunk/; revision=22698
2007-06-04 10:38:25 +00:00
Michael Natterer e5e3c8c65d check for errors even if the loader_func returned something so we display
2007-06-03  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpdatafactory.c (gimp_data_factory_load_data): check
	for errors even if the loader_func returned something so we
	display errors from partially loaded files which contain multiple
	data items.


svn path=/trunk/; revision=22696
2007-06-03 21:46:04 +00:00
Michael Natterer 43f23a0a07 disconnect the gui_display_remove() and gui_display_changed() callbacks
2007-06-02  Michael Natterer  <mitch@gimp.org>

	* app/gui/gui.c (gui_exit_callback): disconnect the
	gui_display_remove() and gui_display_changed() callbacks before
	deleting the displays, not after (it makes no sense to update the
	GUI while exiting).


svn path=/trunk/; revision=22694
2007-06-02 12:51:59 +00:00
Michael Natterer 3fef65025a app/display/gimpdisplayshell-dnd.c app/widgets/gimpitemtreeview.c set the
2007-06-02  Michael Natterer  <mitch@gimp.org>

	* app/display/gimpdisplayshell-dnd.c
	* app/widgets/gimpitemtreeview.c
	* app/widgets/gimpchanneltreeview.c: set the "linked" property of
	newly dropped items to FALSE.

	* app/widgets/gimptoolbox-dnd.c (gimp_toolbox_drop_drawable):
	stylistic cleanup.


svn path=/trunk/; revision=22693
2007-06-02 11:45:54 +00:00
Sven Neumann bbe3a11840 commented out debug output.
2007-06-01  Sven Neumann  <sven@gimp.org>

	* app/tools/gimpperspectiveclonetool.c: commented out debug 
output.


svn path=/trunk/; revision=22692
2007-06-01 15:47:13 +00:00
Sven Neumann 527bb2e757 unified progress strings.
2007-05-31  Sven Neumann  <sven@gimp.org>

	* app/core/gimpimage-convert.c: unified progress strings.

svn path=/trunk/; revision=22686
2007-05-31 13:08:19 +00:00
Sven Neumann 903b310f18 minor code cleanup.
2007-05-31  Sven Neumann  <sven@gimp.org>

	* app/core/gimpimage-convert.c: minor code cleanup.

svn path=/trunk/; revision=22685
2007-05-31 12:55:33 +00:00
Sven Neumann ade4dd09d5 formatting
svn path=/trunk/; revision=22660
2007-05-30 11:56:52 +00:00
Mukund Sivaraman f67306c1d3 Added missing include.
2007-05-30  Mukund Sivaraman  <muks@mukund.org>

        * app/tools/gimpdrawtool.c: Added missing include.

        * app/tools/gimpbycolorselecttool.c: Removed unused variable.

        * app/plug-in/gimpenvirontable.c: Added cast for callback function.

        * plug-ins/script-fu/tinyscheme/scheme.c: Correctly cast pointer to
        an long integer type.


svn path=/trunk/; revision=22659
2007-05-30 11:49:14 +00:00
Sven Neumann 2581c9437e removed unused typedef.
2007-05-29  Sven Neumann  <sven@gimp.org>

	* app/base/base-types.h: removed unused typedef.

svn path=/trunk/; revision=22654
2007-05-29 09:57:40 +00:00
Sven Neumann 86eaa1fa06 no need to use memcpy here
svn path=/trunk/; revision=22653
2007-05-29 09:57:13 +00:00
Sven Neumann 2027fdf9ab use GSlice to allocate the transform matrix.
2007-05-29  Sven Neumann  <sven@gimp.org>

	* app/tools/gimpdrawtool.c: use GSlice to allocate the transform
	matrix.

svn path=/trunk/; revision=22652
2007-05-29 09:44:31 +00:00
Sven Neumann b19ebc29f9 don't memdup gslice-allocated memory.
2007-05-29  Sven Neumann  <sven@gimp.org>

	* app/vectors/gimpvectors-import.c: don't memdup gslice-allocated
	memory.

svn path=/trunk/; revision=22651
2007-05-29 09:25:22 +00:00
Sven Neumann 7c4bbafe75 app/core/gimpimage.c (gimp_image_parasite_attach) allocate the temporary
2007-05-29  Sven Neumann  <sven@gimp.org>

	* app/core/gimpimage.c (gimp_image_parasite_attach)
	* app/core/gimpitem.c (gimp_item_parasite_attach): allocate the
	temporary GimpParasite copy on the stack.

svn path=/trunk/; revision=22650
2007-05-29 09:23:34 +00:00
Michael Natterer 6ef6576ab3 set "linked" and "lock-alpha" to FALSE too.
2007-05-29  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimptoolbox-dnd.c (gimp_toolbox_drop_drawable): set
	"linked" and "lock-alpha" to FALSE too.


svn path=/trunk/; revision=22649
2007-05-29 09:12:42 +00:00
Sven Neumann 3081e02db0 renamed tile_sanitize_rowhints() to tile_allocate_rowhints().
2007-05-29  Sven Neumann  <sven@gimp.org>

	* app/base/tile.[ch]: renamed tile_sanitize_rowhints() to
	tile_allocate_rowhints().
	
	* app/base/tile-manager.c
	* app/paint-funcs/paint-funcs.c: changed accordingly.

svn path=/trunk/; revision=22648
2007-05-29 09:06:15 +00:00
Michael Natterer 18d586fb1d also set the mode of the new layer to NORMAL and its opacity to OPAQUE.
2007-05-29  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimptoolbox-dnd.c (gimp_toolbox_drop_drawable): also
	set the mode of the new layer to NORMAL and its opacity to OPAQUE.


svn path=/trunk/; revision=22647
2007-05-29 09:03:16 +00:00
Michael Natterer 11f6b6d005 app/display/gimpdisplayshell-dnd.c make drop-duplicated drawables visible
2007-05-29  Michael Natterer  <mitch@gimp.org>

	* app/display/gimpdisplayshell-dnd.c
	* app/widgets/gimptoolbox-dnd.c: make drop-duplicated drawables
	visible before adding them to the image. Spotted by Jimmac.


svn path=/trunk/; revision=22645
2007-05-28 23:44:38 +00:00
Michael Natterer 91ca374788 allocate tile->rowhint using tile_sanitize_rowhints() (which uses GSlice)
2007-05-28  Michael Natterer  <mitch@gimp.org>

	* app/base/tile-manager.c (tile_manager_get): allocate
	tile->rowhint using tile_sanitize_rowhints() (which uses GSlice)
	instead of g_memdup(). Fixes bug #441878.


svn path=/trunk/; revision=22643
2007-05-28 21:27:15 +00:00
Michael Natterer 2fe95848c5 Don't leave the user without progress bar just because the display's
2007-05-28  Michael Natterer  <mitch@gimp.org>

	Don't leave the user without progress bar just because the
	display's statusbar is invisible:

	* app/display/gimpstatusbar.[ch]: if the statusbar is invisible
	when a progress wants to be shown, temporarily show it, recording
	the fact in the new boolean "progress_shown" member. Added new API
	gimp_statusbar_get/set_visible() which is aware of the new
	temporary visibility state.

	* app/display/gimpdisplayshell-appearance.c
	(gimp_display_shell_set_show_statusbar)
	* app/display/gimpdisplayshell-progress.c
	(gimp_display_shell_progress_message): use the new API instead of
	showing/hiding the widget directly.


svn path=/trunk/; revision=22642
2007-05-28 17:42:55 +00:00
Michael Natterer 53f70a7eea derive from GtkWidget instead of GtkDrawingArea so we save a GdkWindow and
2007-05-28  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpfgbgview.[ch]: derive from GtkWidget instead of
	GtkDrawingArea so we save a GdkWindow and render on the correct
	background color also for inactive notebook tabs.


svn path=/trunk/; revision=22641
2007-05-28 14:08:15 +00:00
Michael Natterer 8eb046f130 set "Lock Alpha" to TRUE again on floating selections.
2007-05-28  Michael Natterer  <mitch@gimp.org>

	* app/core/gimplayer-floating-sel.c (floating_sel_attach): set
	"Lock Alpha" to TRUE again on floating selections.

	(floating_sel_to_layer): instead, set it to FALSE when turning
	it into a new layer. Fixes bug #418215 and keeps #161042 closed.


svn path=/trunk/; revision=22638
2007-05-27 23:07:36 +00:00
Michael Natterer 65ef13729f new utility function which returns the neighbor of a container's active
2007-05-27  Michael Natterer  <mitch@gimp.org>

	* app/core/gimp-utils.[ch] (gimp_container_get_neighbor_of_active):
	new utility function which returns the neighbor of a container's
	active item.

	* app/widgets/gimpcontainerview-utils.[ch]
	(gimp_container_view_remove_active): remove a container view's
	active item, using above function to select its neighbor.

	* app/actions/data-commands.c
	* app/actions/buffers-commands.c
	* app/actions/documents-commands.c
	* app/actions/templates-commands.c: use above functions to select
	reasonable items when deleting from a list (instead of always
	jumping to the first item).



svn path=/trunk/; revision=22632
2007-05-27 15:13:45 +00:00
Sven Neumann 1dd7562dcd removed unused struct member.
2007-05-26  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimpsizebox.c (GimpSizeBoxPrivate): removed unused
	struct member.


svn path=/trunk/; revision=22630
2007-05-26 20:11:58 +00:00
Michael Natterer d0e0e259a3 also initialize alpha of xor-color's default value to stop valgrind from
2007-05-26  Michael Natterer  <mitch@gimp.org>

	* app/config/gimpdisplayconfig.c (gimp_display_config_class_init):
	also initialize alpha of xor-color's default value to stop
	valgrind from complaining about uninitialized memory.


svn path=/trunk/; revision=22624
2007-05-26 14:38:43 +00:00
Sven Neumann 080ad1d6e1 do not only declare layer_options_dialog_free(), but do actually use it.
2007-05-26  Sven Neumann  <sven@gimp.org>

	* app/dialogs/layer-options-dialog.c: do not only declare
	layer_options_dialog_free(), but do actually use it.


svn path=/trunk/; revision=22623
2007-05-26 13:19:00 +00:00
Sven Neumann 89cb25ecec slightly nicer output from 'make check'
svn path=/trunk/; revision=22617
2007-05-25 12:52:05 +00:00
Sven Neumann 5a8bc70c98 app/composite/gimp-composite-mmx.c app/composite/gimp-composite-sse2.c
2007-05-25  Sven Neumann  <sven@gimp.org>

	* app/composite/gimp-composite-mmx.c
	* app/composite/gimp-composite-sse2.c
	* app/composite/gimp-composite-regression.c: minor code cleanup.

svn path=/trunk/; revision=22616
2007-05-25 12:45:32 +00:00