Commit graph

2746 commits

Author SHA1 Message Date
Michael Natterer 529fd5e629 app/actions/Makefile.am app/core/Makefile.am app/display/Makefile.am use
2007-12-29  Michael Natterer  <mitch@gimp.org>

	* app/actions/Makefile.am
	* app/core/Makefile.am
	* app/display/Makefile.am
	* app/tools/Makefile.am: use GEGL_CFLAGS.


svn path=/trunk/; revision=24472
2007-12-29 19:18:57 +00:00
Michael Natterer 1e8371361e app/actions/image-commands.c app/actions/select-commands.c
2007-12-26  Michael Natterer  <mitch@gimp.org>

	* app/actions/image-commands.c
	* app/actions/select-commands.c
	* app/core/gimp-edit.c
	* app/core/gimpdrawable-stroke.c
	* app/core/gimpimage-duplicate.c
	* app/core/gimpimage-preview.c
	* app/core/gimpimage-rotate.c
	* app/core/gimpimageundo.c
	* app/core/gimpitem-preview.c
	* app/dialogs/grid-dialog.c
	* app/dialogs/layer-options-dialog.c
	* app/dialogs/offset-dialog.c
	* app/dialogs/stroke-dialog.c
	* app/display/gimpdisplayshell-scale.c
	* app/display/gimpdisplayshell-title.c
	* app/display/gimpdisplayshell.c
	* app/display/gimpstatusbar.c
	* app/paint/gimppaintoptions.c
	* app/tools/gimpmagnifytool.c
	* app/tools/gimpmeasuretool.c
	* app/tools/gimppainttool.c
	* app/tools/gimprectangletool.c
	* app/tools/gimprotatetool.c
	* app/tools/gimpscaletool.c
	* app/tools/gimptexttool.c
	* app/vectors/gimpvectors-export.c
	* app/vectors/gimpvectors-import.c
	* app/widgets/gimpcursorview.c
	* app/widgets/gimpimagepropview.c
	* app/widgets/gimptoolbox-dnd.c
	* app/widgets/gimpviewrendererdrawable.c
	* app/widgets/gimpviewrendererimage.c
	* app/xcf/xcf-load.c
	* app/xcf/xcf-save.c: use gimp_image_get/set_resolution() instead
	of accessing the GimpImage members directly.


svn path=/trunk/; revision=24436
2007-12-26 17:33:41 +00:00
Michael Natterer 6074f7e248 app/core/gimpimage-guides.[ch] add accessors for the lists of guides and
2007-12-25  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpimage-guides.[ch]
	* app/core/gimpimage-sample-points.[ch]: add accessors for the lists
	of guides and sample points.

	* app/core/gimpimage-crop.c
	* app/core/gimpimage-duplicate.c
	* app/core/gimpimage-flip.c
	* app/core/gimpimage-resize.c
	* app/core/gimpimage-rotate.c
	* app/core/gimpimage-scale.c
	* app/core/gimpimage-snap.c
	* app/core/gimpimage.c
	* app/display/gimpdisplayshell-appearance.c
	* app/display/gimpdisplayshell-draw.c
	* app/display/gimpdisplayshell.c
	* app/widgets/gimpsamplepointeditor.c
	* app/xcf/xcf-save.c: use the new accessors.


svn path=/trunk/; revision=24434
2007-12-25 17:09:04 +00:00
Michael Natterer 0d31cf5521 : renamed "cmap" to "colormap" and "num_cols" to "n_colors".
2007-12-25  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpimage.h (struct GimpImage):: renamed "cmap" to
	"colormap" and "num_cols" to "n_colors".

	* app/core/gimpimage.c
	* app/core/gimpimage-colormap.[ch]
	* app/widgets/gimpcolormapeditor.c: changed accordingly.


svn path=/trunk/; revision=24433
2007-12-25 16:33:04 +00:00
Michael Natterer 75061fccfd app/actions/channels-commands.c app/actions/colormap-actions.c
2007-12-25  Michael Natterer  <mitch@gimp.org>

	* app/actions/channels-commands.c
	* app/actions/colormap-actions.c
	* app/actions/colormap-commands.c
	* app/actions/image-commands.c
	* app/core/gimp-edit.c
	* app/core/gimpdrawable-preview.c
	* app/core/gimpimage-colorhash.c
	* app/core/gimpimage-colormap.c
	* app/core/gimpimage-convert.c
	* app/core/gimpimage-crop.c
	* app/core/gimpimage-duplicate.c
	* app/core/gimpimage-flip.c
	* app/core/gimpimage-guides.c
	* app/core/gimpimage-merge.c
	* app/core/gimpimage-preview.c
	* app/core/gimpimage-quick-mask.c
	* app/core/gimpimage-resize.c
	* app/core/gimpimage-rotate.c
	* app/core/gimpimage-sample-points.c
	* app/core/gimpimage-scale.c
	* app/core/gimpimage-snap.c
	* app/core/gimpimage.c
	* app/core/gimpimagefile.c
	* app/core/gimpimageundo.c
	* app/core/gimpitem-preview.c
	* app/core/gimpitem.c
	* app/core/gimplayer.c
	* app/core/gimppalette-import.c
	* app/core/gimpprojection-construct.c
	* app/core/gimpprojection.c
	* app/core/gimpselection.c
	* app/core/gimpundo.c
	* app/dialogs/layer-options-dialog.c
	* app/dialogs/print-size-dialog.c
	* app/display/gimpdisplay.c
	* app/display/gimpdisplayshell-draw.c
	* app/display/gimpdisplayshell-scale.c
	* app/display/gimpdisplayshell-scroll.c
	* app/display/gimpdisplayshell-title.c
	* app/display/gimpdisplayshell-transform.c
	* app/display/gimpdisplayshell.c
	* app/display/gimpstatusbar.c
	* app/file/file-open.c
	* app/paint/gimppaintoptions.c
	* app/tools/gimpaligntool.c
	* app/tools/gimpcolortool.c
	* app/tools/gimpeditselectiontool.c
	* app/tools/gimpiscissorstool.c
	* app/tools/gimpmeasuretool.c
	* app/tools/gimpmovetool.c
	* app/tools/gimpperspectiveclonetool.c
	* app/tools/gimprectangleselecttool.c
	* app/tools/gimprectangletool.c
	* app/tools/gimprotatetool.c
	* app/vectors/gimpvectors-export.c
	* app/vectors/gimpvectors-import.c
	* app/vectors/gimpvectors.c
	* app/widgets/gimpimagepropview.c
	* app/widgets/gimpnavigationview.c
	* app/widgets/gimpselectioneditor.c
	* app/widgets/gimpviewrendererdrawable.c
	* app/widgets/gimpviewrendererimage.c
	* app/xcf/xcf-load.c
	* app/xcf/xcf-save.c
	* tools/pdbgen/pdb/guides.pdb
	* tools/pdbgen/pdb/image.pdb: use accessors for many image properties.

	* app/pdb/guides_cmds.c
	* app/pdb/image_cmds.c: regenerated.


svn path=/trunk/; revision=24432
2007-12-25 16:21:40 +00:00
Michael Natterer ecb2c46dc8 app/actions/layers-commands.c app/core/gimpchannel-combine.c
2007-12-23  Michael Natterer  <mitch@gimp.org>

	* app/actions/layers-commands.c
	* app/core/gimpchannel-combine.c
	* app/core/gimpchannel-select.c
	* app/core/gimpchannel.c
	* app/core/gimpdrawable-convert.c
	* app/core/gimpdrawable.c
	* app/core/gimpdrawablemodundo.c
	* app/core/gimpfloatingselundo.c
	* app/core/gimpimage-convert.c
	* app/core/gimpimage-merge.c
	* app/core/gimpimage-resize.c
	* app/core/gimpimage.c
	* app/core/gimpitem-preview.c
	* app/core/gimpitem.c
	* app/core/gimplayer-floating-sel.c
	* app/core/gimplayer.c
	* app/core/gimplayermask.c
	* app/core/gimplayerundo.c
	* app/core/gimpmaskundo.c
	* app/core/gimppalette-import.c
	* app/core/gimpprojection-construct.c
	* app/core/gimpselection.c
	* app/dialogs/offset-dialog.c
	* app/text/gimptextlayer-xcf.c
	* app/text/gimptextlayer.c
	* app/vectors/gimpvectors-compat.c
	* app/vectors/gimpvectors.c
	* app/vectors/gimpvectorsmodundo.c
	* app/widgets/gimplayertreeview.c
	* app/widgets/gimpviewrendererdrawable.c
	* app/widgets/gimpviewrenderervectors.c: use accessors for item,
	layer, channel and mask attributes.


svn path=/trunk/; revision=24429
2007-12-23 16:58:41 +00:00
Sven Neumann 8bd8a343a6 corrected undo description.
2007-12-22  Sven Neumann  <sven@gimp.org>

	* app/core/gimpimage-sample-points.c
	(gimp_image_add_sample_point_at_pos): corrected undo 
description.


svn path=/trunk/; revision=24427
2007-12-22 14:54:07 +00:00
Michael Natterer 1542f99678 app/core/gimp-contexts.[ch] add GErrors to save() and load().
2007-12-19  Michael Natterer  <mitch@gimp.org>

	* app/core/gimp-contexts.[ch]
	* app/core/gimp-documents.[ch]: add GErrors to save() and load().

	* app/core/gimp.c
	* app/tools/gimp-tools.c: handle the returned errors.


svn path=/trunk/; revision=24403
2007-12-19 17:45:47 +00:00
Sven Neumann c86291c4f5 app/core/gimppalette-import.c applied slightly modified patch from Nicola
2007-12-18  Sven Neumann  <sven@gimp.org>

	* app/core/gimppalette-import.c
	* app/core/gimppalette-load.[ch]: applied slightly modified patch
	from Nicola Archibald that adds import of colors from CSS files
	(bug #464480).

	* app/core/gimppalette.c (gimp_palette_find_entry): allow to call
	this function on an empty palette.

svn path=/trunk/; revision=24393
2007-12-18 17:01:19 +00:00
Sven Neumann e080bb1f26 renamed tile_manager_validate() to tile_manager_validate_tile(). If no
2007-12-18  Sven Neumann  <sven@gimp.org>

	* app/base/tile-manager.[ch]: renamed tile_manager_validate() to
	tile_manager_validate_tile(). If no validate_proc is set,
	initialize the tile data to all zero when validating it. This way
	we never hand out uninitialized data and valgrind doesn't need to
	complain any longer.

	* app/base/tile.c: changed accordingly.

	* app/core/gimpselection.c: no need to set an extra validate_proc
	here as the default implementation now does the job for us.

svn path=/trunk/; revision=24389
2007-12-18 13:07:01 +00:00
Sven Neumann 43dfbd1c97 made get_tiles() a method of GimpDrawable.
2007-12-18  Sven Neumann  <sven@gimp.org>

	* app/core/gimpdrawable.[ch]: made get_tiles() a method of
	GimpDrawable.

svn path=/trunk/; revision=24388
2007-12-18 11:20:23 +00:00
Sven Neumann eea8fcda76 minor cleanup.
2007-12-17  Sven Neumann  <sven@gimp.org>

	* app/core/gimpprojection-construct.c (project_intensity): minor
	cleanup.

svn path=/trunk/; revision=24382
2007-12-17 10:45:05 +00:00
Michael Natterer db553767cd added GErrors when functions can fail.
2007-12-14  Michael Natterer  <mitch@gimp.org>

	* app/core/gimp-edit.[ch]: added GErrors when functions can fail.

	* app/actions/edit-commands.c: handle the returned errors.

	* tools/pdbgen/pdb/edit.pdb: same here (*don't* pass the error as
	usual since these functions never fail but have a boolean return
	value indicating success instead; ugly, but better than having the
	gimp_message() calls in the core). Also changed the named buffer
	cut and copy functions to do the same (never fail but return a
	NULL buffer name on failure), so they behave as documented.

	* app/pdb/edit_cmds.c: regenerated.


svn path=/trunk/; revision=24362
2007-12-14 13:58:10 +00:00
Sven Neumann aaa16d3b87 Speed up our display rendering code paths by keeping data with
2007-12-13  Sven Neumann  <sven@gimp.org>

	Speed up our display rendering code paths by keeping data with
	pre-multiplied alpha where possible. The projection tile-manager
	at 100 % zoom is not affected. So we can still always get the
	non-pre-multiplied pixel data.

	* app/core/gimpprojection.[ch]: removed
	gimp_projection_get_opacity(), the projection is always opaque.

	* app/base/tile-pyramid.[ch]: use pre-multiplied alpha for the
	upper levels of the pyramid. This speeds up validation of the
	upper levels significantly.

	* app/base/temp-buf.[ch]: added temp_buf_demultiply().

	* app/core/gimpimage-preview.c: demultiply the preview temp-buf
	obtained from the projection's tile tyramid.

	* app/display/gimpdisplayshell-draw.c
	* app/display/gimpdisplayshell-render.c: added code to deal with
	pre-multiplied data. In fact all data returned by
	render_image_tile_fault() is now pre-multiplied so that
	render_image_rgb_a() and render_image_gray_a() don't need to use
	the large lookup tables from gimprender.[ch] any longer.

svn path=/trunk/; revision=24352
2007-12-13 17:27:07 +00:00
Michael Natterer dfaf761dc0 added GError to GimpItem::rename().
2007-12-12  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpitem.[ch]: added GError to GimpItem::rename().

	* app/core/gimplayer.c
	* app/core/gimplayermask.c: set errors when renaming is impossible.

	* app/text/gimptextlayer.c
	* app/core/gimpimage-quick-mask.c: changed accordingly.

	* app/actions/channels-commands.c
	* app/actions/layers-commands.c
	* app/actions/vectors-commands.c
	* app/widgets/gimpitemtreeview.c: handle the returned errors.

	* tools/pdbgen/pdb/drawable.pdb
	* tools/pdbgen/pdb/vectors.pdb: pass the error.

	* app/pdb/drawable_cmds.c
	* app/pdb/vectors_cmds.c: regenerated.


svn path=/trunk/; revision=24338
2007-12-12 13:57:11 +00:00
Michael Natterer 99dee414d9 add missing return value, this is no void function any more.
2007-12-12  Michael Natterer  <mitch@gimp.org>

	* app/core/gimplayer-floating-sel.c (floating_sel_to_layer): add
	missing return value, this is no void function any more.


svn path=/trunk/; revision=24336
2007-12-12 13:45:59 +00:00
Hans Breuer 4c7289a54b an ugly but working variant for no varargs macros
2007-12-09  Hans Breuer  <hans@breuer.org>

	* app/gimp-log.h : an ugly but working variant for no varargs macros
	
	* app/base/base-utils.c(get_physical_memory_size) : fallback to
	GetMemoryStatus() for older compiler/sdk
	
	* app/core/gimplayer-floating-sel.c : second argument to g_set_error()
	is an uint32, not a pointer


svn path=/trunk/; revision=24306
2007-12-09 14:19:02 +00:00
Hans Breuer 6f5bbfe0bd updated and removed -GD to let msvc9 complain less
2007-12-09  Hans Breuer  <hans@breuer.org>

	* **/makefile.msc : updated and removed -GD to let msvc9 complain less


svn path=/trunk/; revision=24305
2007-12-09 14:11:09 +00:00
William Skaggs e33a939fb8 Bill Skaggs <weskaggs@primate.ucdavis.edu>
* app/core/gimpimage-snap.c: fix typo in previous commit.

svn path=/trunk/; revision=24295
2007-12-07 22:09:09 +00:00
William Skaggs 4b6b80f594 Bill Skaggs <weskaggs@primate.ucdavis.edu>
* app/display/gimpdisplayshell-draw.c: draw grid correctly when
	non-integer spacing is combined with a large offset.  Fixes
	bug #502374.

	* app/core/gimpimage-snap.c: make snapping to grid work when
	coord is less than the grid offset.

svn path=/trunk/; revision=24294
2007-12-07 21:59:51 +00:00
Michael Natterer 58c2dd9bba added GErrors to gimp_selection_extract() and gimp_selection_float().
2007-12-07  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpselection.[ch]: added GErrors to
	gimp_selection_extract() and gimp_selection_float().

	* app/core/gimp-edit.c
	* app/tools/gimpeditselectiontool.c
	* app/actions/select-commands.c: handle the returned error.

	* app/core/gimpdrawable-transform.c: pass NULL errors since this
	file knows what it does and won't get errors.

	* tools/pdbgen/pdb/selection.pdb: pass the error.

	* app/pdb/selection_cmds.c: regenerated.


svn path=/trunk/; revision=24286
2007-12-07 18:16:28 +00:00
Michael Natterer 0ed8370adb app/core/gimpimage-merge.[ch] added GError parameters.
2007-12-06  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpimage-merge.[ch]
	* app/core/gimpimage-convert.[ch]: added GError parameters.

	* app/dialogs/convert-dialog.c
	* app/actions/image-commands.c
	* app/actions/vectors-commands.c: handle the returned error.

	* tools/pdbgen/pdb/convert.pdb: pass the error.

	* app/pdb/convert_cmds.c: regenerated.


svn path=/trunk/; revision=24276
2007-12-06 19:51:02 +00:00
Michael Natterer 90606bc4fa add GError parameter.
2007-12-06  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpdrawable-bucket-fill.[ch]: add GError parameter.

	* app/tools/gimpbucketfilltool.c: handle the returned error.

	* tools/pdbgen/pdb/edit.pdb: pass the error.

	* app/pdb/edit_cmds.c: regenerated.


svn path=/trunk/; revision=24275
2007-12-06 19:07:11 +00:00
Michael Natterer e418cf6d66 added GError arguments and fixed all functions to abort when the first
2007-12-06  Michael Natterer  <mitch@gimp.org>

	* app/paint/gimppaintcore-stroke.[ch]: added GError arguments and
	fixed all functions to abort when the first call to
	gimp_paint_core_start() fails (it won't succeed either for the
	next path or whatever segemts).

	* app/core/gimpitem.[ch]: added GError to gimp_item_stroke()

	* app/core/gimpselection.c
	* app/core/gimpchannel.c
	* app/vectors/gimpvectors.c: don't gimp_message() in
	GimpItem::stroke() but set the error.

	* app/dialogs/stroke-dialog.c
	* app/actions/vectors-commands.c
	* app/actions/select-commands.c: handle the returned errors.

	* tools/pdbgen/pdb/edit.pdb
	* tools/pdbgen/pdb/paths.pdb
	* tools/pdbgen/pdb/paint_tools.pdb: pass the error to the stroke
	functions.

	* app/pdb/paint_tools_cmds.c
	* app/pdb/edit_cmds.c
	* app/pdb/paths_cmds.c: regenerated.


svn path=/trunk/; revision=24273
2007-12-06 18:40:12 +00:00
Michael Natterer 543302f551 Move some gimp_message() calls where they belong:
2007-12-06  Michael Natterer  <mitch@gimp.org>

	Move some gimp_message() calls where they belong:

	* app/core/gimplayer-floating-sel.[ch]: removed unreachable
	gimp_message() in floating_sel_anchor() and added GError parameter
	to floating_sel_to_layer().

	* app/core/gimplayer.c
	* app/core/gimpimage-quick-mask.c
	* app/actions/layers-commands.c: pass NULL or an error as
	appropriate and show the error message.

	* tools/pdbgen/pdb/floating_sel.pdb: set the error when the passed
	layer was no floating selection.

	* app/pdb/floating_sel_cmds.c: regenerated.


svn path=/trunk/; revision=24272
2007-12-06 18:00:10 +00:00
Michael Natterer dd80b4c263 added new API gimp_drawable_estimate_memsize() and virtual function
2007-12-04  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpdrawable.[ch]: added new API
	gimp_drawable_estimate_memsize() and virtual function
	GimpDrawable::estimate_memsize() which estimate the memsize of a
	drawable after scaling/resizing.

	* app/core/gimplayer.c: implement the virtual function and take
	the layer mask into account.

	* app/core/gimpimage-item-list.[ch] (gimp_image_item_list_get_list):
	added const qualifiers.

	* app/core/gimpimage-scale.c (gimp_image_scale_check): use the new
	function to correctly estimate the new size instead of scaling the
	drawables' memsizes including all constant parts. Fixes bug #329468.

	* app/gimp-log.[ch]: added IMAGE_SCALE log domain.

	* app/core/gimpimage-scale.c: use it here for debugging output.


svn path=/trunk/; revision=24260
2007-12-04 11:30:31 +00:00
Sven Neumann 915ac64ad5 use GError for error reporting in PDB invoker methods.
2007-12-02  Sven Neumann  <sven@gimp.org>

	* tools/pdbgen/app.pl: use GError for error reporting in PDB
	invoker methods.

	* tools/pdbgen/pdb/vectors.pdb: use the GError for the 
procedures
	introduced for bug #497159.

	* tools/pdbgen/pdb/fileops.pdb: use the GError from file-load 
and
	file-save procedures.

	* app/pdb/*_cmds.c: regenerated.

	* app/pdb/Makefile.am

	* app/pdb/gimppdberror.[ch]: new file introducing the
	GIMP_PDB_ERROR domain.

	* app/actions/plug-in-commands.c
	* app/actions/vectors-commands.c
	* app/batch.c
	* app/core/gimpimagefile.c
	* app/core/gimppdbprogress.c
	* app/file/file-open.[ch]
	* app/file/file-save.c
	* app/plug-in/gimpplugin-message.c
	* app/plug-in/gimppluginmanager-restore.c
	* app/plug-in/gimppluginprocedure.c
	* app/plug-in/gimptemporaryprocedure.c
	* app/plug-in/plug-in-icc-profile.c
	* app/widgets/gimpbrushselect.c
	* app/widgets/gimpfontselect.c
	* app/widgets/gimpgradientselect.c
	* app/widgets/gimphelp.c
	* app/widgets/gimppaletteselect.c
	* app/widgets/gimppatternselect.c
	* app/widgets/gimppdbdialog.[ch]: changed accordingly.


svn path=/trunk/; revision=24255
2007-12-02 18:05:54 +00:00
Sven Neumann 9a39bc03a9 changed GIMP_VIEWABLE_PRIORITY_IDLE to G_PRIORITY_LOW. The reason for the
2007-12-01  Sven Neumann  <sven@gimp.org>

	* app/core/gimpviewable.h: changed GIMP_VIEWABLE_PRIORITY_IDLE 
to
	G_PRIORITY_LOW. The reason for the very low priority was to keep
	it lower than the projection idle renderer.


svn path=/trunk/; revision=24249
2007-12-01 10:57:22 +00:00
Sven Neumann 3d25eff39d raised the idle renderer priority even higher (bug #499150).
2007-11-30  Sven Neumann  <sven@gimp.org>

	* app/core/gimpprojection.c (gimp_projection_idle_render_init):
	raised the idle renderer priority even higher (bug #499150).


svn path=/trunk/; revision=24246
2007-11-30 19:23:17 +00:00
Sven Neumann ef175fc433 raise the priority of the idle renderer to G_PRIORITY_DEFAULT_IDLE. Should
2007-11-29  Sven Neumann  <sven@gimp.org>

	* app/core/gimpprojection.c (gimp_projection_idle_render_init):
	raise the priority of the idle renderer to 
G_PRIORITY_DEFAULT_IDLE.
	Should fix bug #499150.


svn path=/trunk/; revision=24241
2007-11-29 19:50:22 +00:00
Sven Neumann 12efe4d222 fixed typo in if condition and added more sanity checks.
2007-11-28  Sven Neumann  <sven@gimp.org>

	* app/core/gimpdrawable-transform.c
	(gimp_drawable_transform_tiles_flip): fixed typo in if condition
	and added more sanity checks.


svn path=/trunk/; revision=24237
2007-11-28 08:09:31 +00:00
Michael Natterer 036085fd9e app/base/temp-buf.c app/base/tile-manager.c accept NULL in all
2007-11-16  Michael Natterer  <mitch@gimp.org>

	* app/base/temp-buf.c
	* app/base/tile-manager.c
	* app/core/gimpobject.c: accept NULL in all get_memsize() functions.

	* app/core/gimp-utils.[ch]: ditto. Added gimp_string_get_memsize().

	* app/core/gimp.c
	* app/core/gimpbrush.c
	* app/core/gimpbuffer.c
	* app/core/gimpcontainer.c
	* app/core/gimpcontext.c
	* app/core/gimpdata.c
	* app/core/gimpdrawable.c
	* app/core/gimpdrawablemodundo.c
	* app/core/gimpdrawableundo.c
	* app/core/gimpimage.c
	* app/core/gimpitempropundo.c
	* app/core/gimplayer.c
	* app/core/gimpmaskundo.c
	* app/core/gimppalette.c
	* app/core/gimpparasitelist.c
	* app/core/gimppattern.c
	* app/core/gimppreviewcache.c
	* app/core/gimpundo.c
	* app/core/gimpundostack.c
	* app/core/gimpviewable.c
	* app/pdb/gimpprocedure.c
	* app/plug-in/gimpplugindef.c
	* app/plug-in/gimppluginmanager.c
	* app/plug-in/gimppluginprocedure.c
	* app/text/gimptext.c
	* app/text/gimptextlayer.c
	* app/text/gimptextundo.c
	* app/vectors/gimpvectorsmodundo.c: simplify
	GimpObject::get_memsize() implementations accordingly.

	* app/core/gimpimageundo.c: ditto. Always keep around colormaps in
	chunks of GIMP_IMAGE_COLORMAP_SIZE to be coonsistent with the
	other colormap handling code.


svn path=/trunk/; revision=24174
2007-11-16 18:19:30 +00:00
Sven Neumann 0ed77b2152 added sanity checks.
2007-11-15  Sven Neumann  <sven@gimp.org>

	* app/core/gimpcurve-save.c: added sanity checks.


svn path=/trunk/; revision=24162
2007-11-15 12:19:13 +00:00
Michael Natterer 2ff7c79caf add read-only property "frozen" and new API
2007-11-15  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpviewable.[ch]: add read-only property "frozen" and
	new API gimp_viewable_preview_is_fozen(). Emit property notifications.

	* app/widgets/gimphistogramview.[ch]: add API to show a second
	histogram in the background. Remove member "light_histogram" from
	the GimpHistogramViewClass struct.

	* app/widgets/gimpcurveview.c: don't set "light_histogram".

	* app/tools/gimpcurvestool.c: set the background histogram instead.

	* app/widgets/gimphistogrameditor.[ch]: connect to "notify::frozen"
	of the drawable and show its histogram at the freezing point in
	the background. This way the original histogram is visible while
	we are doing color corrections.


svn path=/trunk/; revision=24158
2007-11-15 10:26:25 +00:00
Sven Neumann 5582efd62a when we encounter an unsupported merge operation (merging an opaque
2007-11-13  Sven Neumann  <sven@gimp.org>

	* app/core/gimpimage-merge.c (gimp_image_merge_layers): when we
	encounter an unsupported merge operation (merging an opaque
	indexed layer onto an indexed layer with alpha channel), then 
add
	an alpha channel and try again. Fixes bug #496437.


svn path=/trunk/; revision=24149
2007-11-13 19:09:41 +00:00
Sven Neumann af237c2246 return GIMP_UNIT_MM in case that we can't query the locale.
2007-11-12  Sven Neumann  <sven@gimp.org>

	* app/core/gimp-utils.c (gimp_get_default_unit): return
	GIMP_UNIT_MM in case that we can't query the locale.

	* plug-ins/common/postscript.c: use gboolean for boolean 
variables.


svn path=/trunk/; revision=24139
2007-11-12 20:52:17 +00:00
Sven Neumann f44a8ea793 corrected the size of the pixel region passed to color_region() in case of
2007-11-12  Sven Neumann  <sven@gimp.org>

	* app/core/gimpimage-merge.c (gimp_image_merge_layers): corrected
	the size of the pixel region passed to color_region() in case of
	an indexed image. Fixes bug #495990.

svn path=/trunk/; revision=24136
2007-11-12 16:49:07 +00:00
Michael Natterer 9de9549980 pass GIMP_DIRTY_ALL to the "clean" signal instead of uninitialized memory.
2007-11-08  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpimage.c (gimp_image_clean_all): pass GIMP_DIRTY_ALL
	to the "clean" signal instead of uninitialized memory.


svn path=/trunk/; revision=24087
2007-11-08 14:31:19 +00:00
Michael Natterer 21b3675ea8 don't recalculate the curve if the data object is frozen. Recalculate on
2007-11-05  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpcurve.[ch]: don't recalculate the curve if the data
	object is frozen. Recalculate on thaw instead. Made
	gimp_curve_calculate() private and emit some GimpData::dirty
	signals where appropriate.

	* app/tools/gimpcurvestool.c
	* app/widgets/gimpcurveview.c
	* tools/pdbgen/pdb/color.pdb: changed accodingly (connect to "dirty"
	instead of "notify" and added some freeze/thaw where approproate).

	* app/pdb/color_cmds.c: regenerated.


svn path=/trunk/; revision=24063
2007-11-05 10:02:20 +00:00
Sven Neumann 2f77a15f39 update the drawable, not the image. This change was missing in the fix for
2007-11-05  Sven Neumann  <sven@gimp.org>

	* app/core/gimpimagemap.c (gimp_image_map_clear): update the
	drawable, not the image. This change was missing in the fix for
	bug #490182. Fixes bug #493639.


svn path=/trunk/; revision=24061
2007-11-05 09:17:29 +00:00
Sven Neumann 7218ee5d25 return an odd preview height to make the border align with the pixel grid.
* app/core/gimppalette.c (gimp_palette_get_preview_size): return
	an odd preview height to make the border align with the pixel 
grid.


svn path=/trunk/; revision=24057
2007-11-04 19:46:35 +00:00
Sven Neumann fa7e312a2c replaced the RGB buffer with a Cairo surface.
2007-11-04  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimpviewrenderer.[ch]: replaced the RGB buffer 
with
	a Cairo surface.

	* app/widgets/gimpviewrendererbuffer.c
	* app/widgets/gimpviewrendererbrush.c
	* app/widgets/gimpviewrendererdrawable.c
	* app/widgets/gimpviewrenderergradient.c
	* app/widgets/gimpviewrendererimage.c
	* app/widgets/gimpviewrendererpalette.c
	* app/widgets/gimpviewrenderervectors.c: changed accordingly. 
There
	are some loose ends here that will be fixed over the next days.

	* app/widgets/gimprender.c: removed gimp_render_temp_buf; it is
	not any longer needed.

	* app/core/gimpgradient.c (gimp_gradient_get_preview_size): 
return
	an odd preview height to make the border align with the pixel 
grid.


svn path=/trunk/; revision=24056
2007-11-04 19:14:32 +00:00
Michael Natterer e5927feba1 added API to modify free-form curves and properties to listen to curve
2007-11-02  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpcurve.[ch]: added API to modify free-form curves
	and properties to listen to curve changes.

	* app/widgets/gimphistogramview.[ch]: added everything that's
	needed for rendering a curve with all its color and cursor
	indicators on top of a histogram. This code will move to a
	subclass soon.

	* app/tools/gimpcurvestool.[ch]: removed all curve rendering here.
	Also removed all explicit updating by connecting to curve signals
	and updating in the callback.


svn path=/trunk/; revision=24045
2007-11-02 16:51:18 +00:00
Sven Neumann 4e06d302c8 formatting.
2007-11-02  Sven Neumann  <sven@gimp.org>

	* core/gimplist.h: formatting.


svn path=/trunk/; revision=24042
2007-11-02 13:30:14 +00:00
Michael Natterer 5dd23ae18b app/core/Makefile.am app/core/core-types.h app/core/gimpcurve-save.[ch]
2007-11-02  Michael Natterer  <mitch@gimp.org>

	* app/core/Makefile.am
	* app/core/core-types.h
	* app/core/gimpcurve-save.[ch]
	* app/core/gimpcurve-load.[ch]
	* app/core/gimpcurve.[ch]: new GimpData subclass which keeps a
	curve as known from the curves tool. Pretty much unfinished, but
	can do everything that used to be done by base/curves.c and more.

	* app/base/curves.[ch]: stripped down to plain arrays of
	uchar (the actual curve) and the LUT setup function. All the rest
	is done by GimpCurve now.

	* app/tools/gimpcurvestool.[ch]: use an array of GimpCurves
	instead of the old Curves cruft. Use Curves only for the last step
	of creating the LUT. Pretty much unfinished migration here too.

	* tools/pdbgen/pdb/color.pdb: use a GimpCurve here too.

	* app/pdb/color_cmds.c: regenerated.


svn path=/trunk/; revision=24041
2007-11-02 12:18:50 +00:00
Manish Singh a8fb4f0c03 app/core/gimpcontainer-filter.c app/pdb/gimppdb-query.c replace usage of
2007-11-01  Manish Singh  <yosh@gimp.org>

        * app/core/gimpcontainer-filter.c
        * app/pdb/gimppdb-query.c
        * app/plug-in/gimppluginmanager-query.c: replace usage of POSIX
        regex API with GRegex.

        * configure.in: remove check for regex support in glibc.

        * app/Makefile.am
        * plug-ins/script-fu/Makefile.am: remove REGEXREPL references.

        * tools/pdbgen/app.pl: remove code that references HAVE_GLIBC_REGEX.

        * regexrepl/*
        * makefile.msc
        * Makefile.am: remove regexrepl directory.

svn path=/trunk/; revision=24024
2007-11-01 08:15:38 +00:00
Sven Neumann 88013f3f45 improved detection of old gimp user directories and handle migration from
2007-10-31  Sven Neumann  <sven@gimp.org>

	* app/core/gimp-user-install.c: improved detection of old gimp
	user directories and handle migration from 2.4.


svn path=/trunk/; revision=24023
2007-10-31 21:53:05 +00:00
Michael Natterer d15f7ffe9c remove member "null_ok" and use GParamSpecString's "ensure_non_null"
2007-10-31  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpparamspecs.[ch] (GimpParamSpecString): remove
	member "null_ok" and use GParamSpecString's "ensure_non_null"
	instead.


svn path=/trunk/; revision=24022
2007-10-31 18:18:55 +00:00
Sven Neumann 5ec574ba37 Reenabled update of the histogram while doing color corrections (bug
2007-10-26  Sven Neumann  <sven@gimp.org>

	Reenabled update of the histogram while doing color corrections
	(bug 490182):

	* app/core/gimpviewable.[ch]: added new methods preview_freeze()
	and preview_thaw().

	* app/core/gimpimagemap.c
	(gimp_image_map_new): freeze the drawable preview.
	(gimp_image_map_dispose): thaw the  drawable preview.
	(gimp_image_map_do): update the drawable, not the image.

	* app/tools/gimpimagemaptool.c (gimp_image_map_tool_response): no
	need to invalidate the drawable preview any longer.

svn path=/trunk/; revision=23956
2007-10-26 14:42:58 +00:00
Michael Natterer 02012a2457 move variable to local scope.
2007-10-23  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpdrawable-combine.c: move variable to local scope.

	* app/core/gimp-transform-resize.c: formatting.


svn path=/trunk/; revision=23928
2007-10-23 21:27:19 +00:00
Sven Neumann f50e06a43d formatting.
2007-10-23  Sven Neumann  <sven@gimp.org>

	* app/core/gimpdrawable-combine.c: formatting.

svn path=/trunk/; revision=23921
2007-10-23 11:19:08 +00:00
Martin Nordholts e81fb95976 Use gimp_vectors_bounds() instead of gimp_item_offsets|width|height() when
2007-10-15  Martin Nordholts  <martinn@svn.gnome.org>

	* app/core/gimpimage-arrange.c (compute_offset): Use
	gimp_vectors_bounds() instead of gimp_item_offsets|width|height()
	when calculating size and position for a path. Fixes bug #486517.

svn path=/trunk/; revision=23833
2007-10-15 20:17:56 +00:00
Sven Neumann b7588c5a09 formatting.
2007-10-12  Sven Neumann  <sven@gimp.org>

	* app/core/gimpdrawable-stroke.c: formatting.

svn path=/trunk/; revision=23810
2007-10-12 13:14:43 +00:00
Sven Neumann e51e8d9a05 app/core/gimpitem.c app/tools/gimprectangletool.c fixed ambiguous gtk-doc
2007-10-09  Sven Neumann  <sven@gimp.org>

	* app/core/gimpitem.c
	* app/tools/gimprectangletool.c
	* app/tools/tools-utils.c: fixed ambiguous gtk-doc comments.

svn path=/trunk/; revision=23779
2007-10-09 15:59:04 +00:00
Sven Neumann f28665a0d1 don't delete the colormap on indexed images. Fixes bug #483887.
2007-10-06  Sven Neumann  <sven@gimp.org>

	* app/core/gimpimage-colormap.c (gimp_image_set_colormap): don't
	delete the colormap on indexed images. Fixes bug #483887.


svn path=/trunk/; revision=23749
2007-10-06 17:51:13 +00:00
Sven Neumann 9a87143a0c set all entries to zero before assigning the new colormap.
2007-10-06  Sven Neumann  <sven@gimp.org>

	* app/core/gimpimage-colormap.c (gimp_image_set_colormap): set 
all
	entries to zero before assigning the new colormap.

	* app/paint-funcs/paint-funcs.[ch]: added const qualifiers.


svn path=/trunk/; revision=23748
2007-10-06 17:36:35 +00:00
Sven Neumann 985c993ea6 don't pop up a warning dialog if the selection is empty (bug #483896).
2007-10-06  Sven Neumann  <sven@gimp.org>

	* app/core/gimpselection.c (gimp_selection_float): don't pop up 
a
	warning dialog if the selection is empty (bug #483896).
	
	* app/actions/select-commands.c (select_float_cmd_callback): use
	gimp_message() here in case that gimp_selection_float() fails.


svn path=/trunk/; revision=23746
2007-10-06 12:30:28 +00:00
Sven Neumann 4b52112b6a handle a NULL extension and create a filename without file extension.
2007-09-30  Sven Neumann  <sven@gimp.org>

	* app/core/gimp-utils.c (gimp_get_temp_filename): handle a NULL
	extension and create a filename without file extension.

	* tools/pdbgen/pdb/fileops.pdb
	* app/pdb/fileops_cmds.c: allow NULL to be passed as extension
	parameter to gimp_temp_name().


svn path=/trunk/; revision=23697
2007-09-30 13:21:03 +00:00
Sven Neumann 387c830231 call gimp_color_managed_profile_changed() if an icc-profile is attached or
2007-09-26  Sven Neumann  <sven@gimp.org>

	* app/core/gimpimageundo.c (gimp_image_undo_pop): call
	gimp_color_managed_profile_changed() if an icc-profile is 
attached
	or removed from an image by an undo operation (bug #475983).


svn path=/trunk/; revision=23661
2007-09-26 19:27:05 +00:00
Sven Neumann 0370078297 added a load_proc member to GimpImage and getters and setters for it.
2007-09-20  Sven Neumann  <sven@gimp.org>

	* app/core/gimpimage.[ch]: added a load_proc member to GimpImage
	and getters and setters for it.

	* app/file/file-open.c (file_open_image): set the load 
procedure,
	but only if it hasn't been set already. Use the MIME type from 
the
	load procedure that is set on the image.

	* tools/pdbgen/pdb/fileops.pdb (file_load_invoker): set the load
	procedure. This causes it to be set when the URI plug-in calls
	gimp-file-load to load the image.

	* app/pdb/fileops_cmds.c: regenerated.

	* app/widgets/gimpimagepropview.c
	(gimp_image_prop_view_label_set_filetype): use the MIME type 
from
	the load procedure, in case that no save procedure is set.


svn path=/trunk/; revision=23597
2007-09-20 21:23:05 +00:00
Michael Natterer 08d38cea82 Make layer masks work consistently on layers without alpha. Fixes bug
2007-09-15  Michael Natterer  <mitch@gimp.org>

	Make layer masks work consistently on layers without alpha.
	Fixes bug #475548.

	* app/core/gimplayer.c (gimp_layer_apply_mask): changed to work
	on layers without alpha.

	* app/actions/layers-commands.c (layers_add_mask_response): don't
	automatically add an alpha channel when adding a layer mask.


svn path=/trunk/; revision=23555
2007-09-15 19:23:20 +00:00
Nils Philippsen 8ff9c4c84c drop own recently used files code in favour of GtkRecentManager:
* app/core/gimp-gui.c (gimp_recent_list_add_uri), app/core/gimp-gui.h,
app/gui/gui-vtable.c (gui_recent_list_add_uri): add
{gimp,gui}_recent_list_add_uri(), gui_recent_list_add_uri() dispatches to
GtkRecentManager

* app/dialogs/file-save-dialog.c (file_save_dialog_save_image),
app/actions/file-commands.c (file_save_cmd_callback),
app/widgets/gimpdnd-xds.c (gimp_dnd_xds_save_image): pass Gimp instance to
file_save() calls

* app/file/file-open.c (file_open_with_proc_and_display,
file_open_layers), app/file/file-save.c (file_save), app/file/file-save.h:
pass Gimp instance to gimp_recent_list_add_uri() calls

* app/file/gimprecentitem.c, app/file/gimprecentitem.h,
app/file/gimprecentlist.c, app/file/gimprecentlist.h: removed

* app/file/Makefile.am: drop reference to removed files

svn path=/trunk/; revision=23526
2007-09-13 14:19:30 +00:00
Sven Neumann ca25986334 removed static variable debug_context but keep the warnings about NULL
2007-09-13  Sven Neumann  <sven@gimp.org>

	* app/core/gimpviewable.c: removed static variable debug_context
	but keep the warnings about NULL contexts.

svn path=/trunk/; revision=23524
2007-09-13 13:30:21 +00:00
Sven Neumann 1954ee81fe use the offsets module TILE_WIDTH and TILE_HEIGHT instead of doing the
2007-09-12  Sven Neumann  <sven@gimp.org>

	* app/base/tile.c (tile_data_pointer): use the offsets module
	TILE_WIDTH and TILE_HEIGHT instead of doing the module operation
	in each and every caller.

	* app/base/boundary.c
	* app/base/pixel-region.c
	* app/base/tile-manager.c
	* app/core/gimpchannel.c
	* app/core/gimpdrawable-blend.c
	* app/core/gimpdrawable.c
	* app/core/gimpimage-contiguous-region.c
	* app/core/gimplayer.c
	* app/display/gimpdisplayshell-render.c
	* app/paint-funcs/paint-funcs.c
	* app/paint/gimppaintcore.c
	* app/tools/gimpiscissorstool.c: changed accordingly.


svn path=/trunk/; revision=23515
2007-09-12 18:29:11 +00:00
Sven Neumann e2cd1d4170 \2007-09-12 Sven Neumann <sven@gimp.org>
* app/core/gimp-transform-region.c (supersample_dtest): use
	G_SQRT2 instead of defining this constant again.


svn path=/trunk/; revision=23514
2007-09-12 17:28:24 +00:00
Øyvind Kolås eaf6052df1 do not invoke supersampling for linear, bicubic and lanczos until the
* app/core/gimp-transform-region.c: (supersample_dtest): do not invoke
supersampling for linear, bicubic and lanczos until the largest
horizontal/vertical difference between transformed pixel corners goes
above sqrt(2) (this ensures interpolation instead of supersampling is
used for rotation.)

svn path=/trunk/; revision=23509
2007-09-12 15:36:15 +00:00
Sven Neumann c39dd1a5b7 changed to use extended regular expression syntax.
2007-09-12  Sven Neumann  <sven@gimp.org>

	* app/core/gimpcontainer-filter.c
	(gimp_container_filter_by_name): changed to use extended regular
	expression syntax.

svn path=/trunk/; revision=23508
2007-09-12 11:52:52 +00:00
Sven Neumann ce32eed304 make the first of the added layers the active layer. Fixes bug #469752.
2007-09-11  Sven Neumann  <sven@gimp.org>

	* app/core/gimpimage.c (gimp_image_add_layers): make the first of
	the added layers the active layer. Fixes bug #469752.

svn path=/trunk/; revision=23501
2007-09-11 14:12:51 +00:00
Sven Neumann 77b7161a32 app/core/gimp-transform-region.[ch] app/core/gimpchannel.c
2007-09-10  Sven Neumann  <sven@gimp.org>

	* app/core/gimp-transform-region.[ch]
	* app/core/gimpchannel.c
	* app/core/gimpdrawable-transform.[ch]
	* app/core/gimpdrawable.c
	* app/core/gimpimage-item-list.[ch]
	* app/core/gimpitem-linked.[ch]
	* app/core/gimpitem.[ch]
	* app/core/gimplayer.c
	* app/paint/gimpperspectiveclone.c
	* app/vectors/gimpvectors.c: removed supersample parameter from
	transform functions and perform it depending on the interpolation
	type (bug #473265).

	* app/tools/gimptransformoptions.[ch]
	* app/tools/gimptransformtool.c: removed Supersample toggle from
	the transform tool options.

	* tools/pdbgen/pdb/drawable_transform.pdb
	* tools/pdbgen/pdb/transform_tools.pdb: document that the
	supersample parameter is unused and improved documentation of the
	recursion-level parameter.

	* app/pdb/transform_tools_cmds.c
	* app/pdb/drawable_transform_cmds.c
	* libgimp/gimpdrawabletransform_pdb.c: regenerated.

svn path=/trunk/; revision=23494
2007-09-10 15:29:48 +00:00
Michael Natterer 5b1fa26d00 remove unbalanced "*/"
2007-09-04  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpparamspecs.c: remove unbalanced "*/"

	* app/core/gimpdrawable-transform.c
	* app/core/gimp-transform-resize.c: formatting.


svn path=/trunk/; revision=23463
2007-09-04 09:38:55 +00:00
Simon Budig 36c6ea9d3f fix NULL handling and formatting.
2007-09-04  Simon Budig  <simon@gimp.org>

	* app/core/gimpparamspecs.c: fix NULL handling and formatting.


svn path=/trunk/; revision=23456
2007-09-03 22:05:19 +00:00
Michael Natterer c85b228e4d Applied slightly reformatted patch by Jakub Friedl and Daniel Hornung
2007-09-03  Michael Natterer  <mitch@gimp.org>

	* app/core/gimp-transform-region.c: Applied slightly reformatted
	patch by Jakub Friedl and Daniel Hornung which ROUND()s the
	floating point result values before assigning them to integers to
	avoid reducing the output space to [0..254] (thus darkening the
	image). Fixes bug #472806.


svn path=/trunk/; revision=23451
2007-09-03 14:17:53 +00:00
Hans Breuer aface5c12a updated msvc build include <io.h> for get_osfhandle() prototype
2007-08-26  Hans Breuer  <hans@breuer.org>

	* **/makefile.msc : updated msvc build
	* app/main.c : include <io.h> for get_osfhandle()
	* plug-ins/jpeg/jpeg-settings.h : prototype
	jpeg_swap_original_settings


svn path=/trunk/; revision=23377
2007-08-26 18:59:34 +00:00
Michael Natterer da32f5a002 remove GimpPlugInDebug typedef.
2007-08-15  Michael Natterer  <mitch@gimp.org>

	* app/core/core-types.h: remove GimpPlugInDebug typedef.

	* app/plug-in/plug-in-types.h: added it here instead.

	* app/core/gimpchannel-combine.h
	* app/widgets/gimppropwidgets.[ch]: match parameter names
	in .c, .h and API docs to make gtk-doc happy.


svn path=/trunk/; revision=23275
2007-08-15 16:40:39 +00:00
Michael Natterer 1e790b12fd fixed API docs.
2007-08-14  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpimage-item-list.c: fixed API docs.


svn path=/trunk/; revision=23252
2007-08-14 15:44:02 +00:00
Sven Neumann 49bb407674 app/paint-funcs/Makefile.am
2007-08-08  Sven Neumann  <sven@gimp.org>

	* app/paint-funcs/Makefile.am

	* app/paint-funcs/sample-funcs.[ch]: renamed to 
	* app/paint-funcs/subsample-region.[ch]

	* app/paint-funcs/scale-funcs.[ch]: renamed to 
	* app/paint-funcs/scale-region.[ch]

	* app/paint-funcs/reduce-region.[ch]: new files based on a patch
	from Geert Jordaens (bug #464466).

	* app/base/tile-manager-preview.c
	* app/core/gimp-transform-region.c
	* app/core/gimpbrush-scale.c
	* app/core/gimpdrawable-preview.c
	* app/core/gimpdrawable.c: changed accordingly.

svn path=/trunk/; revision=23144
2007-08-08 08:35:45 +00:00
Sven Neumann 2b2cc44ad0 app/core/gimppalette-import.c applied slightly modified version of a patch
2007-08-07  Sven Neumann  <sven@gimp.org>

	* app/core/gimppalette-import.c
	* app/core/gimppalette-load.[ch]: applied slightly modified version
	of a patch from Nicola Archibald that adds support for importing
	Adobe Color palette version 1 files (bug #316618).

svn path=/trunk/; revision=23134
2007-08-07 13:42:55 +00:00
Sven Neumann 852170b6c6 return NULL if the parasite exists but it is empty.
2007-08-07  Sven Neumann  <sven@gimp.org>

	* app/core/gimpimage.c (gimp_image_get_icc_profile): return NULL
	if the parasite exists but it is empty.

svn path=/trunk/; revision=23132
2007-08-07 09:58:39 +00:00
Sven Neumann 2195c84297 added missing static qualifier.
2007-08-06  Sven Neumann  <sven@gimp.org>

	* app/core/gimpimage.c: added missing static qualifier.

	* app/display/gimpdisplayshell.c
	* app/display/gimpdisplayshell-handlers.c: implement the
	GimpColorManaged interface and delegate it to GimpImage.


svn path=/trunk/; revision=23126
2007-08-06 19:23:22 +00:00
Hans Breuer 024ef60a49 updated msvc build
2007-08-05  Hans Breuer  <hans@breuer.org>

	* **/makefile.msc app/gimpcore.def : updated msvc build


svn path=/trunk/; revision=23118
2007-08-05 15:16:02 +00:00
Michael Natterer eb7d32e3b2 Make sure image thumbnails that are saved or given to plugins are
2007-08-02  Michael Natterer  <mitch@gimp.org>

	Make sure image thumbnails that are saved or given to plugins are
	constructed synchronously. Fixes bug #461703.

	* app/core/gimpprojection.c (gimp_projection_pickable_flush):
	invalidate the preview after constructing the projection.

	* app/core/gimpimagefile.c (gimp_imagefile_save_thumb)
	* tools/pdbgen/pdb/image.pdb (image_thumbnail): call
	gimp_pickable_flush() on the projection so is constructed now, not
	later.

	* app/pdb/image_cmds.c: regenerated.


svn path=/trunk/; revision=23105
2007-08-02 14:54:29 +00:00
Sven Neumann c5e8bef567 cosmetics.
2007-07-30  Sven Neumann  <sven@gimp.org>

	* app/core/gimpimage.c (gimp_image_drawable_update): cosmetics.


svn path=/trunk/; revision=23066
2007-07-30 07:04:22 +00:00
Sven Neumann 9b96fc8e4c minor code cleanup.
2007-07-23  Sven Neumann  <sven@gimp.org>

	* app/core/gimpprojection-construct.c: minor code cleanup.


svn path=/trunk/; revision=22976
2007-07-23 20:14:28 +00:00
Sven Neumann e53f7a2c81 overwrite the menurc with the systemwide default. Only if that fails,
2007-07-20  Sven Neumann  <sven@gimp.org>

	* app/menus/menus.c (menus_clear): overwrite the menurc with the
	systemwide default. Only if that fails, delete the menurc file.

	* app/dialogs/preferences-dialog.c: string change.

	* app/core/gimp-user-install.c: formatting.

svn path=/trunk/; revision=22964
2007-07-20 12:41:08 +00:00
Sven Neumann 6b0e6990d1 remember whether a channel was active before quick mask was activated.
2007-07-20  Sven Neumann  <sven@gimp.org>

	* app/core/gimpimage-quick-mask.[ch]: remember whether a channel
	was active before quick mask was activated. Fixes bug #134371.

svn path=/trunk/; revision=22961
2007-07-20 08:23:29 +00:00
Sven Neumann a5d10b2ff0 renamed gimp_image_active_drawable() to gimp_image_get_active_drawable().
2007-07-19  Sven Neumann  <sven@gimp.org>

	* app/core/gimpimage.[ch]: renamed gimp_image_active_drawable() to
	gimp_image_get_active_drawable().

	* app/[lots of files]
	* tools/pdbgen/pdb/paths.pdb
	* tools/pdbgen/pdb/image.pdb: changed accordingly.

svn path=/trunk/; revision=22958
2007-07-19 14:59:51 +00:00
Sven Neumann 4ed227cf0e app/paint-funcs/Makefile.am app/paint-funcs/scale-funcs.[ch] moved
2007-07-17  Sven Neumann  <sven@gimp.org>

	* app/paint-funcs/Makefile.am
	* app/paint-funcs/scale-funcs.[ch]
	* app/paint-funcs/sample-funcs.[ch]: moved subsample_region() to
	new file and also moved subsample_indexed_region() there.

	* app/base/tile-manager-preview.c
	* app/core/gimpdrawable-preview.c: changed accordingly.


svn path=/trunk/; revision=22953
2007-07-18 12:47:00 +00:00
Sven Neumann 58ee85dfa6 added tile_manager_get_sub_preview().
2007-07-17  Sven Neumann  <sven@gimp.org>

	* app/base/tile-manager-preview.[ch]: added
	tile_manager_get_sub_preview().

	* app/core/gimpdrawable-preview.c: use the new function except 
for
	indexed drawables.


svn path=/trunk/; revision=22950
2007-07-17 20:33:10 +00:00
Sven Neumann b47a3e52e5 app/base/Makefile.am added new file that holds code to create a preview
2007-07-17  Sven Neumann  <sven@gimp.org>

	* app/base/Makefile.am
	* app/base/tile-manager-preview.[ch]: added new file that holds 
code
	to create a preview from a tile manager.

	* app/core/gimpbuffer.c
	* app/core/gimpimage-preview.c: use the new function instead of
	duplicating this code.


svn path=/trunk/; revision=22948
2007-07-17 19:38:10 +00:00
Sven Neumann 9409179aa6 free the context list.
2007-07-17  Sven Neumann  <sven@gimp.org>

	* app/core/gimp.c (gimp_finalize): free the context list.

	* app/tools/gimprectangleoptions.c (gimp_rectangle_options_gui):
	removed unused vbox.

svn path=/trunk/; revision=22944
2007-07-17 11:15:15 +00:00
Sven Neumann f3c451becd use the tool-info identifier as the name of the tool-options object.
2007-07-17  Sven Neumann  <sven@gimp.org>

	* app/core/gimptoolinfo.c (gimp_tool_info_new): use the tool-info
	identifier as the name of the tool-options object.

	* app/paint/gimppaintoptions.c (gimp_paint_options_new): use the
	paint-info identifier as the name of the paint-options object.

	* app/paint/gimp-paint.c (gimp_paint_register): added parameter check.

	* app/tools/gimp-tools.c (gimp_tools_init): formatting.

svn path=/trunk/; revision=22941
2007-07-17 10:04:06 +00:00
Sven Neumann b56e206d0b sync with the default template. Fixes bug #457286.
2007-07-16  Sven Neumann  <sven@gimp.org>

	* app/core/gimpimage-new.c (gimp_image_new_get_last_template): sync
	with the default template. Fixes bug #457286.

svn path=/trunk/; revision=22938
2007-07-16 13:49:17 +00:00
Michael Natterer 4625597ab8 update the image, not the drawable so we avoid constantly invalidating the
2007-06-27  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpimagemap.c (gimp_image_map_clear)
	(gimp_image_map_do): update the image, not the drawable so we
	avoid constantly invalidating the drawable preview.

	* app/tools/gimpimagemaptool.c (gimp_image_map_tool_response):
	invalidate the drawable preview here.

	* app/paint/gimppaintcore.c (gimp_paint_core_paste)
	(gimp_paint_core_replace): clean up drawable offset handling code.


svn path=/trunk/; revision=22843
2007-06-26 22:41:06 +00:00
Michael Natterer 8c8d3786d9 Removed useless image flushing which caused the image preview to be
2007-06-27  Michael Natterer  <mitch@gimp.org>

	Removed useless image flushing which caused the image preview to
	be updated needlessly:

	* app/core/gimpimagemap.c (gimp_image_map_do): don't flush the
	image when the idle rendering is completed, emit our own "flush"
	signal instead just as for the incremental display updates.

	* app/tools/gimpimagemaptool.c (gimp_image_map_tool_notify_preview):
	when switching off the preview don't flush the image, only flush
	projection and display.


svn path=/trunk/; revision=22842
2007-06-26 22:14:35 +00:00
Michael Natterer d8c632cb93 Invalidate the image preview after the projection is completely
2007-06-26  Michael Natterer  <mitch@gimp.org>

	Invalidate the image preview after the projection is
	completely constructed. Fixes bug #449141.

	* app/core/gimpmarshal.list: add VOID:BOOLEAN

	* app/core/gimpimage.[ch]: add boolean parameter
	invalidate_preview to the "flush" signal.

	* app/core/gimpprojection.[ch]: add boolean member
	invalidate_preview to the GimpProjection struct. Set it to TRUE if
	it was TRUE in the image's "flush" signal. When the projection is
	completely constructed after a flush, invalidate the image's
	preview.

	* app/display/gimpdisplay-handlers.c
	* app/widgets/gimpitemtreeview.c
	* app/widgets/gimpimagedock.c
	* app/widgets/gimpimageeditor.c: changed callback signatures
	accordingly.


svn path=/trunk/; revision=22840
2007-06-26 21:39:51 +00:00
Sven Neumann 7aa01e3120 applied patch from Geert Jordaens that reimplements the algorithm to
2007-06-25  Sven Neumann  <sven@gimp.org>

	* app/core/gimp-transform-resize.c: applied patch from Geert
	Jordaens that reimplements the algorithm to determine the largest
	rectangle. Fixes bug #412473.

svn path=/trunk/; revision=22834
2007-06-25 15:36:53 +00:00
Sven Neumann 09578ea070 removed extra check for gthread and fold it into the GLIB and GTK checks.
2007-06-25  Sven Neumann  <sven@gimp.org>

	* configure.in: removed extra check for gthread and fold it into
	the GLIB and GTK checks.

	* */Makefile.am: changed accordingly.

	* app/main.c (main): always call g_thread_init().

svn path=/trunk/; revision=22832
2007-06-25 12:41:59 +00:00
Martin Nordholts a42d1b45ed Only consider layers with combine mode Normal when testing if any layer
2007-06-22  Martin Nordholts  <martinn@svn.gnome.org>

	* app/core/gimpprojection-construct.c (gimp_projection_initialize): Only
	consider layers with combine mode Normal when testing if any layer
	covers the entire specified area. Fixes bug #440154.

svn path=/trunk/; revision=22824
2007-06-22 10:11:36 +00:00
Sven Neumann e74f8a034c note that loading fonts may take a while (on Win32 at least).
2007-06-22  Sven Neumann  <sven@gimp.org>

	* app/core/gimp.c (gimp_restore): note that loading fonts may 
take
	a while (on Win32 at least).


svn path=/trunk/; revision=22823
2007-06-22 07:29:05 +00:00
Sven Neumann 610feafb3e app/base/base-types.h app/base/tile-manager.[ch] removed accessors for
2007-06-21  Sven Neumann  <sven@gimp.org>

	* app/base/base-types.h
	* app/base/tile-manager.[ch]
	* app/base/tile-manager-private.h: removed accessors for user_data.
	Instead pass the user_data when setting the validation proc.

	* app/base/tile-pyramid.c
	* app/core/gimpchannel.c
	* app/core/gimpprojection.c
	* app/core/gimpselection.c
	* app/tools/gimpiscissorstool.c: changed accordingly.

svn path=/trunk/; revision=22820
2007-06-21 14:36:58 +00:00
Sven Neumann 173c9d40aa use gboolean for boolean parameters.
2007-06-21  Sven Neumann  <sven@gimp.org>

	* app/base/tile-manager.[ch]: use gboolean for boolean parameters.

	* app/base/tile-pyramid.c (tile_pyramid_get_memsize): pass TRUE
	for sparse to tile_manager_get_memsize().

	* app/base/tile.c
	* app/base/tile-swap.c: minor cleanups.

	* app/core/gimpprojection.c (gimp_projection_get_tiles_at_level):
	inline the creation of the TilePyramid.

svn path=/trunk/; revision=22818
2007-06-21 14:02:14 +00:00
Michael Natterer 52f7746e76 Make sure the image preview is only invalidated for visible image changes
2007-06-21  Michael Natterer  <mitch@gimp.org>

	Make sure the image preview is only invalidated for visible
	image changes (as it was before the change below).

	* app/core/gimpimage.h (struct GimpImageFlushAccumulator): added
	member "gboolean preview_invalidated".

	* app/core/gimpimage.c (gimp_image_update): set it to TRUE here.

	(gimp_image_real_flush): inavlidate the preview only if
	flush_accum.preview_invalidated is TRUE.


svn path=/trunk/; revision=22817
2007-06-21 13:35:31 +00:00
Michael Natterer 1a13f51e02 Part one of fix for bug #449141 (fixes the projection but still leaves
2007-06-21  Michael Natterer  <mitch@gimp.org>

	Part one of fix for bug #449141 (fixes the projection but still
	leaves some image previews unupdated).

	* app/core/gimpimage.c (lots of functions)
	* app/paint/gimppaintcore.c (gimp_paint_core_finish)
	* app/file/file-open.c (file_open_sanitize_image): removed calls
	to gimp_viewable_invalidate_preview(image).

	* app/file/file-open.c (file_open_sanitize_image): update and
	flush the entire image instead. Load plug-ins are not required to
	call gimp_drawable_update() or anything else to make sure the
	projection is up-to-date.

	* app/core/gimpimage.c (gimp_image_real_flush): inavlidate the
	image preview here because we now create it from the projection.
	(this is still not the entirely correct place though).


svn path=/trunk/; revision=22815
2007-06-21 10:09:27 +00:00
Sven Neumann 3038dc0e80 app/base/Makefile.am app/base/base-types.h image pyramid code split out of
2007-06-20  Sven Neumann  <sven@gimp.org>

	* app/base/Makefile.am
	* app/base/base-types.h
	* app/base/tile-pyramid.[ch]: image pyramid code split out of
	GimpProjection.

	* app/core/gimpprojection.[ch]: use the new TilePyramid.

svn path=/trunk/; revision=22807
2007-06-20 16:15:16 +00:00
Sven Neumann 5c1a08555f take the image size into account and return the level that is actually
2007-06-16  Sven Neumann  <sven@gimp.org>

	* app/core/gimpprojection.c (gimp_projection_get_level): take 
the
	image size into account and return the level that is actually 
used.
	Fixes bug #448185.


svn path=/trunk/; revision=22792
2007-06-16 13:38:13 +00:00
Sven Neumann c2a0689c2d micro optimization.
2007-06-14  Sven Neumann  <sven@gimp.org>

	* app/core/gimpdatafactory.c
	(gimp_data_factory_refresh_cache_remove): micro optimization.

svn path=/trunk/; revision=22779
2007-06-14 11:30:12 +00:00
Michael Natterer 258895fb2e remove calls to container_freeze() and container_thaw()
2007-06-14  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpdatafactory.c (gimp_data_factory_data_foreach):
	remove calls to container_freeze() and container_thaw()

	(gimp_data_factory_data_reload)
	(gimp_data_factory_data_free): add them here instead.

	(gimp_data_factory_data_save): remove freeze/thaw calls here
	without any replacement. The list doesn't change by saving its
	items. Fixes insanely long quit time when there are many data
	objects.


svn path=/trunk/; revision=22778
2007-06-14 11:12:31 +00:00
Sven Neumann aaaf8605ae implement the GimpColorManaged interface.
2007-06-14  Sven Neumann  <sven@gimp.org>

	* app/core/gimpimage.c: implement the GimpColorManaged 
interface.


svn path=/trunk/; revision=22777
2007-06-14 07:06:58 +00:00
Sven Neumann 54caf4fbd4 don't disable image previews when layer previews are disabled. We do not
2007-06-11  Sven Neumann  <sven@gimp.org>

	* app/core/gimpimage-preview.c: don't disable image previews 
when
	layer previews are disabled. We do not any longer create the 
image
	preview from the layer previews.

	* app/core/gimpimagefile.c
	* app/widgets/gimpthumbbox.c
	* tools/pdbgen/pdb/image.pdb: thumbnail rendering is not any
	longer disabled if layer previews are turned off.

	* app/config/gimprc-blurbs.h (THUMBNAIL_SIZE_BLURB): removed 
note
	that has become invalid by the change above.

	* app/core/gimpitem-preview.c: cosmetics.

	* app/pdb/image_cmds.c: regenerated.


svn path=/trunk/; revision=22756
2007-06-11 19:26:31 +00:00
Sven Neumann 65385a4781 added gimp_image_resize_to_selection().
2007-06-09  Sven Neumann  <sven@gimp.org>

	* app/core/gimpimage-resize.[ch]: added
	gimp_image_resize_to_selection().

	* app/actions/image-actions.c
	* app/actions/image-commands.[ch]
	* app/widgets/gimphelp-ids.h
	* menus/image-menu.xml.in: added an action and a menu item for 
it.
	Fixes bug #335672.

	* plug-ins/common/align_layers.c: resolved a conflicting 
mnemonic.


svn path=/trunk/; revision=22749
2007-06-09 17:17:30 +00:00
Sven Neumann d7c712403c fixed parameter passed to gimp_image_get_background(). Fixes bug #445719.
2007-06-09  Sven Neumann  <sven@gimp.org>

	* app/core/gimpselection.c (gimp_selection_extract): fixed
	parameter passed to gimp_image_get_background(). Fixes bug 
#445719.


svn path=/trunk/; revision=22748
2007-06-09 16:43:25 +00:00
Sven Neumann d3f8ba267e same change here.
* app/core/gimpprojection.c (gimp_projection_invalidate):
	same change here.

svn path=/trunk/; revision=22746
2007-06-08 12:04:42 +00:00
Sven Neumann 5300747967 use a bit shift instead of a shift and a division.
2007-06-08  Sven Neumann  <sven@gimp.org>

	* app/core/gimpprojection.c (gimp_projection_alloc_levels): use
	a bit shift instead of a shift and a division.

svn path=/trunk/; revision=22745
2007-06-08 11:53:11 +00:00
Sven Neumann 3ce8d74b14 #define GIMP_VIEWABLE_PRIORITY_IDLE, which is even lower than
2007-06-08  Sven Neumann  <sven@gimp.org>

	* app/core/gimpviewable.h: #define GIMP_VIEWABLE_PRIORITY_IDLE,
	which is even lower than G_PRIORITY_LOW.

	* app/core/gimpundo.c
	* app/widgets/gimpviewrenderer.c: create previews with
	GIMP_VIEWABLE_PRIORITY_IDLE so that they are run after the
	projection has been invalidated.


svn path=/trunk/; revision=22743
2007-06-07 23:05:02 +00:00
Sven Neumann a9cec3c05f folded into a single loop.
2007-06-07  Sven Neumann  <sven@gimp.org>

	* app/core/gimpprojection.c (gimp_projection_validate_pyramid_tile):
	folded into a single loop.

svn path=/trunk/; revision=22740
2007-06-07 15:43:55 +00:00
Sven Neumann e20966e7c9 some loop unrolling
svn path=/trunk/; revision=22739
2007-06-07 15:29:25 +00:00
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 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 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
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 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
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 86eaa1fa06 no need to use memcpy here
svn path=/trunk/; revision=22653
2007-05-29 09:57:13 +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 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 a6d783152d app/core/gimp-user-install.c app/core/gimpgradient-load.c
2007-05-23  Sven Neumann  <sven@gimp.org>

	* app/core/gimp-user-install.c
	* app/core/gimpgradient-load.c
	* app/core/gimpsamplepoint.c
	* app/core/gimpscanconvert.c
	* app/core/gimpunit.c
	* app/display/gimpdisplayshell-filter-dialog.c
	* app/display/gimpdisplayshell-layer-select.c
	* app/display/gimpdisplayshell-scale.c
	* app/file/gimprecentitem.c
	* app/gui/splash.c: allocate structs using GSlice.

svn path=/trunk/; revision=22590
2007-05-23 10:22:09 +00:00
Sven Neumann cd772f930a app/core/gimppalette-import.c app/core/gimppalette-load.c use GSlice for
2007-05-22  Sven Neumann  <sven@gimp.org>

	* app/core/gimppalette-import.c
	* app/core/gimppalette-load.c
	* app/core/gimppalette.c: use GSlice for palette entries and
	temporary structs.


svn path=/trunk/; revision=22587
2007-05-22 21:59:19 +00:00
Sven Neumann f1cdb9bea1 app/core/gimparea.[ch] app/core/gimpprojection.c use GSlice to allocate
2007-05-22  Sven Neumann  <sven@gimp.org>

	* app/core/gimparea.[ch]
	* app/core/gimpprojection.c
	* app/display/gimpdisplay.c: use GSlice to allocate GimpArea and
	sanitize the API.


svn path=/trunk/; revision=22584
2007-05-22 18:52:11 +00:00
Michael Natterer ada79e533a app/actions/data-commands.c app/base/boundary.c app/base/gimphistogram.c
2007-05-22  Michael Natterer  <mitch@gimp.org>

	* app/actions/data-commands.c
	* app/base/boundary.c
	* app/base/gimphistogram.c
	* app/base/gimplut.c
	* app/base/temp-buf.c
	* app/core/gimpcontainer.c
	* app/core/gimpgradient.c
	* app/core/gimpparamspecs.c
	* app/core/gimpundo.c
	* app/plug-in/gimpplugin-cleanup.c
	* app/plug-in/gimppluginmanager-data.c
	* app/plug-in/gimppluginmanager-help-domain.c
	* app/plug-in/gimppluginmanager-locale-domain.c
	* app/plug-in/gimppluginmanager-menu-branch.c
	* app/plug-in/gimppluginprocframe.c
	* app/vectors/gimpanchor.c
	* app/widgets/gimpsessioninfo.c: use GSlice instead of g_new/g_free
	for structs of fixed size.


svn path=/trunk/; revision=22558
2007-05-22 10:43:48 +00:00
Sven Neumann a80b7607ec plugged a memory leak caused by one variable shadowing another.
2007-05-22  Sven Neumann  <sven@gimp.org>

	* app/core/gimpbrush.c (gimp_brush_get_new_preview): plugged a
	memory leak caused by one variable shadowing another.

	* app/vectors/gimpvectors-import.c (gimp_vectors_import): free 
the
	SvgPath structs.


svn path=/trunk/; revision=22556
2007-05-22 07:20:23 +00:00
Sven Neumann 9b369d8f6b documentation.
2007-05-21  Sven Neumann  <sven@gimp.org>

	* app/core/gimp.c (gimp_message): documentation.

	* app/actions/documents-commands.c
	* app/widgets/gimplayertreeview.c
	* app/widgets/gimptoolbox-dnd.c: pass parent widgets to gimp_message().

svn path=/trunk/; revision=22552
2007-05-21 16:32:52 +00:00
Sven Neumann b5b732f62a use a #define for the default resolution.
2007-05-21  Sven Neumann  <sven@gimp.org>

	* app/core/gimptemplate.c: use a #define for the default 
resolution.


svn path=/trunk/; revision=22546
2007-05-21 06:48:31 +00:00
Michael Natterer 4884bc43fe make sure the description contains no empty lines.
2007-05-19  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpimagefile.c (gimp_imagefile_get_desc_string): make
	sure the description contains no empty lines.


svn path=/trunk/; revision=22540
2007-05-19 20:09:56 +00:00
Sven Neumann 0bcf615e24 special case fully transparent regions, just as we do in
2007-05-04  Sven Neumann  <sven@gimp.org>

	* plug-ins/common/autocrop.c (guess_bgcolor): special case fully
	transparent regions, just as we do in app/core/gimpimage-crop.c.
	Fixes bug #357554.

	* app/core/gimpimage-crop.c: cosmetics.

svn path=/trunk/; revision=22412
2007-05-04 12:21:26 +00:00
Sven Neumann 69a358460e applied slightly modified patch from Eric Lamarque that adds support for
2007-05-04  Sven Neumann  <sven@gimp.org>

	* app/core/gimpbrush-load.c: applied slightly modified patch from
	Eric Lamarque that adds support for loading .abr v2 Photoshop
	brushes (bug #435635).

svn path=/trunk/; revision=22411
2007-05-04 11:51:55 +00:00
Sven Neumann 2cb0739be5 use a simple cast, not a type-checking one
svn path=/trunk/; revision=22390
2007-05-03 15:18:53 +00:00
Sven Neumann 6c427acf21 Handle the core part of bug #434274:
2007-05-03  Sven Neumann  <sven@gimp.org>

	Handle the core part of bug #434274:

	* app/core/gimpchannel.c (gimp_channel_real_boundary): return
	FALSE for an empty channel.

	* app/core/gimpitem.[ch]: added a progress parameter to
	gimp_item_stroke.

	* app/core/gimpchannel.c (gimp_channel_stroke)
	* app/core/gimpselection.c (gimp_selection_stroke): pass progress
	to gimp_message().

	* app/actions/vectors-commands.c
	* app/actions/select-commands.c
	* app/dialogs/stroke-dialog.c
	* app/vectors/gimpvectors.c
	* tools/pdbgen/pdb/edit.pdb
	* tools/pdbgen/pdb/paths.pdb: changed accordingly.

	* app/pdb/edit_cmds.c
	* app/pdb/paths_cmds.c: regenerated.

	* app/core/gimplayermaskundo.c: added a missing cast.

svn path=/trunk/; revision=22389
2007-05-03 15:17:07 +00:00
Sven Neumann 22c981c771 reduce rounding errors.
2007-05-02  Sven Neumann  <sven@gimp.org>

        * app/core/gimppickable.c (gimp_pickable_pick_color): reduce
        rounding errors.


svn path=/trunk/; revision=22384
2007-05-02 17:26:26 +00:00
Sven Neumann c70b55a403 removed get_color_at() from the GimpPickable interface. Implement the same
2007-05-02  Sven Neumann  <sven@gimp.org>

	* app/core/gimppickable.[ch]: removed get_color_at() from the
	GimpPickable interface. Implement the same functionality using
	get_pixel_at() but with a saner API.

	* app/core/gimpdrawable.c
	* app/core/gimpprojection.c
	* app/core/gimpimagemap.c: removed get_color_at() implementations.

	* app/tools/gimpbycolorselecttool.c: adapt to API change of
	gimp_pickable_get_color_at().

	* app/tools/gimprectangleselecttool.c: added missing include.


svn path=/trunk/; revision=22383
2007-05-02 17:15:03 +00:00
Sven Neumann ebb9c00470 the GLib version that has string validation fixed is 2.12.12.
2007-05-02  Sven Neumann  <sven@gimp.org>

	* app/core/gimpparamspecs.c (gimp_param_string_validate): the GLib
	version that has string validation fixed is 2.12.12.

svn path=/trunk/; revision=22375
2007-05-02 09:56:01 +00:00
Michael Natterer ee0ab61b4f changed "drawable" parameter to "pickable" and added some special casing
2007-04-30  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpselection.[ch] (gimp_selection_extract): changed
	"drawable" parameter to "pickable" and added some special casing
	for the GIMP_IS_DRAWABLE(pickable) case in the implementation.

	* app/core/gimpdrawable-transform.c: changed accordingly.

	* app/core/gimp-edit.c: ditto. Removed utility function
	gimp_edit_extract_visible() and simply use gimp_edit_extract() for
	"copy visible", passing image->projection. Fixes bug #434102.


svn path=/trunk/; revision=22368
2007-04-30 17:26:15 +00:00
Sven Neumann 7c1fc759f5 added get_pixel_at() method to the GimpPickable interface. This gives
2007-04-27  Sven Neumann  <sven@gimp.org>

	* app/core/gimppickable.[ch]: added get_pixel_at() method to the
	GimpPickable interface. This gives direct access to the pixel
	without converting it to an RGB color.

	* app/core/gimpdrawable.c
	* app/core/gimpimagemap.c
	* app/core/gimpprojection.c: implement the new method and also use
	it to reimplement get_color_at().

	* app/core/gimpimage-crop.c (gimp_image_crop_guess_bgcolor): use
	gimp_pickable_get_pixel_at(). Fixes auto-shrink on indexed and
	grayscale images.

svn path=/trunk/; revision=22359
2007-04-27 16:07:49 +00:00
Michael Natterer ff8ba7ea78 renamed GimpParamSpecString's flag "no_validate" to "allow_non_utf8".
2007-04-26  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpparamspecs.[ch]: renamed GimpParamSpecString's
	flag "no_validate" to "allow_non_utf8".

	* tools/pdbgen/app.pl
	* tools/pdbgen/pdb/*.pdb: renamed argument flag
	"no_validate" (which turns off utf8-validation for strings) to
	"allow_non_utf8" and renamed "no_success" (which turns off
	argument validation alltogether) to "no_validate".
	Doesn't affect generated code.


svn path=/trunk/; revision=22350
2007-04-26 19:10:23 +00:00
Michael Natterer 6369e06ece removed bogus "return" from void function. Fixes bug #433339, patch from
2007-04-25  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpbrush.c (gimp_brush_scale_size): removed bogus
	"return" from void function. Fixes bug #433339, patch from Eric
	Lamarque.


svn path=/trunk/; revision=22335
2007-04-25 16:04:06 +00:00
Michael Natterer 54737072a0 added #warning to use GParamSpecString's features once we depend on a
2007-04-25  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpparamspecs.c (gimp_param_string_validate): added
	#warning to use GParamSpecString's features once we depend on a
	fixed version.


svn path=/trunk/; revision=22330
2007-04-25 14:38:20 +00:00
Michael Natterer d6fd55064b added "gboolean non_empty" to require the string being non-empty. Changed
2007-04-25  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpparamspecs.[ch] (struct GimpParamSpecString)
	(gimp_param_spec_string): added "gboolean non_empty" to require
	the string being non-empty. Changed validation accordingly.
	Also fixed validation for static strings (we were happily
	freeing and modifying them before).

	* app/xcf/xcf.c: filenames should be non-empty.
	* app/pdb/gimp-pdb-compat.c: compat strings shouldn't.

	* tools/pdbgen/app.pl: add support for $arg->{non_empty} and
	changed generation of calls to gimp_param_spec_string().

	* tools/pdbgen/pdb/brush_select.pdb
	* tools/pdbgen/pdb/edit.pdb
	* tools/pdbgen/pdb/vectors.pdb
	* tools/pdbgen/pdb/plug_in.pdb
	* tools/pdbgen/pdb/gradient.pdb
	* tools/pdbgen/pdb/palette_select.pdb
	* tools/pdbgen/pdb/palette.pdb
	* tools/pdbgen/pdb/fileops.pdb
	* tools/pdbgen/pdb/progress.pdb
	* tools/pdbgen/pdb/procedural_db.pdb
	* tools/pdbgen/pdb/font_select.pdb
	* tools/pdbgen/pdb/pattern_select.pdb
	* tools/pdbgen/pdb/unit.pdb
	* tools/pdbgen/pdb/brush.pdb
	* tools/pdbgen/pdb/gradient_select.pdb
	* tools/pdbgen/pdb/buffer.pdb: require non-empty strings for data
	object names, procedure names, unit strings, PDB data identifiers
	and buffer names. Removed some manual strlen() checks, all other
	places just got better error reporting for free (proper validation
	error instead of unspecific execution error).

	* app/pdb/*_cmds.c: regenerated.


svn path=/trunk/; revision=22329
2007-04-25 14:23:05 +00:00
Sven Neumann 44cefcc818 app/plug-in/Makefile.am app/plug-in/gimppluginmanager.[ch] moved
2007-04-18  Sven Neumann  <sven@gimp.org>

	* app/plug-in/Makefile.am
	* app/plug-in/gimppluginmanager.[ch]
	* app/plug-in/gimppluginmanager-restore.[ch]: moved
	gimp_plug_in_manager_restore() to it's own file.

	* app/core/gimp.c: changed accordingly.

	* app/Makefile.am (LDFLAGS): convince the linker to do its job.


svn path=/trunk/; revision=22286
2007-04-18 15:06:05 +00:00
Sven Neumann 49b8176aa5 Allow other applications to open images in GIMP as if they were new images
2007-04-17  Sven Neumann  <sven@gimp.org>

	Allow other applications to open images in GIMP as if they were
	new images (without associating a filename). Fixes bug #423118.

	* app/file/file-open.[ch]: added parameter 'as_new' to
	file_open_image() and its variants.

	* app/actions/data-commands.c
	* app/actions/documents-commands.c
	* app/actions/file-commands.c
	* app/core/gimpimagefile.c
	* app/dialogs/file-open-dialog.c
	* app/dialogs/file-open-location-dialog.c
	* app/widgets/gimptoolbox.c
	* app/widgets/gimptoolbox-dnd.c: changed accordingly.

	* app/app.[ch]
	* app/main.c: added new command-line option '--as-new'.

	* app/widgets/gimpdbusservice.[ch]
	* app/widgets/dbus-service.xml: added new method "OpenAsNew" to the
	D-Bus interface.

	* docs/gimp.1.in: document the new command-line option.


svn path=/trunk/; revision=22264
2007-04-17 15:54:01 +00:00
Michael Natterer f2acde4c60 app/base/base-types.h remove redundant and inconsistently used MaskBuf
2007-04-13  Michael Natterer  <mitch@gimp.org>

	* app/base/base-types.h
	* app/base/temp-buf.[ch]: remove redundant and inconsistently used
	MaskBuf type and API.

	* app/core/gimpbrush-scale.c
	* app/paint/gimpbrushcore.[ch]: use TempBuf and its API instead.
	This also optimizes away a useless memset() on brush scaling,
	we completely fill each of the created buffers anyway.


svn path=/trunk/; revision=22249
2007-04-13 14:04:37 +00:00
Michael Natterer c6733ac891 app/base/Makefile.am removed these files.
2007-04-01  Michael Natterer  <mitch@gimp.org>

	* app/base/Makefile.am
	* app/base/brush-scale.[ch]: removed these files.

	* app/core/Makefile.am
	* app/core/gimpbrush-scale.[ch]: added the functions here as
	static utility functions. Also move the default implementations of
	GimpBrush::scale_size(), ::scale_mask() and ::scale_pixmap() here,
	including their utility functions.

	* app/core/gimpbrush.c: remove all scale stuff and
	include "gimpbrush-scale.h" instead.

	(gimp_brush_get_new_preview): use GimpBrush's scale functions
	instead of the now private ones. Cleanup.

	(gimp_brush_scale_mask)
	(gimp_brush_scale_pixmap): return a copy of the buf for
	scale == 1.0.


svn path=/trunk/; revision=22213
2007-04-01 13:38:22 +00:00
Michael Natterer 00be2f5f8c use SQR(x) instead of x*x.
2007-03-31  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpdrawable-blend.c: use SQR(x) instead of x*x.


svn path=/trunk/; revision=22211
2007-03-31 16:45:19 +00:00
Sven Neumann 410d8a5546 cosmetisc
svn path=/trunk/; revision=22194
2007-03-29 14:09:12 +00:00
Sven Neumann ed93588115 moved generation of the lookup table to it's own function. Also changed
2007-03-29  Sven Neumann  <sven@gimp.org>

	* app/core/gimpbrushgenerated.c (gimp_brush_generated_calc): moved
	generation of the lookup table to it's own function. Also changed
	SUPERSAMPLING from 5 to 4. Let's see if someone complains...


svn path=/trunk/; revision=22193
2007-03-29 14:04:54 +00:00
Sven Neumann ce489b17ae allow adding a mask to a layer without alpha channel (bug #316207).
2007-03-22  Sven Neumann  <sven@gimp.org>

	* app/core/gimplayer.c (gimp_layer_add_mask): allow adding a mask
	to a layer without alpha channel (bug #316207).

svn path=/trunk/; revision=22163
2007-03-22 17:58:42 +00:00
Michael Natterer 83981ef404 simplified brush scale calculation by making sure that brush_core->scale
2007-03-18  Michael Natterer  <mitch@gimp.org>

	* app/paint/gimpbrushcore.c: simplified brush scale calculation by
	making sure that brush_core->scale always contains a value that's
	suited as input for gimp_brush_scale_mask/pixmap() (bug #419290).

	(gimp_brush_core_calc_brush_size): removed this function. All
	places can now call gimp_brush_scale_size() directly with
	core->scale as parameter.

	(gimp_brush_core_calc_brush_scale): new function which returns
	a linear scale factor which contains both the area-based pressure
	scale factor and the linear paint options scale factor.

	(gimp_brush_core_start)
	(gimp_brush_core_get_paint_area): use the new function instead
	of doing these calculations manually.

	(gimp_brush_core_interpolate): remove call to
	gimp_brush_core_scale_brush_size() and use core->scale directly.

	(gimp_brush_core_get_paint_area)
	(gimp_brush_core_scale_mask)
	(gimp_brush_core_scale_pixmap): use gimp_brush_scale_size()
	instead of the removed gimp_brush_core_scale_brush_size().

	(gimp_brush_core_create_bound_segs): use only
	paint_options->brush_scale here since the canvas brush preview
	always has to asume full pressure.

	* app/core/gimpbrush.c (gimp_brush_scale_size): special case
	scale == 1.0 and return the mask's width/height without calling
	the virtual function.


svn path=/trunk/; revision=22141
2007-03-18 19:48:36 +00:00
Michael Natterer 94fe72a220 app/core/gimpbrush.c some minor fixes and stylistic paranoia i overlooked
2007-03-14  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpbrush.c
	* app/core/gimpbrushgenerated.c: some minor fixes and stylistic
	paranoia i overlooked in last night's late review.


svn path=/trunk/; revision=22119
2007-03-14 10:23:18 +00:00
Martin Nordholts e3d9198cc4 Made brushes upscalable by using scale_region. Downscaling still uses
2007-03-14  Martin Nordholts  <martinn@svn.gnome.org>

	Made brushes upscalable by using scale_region. Downscaling still
	uses functions in app/base/brush-scale.c (because of better
	performance). Parametric brushes of course recalculates masks
	instead of using bitmap scaling. Fixes bug #65030.

	* app/core/gimpbrush.[ch]: Added a private scale_buf method which
	uses scale_region (with GIMP_INTERPOLATION_LINEAR) to scale its
	masks and pixmaps. Also added public virtual method scale_size to
	GimpBrush (overridden by GimpBrushGenerated) which calculates the
	buffer sizes for a given brush scaled with a given scale.

	* app/core/gimpbrushgenerated.c: Implemented the new scale_size
	method inherited from GimpBrush, and modified
	gimp_brush_generated_calc to use this helper function.

	* app/tools/gimppaintoptions-gui.c (gimp_paint_options_gui): Made
	the brush Scale-slider logarithmic.

	* app/paint/gimppaintoptions.c (gimp_paint_options_class_init):
	Changed Scale scale to [0.0, 10.0].

	* app/paint/gimpbrushcore.c:
	(gimp_brush_core_calc_brush_size): Refactored 'get brush size' code
	to where it belongs, in GimpBrush-classes, and allowed scales
	larger than 1.0.


svn path=/trunk/; revision=22113
2007-03-14 00:18:01 +00:00
Michael Natterer 4648f542cf app/core/gimpbrush.[ch] app/core/gimpbrushgenerated.c
2007-03-12  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpbrush.[ch]
	* app/core/gimpbrushgenerated.c
	* app/tools/gimppaintoptions-gui.c
	* app/base/brush-scale.[ch]
	* app/base/temp-buf.[ch]
	* app/paint/gimppaintoptions.c
	* app/paint/gimpbrushcore.c: revert last commit. The patch needs
	more review and it's easier to start from quare one than have
	patches on top of patches.


svn path=/trunk/; revision=22101
2007-03-12 09:33:57 +00:00
Michael Schumacher a4e81c3a6c Made brushes scalable (both up and down) by using existing scaling
2007-03-11  Michael Schumacher  <schumaml@cvs.gnome.org>

	Made brushes scalable (both up and down) by using existing
	scaling routines, and also refactored some brush-code. Patch by
	Martin Nordholts. Fixes bug #65030.

	* app/paint/gimpbrushcore.c:
	(gimp_brush_core_calc_brush_length_scale) Refactored 'get brush
	size' code to where it belongs, in GimpBrush-classes, and renamed
	gimp_brush_core_calc_brush_size to
	gimp_brush_core_calc_brush_length_scale.

	* app/paint/gimppaintoptions.c (gimp_paint_options_class_init):
	Changed Scale scale to [0.0, 100.0].

	* app/base/temp-buf.[ch] (mask_buf_new): Change signature to also
	take a bpp parameter.

	* app/base/brush-scale.[ch]: Changed brush_scale_(mask|pixmap) to
	the new brush_scale_buf, which uses existing scaling routines
	(scale_region) instead of dedicated down-scaling only routines.

	* app/tools/gimppaintoptions-gui.c (gimp_paint_options_gui): Made
	the brush Scale-slider logarithmic.

	* app/core/gimpbrushgenerated.c: Implemented the new
	get_scaled_size method inherited from GimpBrush, and modified
	gimp_brush_generated_calc to use this helper function.

	* app/core/gimpbrush.[ch]: Added public virtual method
	get_scaled_size to GimpBrush, overridden by GimpBrushGenerated,
	which calculates the buffer sizes for a given brush scaled with a
	given scale. Also changed calls to brush_scale_(mask|pixmap) to
	the new brush_scale_buf.

svn path=/trunk/; revision=22099
2007-03-11 16:28:08 +00:00
Michael Natterer 4ddfeb7ddc don't include libgimpmath/gimpmathtypes.h
2007-03-10  Michael Natterer  <mitch@gimp.org>

	* app/core/core-types.h: don't include libgimpmath/gimpmathtypes.h

	* app/base/base-types.h: include it here. Also include
	libgimpcolor/gimpcolortypes.h


svn path=/trunk/; revision=22094
2007-03-10 19:31:07 +00:00
Michael Natterer 83d3a750d4 include "libgimpmath/gimpmathtypes.h" instead of "libgimpmath/gimpmath.h".
2007-03-09  Michael Natterer  <mitch@gimp.org>

	* app/core/core-types.h: include "libgimpmath/gimpmathtypes.h"
	instead of "libgimpmath/gimpmath.h".

	* app/core/gimpbrush.h
	* app/paint/gimppaintcore.h
	* app/paint/gimpperspectiveclone.h
	* app/text/gimptext.h
	* app/tools/gimptransformtool.h: include gimpvector.h and
	gimpmatrix.h explicitely where they are needed in public structs.

	* app/*/*.c
	* tools/pdbgen/pdb/paths.pdb: include "libgimpmath/gimpmath.h"
	where needed.

	* app/pdb/paths_cmds.c: regenerated.


svn path=/trunk/; revision=22084
2007-03-09 13:00:01 +00:00
Michael Natterer e6fb62d4ac Makes default Select -> Border behaviour consistent, and makes 'sticky
2007-03-05  Michael Natterer  <mitch@gimp.org>

	Makes default Select -> Border behaviour consistent, and makes
	'sticky image edges' optional by adding a checkbox in the Border
	Selection dialog. Patch by Martin Nordholts. Fixes bug #350009.

	* app/actions/select-commands.c (select_border_cmd_callback)
	(select_border_callback): Added edge-lock checkbox to dialog and
	modified calls accordingly.

	* app/paint-funcs/paint-funcs.c (border_region)
	(compute_transition): Fixed algorithm. (compute_transition is a
	helper function to the algorithm). Also clarified many parts of
	the algorithm with comments.

	* app/paint-funcs/paint-funcs.h
	* app/core/gimpchannel.[ch]
	* app/core/gimpselection.c: Added gboolean edge_lock to function
	calls/signatures.

	* app/pdb/selection_cmds.c: Regenerated. 


svn path=/trunk/; revision=22047
2007-03-05 20:21:23 +00:00
Michael Natterer 395b06ad8b added typdef GimpMemsizeFunc.
2007-03-05  Michael Natterer  <mitch@gimp.org>

	* app/core/core-types.h: added typdef GimpMemsizeFunc.

	* app/core/gimp-utils.[ch]: added _foreach() variants of
	GHashTable, GList and GSList functions which take GimpMemsizeFunc
	callbacks. Added gimp_parasite_get_memsize(). Added "data_size"
	parameter to gimp_g_hash_table_get_memsize().

	* app/core/gimp.c
	* app/core/gimppalette.c
	* app/core/gimpparasitelist.c
	* app/pdb/gimppdb.c
	* app/plug-in/gimppluginmanager.c: use the new functions instead
	of itering manually or ignoring the containers' elements. Changed
	callers of gimp_g_hash_table_get_memsize().


svn path=/trunk/; revision=22046
2007-03-05 20:09:46 +00:00
Michael Natterer 1bfc742f03 don't pass random strings to g_print() without running them through %s.
2007-03-04  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpobject.c (gimp_object_get_memsize): don't pass
	random strings to g_print() without running them through %s.
	Fixes crash/warning when the string contains '%'.


svn path=/trunk/; revision=22042
2007-03-04 21:38:50 +00:00
Hans Breuer f8b13080e4 updated
2007-03-04  Hans Breuer  <hans@breuer.org>

	* **/makefile.msc app/gimpcore.def : updated


svn path=/trunk/; revision=22041
2007-03-04 19:04:42 +00:00
Michael Natterer 4dd7d18b06 use gimp_drawable_bytes_with_alpha() instead of manually adding alpha to
2007-03-01  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpdrawable-blend.c (gimp_drawable_blend): use
	gimp_drawable_bytes_with_alpha() instead of manually adding
	alpha to the value returned by gimp_drawable_bytes()


svn path=/trunk/; revision=22037
2007-03-01 17:53:56 +00:00
Michael Natterer b60fbd3324 even more whitespace cleanup.
2007-02-28  Michael Natterer  <mitch@gimp.org>

	* app/core/gimp-transform-resize.c: even more whitespace cleanup.


svn path=/trunk/; revision=22023
2007-02-28 11:17:29 +00:00
Sven Neumann a75dc8a046 removed trailing whitespace.
2007-02-28  Sven Neumann  <sven@gimp.org>

	* app/core/gimp-transform-resize.c: removed trailing whitespace.


svn path=/trunk/; revision=22022
2007-02-28 09:14:40 +00:00
Sven Neumann c294d9bc94 app/core/gimpimage-scale.c app/core/gimpimage-rotate.c
2007-02-28  Sven Neumann  <sven@gimp.org>

	* app/core/gimpimage-scale.c
	* app/core/gimpimage-rotate.c
	* app/core/gimpimage-resize.c
	* app/core/gimpimage-flip.c: cosmetics.


svn path=/trunk/; revision=22021
2007-02-28 08:57:17 +00:00
Sven Neumann 776f7973b2 follow the internal API change
svn path=/trunk/; revision=22011
2007-02-27 11:10:17 +00:00
Sven Neumann 6852fc8068 allow the parent progress to be NULL. Documented the API.
2007-02-27  Sven Neumann  <sven@gimp.org>

	* app/core/gimpsubprogress.[ch]: allow the parent progress to be NULL.
	Documented the API.

	* app/core/gimpimage-scale.c: use the sub-progress unconditionally.


svn path=/trunk/; revision=22010
2007-02-27 11:03:18 +00:00
Sven Neumann 5b5082a433 app/core/Makefile.am app/core/core-types.h added GimpSubProgress, an
2007-02-27  Sven Neumann  <sven@gimp.org>

	* app/core/Makefile.am
	* app/core/core-types.h
	* app/core/gimpsubprogress.[ch]: added GimpSubProgress, an 
object
	that implements the GimpProgress interface and maps progress
	information to a sub-range of the parent progress.

	* app/core/gimpimage-scale.c (gimp_image_scale): use the new 
object.


svn path=/trunk/; revision=22009
2007-02-27 09:39:31 +00:00
Sven Neumann 99e507de58 removed a redundant condition and marked another one as unlikely.
2007-02-26  Sven Neumann  <sven@gimp.org>

	* app/core/gimp-transform-region.c (normalize_coords): removed a
	redundant condition and marked another one as unlikely.


svn path=/trunk/; revision=22008
2007-02-26 19:43:14 +00:00
Sven Neumann b3ec8a219d app/core/gimpimage-scale.c cosmetics.
2007-02-26  Sven Neumann  <sven@gimp.org>

	* app/core/gimpimage-scale.c
	* app/actions/image-commands.c: cosmetics.


svn path=/trunk/; revision=22007
2007-02-26 18:53:07 +00:00
Sven Neumann 352d64ab5e cosmetics
svn path=/trunk/; revision=22005
2007-02-26 15:32:54 +00:00
Sven Neumann e2ae556117 moved common code to an inlined function. gimp_transform_region_lanczos()
2007-02-26  Sven Neumann  <sven@gimp.org>

	* app/core/gimp-transform-region.c: moved common code to an
	inlined function. gimp_transform_region_lanczos() now also does
	supersampling.  Removed boundary checks and clamping as
	PixelSurround and read_pixel_data_1() already deal with this for
	us. Gives another small speedup.


svn path=/trunk/; revision=21999
2007-02-26 14:16:31 +00:00
Sven Neumann 6b7996a3e7 use PixelSurround instead of read_pixel_data_1(). This yields a dramatic
2007-02-26  Sven Neumann  <sven@gimp.org>

	* app/core/gimp-transform-region.c (gimp_transform_region_lanczos):
	use PixelSurround instead of read_pixel_data_1(). This yields a
	dramatic speedup.


svn path=/trunk/; revision=21998
2007-02-26 13:36:50 +00:00
Sven Neumann ca30a115b3 iterate over tiles instead of rows in the destination buffer.
2007-02-26  Sven Neumann  <sven@gimp.org>

	* app/core/gimp-transform-region.c (gimp_transform_region_lanczos):
	iterate	over tiles instead of rows in the destination buffer.


svn path=/trunk/; revision=21997
2007-02-26 13:03:51 +00:00
Sven Neumann 43d2cde05f moved linear and cubic code to their own functions and let them iterate
2007-02-24  Sven Neumann  <sven@gimp.org>

	* app/core/gimp-transform-region.c (gimp_transform_region): moved
	linear and cubic code to their own functions and let them iterate
	over tiles instead of rows in the destination buffer.


svn path=/trunk/; revision=21996
2007-02-26 11:50:02 +00:00
Sven Neumann cc6a517f5b added more const qualifiers.
2007-02-26  Sven Neumann  <sven@gimp.org>

	* app/core/gimp-transform-region.c: added more const qualifiers.


svn path=/trunk/; revision=21992
2007-02-26 09:33:13 +00:00
Sven Neumann 4232b8fa4e operate on tiles instead of iterating row by row.
2007-02-24  Sven Neumann  <sven@gimp.org>

	* app/core/gimp-transform-region.c 
(gimp_transform_region_nearest):
	operate on tiles instead of iterating row by row.


svn path=/trunk/; revision=21988
2007-02-24 16:40:56 +00:00
Sven Neumann ef28e94e7f moved nearest-neighbor code to it's own function to improve performance
2007-02-24  Sven Neumann  <sven@gimp.org>

	* app/core/gimp-transform-region.c (gimp_transform_region):
	moved nearest-neighbor code to it's own function to improve
	performance and readability.


svn path=/trunk/; revision=21987
2007-02-24 15:49:25 +00:00
Sven Neumann db72bf1358 moved lanczos code into it's own function to improve readability.
2007-02-23  Sven Neumann  <sven@gimp.org>

	* app/core/gimp-transform-region.c (gimp_transform_region): 
moved
	lanczos code into it's own function to improve readability.


svn path=/trunk/; revision=21986
2007-02-23 19:04:19 +00:00
Sven Neumann 74776dd44e cosmetics
svn path=/trunk/; revision=21985
2007-02-23 16:35:38 +00:00
Sven Neumann 6788bffb5c do less tile lock and release operations by reusing the last locked tile
2007-02-23  Sven Neumann  <sven@gimp.org>

	* app/base/pixel-surround.[ch]: do less tile lock and release
	operations by reusing the last locked tile if possible. Allow to
	call pixel_surround_lock() several times without unlocking.

	* app/core/gimp-transform-region.c: don't unlock the PixelSurround
	so that the locked tile can be reused. Yields about 30% speedup
	for transformations.


svn path=/trunk/; revision=21984
2007-02-23 16:19:42 +00:00
Sven Neumann 9d32b72c6f app/base/base-types.h hide PixelSurround struct and cleaned up the
2007-02-22  Sven Neumann  <sven@gimp.org>

	* app/base/base-types.h
	* app/base/pixel-surround.[ch]: hide PixelSurround struct and
	cleaned up the PixelSurround API.

	* app/core/gimp-transform-region.c: changed accordingly. Also
	sprinkled some const qualifiers.

svn path=/trunk/; revision=21978
2007-02-23 09:50:42 +00:00
Michael Natterer d212161c00 app/core/gimp-utils.[ch] app/core/gimp.c app/widgets/gimpcontrollerinfo.c
2007-02-17  Michael Natterer  <mitch@gimp.org>

	* app/core/gimp-utils.[ch]
	* app/core/gimp.c
	* app/widgets/gimpcontrollerinfo.c
	* libgimpwidgets/gimpcontroller.c: removed various boolean_handled
	signal accumulators and use g_signal_accumulator_true_handled().


svn path=/trunk/; revision=21933
2007-02-17 11:45:59 +00:00