Commit Graph

2116 Commits

Author SHA1 Message Date
Michael Natterer c7ca43a647 added VISIBLE and LINKED to the GimpImageResizeLayers enum.
2005-03-01  Michael Natterer  <mitch@gimp.org>

	* app/core/core-enums.[ch]: added VISIBLE and LINKED to the
	GimpImageResizeLayers enum.

	* app/core/gimpimage-resize.c (gimp_image_resize_with_layers):
	changed accordingly. Also looks nicer now.
2005-03-01 20:19:53 +00:00
Sven Neumann d9e6ef3d93 major speedup for dithering code thanks to a suggestion from Jay Cox.
2005-02-28  Sven Neumann  <sven@gimp.org>

	* app/core/gimpdrawable-blend.c: major speedup for dithering code
	thanks to a suggestion from Jay Cox.
2005-02-28 21:52:41 +00:00
Sven Neumann 7e6e291e0d improved readability by introducing a macro for the dithering code.
2005-02-27  Sven Neumann  <sven@gimp.org>

	* app/core/gimpdrawable-blend.c: improved readability by
	introducing a macro for the dithering code.
2005-02-27 16:14:33 +00:00
Sven Neumann 7aa3ee2217 fixed rounding errors in the non-dithered case and optimized the dithering
2005-02-27  Sven Neumann  <sven@gimp.org>

	* app/core/gimpdrawable-blend.c: fixed rounding errors in the
	non-dithered case and optimized the dithering code.
2005-02-27 15:47:33 +00:00
Sven Neumann 7f39e41254 improve the threaded performance by using a dedicated RNG per tile.
2005-02-27  Sven Neumann  <sven@gimp.org>

	* app/core/gimpdrawable-blend.c: (hopefully) improve the threaded
	performance by using a dedicated RNG per tile.
2005-02-27 15:06:40 +00:00
Sven Neumann e87c8aa085 app/core/gimpimage-convert-fsdither.h save a kilobyte of data by using
2005-02-27  Sven Neumann  <sven@gimp.org>

	* app/core/gimpimage-convert-fsdither.h
	* app/core/gimpimage-convertc: save a kilobyte of data by using
	guchar for the range array.
2005-02-27 14:03:50 +00:00
Daniel Egger 0add60298a app/base/Makefile.am app/composite/*akefile.am app/config/*akefile.am
2005-02-27  Daniel Egger  <de@axiros.com>

	* app/base/Makefile.am
	* app/composite/*akefile.am
	* app/config/*akefile.am
	* app/core/*akefile.am
	* app/display/*akefile.am
	* app/file/*akefile.am
	* app/paint-funcs/*akefile.am
	* app/pdb/*akefile.am
	* app/plug-in/*akefile.am
	* app/text/*akefile.am
	* app/tools/*akefile.am
	* app/vectors/*akefile.am
	* app/xcf/*akefile.am: Commonized include paths to always look
	in the builddir also to cater for srcdir != builddir builds.
2005-02-27 13:22:01 +00:00
Sven Neumann 8de1e94bb7 removed the "last_visited" field from GimpGradient. Instead added the new
2005-02-27  Sven Neumann  <sven@gimp.org>

	* app/core/gimpgradient.[ch]: removed the "last_visited" field
	from GimpGradient. Instead added the new function
	gimp_gradient_get_color_at_segment() that allows the caller to do
	the same optimization.

	* app/actions/gradient-editor-commands.c
	* app/core/gimpdrawable-blend.c
	* app/core/gimppalette-import.c
	* app/paint/gimppaintoptions.c
	* app/widgets/gimpgradienteditor.c
	* app/widgets/gimpgradientselect.c
	* app/widgets/gimpviewrenderergradient.c: changed accordingly.

	* app/pdb/gradient_cmds.c
	* app/pdb/gradients_cmds.c: regenerated.
2005-02-26 23:55:50 +00:00
Sven Neumann 52b88c61d2 minor code cleanup.
2005-02-26  Sven Neumann  <sven@gimp.org>

	* app/core/gimpdrawable-blend.c: minor code cleanup.
2005-02-26 18:36:12 +00:00
Michael Natterer 03182eba8d Allow to resize layers with the image. Fixes bug #87789.
2005-02-24  Michael Natterer  <mitch@gimp.org>

	Allow to resize layers with the image. Fixes bug #87789.

	* app/core/core-enums.[ch]: added enum GimpImageResizeLayers which
	can be one of { NONE, MATCHING, ALL }.

	* app/core/gimpimage-resize.[ch]: added new function
	gimp_image_resize_with_layers().

	* app/dialogs/resize-dialog.[ch]: added a "Layers" frame
	containing a "Resize Layers" combo box offering the choices above.
	Changed GimpResizeCallback signature accordingly.

	* app/actions/image-commands.c
	* app/actions/layers-commands.c: changed accordingly.
2005-02-24 16:39:12 +00:00
Manish Singh 9706fce0a3 Support for custom plug-in interpreters, independent of OS support.
2005-02-20  Manish Singh  <yosh@gimp.org>

        Support for custom plug-in interpreters, independent of OS support.

        * app/core/Makefile.am
        * app/core/core-types.h
        * app/core/gimpinterpreterdb.[ch]: implemented GimpInterpreterDB,
        which handles registering and resolving custom plug-in interpreters.

        * app/core/gimp.[ch]: keep a GimpInterpreterDB around.

        * app/config/gimpcoreconfig.[ch]
        * app/config/gimprc-blurbs.h
        * app/dialogs/preferences-dialog.c
        * app/dialogs/user-install-dialog.c
        * app/widgets/gimphelp-ids.h: interpreter-path config stuff.

        * app/plug-in/plug-in.c: use registered interpreters when running
        plug-ins.

        * themes/Default/images/preferences/Makefile.am
        * themes/Default/images/preferences/folders-interp.png: just copied
        folders-plug-ins.png here, need a better one.

        * data/interpreters/Makefile.am: creates system interpreter directory.

        * data/interpreters/default.interp: sample interpreter file info.

        * data/Makefile.am
        * configure.in: add data/interpreters directory.

        * plug-ins/pygimp/Makefile.am: install pygimp.interp, which configures
        the python interpreter to point to the python we were built with. Also
        register the .py extension.

        * etc/gimprc
        * docs/gimprc.5.in: regenerated
2005-02-21 02:56:29 +00:00
Sven Neumann 1e6a94e614 app/core/gimpgradient-load.c app/core/gimppalette.c app/core/gimppattern.c
2005-02-20  Sven Neumann  <sven@gimp.org>

	* app/core/gimpgradient-load.c
	* app/core/gimppalette.c
	* app/core/gimppattern.c
	* app/plug-in/plug-in.c
	* libgimpbase/gimputils.c
	* libgimpmodule/gimpmodule.c
	* libgimpwidgets/gimppatheditor.c
	* tools/pdbgen/pdb/image.pdb: use g_filename_display_name() or
	g_filename_display_basename() where appropriate.

	* app/pdb/image_cmds.c: regenerated.
2005-02-20 21:49:53 +00:00
Sven Neumann 17e7e13e58 migrate gimp-2.2 settings if available. Pass the version to
2005-02-20  Sven Neumann  <sven@gimp.org>

	* app/dialogs/user-install-dialog.c: migrate gimp-2.2 settings if
	available. Pass the version to gimp_templates_migrate().

	* app/core/gimp-templates.[ch] (gimp_templates_migrate): if
	migrating templaterc from ~/.gimp-2.0, do a case-insensitive match
	on template names to accommodate for the fact that we changed the
	spelling of some default templates between 2.0 and 2.2.
2005-02-19 23:38:59 +00:00
Hans Breuer c6f63ea4e1 TILE_WIDTH is used unconditionally so always include "tile.h" WIN32 needs
2005-02-19  Hans Breuer  <hans@breuer.org>

	* app/base/pixel-processor.c : TILE_WIDTH is used unconditionally
	so always include "tile.h"
	* app/base/tile-swap.c : WIN32 needs <process.h> for _getpid()

	* app/dialogs/user-install-dialog.c : include gimpwin32-io.h
	* libgimpbase/gimpwin32-io.h : there are no group or other
	flags in msvcrt, define S_IGRP etc in terms of _S_IREAD etc

	* plug-ins/script-fu/script-fu.c plug-ins/script-fu/siod-wrapper.c :
	no script-fu server on win32, make respective function calls conditional

	* libgimpconfig/makefile.msc : new file
	* **/makefile.msc app/gimpcore.def : updated, gimp builds
	and runs once more with ms toolchain
2005-02-19 00:50:36 +00:00
Sven Neumann 52d6f00e56 app/core/Makefile.am new files holding gimp_drawable_convert_rgb() and
2005-02-18  Sven Neumann  <sven@gimp.org>

	* app/core/Makefile.am
	* app/core/gimpdrawable-convert.[ch]: new files holding
	gimp_drawable_convert_rgb() and gimp_drawable_convert_grayscale()
	moved out of gimpimage-convert.[ch].

	* app/core/gimpchannel.c
	* app/core/gimpimage-convert.[ch]
	* app/core/gimplayer.c: changed accordingly.
2005-02-18 16:16:24 +00:00
Sven Neumann 6300a9632c some simple loop unrolling, converted tabs to spaces and sprinkled the
2005-02-18  Sven Neumann  <sven@gimp.org>

	* app/core/gimpimage-convert.c: some simple loop unrolling,
	converted tabs to spaces and sprinkled the code with const
	qualifiers.
2005-02-17 23:31:36 +00:00
Sven Neumann 82a5329fbf added a variant of pixel_regions_process_parallel() that takes a progress
2005-02-16  Sven Neumann  <sven@gimp.org>

	* app/base/pixel-processor.[ch]: added a variant of
	pixel_regions_process_parallel() that takes a progress callback and
	progress data. Does only work for the single-threaded case yet.

	* app/core/gimpdrawable-blend.c (gradient_fill_region): parallelized.
2005-02-16 14:54:56 +00:00
Sven Neumann 784fae02bb parallelized.
2005-02-16  Sven Neumann  <sven@gimp.org>

	* app/core/gimpimage-contiguous-region.c
	(gimp_image_contiguous_region_by_color): parallelized.
2005-02-16 00:38:20 +00:00
Sven Neumann 637df82c71 parallelized.
2005-02-16  Sven Neumann  <sven@gimp.org>

	* app/core/gimpdrawable-desaturate.c: parallelized.
2005-02-15 23:53:56 +00:00
Sven Neumann ddf6688fc8 code cleanup.
2005-02-16  Sven Neumann  <sven@gimp.org>

	* app/core/gimplayer.c (gimp_layer_transform_color): code cleanup.
2005-02-15 23:38:59 +00:00
Sven Neumann 51710aa378 changed GimpImageMapApplyFunc to be compatible with PixelProcessorFunc.
2005-02-15  Sven Neumann  <sven@gimp.org>

	* app/core/gimpimagemap.[ch]: changed GimpImageMapApplyFunc to
	be compatible with PixelProcessorFunc.

	* app/base/color-balance.[ch]
	* app/base/colorize.[ch]
	* app/base/gimplut.[ch]
	* app/base/hue-saturation.[ch]
	* app/base/threshold.[ch]: removed wrappers that used to
	shift parameters around to match GimpImageMapApplyFunc and
	PixelProcessorFunc signatures.

	* app/tools/gimpbrightnesscontrasttool.c
	* app/tools/gimpcolorbalancetool.c
	* app/tools/gimpcurvestool.c
	* app/tools/gimplevelstool.c
	* app/tools/gimpposterizetool.c
	* app/tools/gimpthresholdtool.c: changed accordingly.

	* tools/pdbgen/pdb/color.pdb: use pixel_region_process_parallel()
	for all color operations.

	* app/pdb/color_cmds.c: regenerated.
2005-02-15 15:39:27 +00:00
Sven Neumann 1cb9714f02 allocate temporary histogram slots on demand and provide an array with
2005-02-14  Sven Neumann  <sven@gimp.org>

	* app/base/gimphistogram.[ch]: allocate temporary histogram slots
	on demand and provide an array with enough slots for the maximum
	number of threads. gimp_histogram_new() doesn't need a
	GimpBaseConfig parameter any longer.

	* app/core/gimpdrawable-equalize.c
	* app/core/gimpdrawable-levels.c
	* app/tools/gimpcurvestool.c
	* app/tools/gimplevelstool.c
	* app/tools/gimpthresholdtool.c
	* app/widgets/gimphistogrameditor.c
	* tools/pdbgen/pdb/color.pdb: changed accordingly.

	* app/pdb/color_cmds.c: regenerated.
2005-02-14 01:05:34 +00:00
Sven Neumann 9511753a02 check for gthread-2.0 unless the --disable-mp option is given.
2005-02-13  Sven Neumann  <sven@gimp.org>

	* configure.in: check for gthread-2.0 unless the --disable-mp
	option is given.

	* app/app_procs.c (app_libs_init): call g_thread_init().

	* app/base/pixel-processor.c: ported to GThread.

	* app/Makefile.am
	* app/*/Makefile.am: use @GTHREAD_CFLAGS@.
2005-02-13 15:08:08 +00:00
Sven Neumann 4cf9d0e429 accept an empty string.
2005-02-13  Sven Neumann  <sven@gimp.org>

	* app/core/gimpprogress.c (gimp_progress_start): accept an empty
	string.

	* app/plug-in/plug-in-progress.c: if NULL is passed as message to
	plug_in_progress_start(), set an empty string on the progress.

	* tools/pdbgen/pdb/progress.pdb:
	* libgimp/gimpprogress.[ch]: wrap the new gimp_progress_set_text()
	PDP function with a function that accepts printf-like arguments.

	* libgimp/gimpprogress_pdb.[ch]: regenerated.

	* lots of plug-ins, most of them file plug-ins:
	use gimp_progress_init(NULL) followed by gimp_progress_set_text()
	to initialize the progress using the new API instead of constructing
	a temporary string.
2005-02-13 00:11:24 +00:00
Michael Natterer fc677ae7b4 added GIMP_PROGRESS_COMMAND_PULSE.
2005-02-12  Michael Natterer  <mitch@gimp.org>

	* libgimpbase/gimpbaseenums.h (enum GimpProgressCommand):
	added GIMP_PROGRESS_COMMAND_PULSE.

	* libgimpbase/gimpbaseenums.c
	* plug-ins/pygimp/gimpenums.py
	* tools/pdbgen/enums.pl: regenerated.

	* app/core/gimppdbprogress.c: implement GimpProgress::pulse()
	and send a PULSE command to the callback.

	* libgimp/gimpprogress.c: handle PULSE by calling the set_value()
	callback with a value of -1 and document that hack in the API docs.

	* libgimp/gimpprogressbar.c: interpret -1 as request to pulse.
2005-02-12 15:46:31 +00:00
Sven Neumann 7c19953c39 added GimpProgress::pulse.
2005-02-12  Sven Neumann  <sven@gimp.org>

	* app/core/gimpprogress.[ch]: added GimpProgress::pulse.

	* app/display/gimpdisplay.c
	* app/display/gimpstatusbar.c
	* app/widgets/gimpfiledialog.c
	* app/widgets/gimpprogressbox.c
	* app/widgets/gimpprogressdialog.c
	* app/widgets/gimpthumbbox.c: implement it in the classes that
	implement the GimpProgress interface.

	* app/plug-in/plug-in-progress.[ch]: allow plug-ins to pulse their
	progress.

	* tools/pdbgen/pdb/progress.pdb: added a procedure for the new
	functionality.

	* app/pdb/internal_procs.c
	* app/pdb/progress_cmds.c
	* libgimp/gimpprogress_pdb.[ch]: regenerated.

	* libgimp/gimp.def: updated.
2005-02-12 14:18:12 +00:00
Sven Neumann adff5aeb09 code cleanup. Removed unsued code, renamed variables and types.
2005-02-11  Sven Neumann  <sven@gimp.org>

	* app/base/pixel-processor.[ch]: code cleanup. Removed unsued code,
	renamed variables and types.

	* app/base/gimphistogram.c
	* app/core/gimpchannel-combine.c
	* app/core/gimpchannel.c
	* app/core/gimpdrawable-equalize.c
	* app/core/gimpdrawable-invert.c
	* app/core/gimpdrawable-levels.c
	* app/paint-funcs/paint-funcs.c
	* tools/pdbgen/pdb/color.pdb: changed accordingly.

	* app/pdb/color_cmds.c: regenerated.
2005-02-11 17:03:56 +00:00
Michael Natterer 10583dfe47 app/core/gimpimagefile.c enable explicit (not automatic while browsing the
2005-02-09  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpimagefile.c
	* app/widgets/gimpthumbbox.c: enable explicit (not automatic while
	browsing the list of files) thumbnailing of remote files
2005-02-09 00:47:09 +00:00
Sven Neumann 313f7835cb changed "Remote Image" to "Remote File". The state of the thumbnail
2005-02-07  Sven Neumann  <sven@gimp.org>

	* app/core/gimpimagefile.c (gimp_imagefile_get_desc_string):
	changed "Remote Image" to "Remote File". The state of the
	thumbnail doesn't tell us if this is an image file at all.

	* app/widgets/gimpthumbbox.c: don't auto-thumbnail remote files.

	* libgimpthumb/gimpthumb-utils.[ch]
	* libgimpthumb/gimpthumbnail.c: do the same workaround for UNC
	paths as in file_utils_filename_from_uri().
2005-02-07 17:29:10 +00:00
Sven Neumann 648cccde5e app/base/base.c app/base/temp-buf.c app/base/tile-swap.c
2005-02-07  Sven Neumann  <sven@gimp.org>

	* app/base/base.c
	* app/base/temp-buf.c
	* app/base/tile-swap.c
	* app/config/gimpconfig-file.c
	* app/core/gimpbrush.c
	* app/core/gimpbrushgenerated.c
	* app/core/gimpbrushpipe.c
	* app/core/gimpdata.c
	* app/core/gimpenvirontable.c
	* app/core/gimpgradient-load.c
	* app/core/gimpgradient-save.c
	* app/core/gimppalette-import.c
	* app/core/gimppalette.c
	* app/core/gimppattern.c
	* app/dialogs/user-install-dialog.c
	* app/gui/session.c
	* app/menus/menus.c
	* app/widgets/gimpdevices.c: use gstdio wrappers.
2005-02-07 01:24:22 +00:00
Sven Neumann 692669f4d8 renamed GIMP_PARAM_ #defines to GIMP_CONFIG_PARAM_.
2005-02-05  Sven Neumann  <sven@gimp.org>

	* libgimpconfig/gimpconfig-params.h: renamed GIMP_PARAM_ #defines
	to GIMP_CONFIG_PARAM_.

	* app/config/gimpbaseconfig.c
	* app/config/gimpconfig-dump.c
	* app/config/gimpcoreconfig.c
	* app/config/gimpdisplayconfig.c
	* app/config/gimpguiconfig.c
	* app/config/gimprc-deserialize.c
	* app/config/gimprc-serialize.c
	* app/config/gimprc.c
	* app/core/gimp.c
	* app/core/gimpstrokedesc.c
	* app/dialogs/preferences-dialog.c
	* app/text/gimptext.c
	* app/tools/gimptextoptions.c
	* libgimpconfig/gimpconfig-deserialize.c
	* libgimpconfig/gimpconfig-iface.c
	* libgimpconfig/gimpconfig-serialize.c
	* libgimpconfig/gimpconfig-utils.c: changed accordingly.

	* libgimpmodule/gimpmoduletypes.h: deprecate the
	GIMP_MODULE_PARAM_SERIALIZE #define, GIMP_CONFIG_PARAM_SERIALIZE
	should be used instead.

	* modules/controller_linux_input.c
	* modules/controller_midi.c: changed accordingly.
2005-02-05 14:52:58 +00:00
Sven Neumann 5b75565650 fixed handling of pixel region that broke with my latest change. Fixes bug
2005-02-03  Sven Neumann  <sven@gimp.org>

	* app/core/gimpimagemap.c (gimp_image_map_do): fixed handling of
	pixel region that broke with my latest change. Fixes bug #166126.
2005-02-03 16:09:47 +00:00
Michael Natterer b93dd20b21 removed this function.
2005-02-02  Michael Natterer  <mitch@gimp.org>

	* app/core/gimp-utils.[ch] (gimp_check_glib_version): removed this
	function.

	* app/sanity.c (sanity_check_glib): use glib_check_version()
	instead and set required version to 2.6.0.
2005-02-02 22:35:13 +00:00
Michael Natterer b62b9b42bf relax/rigor the floating selection around the convert operations so color
2005-02-02  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpimage-convert.c (gimp_image_convert): relax/rigor
	the floating selection around the convert operations so color
	analysis for indexed conversion works on the floating selection's
	drawable original pixels, and not on the composited one.
	Fixes bug #165342.
2005-02-02 22:01:21 +00:00
Sven Neumann 1e3db9e0c1 tiny optimization based on a patch by Bill Skaggs. Process up to 16 tiles
2005-02-01  Sven Neumann  <sven@gimp.org>

	* app/core/gimpimagemap.c (gimp_image_map_do): tiny optimization
	based on a patch by Bill Skaggs. Process up to 16 tiles in one go
	before updating the display.
2005-02-01 11:24:28 +00:00
Sven Neumann 843490a152 formatting.
2005-01-30  Sven Neumann  <sven@gimp.org>

	* app/core/gimpimagemap.c: formatting.
2005-01-30 16:50:52 +00:00
Sven Neumann c4a8618db9 changed default grid distance to 32 as suggested in bug #165367.
2005-01-27  Sven Neumann  <sven@gimp.org>

	* app/core/gimpgrid.c: changed default grid distance to 32 as
	suggested in bug #165367.
2005-01-27 17:01:45 +00:00
William Skaggs 1cee9b7298 continuing commit after broken pipe 2005-01-25 19:11:26 +00:00
Sven Neumann 73c055bb52 app/config/Makefile.am app/config/gimpconfig-file.[ch] more new files,
2005-01-24  Sven Neumann  <sven@gimp.org>

	* app/config/Makefile.am
	* app/config/gimpconfig-file.[ch]
	* app/config/gimprc-utils.[ch]: more new files, code factored out
	of gimpconfig-utils.[ch].

	* app/config/gimpconfig-path.[ch]
	* app/config/gimpconfig-utils.[ch]
	* app/config/gimpcoreconfig.c
	* app/config/gimpguiconfig.c
	* app/config/gimppluginconfig.c
	* app/config/gimprc.c
	* app/core/gimp-units.c
	* app/dialogs/user-install-dialog.c
	* app/gui/session.c: changed accordingly.
2005-01-24 22:41:24 +00:00
Sven Neumann 0aa9015522 app/core/core-enums.h moved enums to libgimpbase (from app/core and
2005-01-23  Sven Neumann  <sven@gimp.org>

	* app/core/core-enums.h
	* libgimpbase/gimpbaseenums.h: moved enums to libgimpbase (from
	app/core and libgimp). The remaining enums in app/core/core-enums.h
	need special treatment.

	* app/core/core-enums.c:
	* libgimp/gimpenums.h
	* libgimpbase/gimpbaseenums.c
	* tools/pdbgen/enums.pl: regenerated.

	* libgimpbase/gimpbase.def
	* libgimp/gimp.def: updated.
2005-01-22 23:38:36 +00:00
William Skaggs c9926ee18e Bill Skaggs <weskaggs@primate.ucdavis.edu>
* app/config/gimpconfig-types.c
	* app/config/gimpconfig-types.h: removed...

	* libgimpbase/gimpbasetypes.c
	* libgimpbase/gimpbasetypes.h: and contents merged
	into here.

	* app/config/gimpconfig-params.c: removed...

	* libgimpbase/gimpbaseparams.c
	* libgimpcolor/gimprgb.c
	* libgimpmath/gimpmatrix.c: and contents merged
	into here.

	* app/config/gimpconfig-params.h: part removed...

	* libgimpbase/gimpbaseparams.h
	* libgimpcolor/gimprgb.h
	* libgimpmath/gimpmatrix.h: and merged into here

	* libgimpbase/Makefile.am
	* libgimpbase/gimpbase.h
	* libgimpcolor/gimpbilinear.c
	* libgimpcolor/gimpcmyk.c
	* libgimpmath/gimpvector.c
	* app/config/Makefile.am
	* app/config/gimpconfig-deserialize.c
	* app/config/gimpconfig-dump.c
	* app/config/gimpconfig-serialize.c
	* app/config/gimpcoreconfig.c
	* app/config/gimpguiconfig.c
	* app/config/gimppluginconfig.c
	* app/core/gimp-utils.c
	* app/core/gimpcontext.c
	* app/tools/tools-utils.c
	* app/widgets/gimpaction.c
	* plug-ins/gimpressionist/utils.c: dependencies changed
	accordingly.

	First step in config migration out of core.  Need to fix
	devel-docs to reflect these changes.
2005-01-22 00:42:40 +00:00
Sven Neumann f6801672a8 applied a patch from Geert Jordaens that seems to fix drawable
2005-01-21  Sven Neumann  <sven@gimp.org>

        * app/core/gimpdrawable-transform.c: applied a patch from Geert
        Jordaens that seems to fix drawable transformation using the new
        Lanczos interpolation routine :)
2005-01-21 13:41:07 +00:00
Sven Neumann 2d3db58303 applied a patch from Geert Jordaens that fixes the crash in the drawable
2005-01-19  Sven Neumann  <sven@gimp.org>

	* app/core/gimpdrawable-transform.c: applied a patch from Geert
	Jordaens that fixes the crash in the drawable transformations
	using the Lanczos interpolation type. The result is somewhat wrong
	though :(
2005-01-19 10:22:19 +00:00
Michael Natterer 7e5290a019 use gimp_config_writer_data() to write the parasite data because it's
2005-01-18  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpparasitelist.c (parasite_serialize): use
	gimp_config_writer_data() to write the parasite data because
	it's binary and can contain '\0'.

	(gimp_parasite_list_deserialize): use gimp_scanner_parse_data() to
	read it. Still accepts the old file format for backward
	compatibility. Fixes bug #163131.
2005-01-18 20:47:10 +00:00
Michael Natterer db89496a11 implement GimpItem::convert(). Handles any drawable, including conversion
2005-01-15  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpchannel.c: implement GimpItem::convert(). Handles
	any drawable, including conversion to GRAY, flattening and
	resizing.

	* app/widgets/gimpchanneltreeview.c: implement dropping of all
	kinds of drawables as new channels. Fixes bug #158133.

	Simplified component dropping by removing stuff which is done by
	gimp_item_convert() now.
2005-01-15 21:15:43 +00:00
Sven Neumann f7234cc616 app/core/gimpdrawable-transform.c minor cleanups to the new Lanczos
2005-01-15  Sven Neumann  <sven@gimp.org>

	* app/core/gimpdrawable-transform.c
	* app/paint-funcs/scale-funcs.c: minor cleanups to the new Lanczos
	interpolation routines. Drawable transformations do still crash :(
2005-01-15 20:46:21 +00:00
Michael Natterer e5c0d8eb0e app/core/gimpitem.c app/core/gimpdrawable.c made GimpItem::scale() and
2005-01-15  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpitem.c
	* app/core/gimpdrawable.c
	* app/vectors/gimpvectors.c: made GimpItem::scale() and ::resize()
	work on unattached items.

	* app/widgets/gimplayertreeview.c
	(gimp_layer_tree_view_drop_component): fix drop index.

	* app/widgets/gimpchanneltreeview.c: implement dropping of
	components as new channels. Fixes bug #158483.
2005-01-15 19:17:11 +00:00
Michael Natterer d0a78f3bdb don't require a non-NULL color parameter (just leave the default color
2005-01-15  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpchannel.c (gimp_channel_new*): don't require a
	non-NULL color parameter (just leave the default color untouched
	if NULL is passed).

	* app/actions/channels-commands.c
	* app/core/gimpchannel-select.c: pass NULL as color for temporary
	channels or channels where we used to pass black.
2005-01-15 16:59:34 +00:00
Michael Natterer d4177c88ce added GIMP_UNDO_INK.
2005-01-14  Michael Natterer  <mitch@gimp.org>

	* app/core/core-enums.[ch] (enum GimpUndoType): added GIMP_UNDO_INK.

	* app/paint/gimppaintcore.[ch]: added virtual function
	GimpPaintCore::push_undo() and call it.

	* app/paint/gimppaintcore-undo.[ch]: made it the default
	implementation.

	* app/paint/gimpink-blob.[ch]: added blob_duplicate().

	* app/paint/gimpink.[ch]: added a "start_blob" (just like
	GimpPaintCore::start_coords) which gets set whenever we start a
	new stroke or line. Removed ink->lastx and ink->lasty because
	they are the same as paint_core->last_coords.

	* app/paint/Makefile.am
	* app/paint/gimpink-undo.[ch]: new files implementing an
	undo step for ink which restores the last blob used along
	with the whole ink state. Fixes bug #163670.
2005-01-14 20:13:54 +00:00
Michael Natterer 4e942377e6 Splitting GimpItem::convert() into two virtual functions was apparently
2005-01-13  Michael Natterer  <mitch@gimp.org>

	Splitting GimpItem::convert() into two virtual functions was
	apparently buggy over-engineering. Reverted that stuff and
	implement item conversion much simpler:

	* app/core/gimpitem.[ch]: have a single virtual function,
	GimpItem::convert(), which takes a newly duplicated item and the
	destination image.

	(gimp_item_convert): simply call GimpItem::convert() on the result
	of gimp_item_duplicate().

	(gimp_item_real_convert): set the item's new image.

	* app/core/gimplayer.c (gimp_layer_convert)
	* app/vectors/gimpvectors.c (gimp_vectors_convert): changed
	accordingly and chain up after, not before doing our own stuff
	so the old image is still available as item->image for stuff
	like colormap conversion. Fixes bug #163879.
2005-01-13 18:17:24 +00:00
Sven Neumann 857279479e app/units.c app/core/gimp-units.c app/core/gimp.c added a utility function
2005-01-13  Sven Neumann  <sven@gimp.org>

	* app/units.c
	* app/core/gimp-units.c
	* app/core/gimp.c
	* app/core/gimpunit.[ch]: added a utility function that frees the
	memory allocated for user units. Minor cleanups.
2005-01-13 13:08:00 +00:00
Sven Neumann f3166ba9f9 app/base/base-enums.[ch] app/core/gimpdrawable-transform.c
2005-01-11  Sven Neumann  <neumann@jpk.com>

	* app/base/base-enums.[ch]
	* app/core/gimpdrawable-transform.c
	* app/core/gimpdrawable.c
	* app/paint-funcs/Makefile.am
	* app/paint-funcs/paint-funcs.[ch]
	* app/paint-funcs/scale-funcs.[ch]: applied patch by Geert Jordaens
	(after a good deal of reformatting for coding style compliance).
	This factors the scale routines into their own file and adds a
	sinc-based (Lanczos) interpolation routine (bug #162250).
2005-01-11 18:31:07 +00:00
Michael Natterer 2cd34bf12d moved variables to local scopes, assign the snapped coords unconditionally
2005-01-07  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpimage-snap.c: moved variables to local scopes,
	assign the snapped coords unconditionally (also if we don't snap),
	cleanup.

	(gimp_image_snap_rectangle): entirely rewritten to use local
	mindist_x, mindist_y variables instead of fiddling with lots of
	boolean variables. Implemented vectors snapping as if the required
	GimpStroke functions existed (#defined them). Simon, your turn :)
2005-01-07 19:50:01 +00:00
Michael Natterer 150bea1e80 Implemented "Snap to Canvas Edges" (fixes bug #152971) and "Snap to Active
2005-01-03  Michael Natterer  <mitch@gimp.org>

	Implemented "Snap to Canvas Edges" (fixes bug #152971) and
	"Snap to Active Path" (half way done):

	* app/core/gimpimage-snap.[ch]: added boolean snap_to_canvas and
	snap_to_vectors parameters (snap_to_vectors works fine when
	snapping to a point, but is unimplemented for snapping to a
	rectangle).

	* app/display/gimpdisplayshell.[ch] (struct GimpDisplayShell):
	added snap_to_canvas and snap_to_vectors booleans.

	* app/display/gimpdisplayshell-appearance.[ch]: added API to
	get/set them.

	* app/actions/view-actions.c
	* app/actions/view-commands.[ch]
	* app/widgets/gimphelp-ids.h: added actions, callbacks and help IDs.

	* menus/image-menu.xml.in: added them to Image->View.
2005-01-03 16:19:10 +00:00
Michael Natterer e5feab6519 removed the just added gimp_palette_insert_entry() and added a "gint
2004-12-31  Michael Natterer  <mitch@gimp.org>

	* app/core/gimppalette.[ch]: removed the just added
	gimp_palette_insert_entry() and added a "gint position" parameter
	to gimp_palette_add_entry() instead (no need to have two almost
	identical functions).

	* app/actions/palette-editor-commands.c
	* app/core/gimppalette-import.c
	* app/widgets/gimppaletteeditor.c
	* tools/pdbgen/pdb/palette.pdb: changed accordingly.

	* app/pdb/palette_cmds.c: regenerated.
2004-12-31 17:27:57 +00:00
Michael Natterer e0f25134ca Applied modified patch from Ben Campbell which adds drop coordinates to
2004-12-31  Michael Natterer  <mitch@gimp.org>

	Applied modified patch from Ben Campbell which adds drop
	coordinates to the color drop callback and uses it to insert
	colors in the palette editor. Extended the patch to add drop
	coordinates to all drop callbacks.

	* app/core/gimppalette.[ch]: added gimp_palette_insert_entry().

	* app/display/gimpdisplayshell-dnd.[ch]: added drop coordinates
	to all drop callbacks.

	* app/dialogs/palette-import-dialog.c
	* app/widgets/gimpcolormapeditor.c
	* app/widgets/gimpcontainerview.c
	* app/widgets/gimpdnd.[ch]
	* app/widgets/gimpdrawabletreeview.c
	* app/widgets/gimpfgbgeditor.c
	* app/widgets/gimpgradienteditor.c
	* app/widgets/gimpitemtreeview.c
	* app/widgets/gimppaletteeditor.c
	* app/widgets/gimppropwidgets.c
	* app/widgets/gimpselectioneditor.c
	* app/widgets/gimptoolbox-dnd.c
	* app/widgets/gimptoolbox-image-area.c
	* app/widgets/gimptoolbox-indicator-area.c
	* app/widgets/gimptooloptionseditor.c
	* libgimpwidgets/gimpcolorselect.c: changed accordingly. The passed
	drop coordiantes are so far unused.

	* app/widgets/gimppaletteeditor.c: use the drop coordinates to
	insert the new color into the palette at the right place instead
	of always appending. Fixes bug #150030.
2004-12-31 14:36:30 +00:00
Michael Natterer a46c649956 new utility function instead of code duplication.
2004-12-28  Michael Natterer  <mitch@gimp.org>

	* app/core/gimp-edit.c (gimp_edit_set_buffer): new utility
	function instead of code duplication.
2004-12-28 22:42:04 +00:00
William Skaggs 15fb7b6f18 Bill Skaggs <weskaggs@primate.ucdavis.edu>
* app/core/gimpbrush.c: don't ask for preview with
	zero width or height, fixes bug #162232.

	* app/base/brush-scale.c: remove tabs and trailing
	whitespace.
2004-12-26 18:18:17 +00:00
William Skaggs 59e86d02fb Bill Skaggs <weskaggs@primate.ucdavis.edu>
* app/actions/documents-commands.c
	* app/actions/file-commands.c
	* app/dialogs/file-open-dialog.c
	* app/dialogs/file-open-location-dialog.c
	* app/display/gimpdisplayshell-dnd.c
	* app/widgets/gimplayertreeview.c
	* app/widgets/gimptoolbox-dnd.c: replace % with space
	in file name before showing error message,
	fixes bug #162147.

	* app/core/gimp-gui.c
	* app/widgets/gimpmessagebox.c: be a bit more paranoid
	about validating utf8 for messages.
2004-12-24 19:11:30 +00:00
Michael Natterer 0527989edf Item conversion depends on the old *and* the new item type, so it can't
2004-12-23  Michael Natterer  <mitch@gimp.org>

	Item conversion depends on the old *and* the new item type, so
	it can't live in the old item's vtable only:

	* app/core/gimpitem.[ch]: split GimpItem::convert() into
	GimpItem::convert_from() (which is called on the old item and
	creates the new item) and GimpItem::convert_to() (which is called
	on the new item). This way functions from the old *and* new items'
	vtables are called and it's possible to convert between item types
	which live on different branches of the class hierarchy or to item
	types which live further down the class tree than the old item.

	(gimp_item_convert): call ::convert_to() on the new item created
	by ::convert_from().

	* app/vectors/gimpvectors.c: changed ::convert() implementation
	to ::convert_from().

	* app/core/gimplayer.c: changed ::convert() to ::convert_to().
	Fixes bug #161877.
2004-12-23 11:53:14 +00:00
William Skaggs 372be1f83a Bill Skaggs <weskaggs@primate.ucdavis.edu>
* app/core/gimpgradient-load.c: reject .ggr files whose
	segments don't properly span the range 0-1.
	Fixes bug #161430.
2004-12-16 22:59:27 +00:00
Michael Natterer 37226e50d6 added utility function gimp_drawable_preview_bytes() and use it. Some
2004-12-15  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpdrawable-preview.[ch]: added utility function
	gimp_drawable_preview_bytes() and use it. Some cleanup,
	untabified.

	* app/widgets/gimpviewrendererdrawable.c: use
	gimp_drawable_preview_bytes() instead of duplicating its code.
2004-12-15 14:40:52 +00:00
Michael Natterer 1a752a6d54 Sven Neumann <sven@gimp.org>
2004-12-15  Michael Natterer  <mitch@gimp.org>
	    Sven Neumann  <sven@gimp.org>

	* app/core/gimpdrawable-preview.c (gimp_drawable_preview_scale):
	fixed RGBA resampling by using premultiplied values for the
	intermediate accumulation buffer. Fixes bugs #72880 and #72881.
2004-12-15 01:36:22 +00:00
Sven Neumann 677fc5cc7e applied patch from Adam D. Moss with more fixed dither improvements (bug
2004-12-13  Sven Neumann  <sven@gimp.org>

	* app/core/gimpimage-convert.c: applied patch from Adam D. Moss with
	more fixed dither improvements (bug #161123).
2004-12-13 00:30:15 +00:00
Michael Natterer 2e263a8cc0 added precondition check for the coords of the src area. Some cleanup and
2004-12-12  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpdrawable-preview.c (gimp_drawable_get_sub_preview):
	added precondition check for the coords of the src area. Some
	cleanup and simplification.

	* app/widgets/gimpviewrendererdrawable.c
	(gimp_view_renderer_drawable_render): don't request sub-previews
	of areas outside the drawable and don't reuqest previews of zero
	width or height. Fixes crashes with the new preview code.
2004-12-12 22:52:00 +00:00
Sven Neumann a6e1e72fe4 Applied patch from Adam D. Moss (bug #161113):
2004-12-12  Sven Neumann  <sven@gimp.org>

	Applied patch from Adam D. Moss (bug #161113):

	* app/core/gimpimage-convert.c: Use a slower but much nicer
	technique for finding the two best colours to dither between when
	using fixed/positional dither methods.  Makes positional dither
	much less lame.
2004-12-12 22:09:22 +00:00
Michael Natterer 53c3ff1821 added new function copy_region_nocow() as a workaround for the fact that
2004-12-12  Michael Natterer  <mitch@gimp.org>

	* app/paint-funcs/paint-funcs.[ch]: added new function
	copy_region_nocow() as a workaround for the fact that sharing
	tiles with the projection is heavily broken.

	* app/base/tile-manager.c (tile_invalidate): added a warning when
	entering the code path that breaks badly.

	* app/core/gimp-edit.[ch]: added gimp_edit_copy_visible(), using
	the non-COW copying function above.

	* app/widgets/gimphelp-ids.h: added GIMP_HELP_COPY_VISIBLE.

	* app/actions/edit-actions.c
	* app/actions/edit-commands.[ch]: added action & callback for
	"edit-copy-visible".

	* menus/image-menu.xml.in: added "edit-copy-visible" to the image
	menu.

	* tools/pdbgen/pdb/edit.pdb: added gimp_edit_copy_visible()
	PDB wrapper.

	* app/pdb/edit_cmds.c
	* app/pdb/internal_procs.c
	* libgimp/gimpedit_pdb.[ch]: regenerated.

	* plug-ins/script-fu/scripts/copy-visible.scm: removed all code
	and made it a backward compat wrapper around gimp-edit-copy-visible.
	Fixes bug #138662.
2004-12-12 14:01:08 +00:00
Michael Natterer 4bdedaf105 implement it using gimp_drawable_get_sub_preview(). Removes massive code
2004-12-11  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpdrawable-preview.c (gimp_drawable_preview_private):
	implement it using gimp_drawable_get_sub_preview(). Removes
	massive code duplication introduced by yesterday's fix.
2004-12-11 21:03:52 +00:00
Michael Natterer 4714802aff added new function gimp_drawable_get_sub_preview() which returns a scaled
2004-12-11  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpdrawable-preview.[ch]: added new function
	gimp_drawable_get_sub_preview() which returns a scaled preview of
	a part of a drawable.

	(gimp_drawable_preview_scale): made it work with srcPR.x and
	srcPR.y being != 0.

	* app/core/gimpimage-preview.c (gimp_image_get_new_preview)
	* app/widgets/gimpviewrendererdrawable.c
	(gimp_view_renderer_drawable_render): if the area of the drawable
	preview is more than 4 times larger than the drawable itself (evil
	heuristic, but seems to work fine), use above function to get a
	sub-preview of the drawable instead of getting an insanely large
	preview of the whole drawable just to use a small part of it.
	Fixes bug #142074.

	* app/core/gimpimage-preview.c (gimp_image_get_new_preview):
	optimized by skipping layers which do not intersect with the
	canvas.
2004-12-11 01:22:58 +00:00
William Skaggs 791dc60f8f Bill Skaggs <weskaggs@primate.ucdavis.edu>
* app/widgets/gimphistogrameditor.c: make histogram editor,
	and therefore histogram dialog, use the selection.  Should
	resolve bug #72959.

	* app/core/gimpdrawable-histogram.h: remove trailing
	whitespace.
2004-12-10 23:07:21 +00:00
William Skaggs 60655d8e7a Bill Skaggs <weskaggs@primate.ucdavis.edu>
* app/core/gimpbrushpipe.c (gimp_brush_pipe_select_brush):
	Don't initialize a new random number generator every time a brush
	is selected from a pipe.  Fixes bug #148205).
2004-12-09 21:34:48 +00:00
Sven Neumann 6f73b3e58c applied patch from Joao S. O. Bueno that fixes bug #160339.
2004-12-05  Sven Neumann  <sven@gimp.org>

	* app/core/gimp-transform-utils.c (gimp_transform_matrix_flip_free):
	applied patch from Joao S. O. Bueno that fixes bug #160339.
2004-12-05 19:59:01 +00:00
Michael Natterer a708b85b8b when removing the floating selection, call
2004-12-03  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpimage-undo-push.c (undo_pop_layer): when removing
	the floating selection, call gimp_drawable_invalidate_boundary()
	*before* setting gimage->floating_sel to NULL because otherwise
	gimp_display_shell_selection_invis() won't clear the correct
	selection bounds and leave garbage on screen. Fixes bug #160247.
2004-12-03 13:39:50 +00:00
Sven Neumann 3e56a07190 don't add documents w/o a name to the list. Fixes bug #159510.
2004-11-26  Sven Neumann  <sven@gimp.org>

	* app/core/gimpdocumentlist.c (gimp_document_list_deserialize):
	don't add documents w/o a name to the list. Fixes bug #159510.

	* app/core/gimpdrawable.c (gimp_drawable_resize): extended the
	check to take the offsets into account as well.
2004-11-26 14:45:10 +00:00
Sven Neumann 7eed9323db app/core/gimp-templates.[ch] merge the migrated user templaterc with the
2004-11-23  Sven Neumann  <sven@gimp.org>

	* app/core/gimp-templates.[ch]
	* app/dialogs/user-install-dialog.c: merge the migrated user
	templaterc with the system templaterc so the users who have used
	gimp-2.0 before get our changes to the default templates.
2004-11-23 21:00:15 +00:00
Michael Natterer bd57700685 cosmetics, untabified.
2004-11-23  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpparasitelist.c: cosmetics, untabified.

	* libgimpbase/gimpparasiteio.[ch]: added g_return_if_fail()'s
	to all functions.

	(gimp_pixpipe_params_parse): changed "gchar*" param to "const
	gchar*" (sortof API change, but these files are most probably only
	used by GIMP itself). Still uses strtok() on the internal copy,
	but at least not on the passed string.

	* plug-ins/common/csource.c
	* plug-ins/common/gif.c
	* plug-ins/common/gih.c
	* plug-ins/common/jpeg.c
	* plug-ins/common/png.c
	* plug-ins/common/tiff.c: use parasite getters instead of
	accessing the scruct members directly. Always use g_strndup()
	instead of just g_strdup() to get strings stored in parasites
	because there is no guarantee that they are nul-terminated.
2004-11-23 14:28:43 +00:00
Sven Neumann f653295e5d do nothing if the size doesn't change. This keeps text layers from being
2004-11-23  Sven Neumann  <sven@gimp.org>

	* app/core/gimpdrawable.c (gimp_drawable_resize): do nothing if
	the size doesn't change. This keeps text layers from being
	modified when an image is cropped and the layer is entirely inside
	the cropped area.

	* menus/image-menu.xml.in: put the Quit item back for now. We
	should think about this again in the next development cycle.
2004-11-23 09:32:54 +00:00
Hans Breuer 696663a611 [new file] app/dialogs/Makefile.am : added to EXTRA_DIST
2004-09-21  Hans Breuer  <hans@breuer.org>

	* app/dialogs/makefile.msc : [new file]
	  app/dialogs/Makefile.am : added to EXTRA_DIST

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

	* app/gimp.rc : let wilber be first

	* app/widgets/gimppropwidgets.c : msvc6 can't cast uint64 either

	* libgimpbase/gimpwin32-io.h : make up recent loss of ftruncate in GLib

	* libgimpthumbnail/gimpthumbnail.c : <process.h> for getpid() on win32

	* plug-ins/helpbrowser/dialog.c : include gimpwin32-io.h

	* plug-ins/script-fu/siodwrapper.c plug-ins/script-fu/scrip-fu.c : there
	is no script-fu-server on win32
2004-11-21 14:22:45 +00:00
Michael Natterer ebf18dce39 tools/pdbgen/lib.pl added support for deprecated procedures without any
2004-11-19  Michael Natterer  <mitch@gimp.org>

	* tools/pdbgen/lib.pl
	* tools/pdbgen/stddefs.pdb: added support for deprecated procedures
	without any replacement.

	* app/plug-in/plug-in-message.c (plug_in_handle_proc_run): added
	a special warning for procedures without replacement.

	* tools/pdbgen/pdb/drawable.pdb: deprecated drawable_set_image()
	without any replacement and made it a nop (which fails if the
	passed image is different from the drawable's image). It's not
	needed any longer since 2.0 and moreover dangerous to use.

	* app/pdb/drawable_cmds.c
	* libgimp/gimpdrawable_pdb.[ch]: regenerated.

	* app/core/gimpitem.c (gimp_item_set_image): replaced assertion
	for gimp_item_is_floating() by !gimp_item_is_attached(). The
	former warned when adding a layer with already added mask to the
	image (which is a perfectly valid operation).
2004-11-19 12:38:34 +00:00
Michael Natterer d871be74bf Made plug-in menu registration work the same way for ordinary and
2004-11-17  Michael Natterer  <mitch@gimp.org>

	Made plug-in menu registration work the same way for ordinary and
	temporary procedures. Addresses bug #158117.

	* app/core/gimp-gui.[ch]: added "const gchar *menu_path" to
	gimp_menus_create_entry().

	* app/gui/gui-vtable.c (gui_menus_create_entry): if menu_path is
	NULL, behave as before and create an action and its menu entries
	for all the procedure's menu_paths. If it is non-NULL, skip action
	creation and create a menu entry just for that path.

	* app/plug-in/plug-ins.c (plug_ins_temp_proc_def_add): call
	gimp_menus_create_entry() with a NULL menu path and call it if
	proc_def->menu_paths *or* proc_def->menu_label is non-NULL, so
	it creates at least the procedure's action, even if it has
	no menu_path (yet).

	* tools/pdbgen/pdb/plug_in.pdb (plugin_menu_register): check both
	the list of procs and temp_procs when trying to register the
	entry.  Allow ordinary procedures and extensions to install stuff
	at query() and init() time and allow temp_procs to install stuff
	at any time.

	* app/pdb/plug_in_cmds.c: regenerated.
2004-11-17 14:51:50 +00:00
Michael Natterer c0d9179492 removed redundant "gimage" parameter.
2004-11-16  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpitem-linked.[ch] (gimp_item_linked_get_list):
	removed redundant "gimage" parameter.

	* app/tools/gimpeditselectiontool.c: changed accordingly.
2004-11-16 13:52:04 +00:00
Michael Natterer 0d5df41904 app/core/gimpchannel-select.c app/core/gimpchannel.c
2004-11-16  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpchannel-select.c
	* app/core/gimpchannel.c
	* app/core/gimpdrawable-desaturate.c
	* app/core/gimpdrawable-equalize.c
	* app/core/gimpdrawable-histogram.c
	* app/core/gimpdrawable-invert.c
	* app/core/gimpdrawable-levels.c
	* app/core/gimpdrawable-offset.c
	* app/core/gimpdrawable-stroke.c
	* app/core/gimpdrawable-transform.c
	* app/core/gimpdrawable.c
	* app/core/gimpitem-linked.c
	* app/core/gimpitem.c
	* app/core/gimplayer.c
	* app/core/gimpselection.c
	* app/paint/gimppaintcore-stroke.c
	* app/text/gimptextlayer.c: in all functions which somehow
	(explicitely or implicitely) touch undo, either g_return_if_fail()
	on gimp_item_is_attached() or simply don't push an undo step if
	feasible (e.g. for simple stuff like layer opacity).

	* tools/pdbgen/pdb/color.pdb
	* tools/pdbgen/pdb/drawable.pdb
	* tools/pdbgen/pdb/image.pdb
	* tools/pdbgen/pdb/layer.pdb
	* tools/pdbgen/pdb/paint_tools.pdb: let PDB wrappers fail
	accordingly so they don't run into the assertions added above.

	* app/pdb/color_cmds.c
	* app/pdb/drawable_cmds.c
	* app/pdb/image_cmds.c
	* app/pdb/layer_cmds.c
	* app/pdb/paint_tools_cmds.c: regenerated.
2004-11-16 13:41:55 +00:00
Sven Neumann c10b2c10b1 applied a (slightly modified) patch from Nickolay V. Shmyrev that changes
2004-11-14  Sven Neumann  <sven@gimp.org>

	* app/core/gimppalette-import.c: applied a (slightly modified)
	patch from Nickolay V. Shmyrev that changes the palette import
	function to not only read palettes in the RIFF format but also
	GIMP and Photoshop ACT palette files (bug #158297).
2004-11-14 20:15:05 +00:00
Manish Singh 5d01581069 Fix a bunch of warnings from Sparse:
2004-11-13  Manish Singh  <yosh@gimp.org>

        Fix a bunch of warnings from Sparse:

        * app/actions/dockable-commands.c
        * app/actions/layers-actions.c
        * app/actions/view-commands.c
        * app/base/pixel-surround.c
        * app/config/gimpconfig-utils.c
        * app/config/gimpscanner.c
        * app/core/gimpbrushgenerated.c
        * app/core/gimpcontainer.c
        * app/core/gimpimage.c
        * app/dialogs/palette-import-dialog.c
        * app/file/gimprecentlist.c
        * app/plug-in/plug-in-params.c
        * app/text/gimptext-compat.c
        * app/text/gimptext-parasite.c
        * app/vectors/gimpbezierstroke.c
        * app/vectors/gimpstroke.c
        * app/widgets/gimpcellrendereraccel.c
        * app/widgets/gimpselectiondata.c
        * app/xcf/xcf.c
        * libgimp/gimp.c
        * libgimpthumb/gimpthumb-utils.c
        * libgimpthumb/gimpthumbnail.c
        * modules/cdisplay_proof.c
        * plug-ins/Lighting/lighting_ui.c
        * plug-ins/common/csource.c
        * plug-ins/common/glasstile.c
        * plug-ins/common/nova.c
        * plug-ins/common/pcx.c
        * plug-ins/common/pnm.c
        * plug-ins/common/randomize.c
        * plug-ins/common/screenshot.c
        * plug-ins/common/sel_gauss.c
        * plug-ins/common/spheredesigner.c
        * plug-ins/common/wind.c
        * plug-ins/gfig/gfig-dialog.c
        * plug-ins/gfig/gfig-dobject.c
        * plug-ins/gimpressionist/gimpressionist.c
        * plug-ins/ifscompose/ifscompose.c
        * plug-ins/print/gimp_main_window.c
        * plug-ins/print/print.c: Cleanup integer vs. pointer confusion.

        * app/base/temp-buf.c
        * app/dialogs/about-dialog.c
        * plug-ins/common/bumpmap.c
        * plug-ins/common/jigsaw.c
        * plug-ins/gfig/gfig-dobject.c: Cosmetic cleanups.

        * app/config/gimpconfig-deserialize.c
        * app/config/gimpconfig-path.c
        * app/config/gimpconfigwriter.c
        * app/core/gimpgradient.c
        * app/tools/gimpdrawtool.c
        * plug-ins/common/nlfilt.c
        * plug-ins/common/unsharp.c
        * plug-ins/common/zealouscrop.c: Define inline functions before they
        are used.

        * app/core/gimpdrawable-blend.c: PixelRegion definition was changed
        some time ago, but the initialization here didn't change. Fix it.

        * app/plug-in/plug-in-rc.c (plug_in_extra_deserialize): No need to
        assign token twice in a row.

        * libgimpbase/gimpdatafiles.c (gimp_datafiles_read_directories): No
        need to initialize file_data, since the code fills out all the fields.

        * plug-ins/common/CML_explorer.c
        * plug-ins/common/vpropagate.c: Declare function pointers fully.

        * plug-ins/common/grid.c (pix_composite): G_INLINE_FUNC isn't needed,
        we assume we can use the "inline" keyword always.

        * plug-ins/common/psd_save.c
        * plug-ins/common/vinvert.c
        * plug-ins/gfig/gfig-arc.c
        * plug-ins/gfig/gfig-bezier.c
        * plug-ins/gfig/gfig-circle.c
        * plug-ins/gfig/gfig-dialog.c
        * plug-ins/gfig/gfig-dobject.c
        * plug-ins/gfig/gfig-ellipse.c
        * plug-ins/gfig/gfig-line.c
        * plug-ins/gfig/gfig-poly.c
        * plug-ins/gfig/gfig-spiral.c
        * plug-ins/gfig/gfig-star.c
        * plug-ins/gfig/gfig.c
        * plug-ins/gimpressionist/orientmap.c
        * plug-ins/gimpressionist/placement.c
        * plug-ins/gimpressionist/sizemap.c
        * plug-ins/imagemap/imap_grid.c
        * plug-ins/imagemap/imap_main.c
        * plug-ins/imagemap/imap_preferences.c
        * plug-ins/imagemap/imap_settings.c
        * plug-ins/maze/maze.c
        * plug-ins/sel2path/curve.c
        * plug-ins/sel2path/fit.c
        * plug-ins/sel2path/pxl-outline.c
        * plug-ins/sel2path/spline.c
        * plug-ins/xjt/xjt.c: Functions with no args should be declared
        with (void).

        * plug-ins/common/retinex.c (MSRCR): Initialize max_preview to quiet
        the compiler.
2004-11-14 02:50:33 +00:00
Sven Neumann 5a3b3fff70 app/core/gimpimagefile.[ch] app/file/file-open.c pass the MIME type from
2004-11-13  Sven Neumann  <sven@gimp.org>

	* app/core/gimpimagefile.[ch]
	* app/file/file-open.c
	* app/file/file-save.c: pass the MIME type from the save procedure
	to gimp_imagefile_save_thumbnail() so that it can be stored with
	the thumbnail.

	* tools/pdbgen/pdb/fileops.pdb
	* app/pdb/fileops_cmds.c: changed accordingly.
2004-11-13 17:13:21 +00:00
Sven Neumann b62ca985aa app/plug-in/plug-in-proc-def.[ch] app/plug-in/plug-in-rc.c allow to
2004-11-13  Sven Neumann  <sven@gimp.org>

	* app/plug-in/plug-in-proc-def.[ch]
	* app/plug-in/plug-in-rc.c
	* app/plug-in/plug-ins.[ch]: allow to associate a procedure for
	thumbnail loading with any file load procedure.

	* tools/pdbgen/pdb/fileops.pdb: export this functionality to the
	PDB as gimp_register_thumbnail_loader().

	* app/pdb/fileops_cmds.c
	* app/pdb/internal_procs.c
	* libgimp/gimpfileops_pdb.[ch]: regenerated.

	* app/core/gimpimagefile.c
	* app/file/file-open.[ch]: when creating a thumbnail for an image
	file, use a thumbnail load procedure if available.

	* plug-ins/common/svg.c: added "file_svg_load_thumb", a procedure
	that allows to load a small preview of the SVG image.
2004-11-13 17:06:06 +00:00
Simon Budig 7945dc7a4b Return the active layer instead of the bottom layer when just merging down
2004-11-13  Simon Budig  <simon@gimp.org>

	* app/core/gimpimage-merge.c: Return the active layer instead of
	the bottom layer when just merging down a floating selection.
	Untabbified.

	Fixes bug #158130.
2004-11-13 01:59:16 +00:00
Michael Natterer b7e8659ac3 disallow non-attached items to be pushed to the undo stack.
2004-11-12  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpimage-undo-push.c: disallow non-attached items
	to be pushed to the undo stack.
2004-11-12 10:56:23 +00:00
Michael Natterer f6e5ecb2e0 app/core/gimp-edit.c app/core/gimpdrawable-blend.c
2004-11-11  Michael Natterer  <mitch@gimp.org>

	* app/core/gimp-edit.c
	* app/core/gimpdrawable-blend.c
	* app/core/gimpdrawable-bucket-fill.c
	* app/core/gimpitem.c (gimp_item_stroke): added precondition
	checks for gimp_item_is_attached() and removed checks for
	gimp_item_get_image() to actually return an image (because it
	always returns an image).

	* tools/pdbgen/pdb/edit.pdb: let all wrappers fail if the drawable
	is not attached.

	* app/pdb/edit_cmds.c: regenerated.
2004-11-11 14:05:34 +00:00
jaycox 5b5823ba4b Skip resources with unknown signatures instead of quiting. Fixes bug
* plug-ins/common/psd.c: Skip resources with unknown signatures
	instead of quiting.  Fixes bug #142468, and bug #152728

	* app/core/gimpdrawable.c: in functions gimp_drawable_mask_bounds,
	and gimp_drawable_mask_intersect: reinitialize the return values
	after calling gimp_channel_bounds because gimp_channel_bounds
	overwrites the values even when it returns false.  This fixes the
	bug where the gimp crashes when running color tools on layers
	smaller than the image, and processes only part of the image when
	the layer is larger than the image size.
2004-11-10 08:23:05 +00:00
Sven Neumann 66de1a73dc initialize the return values before checking if the drawable is attached.
2004-11-08  Sven Neumann  <sven@gimp.org>

	* app/core/gimpdrawable.c (gimp_drawable_mask_bounds)
	(gimp_drawable_mask_intersect): initialize the return values before
	checking if the drawable is attached. Keeps GIMP from going mad if
	this assertion is ever triggered.
2004-11-07 23:17:39 +00:00
Sven Neumann 639dc4502f changed minimum brush radius from 1.0 to 0.1.
2004-11-06  Sven Neumann  <sven@gimp.org>

	* app/core/gimpbrushgenerated.c: changed minimum brush radius from
	1.0 to 0.1.
2004-11-06 19:12:52 +00:00
Sven Neumann ab2e936b79 minor cleanup.
2004-11-02  Sven Neumann  <sven@gimp.org>

	* app/core/gimpimagefile.c (gimp_imagefile_save_thumb): minor
	cleanup.

	* libgimpthumb/gimpthumb-utils.c (_gimp_thumbs_delete_others): do
	the right thing. Used to do the wrong thing when called with a
	thumbnail size which is not from the GimpThumbSize enum.
2004-11-02 19:36:23 +00:00
Michael Natterer 41e48fd8b5 renamed "center" to "auto_center".
2004-11-01  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpdrawable-transform.[ch]
	(gimp_drawable_transform_flip): renamed "center" to "auto_center".

	(gimp_drawable_transform_rotate): added missing parameters so it
	can be used for a to-be-added PDB wrapper offering a
	GimpRotationType based rotate API.

	Both functions: always clip when transforming a whole channel,
	since they must keep their size.

	(gimp_drawable_transform_affine): actually forward the passed
	"clip_result" to transform_tiles_affine() instead of always FALSE.
2004-11-01 17:21:55 +00:00
Øyvind Kolås c5c0a219d9 renamed *levels-auto to *levels-stretch 2004-11-01 16:05:19 +00:00
Michael Natterer 2ab62df91a trailing whitespace.
2004-11-01  Michael Natterer  <mitch@gimp.org>

	* app/actions/drawable-actions.c: trailing whitespace.

	* app/actions/drawable-commands.[ch]: partly revert alphabetical
	ordering. Instead, group them as in drawable-actions.c and order
	by alphabet inside the groups (different ordering in *-actions.c
	and *-commands.c is inconvenient for the usual workflow of editing
	both files at the same time).

	* app/core/gimpdrawable-levels.h: indentation.
2004-11-01 14:06:32 +00:00
Øyvind Kolås ae30cacd28 addition of white balance in menus, and related code reorganization 2004-10-29 22:18:49 +00:00
Øyvind Kolås aba2a57c4e improve fixed point coordinate handling 2004-10-27 19:25:50 +00:00
Michael Natterer d0ab9a7470 app/core/gimp-transform-utils.[ch]. switch from x1,y1,x2,y2 bounding boxes
2004-10-27  Michael Natterer  <mitch@gimp.org>

	* app/core/gimp-transform-utils.[ch]. switch from x1,y1,x2,y2
	bounding boxes to x,y,width,height ones. Added
	gimp_transform_matrix_flip_free(). Renamed some parameters to be
	consistent with others. Some internal cleanup.

	* app/tools/gimpperspectivetool.c
	* app/tools/gimpscaletool.c
	* app/tools/gimpsheartool.c
	* tools/pdbgen/pdb/drawable_transform.pdb
	* tools/pdbgen/pdb/transform_tools.pdb: changed accordingly.

	* tools/pdbgen/pdb/drawable_transform.pdb
	* tools/pdbgen/pdb/transform_tools.pdb: guard all transform
	wrappers with if(gimp_drawable_mask_intersect(...)), also the
	ones which don't need the returned bounding box.

	* tools/pdbgen/pdb/drawable_transform.pdb: renamed some parameters
	and added gimp_drawable_transform_matrix() which takes the 9
	coefficients of a 3x3 matrix for ultimate flexibility ;)

	* app/pdb/drawable_transform_cmds.c
	* app/pdb/internal_procs.c
	* app/pdb/transform_tools_cmds.c
	* libgimp/gimpdrawabletransform_pdb.[ch]: regenerated.
2004-10-27 17:56:02 +00:00
Sven Neumann 57eec590ae Added new drawable transform API to the PDB. Largely based on patches from
2004-10-26  Sven Neumann  <sven@gimp.org>

	Added new drawable transform API to the PDB. Largely based on
	patches from Joao S. O. Bueno. Fixes bug #137053.

	* app/core/gimpdrawable-transform.[ch]: added missing parameters
	to gimp_drawable_transform_flip().

	* tools/pdbgen/pdb/transform_tools.pdb: changed accordinly.

	* app/base/base-enums.h
	* app/core/core-enums.h: removed pdp-skip for GimpInterpolationType
	and GimpTransformDirection enums.

	* libgimp/gimpenums.h
	* plug-ins/pygimp/gimpenums.py
	* tools/pdbgen/enums.pl
	* tools/pdbgen/groups.pl: regenerated.

	* tools/pdbgen/Makefile.am
	* tools/pdbgen/pdb/drawable_transform.pdb: added new file defining
	the new PDB calls.

	* app/pdb/Makefile.am
	* app/pdb/drawable_transform_cmds.c
	* app/pdb/internal_procs.c
	* app/pdb/transform_tools_cmds.c
	* libgimp/gimp_pdb.h
	* libgimp/gimpdrawabletransform_pdb.[ch]: regenerated.
2004-10-26 17:50:52 +00:00
Sven Neumann cdea36c6ce removed unused variable 2004-10-26 15:07:10 +00:00
Sven Neumann 1ee62f771e app/actions/channels-commands.c app/core/gimpchannel-select.c
2004-10-26  Sven Neumann  <sven@gimp.org>

	* app/actions/channels-commands.c
	* app/core/gimpchannel-select.c
	* app/core/gimpimagefile.c
	* app/core/gimpundo.c
	* app/widgets/gimpcomponenteditor.c: use the new enum utility
	functions from libgimpbase instead of accessing enum_value->value_name.
2004-10-26 14:45:25 +00:00
Michael Natterer 6711646648 Don't store human readable and translatable enum/flag strings in
2004-10-25  Michael Natterer  <mitch@gimp.org>

	Don't store human readable and translatable enum/flag strings in
	GEnumValue's and GTypeValue's fields but attach them to their
	GType using separate structs and utility functions:

	* tools/gimp-mkenums: added params and perl voodoo to support
	generating a second array of values, which is used by the
	Makefiles below to create and register arrays of value
	descriptions.

	* libgimpbase/gimpbasetypes.[ch]: added API to attach/retreive
	arrays of translatable strings to/from enum and flags types. Added
	structs GimpEnumDesc and GimpFlagsDesc for that purpose.

	* libgimpbase/gimputils.[ch]: changed existing enum utility
	functions, added new ones and added a symmetric API for flags.

	* app/base/Makefile.am
	* app/core/Makefile.am
	* app/display/Makefile.am
	* app/paint/Makefile.am
	* app/text/Makefile.am
	* app/tools/Makefile.am
	* app/widgets/Makefile.am
	* libgimp/Makefile.am
	* libgimpbase/Makefile.am: changed *-enums.c generation rules
	accordingly.

	* app/base/base-enums.c
	* app/core/core-enums.c
	* app/display/display-enums.c
	* app/paint/paint-enums.c
	* app/text/text-enums.c
	* app/tools/tools-enums.c
	* app/widgets/widgets-enums.c
	* libgimpbase/gimpbaseenums.c: regenerated.

	* app/widgets/gimpenumstore.c
	* app/widgets/gimpenumwidgets.c
	* app/widgets/gimptemplateeditor.c
	* libgimpwidgets/gimppreviewarea.c: follow the enum utility
	function API changes.
2004-10-25 17:55:25 +00:00
Michael Natterer a61ed834be #include "libgimpbase/gimpbase.h", not just gimputils.h
2004-10-25  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpobject.c: #include "libgimpbase/gimpbase.h", not
	just gimputils.h
2004-10-25 15:36:55 +00:00
Sven Neumann 726821fef7 say "Click to create preview" if no preview is available.
2004-10-25  Sven Neumann  <sven@gimp.org>

	* app/core/gimpimagefile.c (gimp_imagefile_get_desc_string): say
	"Click to create preview" if no preview is available.
2004-10-24 22:30:52 +00:00
David Odin bcfbc61e15 only return early if there's nothing to desaturate.
* app/core/gimpdrawable-desaturate.c: only return early if there's nothing
  to desaturate.
2004-10-24 16:25:26 +00:00
Sven Neumann ea273aadb9 libgimpthumb/gimpthumb-utils.[ch] libgimpthumb/gimpthumbnail.[ch] added
2004-10-23  Sven Neumann  <sven@gimp.org>

	* libgimpthumb/gimpthumb-utils.[ch]
	* libgimpthumb/gimpthumbnail.[ch]
	* libgimpthumb/gimpthumb.def: added missing API, mainly for deleting
	thumbnails.

	* app/core/gimpimagefile.[ch]: when saving a thumbnail, delete a
	failure thumbnail if one exists. Unless the thumbnail was created
	explicitely, remove all other thumbnails for this image.

	* app/actions/documents-commands.c: changed accordingly.

	* app/file/file-open.c: only save a thumbnail if there isn't a
	valid thumbnail already.

	* app/widgets/gimpthumbbox.c: before attempting to create a new
	thumbnail, check if there's an uptodate failure thumbnail.
2004-10-23 15:30:39 +00:00
Sven Neumann 341b6da981 app/actions/colormap-editor-actions.c app/actions/dialogs-actions.c
2004-10-22  Sven Neumann  <sven@gimp.org>

	* app/actions/colormap-editor-actions.c
	* app/actions/dialogs-actions.c
	* app/core/gimpimage-colormap.c
	* app/dialogs/convert-dialog.c
	* app/dialogs/dialogs.c
	* app/widgets/gimpcolormapeditor.c: use the term "Colormap"
	instead of "Indexed Palette". Fixes bug #155829.
2004-10-22 14:43:43 +00:00
Michael Natterer 06447c00c2 added new enum GimpStrokeMethod which can be one of { LIBART, PAINT_CORE
2004-10-22  Michael Natterer  <mitch@gimp.org>

	* app/core/core-enums.[ch]: added new enum GimpStrokeMethod which
	can be one of { LIBART, PAINT_CORE }.

	* app/core/Makefile.am
	* app/core/core-types.h
	* app/core/gimpstrokedesc.[ch]: new object which encapsulates
	the params and setup logic for the different stroke methods.

	* app/core/gimpitem.[ch]: use it in GimpItem::stroke() and
	in the gimp_item_stroke() wrapper.

	* app/core/gimpchannel.c (gimp_channel_stroke)
	* app/core/gimpselection.c (gimp_selection_stroke)
	* app/vectors/gimpvectors.c (gimp_vectors_stroke): changed accprdingly.

	* app/actions/select-commands.c
	* app/actions/vectors-commands.c
	* app/dialogs/stroke-dialog.c
	* tools/pdbgen/pdb/edit.pdb
	* tools/pdbgen/pdb/paths.pdb: use GimpStrokeDesc. Simplifies the
	code quite a bit.

	* app/pdb/edit_cmds.c
	* app/pdb/paths_cmds.c: regenerated.
2004-10-22 12:32:31 +00:00
Michael Natterer 7ab5fe2903 Replacing the call to gimp_channel_is_empty() by a simple
2004-10-20  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpdrawable-stroke.c
	(gimp_drawable_stroke_scan_convert): Replacing the call to
	gimp_channel_is_empty() by a simple gimp_drawable_mask_intersect()
	was wrong because gimp_channel_is_empty() makes sure that the
	selection doesn't mask itself while being stroked.
2004-10-20 22:06:00 +00:00
Michael Natterer cb48cef8be added gimp_drawable_mask_intersect() which returns the same bounding box
2004-10-20  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpdrawable.[ch]: added gimp_drawable_mask_intersect()
	which returns the same bounding box as gimp_drawable_mask_bounds(),
	but returns TRUE only if there is a non-empty intersection between
	the drawable and the selection, or no selection at all. It also
	returns the intersection as x,y,width,height instead of the
	eeky x1,y1,x2,y2.

	* app/core/gimp-edit.c
	* app/core/gimpdrawable-blend.c
	* app/core/gimpdrawable-bucket-fill.c
	* app/core/gimpdrawable-desaturate.c
	* app/core/gimpdrawable-equalize.c
	* app/core/gimpdrawable-histogram.c
	* app/core/gimpdrawable-invert.c
	* app/core/gimpdrawable-stroke.c
	* app/core/gimpimagemap.c
	* app/core/gimpselection.c
	* tools/pdbgen/pdb/color.pdb
	* tools/pdbgen/pdb/transform_tools.pdb: either switch from
	gimp_drawable_mask_bounds() to _intersect() or check the return
	values of _mask_bounds() manually to avoid operations on empty
	areas. Return successfully because it's a nop, not a failure.
	Fixes bug #155733 for the core.

	* app/pdb/color_cmds.c
	* app/pdb/transform_tools_cmds.c: regenerated.
2004-10-19 22:52:04 +00:00
Sven Neumann 0b6f4114d8 added "message" function to the GimpProgress interface. Call
2004-10-14  Sven Neumann  <sven@gimp.org>

	* app/core/gimpprogress.[ch]: added "message" function to the
	GimpProgress interface. Call gimp_message() if it is unimplemented.

	* app/plug-in/plug-in-progress.[ch]: added new function
	plug_in_progress_message() that passes the message to the current
	proc_frame's progress.

	* app/widgets/gimpthumbbox.c: implement GimpProgress::message.
	Just do nothing in the implementation. We don't want to see
	messages from file plug-ins that we use to create the thumbnails.

	* tools/pdbgen/pdb/message.pdb
	* app/pdb/message_cmds.c: if there's a current plug-in, dispatch
	the message by calling plug_in_progress_message().

	* app/display/gimpdisplayshell-close.c: fixed wrong types in
	function calls.
2004-10-14 15:15:03 +00:00
Michael Natterer 1e4203e665 register GimpConvertPaletteType with the type system.
2004-10-14  Michael Natterer  <mitch@gimp.org>

	* app/core/core-enums.[ch]: register GimpConvertPaletteType with
	the type system.

	* app/widgets/gimpwidgets-utils.c (gimp_enum_radio_frame_add):
	fixed to insert the widget at the right place in the radio box.

	* app/dialogs/convert-dialog.c: use enum widgets and
	gimp_enum_radio_frame_add(), resulting in a much better looking
	dialog with much less lines of code.
2004-10-14 13:44:06 +00:00
Sven Neumann 280a497f48 ref the imagefile while creating the thumbnail.
2004-10-13  Sven Neumann  <sven@gimp.org>

	* app/core/gimpimagefile.c (gimp_imagefile_create_thumbnail): ref
	the imagefile while creating the thumbnail.

	* app/core/gimpimagefile.[ch]
	* app/widgets/gimpthumbbox.c (gimp_thumb_box_auto_thumbnail): moved
	the tricky part about thumbnail creation into the new function
	gimp_imagefile_create_thumbnail_weak().
2004-10-12 23:25:19 +00:00
Sven Neumann ab6c609ce1 renamed struct member "unit" to "resolution_unit".
2004-10-12  Sven Neumann  <sven@gimp.org>

	* app/core/gimpimage.[ch]: renamed struct member "unit" to
	"resolution_unit".

	* app/actions/image-commands.c
	* app/core/gimp-edit.c
	* app/core/gimpimage-duplicate.c
	* app/core/gimpimage-undo-push.c
	* app/dialogs/info-window.c
	* app/vectors/gimpvectors-export.c
	* app/widgets/gimptoolbox-dnd.c:
	* app/xcf/xcf-load.c
	* app/xcf/xcf-save.c: changed accordingly. Use gimp_image_get_unit()
	where appropriate.

	* app/core/gimptemplate.c (gimp_template_set_from_image): fixed
	unit handling. Don't touch the template unit, it is used as the
	initial display unit. This will need further changes...
2004-10-12 21:28:53 +00:00
Sven Neumann ec693d7b09 app/config/gimpcoreconfig.[ch] added new gimprc option
2004-10-08  Sven Neumann  <sven@gimp.org>

	* app/config/gimpcoreconfig.[ch]
	* app/config/gimprc-blurbs.h: added new gimprc option
	"thumbnail-filesize-limit" that allows to control the maximum
	filesize for automatic thumbnail creation.

	* app/dialogs/preferences-dialog.c: added a GUI for it, needs
	review.

	* app/core/gimpimagefile.[ch]: minor cleanups. Moved call to
	gimp_thumbnail_peek_image() from gimp_imagefile_save_thumb() to
	 gimp_imagefile_save_thumbnail() to avoid it being called twice.

	* app/file/file-utils.[ch]: export utility function
	file_utils_find_proc_by_extension() that allows to check for a
	file plug-in by looking at the filename extension only.

	* app/widgets/gimpthumbbox.[ch]: automatically create or update
	thumbnails for image files with a known extension that are smaller
	than "thumbnail-filesize-limit".  Fixes bug #137176.
2004-10-08 19:29:33 +00:00
Sven Neumann e9e2e3f65a store the time when the image is first dirtied.
2004-10-06  Sven Neumann  <sven@gimp.org>

	* app/core/gimpimage.[ch]: store the time when the image is first
	dirtied.

	* app/display/gimpdisplayshell-close.c: tell the user what time
	period of changes will be lost when the image is not saved.
2004-10-05 23:42:35 +00:00
Michael Natterer 3eb69a85f0 tools/pdbgen/pdb/brush.pdb tools/pdbgen/pdb/gradient.pdb disallow the
2004-10-04  Michael Natterer  <mitch@gimp.org>

	* tools/pdbgen/pdb/brush.pdb
	* tools/pdbgen/pdb/gradient.pdb
	* tools/pdbgen/pdb/palette.pdb: disallow the empty string for
	new brushes, gradients and palettes and check the return value
	of gimp_data_factory_data_new(). Cleanup.

	* app/core/gimpbrushgenerated.c (gimp_brush_generated_new)
	* app/core/gimpgradient.c (gimp_gradient_new)
	* app/core/gimpdatafactory.c (gimp_data_factory_data_new): same
	here. Fixes bug #154264.

	* app/core/gimpdata.[ch] (gimp_data_set_filename): added boolean
	"deletable" parameter because it's not derivable from "writable".

	* app/core/gimpdatafactory.c (gimp_data_factory_load_data): need
	to figure "deletable" separately from "writable" to be able to
	delete unsavable stuff in the user-writable data directories.
	Fixes bug #154410.

	(gimp_data_factory_data_save_single): cleaned up.

	* app/pdb/brush_cmds.c
	* app/pdb/gradient_cmds.c
	* app/pdb/palette_cmds.c
	* libgimp/gimpbrush_pdb.c
	* libgimp/gimpgradient_pdb.c
	* libgimp/gimppalette_pdb.c: regenerated.
2004-10-04 09:39:27 +00:00
Michael Natterer 2c74680ef6 code review / cleanup.
2004-09-28  Michael Natterer  <mitch@gimp.org>

	* app/core/gimppalette.c: code review / cleanup.

	(gimp_palette_delete_entry): don't add "Black" when the last color
	gets removed, a palette can easily live with zero colors.

	* app/widgets/gimppaletteeditor.c
	(palette_editor_invalidate_preview): also update the entry which
	shows the palette_entry's name.
2004-09-28 14:59:55 +00:00
Sven Neumann ab269fc645 removed conversion to TempBuf. Instead implement
2004-09-27  Sven Neumann  <sven@gimp.org>

	* app/core/gimpimagefile.c: removed conversion to TempBuf.
	Instead implement GimpViewable::get_new_pixbuf by compositing the
	thumbnail on a checkerboard.

	* app/widgets/gimpviewrenderer.[ch]: renamed the no_view_pixbuf
	struct member to pixbuf.
	(gimp_view_renderer_real_render): try gimp_viewable_get_pixbuf()
	and render the pixbuf before falling back to the TempBuf preview.
	(gimp_view_renderer_render_pixbuf): new function that sets a
	pixbuf for the renderer and flushes the render_buffer.

	* app/widgets/gimpviewrendererimagefile.c
	(gimp_view_renderer_imagefile_render): render the pixbuf.

	* app/dialogs/dialogs-constructors.c: create the document history
	dockable with a zero borderwidth.
2004-09-26 23:44:24 +00:00
Michael Natterer 5aeac72ef1 added comment about not changing the silly "Qmask" string because it is
2004-09-25  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpimage-qmask.h: added comment about not changing the
	silly "Qmask" string because it is used to identify the Quick Mask
	in the XCF.

	* app/core/gimpchannel.c: implement GimpViewable::get_description()
	and return "Quick Mask" if it's the Quick Mask.

	* app/actions/qmask-actions.c
	* app/actions/qmask-commands.c
	* app/core/core-enums.[ch]
	* app/core/gimpimage-qmask.c
	* app/display/gimpdisplayshell.c: s/QuickMask/Quick Mask/.
2004-09-25 16:52:49 +00:00
Michael Natterer ad1c2ca0fc added new vitrual function GimpPickableInterface::get_image()
2004-09-25  Michael Natterer  <mitch@gimp.org>

	* app/core/gimppickable.[ch]: added new vitrual function
	GimpPickableInterface::get_image()

	* app/core/gimpdrawable.c
	* app/core/gimpimagemap.c
	* app/core/gimpprojection.[ch]: implement it.
2004-09-25 13:16:13 +00:00
Michael Natterer 877b19c372 factored common code out of the UNDO amd REDO cases. Use
2004-09-24  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpimage-undo-push.c (undo_pop_fs_to_layer): factored
	common code out of the UNDO amd REDO cases. Use gimp_drawable_update()
	instead of gimp_viewable_invalidate_preview() so the projection
	gets updated correctly. Fixes bug #149558.

	* app/core/gimplayer-floating-sel.c (floating_sel_to_layer):
	removed unused variables and their assignments.
2004-09-24 18:06:49 +00:00
Michael Natterer ee5354e4b7 app/dialogs/Makefile.am removed...
2004-09-23  Michael Natterer  <mitch@gimp.org>

	* app/dialogs/Makefile.am
	* app/dialogs/color-dialog.[ch]: removed...

	* app/widgets/Makefile.am
	* app/widgets/widgets-types.h
	* app/widgets/gimpcolordialog.[ch]: ...and added as widget.

	* app/core/gimpmarshal.list: new marshaller VOID__BOXED_ENUM.

	* app/widgets/widgets-enums.[ch]: new enum GimpColorDialogState.

	* app/widgets/gimpcolormapeditor.[ch]
	* app/widgets/gimpcolorpanel.[ch]
	* app/widgets/gimpgradienteditor.[ch]
	* app/widgets/gimppaletteeditor.[ch]
	* app/widgets/gimptoolbox-color-area.c
	* app/actions/gradient-editor-commands.c
	* app/actions/view-commands.c: ported to GimpColorDialog. Removes
	a whole bunch of ugly widgets/ -> dialogs/ dependencies.
2004-09-23 20:41:40 +00:00
Michael Natterer 10d80dac75 removed the hack that was displaying "Floating Selection" instead of the
2004-09-22  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimplayertreeview.c
	(gimp_layer_tree_view_floating_selection_changed): removed the
	hack that was displaying "Floating Selection" instead of the
	floating layer's real name.

	* app/core/gimplayer.c: implement GimpViewable::get_description()
	instead and special case floating selections with a two-line
	text that contains "Floating Selection".

	* app/core/gimplayer-floating-sel.c
	* app/core/gimpimage-undo-push.c: emit "name_changed" on the layer
	when it changes its state from floating to normal or vice versa
	so the views can update accordingly.

	* app/core/gimpselection.c: s/"Selection"/"Floated Layer"/.

	* app/tools/gimpeditselectiontool.c:
	s/"Floating Layer"/"Floating Selection"/.
2004-09-22 12:46:35 +00:00
Sven Neumann 23690346af Improved undo memory calculation for paint operations (bug #153035):
2004-09-19  Sven Neumann  <sven@gimp.org>

	Improved undo memory calculation for paint operations (bug #153035):

	* app/base/tile-manager.[ch] (tile_manager_get_memsize): added a
	"gboolean sparse" parameter to get more accurate results for
	sparse tile-managers.

	* app/core/gimpbuffer.c
	* app/core/gimpdrawable.c
	* app/core/gimpimage-undo-push.c
	* app/core/gimpimage.c
	* app/core/gimplayer.c
	* app/core/gimpprojection.c: changed accordingly.
2004-09-19 19:47:26 +00:00
Sven Neumann c3ef897b10 Try to make floating selections more obvious:
2004-09-19  Sven Neumann  <sven@gimp.org>

	Try to make floating selections more obvious:

	* app/widgets/gimplayertreeview.c
	(gimp_layer_tree_view_floating_selection_changed): always display
	"Floating Selection" as the name for a floating selection.

	* app/core/gimpselection.c (gimp_selection_float): call the new
	layer "Selection" instead of "Floating Selection". This is what
	will be displayed if the FS is turned into a layer.

	* app/actions/layers-commands.c (layers_edit_layer_query): don't
	special case floating selections here.

	* app/core/gimplayer-floating-sel.c: cosmetics.
2004-09-19 16:56:03 +00:00
Sven Neumann cace0a19a0 app/actions/qmask-commands.c just some cleanup.
2004-09-18  Sven Neumann  <sven@gimp.org>

	* app/actions/qmask-commands.c
	* libgimpcolor/gimprgb.c (gimp_rgba_distance): just some cleanup.

	* app/core/gimpimage-qmask.c (gimp_image_set_qmask_color): always
	set gimage->qmask_color regardless of the qmask state.

	* libgimpwidgets/gimpcolorbutton.c (gimp_color_button_new): set
	the type before setting the color.
2004-09-17 22:16:21 +00:00
Sven Neumann 477b44360f based on a patch from Joao S. O. Bueno: Ensure that the pasted layer is
2004-09-17  Sven Neumann  <sven@gimp.org>

	* app/core/gimp-edit.c (gimp_edit_paste): based on a patch from
	Joao S. O. Bueno: Ensure that the pasted layer is always within
	the image, if it fits and aligned at top left if it doesn't.
	Fixes bug #142944.
2004-09-17 09:14:02 +00:00
Sven Neumann 29b455c901 replaced a bitshift with a binary and. Should be unnoticeably faster ;)
2004-09-16  Sven Neumann  <sven@gimp.org>

	* app/core/gimpscanconvert.c (VALUE_TO_PIXEL): replaced a bitshift
	with a binary and. Should be unnoticeably faster ;)
2004-09-16 11:31:30 +00:00
Simon Budig 34d51a6382 Implemented an own rendering callback for libart and use it instead of
2004-09-16  Simon Budig  <simon@gimp.org>

	* app/core/gimpscanconvert.c: Implemented an own rendering
	callback for libart and use it instead of art_gray_svp_aa().
	This now handles non-antialiased scan conversions itself. It
	also basically shows the way to implement a LUT for the
	scan conversion.
2004-09-16 00:46:02 +00:00
Simon Budig fe7eb34e6e Implement function to resize the image to contain all layers completely.
2004-09-05  Simon Budig  <simon@gimp.org>

	* app/core/gimpimage-resize.[ch]: Implement function to resize
	the image to contain all layers completely. Untabified.

	* app/actions/image-actions.c
	* app/actions/image-commands.[ch]
	* app/widgets/gimphelp-ids.h
	* menus/image-menu.xml.in: Make it available in the GUI.

	* tools/pdbgen/pdb/image.pdb: Make it available in the PDB.

	* app/pdb/image_cmds.c
	* app/pdb/internal_procs.c
	* libgimp/gimpimage_pdb.[ch]: regenerated.
2004-09-04 22:08:43 +00:00
Michael Natterer 6b43c205d1 added GimpProgress parameter to gimp_drawable_transform_affine().
2004-08-31  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpdrawable-transform.[ch]: added GimpProgress
	parameter to gimp_drawable_transform_affine().

	* tools/pdbgen/pdb/edit.pdb
	* tools/pdbgen/pdb/transform_tools.pdb: show progress for "blend"
	and all transform functions.

	* app/pdb/edit_cmds.c
	* app/pdb/transform_tools_cmds.c: regenerated.
2004-08-31 14:17:33 +00:00
Michael Natterer 9e76c5a4bc added "GimpPaintInfo *paint_info" member and construct property. Changed
2004-08-31  Michael Natterer  <mitch@gimp.org>

	* app/paint/gimppaintoptions.[ch]: added "GimpPaintInfo *paint_info"
	member and construct property. Changed gimp_paint_options_new()
	to take only a GimpPaintInfo parameter.

	* app/core/gimpitem.c (gimp_item_stroke)
	* app/core/gimppaintinfo.c (gimp_paint_info_new): changed accordingly.

	* app/core/gimpchannel.c (gimp_channel_stroke)
	* app/vectors/gimpvectors.c (gimp_vectors_stroke): use
	paint_options->paint_info->paint_type directly instead of casting
	to GimpToolOptions and using
	tool_options->tool_info->paint_info->paint_type (eek). Fixes crash
	when stroking via the PDB because newly created GimpToolOptions
	instances have no "tool_info" pointer yet.

	* tools/pdbgen/pdb/paint_tools.pdb: changed all paint PDB wrappers
	accordingly.

	* app/pdb/paint_tools_cmds.c: regenerated.
2004-08-31 13:20:57 +00:00
Michael Natterer 509b88e815 Brought the PDB progress into a working state. Fixes bug #6010, addressed
2004-08-30  Michael Natterer  <mitch@gimp.org>

	Brought the PDB progress into a working state. Fixes bug #6010,
	addressed bugs #97266 and #135185 and unfortunately reopens bug
	#150194 (will fix that later).

	* libgimpbase/gimpbaseenums.h: added enum GimpProgressCommand.

	* app/core/gimppdbprogress.c
	* libgimp/gimpprogress.c: use the enum instead of integer
	constants for the different progress commands. Cleanup.

	* app/plug-in/plug-in-progress.c
	* app/plug-in/plug-in-run.c
	* app/plug-in/plug-in.c: switch bach to real refcouting for
	plug_in->progress (reopens bug #150194) and enabled the PDB
	progress code.

	* plug-ins/script-fu/script-fu-scripts.c: cleaned up the
	progress stuff and the script-fu interface a bit.

	* plug-ins/pygimp/gimpenums.py
	* plug-ins/script-fu/script-fu-constants.c
	* tools/pdbgen/enums.pl: regenerated.
2004-08-30 14:57:24 +00:00
Michael Natterer 065db21d0a Added an API to allow plug-ins to embed the progress for the actions they
2004-08-29  Michael Natterer  <mitch@gimp.org>

	Added an API to allow plug-ins to embed the progress for the
	actions they trigger into their own GUI (attention: half-done and
	broken code ahead...)

	* app/core/Makefile.am
	* app/core/core-types.h
	* app/core/gimppdbprogress.[ch]: new object implementing dispatching
	progress calls to a temporary PDB procedure in a plug-in.

	* app/Makefile.am: force to link gimppdbprogress.o, bah!

	* app/plug-in/plug-in-progress.[ch]: added API to install,
	uninstall and cancel a PDB progress for this plug-in, but disabled
	the implementation because it doesn't work yet.

	* tools/pdbgen/pdb/progress.pdb: added pdb wrappers for the new
	install, uninstall and cancel functions.

	* libgimp/Makefile.am
	* libgimp/gimp.h
	* libgimp/gimpprogress.[ch]: added an API around the PDB progress
	stuff.

	* app/pdb/internal_procs.c
	* app/pdb/progress_cmds.c
	* libgimp/gimpprogress_pdb.[ch]: regenerated.

	* plug-ins/script-fu/script-fu-scripts.c: use the new API to show
	the progress in the script-fu dialog.
2004-08-29 18:36:30 +00:00
David Odin b7f58e163e Renamed GimpPreviewSize to GimpViewSize.
* app/core/core-enums.h: Renamed GimpPreviewSize to GimpViewSize.

* app/core/core-enums.c: Regenerated.

* app/actions/dockable-actions.c

* app/config/gimpcoreconfig.c
* app/config/gimpcoreconfig.h
* app/config/gimpdisplayconfig.c
* app/config/gimpdisplayconfig.h

* app/core/gimpundo.c

* app/display/gimpnavigationeditor.c

* app/gui/dialogs.c
* app/gui/file-open-location-dialog.c

* app/tools/gimppaintoptions-gui.c
* app/tools/gimptextoptions.c

* app/widgets/gimpbrushselect.c
* app/widgets/gimpcontainerpopup.c
* app/widgets/gimpcontainerview.c
* app/widgets/gimpdialogfactory.c
* app/widgets/gimpfontselect.c
* app/widgets/gimpgradientselect.c
* app/widgets/gimppaletteselect.c
* app/widgets/gimppatternselect.c
* app/widgets/gimpselectioneditor.c
* app/widgets/gimpsessioninfo.c
* app/widgets/gimptemplateeditor.c
* app/widgets/gimpundoeditor.c
* app/widgets/gimpundoeditor.h
* app/widgets/gimpviewablebutton.c: Changed accordingly.
2004-08-29 11:58:05 +00:00
Sven Neumann 804788c120 applied a patch from Eric Cheung that changes the function to use a GQueue
2004-08-28  Sven Neumann  <sven@gimp.org>

	* app/core/gimpimage-contiguous-region.c
	(find_contiguous_region_helper): applied a patch from Eric Cheung
	that changes the function to use a GQueue to implement recursion
	instead of recursive function calls. Fixes bug #151124.

	* plug-ins/common/noisify.c (noisify_dialog): left-align the
	preview.
2004-08-28 11:48:00 +00:00
Michael Natterer f1d0db6d99 removed "gboolean use_default_values" from GimpItem::stroke().
2004-08-26  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpitem.[ch]: removed "gboolean use_default_values"
	from GimpItem::stroke().

	* app/core/gimpchannel.c
	* app/core/gimpselection.c
	* app/vectors/gimpvectors.c: changed accordingly.
2004-08-26 16:33:42 +00:00
Michael Natterer 23bd12162d implement the whole paint_options fiddling here instead of in each
2004-08-26  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpitem.c (gimp_item_stroke): implement the whole
	paint_options fiddling here instead of in each subclass and pass
	either GimpStrokeOptions or GimpPaintOptions (instead of
	GimpStrokeOptions or GimpPaintInfo) to GimpItem::stroke().

	Also copied code (that needs to be abstracted to a utility
	function) from the tool_manager which makes sure we really use the
	global brush, pattern etc. if these options are checked in prefs.
	Fixes bug #150716.

	* app/core/gimpchannel.c (gimp_channel_stroke)
	* app/vectors/gimpvectors.c (gimp_vectors_stroke): removed the
	duplicated code mentioned above and simply use the paint_options
	passed.
2004-08-26 16:06:13 +00:00
Sven Neumann 80531ec936 added gimp_message_box_repeat().
2004-08-25  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimpmessagebox.[ch]: added gimp_message_box_repeat().

	* app/widgets/Makefile.am
	* app/widgets/widgets-types.h
	* app/widgets/gimperrordialog.[ch]: added new dialog that adds a new
	GimpMessageBox for each message added. Fixes bug #92604.

	* app/widgets/gimpwidgets-utils.[ch]: removed old gimp_message_box()
	functionality.

	* app/gui/gui.c (gui_abort): use a GimpMessageBox in a GimpDialog.

	* app/gui/dialogs-constructors.[ch]
	* app/gui/dialogs.c: manage GimpErrorDialog as singleton.

	* app/gui/gui-vtable.c (gui_message): use the new error dialog.

	* app/core/gimp-gui.c (gimp_message): substitue "GIMP" for a NULL
	domain.

	* app/widgets/gimperrorconsole.c (gimp_error_console_add): fail
	when being called with a NULL domain.
2004-08-25 17:58:52 +00:00
Michael Natterer db1d6b0d6e app/core/gimp.c converted tabs to spaces, cosmetic changes.
2004-08-11  Michael Natterer  <mitch@gimp.org>

	* app/core/gimp.c
	* app/core/gimpimagefile.c: converted tabs to spaces, cosmetic
	changes.
2004-08-11 14:00:08 +00:00
Michael Natterer 57a3396d40 added virtual function gboolean GimpProgressInterface::is_active().
2004-08-11  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpprogress.[ch]: added virtual function
	gboolean GimpProgressInterface::is_active().

	* app/display/gimpdisplay.c
	* app/display/gimpstatusbar.c
	* app/widgets/gimpfiledialog.c
	* app/widgets/gimpprogressbox.c
	* app/widgets/gimpprogressdialog.c
	* app/widgets/gimpthumbbox.c: implement it.

	* app/plug-in/plug-in.h: removed "gboolean progress_active" and
	added "gulong progress_cancel_id" instead.

	* app/plug-in/plug-in-progress.c: changed accordingly. Make sure
	we correctly handle the "cancel" connections of progress instances
	passed from other plug-ins.
2004-08-11 10:29:56 +00:00
Michael Natterer ca30f73817 added "display_ID" to gimp_new_progress().
2004-08-11  Michael Natterer  <mitch@gimp.org>

	* app/core/gimp-gui.[ch]: added "display_ID" to gimp_new_progress().

	* app/gui/gui-vtable.c: changed accordingly.

	* app/plug-in/plug-in-progress.[ch]: reenabled showing the
	progress in a particular display.
2004-08-11 09:36:51 +00:00
Michael Natterer 502f9b71f3 app/core/gimpdrawable-blend.c some progress cleanup.
2004-08-11  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpdrawable-blend.c
	* app/core/gimpprogress.c: some progress cleanup.

	* app/display/gimpstatusbar.c (gimp_statusbar_progress_start): no
	need to warn if there is already a progress active, just silently
	return NULL as all other GimpProgressInterface implementors.

	* app/plug-in/plug-in-progress.c: several progress fixes.
	It's still a mess.

	* plug-ins/common/url.c: don't show progress depending on
	run_mode. Run the actual file plug-in with the same run_mode we
	were invoked with.
2004-08-11 00:34:34 +00:00
Michael Natterer 02d2b990f5 Redid the whole internal progress stuff: don't pass around
2004-08-10  Michael Natterer  <mitch@gimp.org>

	Redid the whole internal progress stuff: don't pass around
	progress_callback and progress_data; instead, provide a
	pointer to a GimpProgressInterface which can be implemented
	by a variety of backends.

	Addresses (but not yet fixes) bugs #6010, #97266 and #135185.

	* app/display/Makefile.am
	* app/display/gimpprogress.[ch]: removed the old progress hack.

	* app/core/Makefile.am
	* app/core/core-types.h
	* app/core/gimpprogress.[ch]: implement GimpProgressInterface.

	* app/widgets/Makefile.am
	* app/widgets/widgets-types.h
	* app/widgets/gimpprogressdialog.[ch]: the standalone progress
	dialog as widget implementing GimpProgressInterface.

	* app/display/gimpdisplay.c
	* app/display/gimpstatusbar.[ch]
	* app/widgets/gimpfiledialog.[ch]
	* app/widgets/gimpthumbbox.[ch]: added GimpProgressInterface
	implementation to these classes.

	* app/core/gimp-gui.[ch]
	* app/gui/gui-vtable.c: replaced the old progress vtable entries
	by two new to create and destroy a GimpProgressDialog in case
	no other progress is available.

	* app/pdb/procedural_db.[ch]
	* app/plug-in/plug-in-run.[ch]
	* tools/pdbgen/app.pl: pass a GimpProgress to all PDB wrappers and
	all plug-ins.

	* app/plug-in/plug-in.[ch]
	* app/plug-in/plug-ins.c
	* app/plug-in/plug-in-message.c
	* app/plug-in/plug-in-progress.c: handle the case there the
	plug-in was crated with a progress as well as the case where it
	wasn't.

	* app/app_procs.c
	* app/batch.c
	* app/xcf/xcf.c
	* app/file/file-open.[ch]
	* app/file/file-save.[ch]
	* app/widgets/gimphelp.c
	* app/widgets/gimpbrushselect.c
	* app/widgets/gimpfontselect.c
	* app/widgets/gimpgradientselect.c
	* app/widgets/gimppaletteselect.c
	* app/widgets/gimppatternselect.c: changed accordingly.

	* app/core/gimpimagefile.[ch]
	* app/display/gimpdisplayshell-dnd.c
	* app/gui/file-open-dialog.c
	* app/gui/file-open-location-dialog.c
	* app/gui/file-save-dialog.c
	* app/widgets/gimplayertreeview.c
	* app/widgets/gimptoolbox-dnd.c: pass a GimpProgress to all file
	related functions. Embed the progress in the file dialog where
	possible.

	* app/core/gimpdrawable-blend.[ch]
	* app/core/gimpdrawable-transform.[ch]
	* app/core/gimpimage-convert.[ch]
	* app/core/gimpimage-flip.[ch]
	* app/core/gimpimage-resize.[ch]
	* app/core/gimpimage-rotate.[ch]
	* app/core/gimpimage-scale.[ch]
	* app/core/gimpitem-linked.[ch]
	* app/core/gimpitem.[ch]
	* app/core/gimpchannel.c
	* app/core/gimpdrawable.c
	* app/core/gimplayer.c
	* app/core/gimpselection.c
	* app/vectors/gimpvectors.c: replaced callback/data by GimpProgress.

	* app/tools/gimpblendtool.c
	* app/tools/gimptransformtool.c
	* app/gui/convert-dialog.c
	* app/actions/documents-commands.c
	* app/actions/file-commands.c
	* app/actions/image-commands.c
	* app/actions/layers-commands.c
	* app/actions/plug-in-commands.c
	* app/actions/vectors-commands.c
	* tools/pdbgen/pdb/convert.pdb
	* tools/pdbgen/pdb/edit.pdb
	* tools/pdbgen/pdb/image.pdb
	* tools/pdbgen/pdb/layer.pdb: changed callers accordingly.

	* app/pdb/*_cmds.c: regenerated.
2004-08-10 18:47:21 +00:00
Sven Neumann b6efff7e77 plugged more file descriptor leaks.
2004-08-10  Sven Neumann  <sven@gimp.org>

	* app/core/gimpbrushgenerated.c (gimp_brush_generated_load):
	plugged more file descriptor leaks.
2004-08-10 11:33:13 +00:00
David Odin c1566ea848 don't leak a file descriptor when reading a bad .vbr file.
* app/core/gimpbrushgenerated.c: don't leak a file descriptor when
  reading a bad .vbr file.
2004-08-10 02:37:44 +00:00
Michael Natterer 88768c66f8 Applied (slightly modified) patch from Shlomi Fish which adds a progress
2004-08-09  Michael Natterer  <mitch@gimp.org>

	Applied (slightly modified) patch from Shlomi Fish which adds a
	progress bar to the RGB -> INDEXED conversion. Fixes bug #145274

	(and shows that we really really need a GimpProgressInterface in
	the core to give progress users full access to the progress API)

	* app/core/gimpimage-convert.[ch]: added special
	GimpImageConvertProgress function typedef to cope with the
	different stages of converting.  Support passing such a callback &
	data to gimp_image_convert() and update the progress accordingly.

	* app/gui/convert-dialog.[ch]: added a convert progress callback
	and pass it to gimp_image_convert().

	* app/actions/image-commands.c
	* tools/pdbgen/pdb/convert.pdb: changed accordingly.

	* app/pdb/convert_cmds.c: regenerated.
2004-08-09 16:08:36 +00:00
Hans Breuer eafd79de87 gimp_create_display() with the right parameters order
2004-08-09  Hans Breuer  <hans@breuer.org>

	* app/core/gimp-edit.c(gimp_edit_paste_as_new) :
	gimp_create_display() with the right parameters order

	* app/widgets/gimpwidgets-utils.c (gimp_message_box_set_icons)
	handle gtk_style_lookup_icon_set() returnig NULL

	* app/gimpcore.def app/widgets/makefile.msc
	  themes/default/images/makefile.msc : updated
2004-08-08 22:47:23 +00:00
Simon Budig 428c4a8d60 Enhanced the range of the hardness parameter to make more soft brushes
2004-08-04  Simon Budig  <simon@gimp.org>

	* app/core/gimpbrushgenerated.c: Enhanced the range of the hardness
	parameter to make more soft brushes possible. Please note that this
	makes existing generated brushes look more soft. But since people
	apparently rarely use more than one or two generated brushes and
	these get changed frequently I guess it should be OK.
2004-08-04 17:41:33 +00:00
Michael Natterer fd1a0e142c Allow URI drops from apps linked against GLib < 2.4.4 to GIMP linked
2004-08-04  Michael Natterer  <mitch@gimp.org>

	Allow URI drops from apps linked against GLib < 2.4.4 to GIMP
	linked against GLib >= 2.4.5. Fixes bug #148140.

	* app/core/gimp-utils.[ch]: added gimp_check_glib_version().

	* app/widgets/gimpselectiondata.c: added runtime check for GLib
	versions that encode file:// URIs correctly (>= 2.4.5). For older
	(broken) GLibs, leave the code path as is, for newer (fixed) ones,
	perform an additional check if the dropped URI is in the (broken)
	escaped-UTF-8 format and convert it to local filename encoding.

	* app/gui/gui.c: warn the user that non-ASCII filenames can't
	be used when linked against GLib 2.4.4.
2004-08-04 17:11:39 +00:00
Michael Natterer 51b8b94ed9 changed member "ProcRecord last_plug_in" to PlugInProcDef last_plug_in".
2004-08-04  Michael Natterer  <mitch@gimp.org>

	* app/core/gimp.[ch]: changed member "ProcRecord last_plug_in" to
	PlugInProcDef last_plug_in". Added function
	gimp_set_last_plug_in() and signal Gimp::last-plug-in-changed.

	* app/actions/plug-in-commands.c
	* app/plug-in/plug-in-run.c: changed accordingly.

	* app/actions/plug-in-actions.c: factored out updating of the
	"Reshow Last" and "Rerun Last" actions to a private function.
	Connect each "plug-in" action group to Gimp::last-plug-in-changed
	and update the actions' label and sensitivity in the
	callback. Fixes bug #149139.
2004-08-04 14:00:14 +00:00
Michael Natterer b909c2b2ee new function which checks if undo compression is possible:
2004-08-03  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpimage-undo.[ch] (gimp_image_undo_can_compress):
	new function which checks if undo compression is possible:

	(1) is the image dirty? Fixes bug #148853.
	(2) is redo stack empty?
	(3) do both the passed undo object_type and undo_type
	    match the top undo item?

	Consistently name the GType and GimpUndoType passed to undo
	functions "object_type" and "undo_type" to avoid confusion.

	* app/actions/layers-commands.c
	* app/tools/gimpeditselectiontool.c
	* app/tools/gimptexttool.c
	* app/widgets/gimpitemtreeview.c
	* app/widgets/gimplayertreeview.c: use the new utility function
	instead of checking the above conditions manually.
2004-08-03 14:09:49 +00:00
Michael Natterer 36d5f97bd0 don't leak the brush's name if parsing the shape fails.
2004-08-03  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpbrushgenerated.c (gimp_brush_generated_load): don't
	leak the brush's name if parsing the shape fails.

	(gimp_brush_generated_dirty): shut up bogus compiler warnings
	about uninitialized variables.
2004-08-03 12:56:19 +00:00
Simon Budig 7f95f04342 Fixed brush spacing for brushes with >= 2 spikes. Spotted by Joao S. O.
2004-08-02  Simon Budig  <simon@gimp.org>

	* app/widgets/gimpbrusheditor.c: Fixed brush spacing for brushes
	with >= 2 spikes. Spotted by Joao S. O. Bueno.

	Fixes bug #149099.
2004-08-02 21:34:12 +00:00
Hans Breuer 3b3039148c build but *dont link* display-enums.obj, widget-enums.obj and
2004-07-31  Hans Breuer  <hans@breuer.org>

	* app/display/makefile.msc app/widgets/makefile.msc : build
	but *dont link* display-enums.obj, widget-enums.obj and
	gimpdisplayoptions.obj. They must be in the dll
	* app/makefile.msc : build gimp.exe and gimp-console.exe both
	using the same gimp-core.dll
	* app/gimpcore.def : new file, exports for gimp-core.dll
	* app/Makefile.am : added to EXTRA_DIST

	* cursors/makefile.msc : new file to create gimp-tool-cursors.h
	* cursors/Makefile.am : added to EXTRA_DIST

	* **/makefile.msc : updated

	* app/main.c app/app_procs.c : moved code to close the console
	from the former to the later. It only is to be used if The Gimp
	is not build as console app.

	* plug-ins/gfig/gfig.c : dont gimp_drawable_detach() the same
	drawable twice
	* plug-ins/gfig-dialog.c() : added a g_return_if_fail() to avoid
	crashing on File/Import
2004-08-01 20:51:12 +00:00
Simon Budig 1eb3009f1a Added optional spikes for the generated brushes, enabling star shaped
2004-08-01  Simon Budig  <simon@gimp.org>

	* app/core/gimpbrushgenerated.[ch]: Added optional spikes for
	the generated brushes, enabling star shaped generated brushes.

	* app/widgets/gimpbrusheditor.[ch]: GUI for this.

	* app/core/gimpbrush.c: changed accordingly.
2004-08-01 17:20:00 +00:00
Simon Budig c40e29399d app/core/core-enums.h Implement three different brush shapes for generated
2004-08-01  Simon Budig  <simon@gimp.org>

	* app/core/core-enums.h
	* app/core/gimpbrushgenerated.[ch]: Implement three different
	brush shapes for generated brushes.

	* app/core/gimpbrush.c: changed accordingly.
	* app/core/core-enums.c: regenerated.

	* app/widgets/gimpbrusheditor.[ch]: Add toggles for the shape.
	* themes/Default/images/stock-brush-generated-*-16.png: New stock
	icons for the brush shapes.

	* themes/Default/images/Makefile.am
	* libgimpwidgets/gimpstock.[ch]: changed accordingly

	untabified the files touched.
2004-08-01 03:06:58 +00:00
Michael Natterer 4b582b481a Replaced the concept of having a boolean indicating if an undo step
2004-07-29  Michael Natterer  <mitch@gimp.org>

	Replaced the concept of having a boolean indicating if an undo
	step dirties the image by a bitfield indicating which parts
	of the image are dirtied:

	* app/core/core-enums.[ch]: reordered two values in enum
	GimpUndoType, added GIMP_DIRTY_IMAGE_SIZE to enum GimpDirtyMask.

	The values of GimpDirtyMask are still questionable and will
	probably change...

	* app/core/gimpimage.[ch]: removed signal "undo_start" and added
	a GimpDirtyMask parameter to the "dirty" and "clean" signals.

	* app/core/gimpimage-undo.[ch] (gimp_image_undo_push): replaced
	"gboolean dirties_image" by "GimpDirtyMask dirty_mask" and pass
	it to gimp_image_dirty().

	(gimp_image_undo_group_start): added *ugly* code which tries to
	figure GimpDirtyMask from the group's GimpUndoType and store it in
	the GimpUndoGroup. Call gimp_image_dirty() instead of the removed
	gimp_image_undo_start(). This means the undo group now dirties the
	image just like one of its undo steps, but that's no problem since
	undoing cleans it in the same way.

	* app/core/gimpundo.[ch]: s/dirties_image/dirty_mask/g

	(gimp_undo_pop): emit clean/dirty signals *before* performing the
	actual undo step so listeners can detach from the image before it
	is changed by undo.

	* app/core/gimpimage-undo-push.c (gimp_image_undo_push_*): pass a
	GimpDirtyMask instead of TRUE/FALSE to gimp_image_undo_push().

	* app/core/gimpimagemap.[ch]: removed "gboolean interactive"
	because it makes no sense to use GimpImageMap noninteractively.
	Don't freeze()/thaw() undo while the image_map is active which
	fixes many ways of trashing the image's undo state but probably
	introduces new ways of doing evil things.

	* app/display/gimpdisplay-foreach.c
	* app/display/gimpdisplayshell-handlers.c: changed according
	to the GimpImage::clean()/dirty() signal changes. Small fixes
	in the quit dialog's dirty image container.

	* app/tools/gimptoolcontrol.[ch]: added member and API to
	set/get the dirty_mask.

	* app/tools/gimpcroptool.c
	* app/tools/gimpimagemaptool.c
	* app/tools/gimpiscissorstool.c
	* app/tools/gimptexttool.c
	* app/tools/gimptransformtool.c: whenever setting "preserve" to
	FALSE, also set a "dirty_mask" which specifies on which image
	changes the tool wants to be canceled.

	* app/tools/tool_manager.c: removed "undo_start" connection and
	connect to both "dirty" *and* "clean" to check if the active_tool
	needs to be canceled. Cancel the tool only if the dirty_mask
	passed in the signal has common bits with the tool's dirty_mask.

	Fixes bug #109561 and probably opens some new ones...
2004-07-29 14:16:21 +00:00
Sven Neumann e10ebe1805 removed enums GimpImageType and GimpImageBaseType ...
2004-07-29  Sven Neumann  <sven@gimp.org>

	* app/core/core-enums.h: removed enums GimpImageType and
	GimpImageBaseType ...

	* libgimpbase/gimpbaseenums.h: ... and added them here. Also moved
	all enums from gimpbasetypes.h to this new file.

	* libgimpbase/Makefile.am
	* tools/pdbgen/Makefile.am: changed accordingly.

	* app/core/core-enums.c
	* libgimp/gimpenums.h
	* libgimpbase/gimpbaseenums.c
	* tools/pdbgen/enums.pl: regenerated.

	* libgimpbase/gimpparasite.c
	* libgimpbase/gimpprotocol.c
	* libgimp/gimp.c: include <glib-object.h>

	* libgimpbase/gimpbasetypes.[ch]: added API to set and get a
	translation domain on a GType. This is used for translatable enum
	values.

	* libgimpbase/gimputils.[ch]: added API to retrieve the translated
	name for an enum value.

	* app/widgets/gimpenumstore.c
	* app/widgets/gimpenumwidgets.c: use the new API in libgimpbase.
2004-07-29 12:33:15 +00:00
Dave Neary 44d9cc70da Stop signed ints overflowing while getting the mean by replacing (a + b) /
2004-07-29  Dave Neary  <bolsh@gimp.org>

	* app/core/gimpdrawable-transform.c: Stop signed ints overflowing
	while getting the mean by replacing (a + b) / 2 with a / 2 + b / 2.
	Fixes bug #128594 for drawables less than 32K wide.
2004-07-29 11:40:27 +00:00
Michael Natterer ee42d8f506 added still unused flags type GimpDirtyMask.
2004-07-28  Michael Natterer  <mitch@gimp.org>

	* app/core/core-enums.h: added still unused flags type
	GimpDirtyMask.

	* app/base/Makefile.am
	* app/core/Makefile.am
	* app/display/Makefile.am
	* app/paint/Makefile.am
	* app/text/Makefile.am
	* app/tools/Makefile.am
	* app/widgets/Makefile.am
	* libgimpthumb/Makefile.am: changed calls to gimp-mkenums to
	support GTypeFlags and to make the value arrays private to the
	get_type() functions.

	* app/base/base-enums.c
	* app/core/core-enums.c
	* app/display/display-enums.c
	* app/paint/paint-enums.c
	* app/text/text-enums.c
	* app/tools/tools-enums.c
	* app/widgets/widgets-enums.c: regenerated.
2004-07-28 11:50:20 +00:00
Sven Neumann b580628e4f don't leak empty SVG gradients.
2004-07-27  Sven Neumann  <sven@gimp.org>

	* app/core/gimpgradient-load.c: don't leak empty SVG gradients.
2004-07-27 19:34:27 +00:00
Sven Neumann bd427b2e4d libgimpbase/Makefile.am libgimpbase/gimpbase.h libgimpbase/gimpbase.def
2004-07-27  Sven Neumann  <sven@gimp.org>

	* libgimpbase/Makefile.am
	* libgimpbase/gimpbase.h
	* libgimpbase/gimpbase.def
	* libgimpbase/gimpmemsize.[ch]: added new files with memsize
	related functions (moved here from gimputil.c) and
	GIMP_TYPE_MEMSIZE (moved here from app/config/gimpconfig-types.[ch]).

	* libgimpbase/gimputils.[ch]: removed gimp_memsize_to_string() here.

	* libgimpbase/gimpunit.[ch]: added GIMP_TYPE_UNIT (moved here from
	app/config/gimpconfig-types.[ch]).

	* libgimpbase/gimpbase-private.c
	* libgimp/gimptile.c
	* libgimp/gimpunitcache.c
	* plug-ins/help/domain.c
	* app/xcf/xcf-read.c: need to include glib-object.h.

	* plug-ins/common/uniteditor.c: use GIMP_TYPE_UNIT.

	* app/config/gimpconfig-types.[ch]: removed code that lives in
	libgimpbase now.

	* app/config/gimpconfig-deserialize.c: changed accordingly.

	* app/config/gimpbaseconfig.c
	* app/config/gimpdisplayconfig.c
	* app/core/gimpcontext.c
	* app/gui/grid-dialog.c
	* app/tools/gimpcolortool.c
	* app/widgets/gimpaction.c
	* app/widgets/gimpunitstore.c: no need to include gimpconfig-types.h
	any longer.
2004-07-27 16:39:00 +00:00
Michael Natterer 9b5862e79b remove the image from the image hash table and set its "gimp" pointer to
2004-07-27  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpimage.c (gimp_image_finalize): remove the image
	from the image hash table and set its "gimp" pointer to NULL
	*after* all layers, channels, vectors and the selection are
	finalized; otherwise these items have no chance of removing
	themselves from the item hash table (because image->gimp is
	already NULL). Spotted by pgimeno and nomis.
	(should be backported after it got some testing)
2004-07-27 15:10:41 +00:00
Michael Natterer caabe7f334 removed GIMP_TYPE_COLOR.
2004-07-26  Michael Natterer  <mitch@gimp.org>

	* app/config/gimpconfig-types.h: removed GIMP_TYPE_COLOR.

	* app/config/gimpconfig-params.[ch]: renamed GimpParamSpecColor
	to GimpParamSpecRGB.

	* app/config/gimpconfig-deserialize.c
	* app/config/gimpconfig-dump.c
	* app/config/gimpconfig-serialize.c
	* app/config/gimpscanner.c
	* app/core/gimp-utils.c
	* app/core/gimpcontext.c
	* app/core/gimpgrid.c
	* app/display/gimpdisplayoptions.c
	* app/text/gimptext.c
	* app/tools/gimpcolortool.c
	* app/widgets/gimpaction.c
	* app/widgets/gimpcolorbar.c
	* app/widgets/gimppropwidgets.c: changed accordingly.
2004-07-26 19:56:47 +00:00
Sven Neumann 8eec57e372 load all linear gradients from an SVG file, not only the first one.
2004-07-26  Sven Neumann  <sven@gimp.org>

	* app/core/gimpgradient-load.c: load all linear gradients from an
	SVG file, not only the first one.
2004-07-26 19:19:04 +00:00
Michael Natterer 638f2b3a9c added "gboolean writable" to the GimpDataFactoryLoaderEntry struct. Return
2004-07-26  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpdatafactory.h: added "gboolean writable" to the
	GimpDataFactoryLoaderEntry struct. Return a GList* instead of
	GimpData* from GimpDataLoadFunc so it's possible to load more than
	one data object from one file.

	* app/core/gimpdatafactory.c (gimp_data_factory_load_data):
	changed accordingly: add all items of the returned lists to the
	data factory. Make the data object writable only if it's in the
	writable path *and* its loader entry says it's a writable format
	*and* the returned list contains exactly one element.

	* app/core/gimp.c (gimp_real_initialize): declare all loader
	entries as writable where we have code to read and write exactly
	one object per file; all others are not writable.

	* app/core/gimpbrush.[ch]
	* app/core/gimpbrushgenerated.[ch]
	* app/core/gimpbrushpipe.[ch]
	* app/core/gimpgradient-load.[ch]
	* app/core/gimppalette.[ch]
	* app/core/gimppattern.[ch] (all load functions): return a list
	containing the loaded object instead of the object itself.
2004-07-26 19:00:22 +00:00
Michael Natterer 3632f62b90 removed unused typedef GimpDataObjectLoaderFunc.
2004-07-26  Michael Natterer  <mitch@gimp.org>

	* app/core/core-types.h: removed unused typedef
	GimpDataObjectLoaderFunc.
2004-07-26 16:27:43 +00:00
Sven Neumann 333489a6e2 fixed handling of the last gradient segment and did some code cleanup.
2004-07-23  Sven Neumann  <sven@gimp.org>

	* app/core/gimpgradient-load.c (svg_parser_end_element): fixed
	handling of the last gradient segment and did some code cleanup.
2004-07-23 14:00:38 +00:00
Sven Neumann f0da0e438c (svg_parser_end_element): don't crash on empty gradient definitions. 2004-07-23 12:55:58 +00:00
Sven Neumann df0bf0185b improved error message.
2004-07-23  Sven Neumann  <sven@gimp.org>

	* app/core/gimpgradient-load.c (gimp_gradient_load_svg): improved
	error message.
2004-07-23 12:19:21 +00:00
Sven Neumann e965603984 added more test samples.
2004-07-23  Sven Neumann  <sven@gimp.org>

	* libgimpcolor/test-color-parser.c: added more test samples.

	* libgimpcolor/gimprgb-parse.c: fixed a bug that I found with the
	new tests.

	* app/core/gimpgradient-load.c: changed SVG parser to handle
	gradients that are defined more deeply in the SVG hierarchy. Added
	a simplistic CSS style parser to deal with gradient definitions
	that use CSS to define the gradient stop properties (closes bug
	#148127).
2004-07-23 11:31:16 +00:00
Sven Neumann 21dd07518c some newlines to improve error messages.
2004-07-23  Sven Neumann  <sven@gimp.org>

	* app/core/gimpdatafactory.c: some newlines to improve error
	messages.

	* app/core/gimpgradient-load.c (gimp_gradient_load_svg): fixed
	error handling.
2004-07-23 01:08:34 +00:00
Sven Neumann a6f4f62608 libgimpcolor/gimprgb-parse.c use a signed integer to pass the string
2004-07-22  Sven Neumann  <sven@gimp.org>

	* libgimpcolor/gimprgb-parse.c
	* libgimpcolor/gimprgb.h: use a signed integer to pass the string
	length to the new parser functions. The API explicitely asks for
	-1 to be passed...

	* app/core/gimp.c
	* app/core/gimpgradient-load.[ch]
	* app/core/gimpgradient.h: added preliminary support for loading
	simple SVG gradients (see bug #148127).  Be careful with this new
	feature; editing the loaded gradient will cause the SVG file to be
	overwritten! Work in progress...
2004-07-22 19:07:28 +00:00
Sven Neumann d3caf7a3ed app/core/Makefile.am app/core/gimpgradient-load.[ch]
2004-07-22  Sven Neumann  <sven@gimp.org>

	* app/core/Makefile.am
	* app/core/gimpgradient-load.[ch]
	* app/core/gimpgradient-save.[ch]
	* app/core/gimpgradient.[ch]: moved gradient file handling out of
	gimpgradient.c to new files.

	* app/core/gimp.c
	* app/actions/gradients-commands.c: changed accordingly.

	* libgimpcolor/gimpcolor.def: added gimp_rgb_parse_name.
2004-07-22 13:58:29 +00:00
Michael Natterer e7479951b5 app/core/gimpmarshal.list added "gboolean delete" parameter to the
2004-07-21  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpmarshal.list
	* app/widgets/gimpcellrendereraccel.[ch]: added "gboolean delete"
	parameter to the GimpCellRendererAccel::accel_edited() signal.

	* app/widgets/gimpactionview.c: distinguish between deletion of an
	accelerator and the user entering an invalid accelerator.
2004-07-21 14:09:36 +00:00
Michael Natterer 62bf62a151 app/core/gimpmarshal.list app/widgets/Makefile.am
2004-07-21  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpmarshal.list
	* app/widgets/Makefile.am
	* app/widgets/widgets-types.h
	* app/widgets/gimpcellrendereraccel.[ch]: new cell renderer
	which displays an accelerator and allows to edit it (ripped
	out of libegg and modified).

	* app/widgets/gimpactionview.c: use the new renderer and connect
	to its "accel-edited" signal (its callback is one huge mess that
	needs to be cleaned up). Added ugly hack to work around GTK+ API
	limitation that seems to prevent implementing a shortcut editor in
	a sane way.

	* app/actions/file-actions.c
	* app/actions/image-actions.c
	* app/actions/tools-actions.c: added ugly hacks here, too.

	* app/gui/preferences-dialog.c: relaced Cancel/Ok in the shortcut
	editor by Close.
2004-07-21 00:39:46 +00:00
Michael Natterer 144d663525 removed unused VOID:UINT,STRING.
2004-07-19  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpmarshal.list: removed unused VOID:UINT,STRING.
2004-07-19 15:34:40 +00:00
Sven Neumann f26d1b8a8c moved variable declarations to the scope they are being used in, removed
2004-07-19  Sven Neumann  <sven@gimp.org>

	* app/core/gimpchannel-combine.c (gimp_channel_combine_ellipse):
	moved variable declarations to the scope they are being used in,
	removed trailing whitespace, minor cleanups.
2004-07-19 14:25:59 +00:00
William Skaggs b48a7cce8f Bill Skaggs <weskaggs@primate.ucdavis.edu>
* app/core/gimpchannel-combine.c: put in two lines accidentally
	omitted in previous change, improve doc comment.
2004-07-19 14:12:30 +00:00
Michael Natterer c5e78fe18a added copyright header, added #defines for access(), F_OK, R_OK and X_OK.
2004-07-19  Michael Natterer  <mitch@gimp.org>

	* libgimpbase/gimpwin32-io.h: added copyright header, added
	#defines for access(), F_OK, R_OK and X_OK.

	* app/core/gimpdata.c: include the above instead of defining
	the workarounds here.

	* app/base/tile-swap.c
	* app/config/gimpconfig-dump.c
	* libgimpthumb/gimpthumb-utils.c
	* libgimpthumb/gimpthumbnail.c: for consistency, #include
	gimpwin32-io.h with "" instead of <>.
2004-07-19 13:22:44 +00:00
Michael Natterer fe23211092 comments not intended for gtk-doc must not start with '/**'.
2004-07-19  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpchannel-combine.c (gimp_channel_combine_ellipse):
	comments not intended for gtk-doc must not start with '/**'.
2004-07-19 12:43:40 +00:00
Michael Natterer 9357713a2b removed GimpConfigInterface typedef, added comments to typedefs which
2004-07-19  Michael Natterer  <mitch@gimp.org>

	* app/config/config-types.h: removed GimpConfigInterface typedef,
	added comments to typedefs which don't belong here.

	* app/config/gimpconfig.h: added GimpConfigInterface typedef.

	* app/core/core-types.h
	* app/display/display-types.h: added commented out typedefs for
	types that live in config-types.h for obscure reasons.

	* app/core/core-types.h: reordered stuff to match the order in the
	API docs (makes keeping stuff in sync much easier).
2004-07-19 11:33:59 +00:00
William Skaggs f7cca5f2f2 Bill Skaggs <weskaggs@primate.ucdavis.edu>
* app/core/gimpchannel-combine.c: improve anti-aliasing for
	elliptical selections, as described in bug #147836.
2004-07-18 19:31:29 +00:00
Sven Neumann 8c4b7b5aba app/display/gimpdisplayshell.c corrected API documentation, removed
2004-07-16  Sven Neumann  <sven@gimp.org>

	* app/core/gimpdata.c:
	* app/display/gimpcanvas.c:
	* app/display/gimpdisplayshell.c
	* app/display/gimpdisplayshell-transform.c: corrected API
	documentation, removed trailing whitespace.

	Please do always build the documentation if you add or change any
	gtk-doc comments.
2004-07-16 10:07:30 +00:00
William Skaggs aced3f7910 Bill Skaggs <weskaggs@primate.ucdavis.edu>
* app/core/gimpdata.c: added gtk-doc comments for
	public functions.
2004-07-15 19:01:57 +00:00
Michael Natterer c9d31f6e97 corrected API docs and fixed function parameter names to silent gtk-doc
2004-07-15  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpviewable.[ch]: corrected API docs and fixed
	function parameter names to silent gtk-doc warnings.
2004-07-15 09:53:17 +00:00
William Skaggs 9c7c6e4221 Bill Skaggs <weskaggs@primate.ucdavis.edu>
* app/core/gimpviewable.c: added gtk-doc comments for public
	functions.
2004-07-14 23:41:41 +00:00
Michael Natterer 6fb2502e72 reordered to match the .c file.
2004-07-15  Michael Natterer  <mitch@gimp.org>

	* app/actions/file-commands.h: reordered to match the .c file.

	* app/core/gimpitem.c
	* app/vectors/gimpvectors-import.c: fixed API docs.
2004-07-14 23:14:49 +00:00
Michael Natterer 87b5322fdb added properties "gimp", "id", "width", "height" and "base-type". Moved
2004-07-14  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpimage.c: added properties "gimp", "id", "width",
	"height" and "base-type". Moved all code from gimp_image_new()
	to GObject::constructor().

	* app/core/gimpimage-convert.c
	* app/core/gimpimage-crop.c
	* app/core/gimpimage-resize.c
	* app/core/gimpimage-rotate.c
	* app/core/gimpimage-scale.c
	* app/core/gimpimage-undo-push.c: set "width", "height" and
	"base-type" with g_object_set() so "notify" is emitted on the
	properties.

	* app/core/gimpimage-undo.c (gimp_image_undo_pop_stack):
	freeze/thaw property notifications around undoing/redoing so they
	are not emitted in the middle of the undo operation.
2004-07-14 12:12:50 +00:00
Michael Natterer 8e2e464f67 converted tabs to spaces, cleanup, reviewed new API docs.
2004-07-14  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpitem.c: converted tabs to spaces, cleanup,
	reviewed new API docs.
2004-07-14 11:52:03 +00:00
Michael Natterer fe9d9be66b Code review & cleanup:
2004-07-14  Michael Natterer  <mitch@gimp.org>

	Code review & cleanup:

	* app/config/gimpguiconfig.[ch]: removed transparency-size,
	transparency-type and snap-distance properties...

	* app/config/gimpdisplayconfig.[ch]: ...and added them here.

	* app/display/gimpdisplayshell.c
	* app/tools/gimpmovetool.c: changed accordingly.

	* app/core/gimpimage-scale.[ch] (gimp_layer_scale_check): added a
	"max_memsize" parameter instead of looking it up in GimpGuiConfig.

	* app/actions/image-commands.c: changed accordingly.

	* app/core/gimparea.c
	* app/core/gimpdrawable.c: converted tabs to spaces, cleanup.

	* app/core/gimpprojection.[ch]: renamed IdleRenderStruct to
	GimpProjectionIdleRender, reordered functions, cleanup.

	* app/display/gimpdisplay-handlers.c
	* app/display/gimpdisplay.c: removed unused #includes.

	* app/display/gimpdisplayshell.[ch]
	* app/display/gimpdisplayshell-close.c: renamed
	shell->warning_dialog to shell->close_dialog, some random
	cleanups.

	* app/display/gimpdisplayshell-handlers.c
	* app/widgets/gimpselectioneditor.c: minor coding style cleanup.
2004-07-14 10:31:59 +00:00
William Skaggs 53249872f6 Bill Skaggs <weskaggs@primate.ucdavis.edu>
* app/core/gimpitem.c: added documentation comments to some
	of the functions.
2004-07-14 00:32:09 +00:00
Michael Natterer 54cc251b08 app/core/Makefile.am app/core/core-types.h new interface which has
2004-07-14  Michael Natterer  <mitch@gimp.org>

	* app/core/Makefile.am
	* app/core/core-types.h
	* app/core/gimppickable.[ch]: new interface which has
	get_image_type(), get_tiles() and get_color_at() methods.

	* app/core/gimpdrawable.[ch]
	* app/core/gimpimagemap.[ch]
	* app/core/gimpprojection.[ch]: implement GimpPickableInterface
	and removed public get_colot_at() functions.

	* app/core/gimpimage-pick-color.[ch]: removed typedef
	GimpImagePickColorFunc and gimp_image_pick_color_by_func(). Use
	gimp_pickable_pick_color() instead.

	* app/core/gimpimage-contiguous-region.c
	* app/core/gimpimage-crop.c
	* app/gui/info-window.c
	* app/paint/gimpconvolve.c
	* app/paint/gimpsmudge.c
	* app/tools/gimpbycolorselecttool.c
	* app/tools/gimpimagemaptool.c
	* app/widgets/gimpselectioneditor.c: use GimpPickable functions
	instead of the various get_color_at() functions. Simplifies code
	which has a "sample_merged" boolean. Various cleanups.
2004-07-13 23:04:05 +00:00
Michael Natterer c5ec0d4f70 *** empty log message *** 2004-07-13 16:36:29 +00:00
Sven Neumann 6e77b577dc handle NULL string values.
2004-07-13  Sven Neumann  <sven@gimp.org>

	* app/core/gimp-utils.c (gimp_g_value_get_memsize): handle NULL
	string values.
2004-07-13 11:54:09 +00:00
Sven Neumann 673e4b45f7 use g_printerr() instead of g_warning(), the problem is by no means fatal 2004-07-13 10:29:14 +00:00
Sven Neumann f274dce25b added new function gimp_g_value_get_memsize() that attempts to calculate
2004-07-13  Sven Neumann  <sven@gimp.org>

	* app/core/gimp-utils.[ch]: added new function
	gimp_g_value_get_memsize() that attempts to calculate the memory
	requirements for a GValue.

	* app/text/gimptextundo.c (gimp_text_undo_get_memsize): use the
	new function to obtain a better estimate for the size of the text
	undo.
2004-07-13 10:09:22 +00:00
Sven Neumann 5cff101603 resurrected some bit-rotting debug code. Might become useful one day.
2004-07-13  Sven Neumann  <sven@gimp.org>

	* app/core/gimpimage-undo.c: resurrected some bit-rotting debug
	code. Might become useful one day.
2004-07-13 08:30:22 +00:00
Michael Natterer a81e96450a removed member "guint time"...
2004-07-12  Michael Natterer  <mitch@gimp.org>

	* app/text/gimptextundo.[ch]: removed member "guint time"...

	* app/core/gimpundo.[ch]: ...and added it here.

	* app/tools/gimptexttool.c (gimp_text_tool_apply): changed
	accordingly. Reordered undo compression code to look like other
	pieces of code which do undo compression.
2004-07-12 17:10:34 +00:00
Michael Natterer da74f1269e app/core/gimpundo.[ch] app/core/gimpitemundo.[ch] removed all _new()
2004-07-12  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpundo.[ch]
	* app/core/gimpitemundo.[ch]
	* app/text/gimptextundo.[ch]: removed all _new() functions and
	added properties and GObject::constructor() implementations
	instead.

	* app/core/gimpimage-undo.[ch] (gimp_image_undo_push): added
	"GType undo_gtype" parameter and allow to pass name-value pairs as
	"...". Une the new GParameter utility functions to construct the
	appropriate undo step with g_object_newv().

	(gimp_image_undo_push_item): removed.

	(gimp_image_undo_push_undo): removed. Merged its code back into
	gimp_image_undo_push(), where it originally came from.

	* app/core/gimpimage-undo-push.c
	* app/core/gimpundostack.c
	* app/paint/gimppaintcore-undo.c
	* app/tools/gimptransformtool-undo.c
	* app/widgets/gimpundoeditor.c: changed accordingly.
2004-07-12 16:59:36 +00:00
Michael Natterer ca5026a51f don't do anything if gimp->no_interface is TRUE.
2004-07-12  Michael Natterer  <mitch@gimp.org>

	* app/core/gimp-modules.c: don't do anything if gimp->no_interface
	is TRUE.
2004-07-12 14:43:24 +00:00
Michael Natterer 87c1722700 added an "id" CONSTRUCT_ONLY property. Some minor cleanup.
2004-07-12  Michael Natterer  <mitch@gimp.org>

	* app/display/gimpdisplay.c: added an "id" CONSTRUCT_ONLY
	property. Some minor cleanup.
2004-07-12 11:43:00 +00:00
Michael Natterer 509a6c57c5 app/core/Makefile.am new files defining a GimpGui vtable struct and
2004-07-12  Michael Natterer  <mitch@gimp.org>

	* app/core/Makefile.am
	* app/core/gimp-gui.[ch]: new files defining a GimpGui vtable
	struct and contianing all the vtable wrapper functions. Reordered
	and renamed some functions for consistency.

	* app/core/gimp.[ch]: removed all the vtable code.

	* app/gui/gui-vtable.c: changed accordingly.
2004-07-12 11:41:19 +00:00
Hans Breuer b56eb39ead updated app/actions/makefile.msc app/menus/makefile.msc : (new files)
2004-07-11  Hans Breuer  <hans@breuer.org>

	* **/makefile.msc : updated
	  app/actions/makefile.msc app/menus/makefile.msc : (new files)
	  app/actions/Makefile.msc app/menus/Makefile.am : added to EXTRA_DIST

	* libgimpbase/gimputils.c libgimpwidgets/gimpmemsizeentry.c
	  app/widgets/gimppropwidgets.c : bumped compiler version check,
	msvc6 still can't cast from unsigned __int64 to double

	* app/actions/debug-actions.c : only use debug_*_callback
	and thus debug_action if ENABLE_DEBUG_MENU

	* app/core/gimpalette-import.c : added gimpwin32-io.h

	* plug-ins/common/convmatrix.c : s/snprintf/g_snprintf/

	* plug-ins/common/screenshot.c : make it compile with msvc,
	but still no win32 specific implementation ...
2004-07-11 21:53:17 +00:00
Michael Natterer 48dfe69959 new utility functions which create and destroy GParameter arrays for
2004-07-11  Michael Natterer  <mitch@gimp.org>

	* app/core/gimp-utils.[ch] (gimp_parameters_append)
	(gimp_parameters_append_valist)
	(gimp_parameters_free): new utility functions which create and
	destroy GParameter arrays for g_object_newv().

	* app/gui/gui-vtable.c (gui_pdb_dialog_new): use them.
2004-07-10 22:25:02 +00:00
Michael Natterer 2176afbbbb Removed any remaining GUI dependency from the PDB wrappers:
2004-07-10  Michael Natterer  <mitch@gimp.org>

	Removed any remaining GUI dependency from the PDB wrappers:

	* app/core/gimp.[ch]: added vtable entries for the display and
	help stuff.

	* app/widgets/gimphelp.[ch]: renamed gimp_help() to
	gimp_help_show().

	* app/gui/gui-vtable.c: implement the new display and help vtable
	entries.

	* tools/pdbgen/pdb.pl
	* tools/pdbgen/pdb/display.pdb
	* tools/pdbgen/pdb/help.pdb: use the new functions of the Gimp
	object instead of using stuff from display/ and widgets/.

	* tools/pdbgen/app.pl: removed bad hacks which enabled including
	stuff from gui/, display/ and widgets/.

	* app/Makefile.am: link widgets-enums.o, display-enums.o and
	gimpdisplayoptions.o into the gimp-console binary because they are
	needed for the config system and don't depend on any GUI stuff.

	* app/pdb/Makefile.am: s/GTK_CFLAGS/GDK_PIXBUF_CFLAGS/

	* app/pdb/display_cmds.c
	* app/pdb/help_cmds.c: regenerated.
2004-07-10 20:29:11 +00:00
Michael Natterer 8d9e362249 app/gui/Makefile.am app/gui/brush-select.[ch] app/gui/font-select.[ch]
2004-07-09  Michael Natterer  <mitch@gimp.org>

	* app/gui/Makefile.am
	* app/gui/brush-select.[ch]
	* app/gui/font-select.[ch]
	* app/gui/gradient-select.[ch]
	* app/gui/palette-select.[ch]
	* app/gui/pattern-select.[ch]: removed...

	* app/widgets/Makefile.am
	* app/widgets/widgets-types.h
	* app/widgets/gimppdbdialog.[ch]
	* app/widgets/gimpdataselect.[ch]
	* app/widgets/gimpbrushselect.[ch]
	* app/widgets/gimpgradientselect.[ch]
	* app/widgets/gimppaletteselect.[ch]
	* app/widgets/gimppatternselect.[ch]
	* app/widgets/gimpfontselect.[ch]: ...and added here as a
	hierarchy of widgets.

	* app/widgets/gimpdatafactoryview.h: removed typdef
	GimpDataEditFunc, it's in widgets-types.h now.

	* app/gui/convert-dialog.c: changed accordingly.

	* app/core/gimp.[ch]: added vtable entries for creating, closing
	and setting PDB dialogs.

	* app/gui/gui-vtable.c: implement the vtable entries using the new
	widgets.

	* tools/pdbgen/pdb/brush_select.pdb
	* tools/pdbgen/pdb/font_select.pdb
	* tools/pdbgen/pdb/gradient_select.pdb
	* tools/pdbgen/pdb/palette_select.pdb
	* tools/pdbgen/pdb/pattern_select.pdb: use the new functions of
	the Gimp object to create / manage the selection dialogs. The
	generated files don't depend on GUI stuff any longer.

	* app/pdb/brush_select_cmds.c
	* app/pdb/font_select_cmds.c
	* app/pdb/gradient_select_cmds.c
	* app/pdb/palette_select_cmds.c
	* app/pdb/pattern_select_cmds.c: regenerated.
2004-07-09 19:14:59 +00:00
Sven Neumann 56ac0a4d37 ooops 2004-07-07 15:25:27 +00:00
Sven Neumann b8897d2bfb add an alpha channel if the src tile-manager doesn't have one. Warn on
2004-07-07  Sven Neumann  <sven@gimp.org>

	* app/core/gimplayer.c (gimp_layer_new_from_tiles): add an alpha
	channel if the src tile-manager doesn't have one. Warn on
	unsupported type conversions instead of silently doing the wrong
	thing. Fixes bug #145482.

	* app/core/gimpbuffer.c: cosmetics.
2004-07-07 15:07:17 +00:00
Michael Natterer 525a98f81a Made the undo system robust against the currently pushed undo being too
2004-07-07  Michael Natterer  <mitch@gimp.org>

	Made the undo system robust against the currently pushed undo
	being too large according to prefs settings. Fixes bug #145379.

	* app/core/gimpimage-undo.[ch] (gimp_image_undo_push_undo)
	(gimp_image_undo_group_end): emit "undo-event" *before* calling
	gimp_image_undo_free_space() so the undo history doesn't try to
	remove an item that has never been added.

	(gimp_image_undo_push_undo): added boolean return value indicating
	if the undo could be pushed (FALSE means the undo was to large
	and was discarded right away).

	(gimp_image_undo_push_item): return NULL if the above returned
	FALSE.

	* app/core/gimpimage-undo-push.c (gimp_image_undo_push_text_layer):
	changed accordingly.
2004-07-07 13:58:51 +00:00
Michael Natterer ddd4e1c760 don't scan app/paint-funcs/paint-funcs-types.h for enums.
2004-07-05  Michael Natterer  <mitch@gimp.org>

	* tools/pdbgen/Makefile.am (enum_headers): don't scan
	app/paint-funcs/paint-funcs-types.h for enums.

	* app/paint-funcs/paint-funcs-types.h: removed /*< pdb-skip >*/

	* app/core/core-types.h: reordered opaque typedefs to somehow
	match the categories in the comments.
2004-07-05 21:39:54 +00:00
Michael Natterer d2292ffe35 removed enum SizeType.
2004-07-05  Michael Natterer  <mitch@gimp.org>

	* app/core/core-types.h: removed enum SizeType.

	* app/text/text-enums.h: added it as enum GimpSizeType and added
	comment that it's for backward compatibility only.

	* tools/pdbgen/Makefile.am
	* tools/pdbgen/pdb/text_tool.pdb: changed accordingly.

	* libgimp/gimpenums.h
	* plug-ins/pygimp/gimpenums.py
	* plug-ins/script-fu/script-fu-constants.c
	* tools/pdbgen/enums.pl: regenerated (pdbgen insisted on
	reordering the enums).
2004-07-05 20:55:05 +00:00
Michael Natterer a31bbed6c7 #define MIN and MAX values for GimpCoords.pressure, .tilt and .wheel.
2004-07-05  Michael Natterer  <mitch@gimp.org>

	* app/core/core-types.h: #define MIN and MAX values for
	GimpCoords.pressure, .tilt and .wheel.

	* app/display/gimpdisplayshell-callbacks.c
	(gimp_display_shell_get_event_coords)
	(gimp_display_shell_get_device_coords): use the #defines instead
	of hardcoded magic values when CLAMP()ing event or device values.
2004-07-05 18:48:43 +00:00
Sven Neumann 6d25d84534 Removed the basename parameter and use the object name instead. Convert it
2004-07-05  Sven Neumann  <sven@gimp.org>

	* app/core/gimpdata.[ch] (gimp_data_create_filename): Removed the
	basename parameter and use the object name instead. Convert it to
	the filesystem encoding.

	* app/core/gimpdatafactory.c: changed accordingly.
2004-07-05 18:10:05 +00:00
Michael Natterer d476ee65ae added signal "color-changed" and emit it in gimp_channel_set_color() and
2004-07-05  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpchannel.[ch]: added signal "color-changed" and emit
	it in gimp_channel_set_color() and gimp_channel_set_opacity().

	* app/core/gimpimage-qmask.[ch]: added new functions
	gimp_image_set,get_qmask_color().

	* app/core/gimpimage.[ch]: install a "color-changed" handler on
	gimage->channels and update gimage->qmask_color when the qmask's
	color changes. Fixes bug #145361.

	* app/actions/qmask-commands.c: use the new qmask color API.
2004-07-05 11:18:34 +00:00
Tor Lillqvist ffa1d155c8 Drop a couple of unused variables.
2004-07-04  Tor Lillqvist  <tml@iki.fi>

	* app/core/gimpdrawable-equalize.c (gimp_drawable_equalize): Drop
	a couple of unused variables.

	* libgimpmodule/gimpmodule.def: Add gimp_module_register_enum.
2004-07-04 18:12:22 +00:00
Michael Natterer 23f6a194ac added context->serialize_props mask which enables specifying exactly which
2004-07-03  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpcontext.[ch]: added context->serialize_props mask
	which enables specifying exactly which properties will be
	serialized. Also fixes a bug that prevented undefined properties
	from being serialized, breaking tool_options and device status
	serialization.

	* app/core/gimptoolinfo.c (gimp_tool_info_new): make only the
	properties in the tool_info->context_props mask serializable, also
	configure/initialize tool_info->tool_options.

	* app/tools/gimp-tools.c (gimp_tools_register): removed
	tool_options initialization that is now done in
	gimp_tool_info_new().

	* app/widgets/gimpdeviceinfo.c: make only the properties in
	GIMP_DEVICE_INFO_CONTEXT_MASK serializable.

	* app/widgets/gimpdevicestatus.c: add the device table to its
	parent container again. Fixes "missing" devices.

	* app/core/gimptooloptions.c
	* app/widgets/gimpdevices.c: cleanup / code review.
2004-07-03 20:27:28 +00:00
Sven Neumann 6423529b86 app/gui/Makefile.am new files implementing a clipboard for image data
2004-07-02  Sven Neumann  <sven@gimp.org>

	* app/gui/Makefile.am
	* app/gui/clipboard.[ch]: new files implementing a clipboard for
	image data based on GDK_SELECTION_CLIPBOARD (bug #133247).

	* app/actions/edit-actions.c
	* app/actions/edit-commands.c: use the new clipboard API.

	* app/gui/gui.c: initialize and shutdown the clipboard.

	* app/core/gimpbuffer.c: cosmetics.

	* app/actions/actions.c
	* app/menus/menus.c: added sanity checks to exit functions.

	* app/display/gimpdisplayshell-dnd.[ch]: let
	gimp_display_shell_drop_svg() take a guchar * buffer.

	* app/widgets/gimpselectiondata.c (gimp_selection_data_get_pixbuf):
	fixed the implementation.
2004-07-02 14:08:15 +00:00
Sven Neumann d5fb658079 do like Liam taught us and use the golden ratio as default for new images.
2004-07-01  Sven Neumann  <sven@gimp.org>

	* app/core/gimptemplate.c: do like Liam taught us and use the
	golden ratio as default for new images.
2004-07-01 01:39:56 +00:00
Michael Natterer b13087adb9 added a GimpContext parameter and use it to start plug-ins.
2004-06-30  Michael Natterer  <mitch@gimp.org>

	* app/plug-in/plug-ins.[ch] (plug_ins_init): added a GimpContext
	parameter and use it to start plug-ins.

	* app/core/gimp.c (gimp_real_restore): pass the user context.
	Restores script-fu's access to the global FG, FG, brush, ...
2004-06-30 16:55:43 +00:00
Sven Neumann bec9f9a670 app/core/core-enums.c app/display/display-enums.c app/paint/paint-enums.c
2004-06-30  Sven Neumann  <sven@gimp.org>

	* app/core/core-enums.c
	* app/display/display-enums.c
	* app/paint/paint-enums.c
	* app/text/text-enums.c
	* app/widgets/widgets-enums.c: regenerated.
2004-06-30 16:05:24 +00:00
William Skaggs 8d4bdf5d60 Bill Skaggs <weskaggs@primate.ucdavis.edu>
* app/*/*-enums.h: did HIG-compliant capitalization in the right
	place, instead of the auto-generated *-enums.c files.
2004-06-30 15:47:32 +00:00
Michael Natterer 4022980314 Fixed a 1.2 -> 2.0 regression that was forgotten:
2004-06-30  Michael Natterer  <mitch@gimp.org>

	Fixed a 1.2 -> 2.0 regression that was forgotten:

	* app/widgets/widgets-enums.[ch]: added enum GimpColorPickState
	which can be one of { NEW, UPDATE }.

	* app/widgets/gimppaletteeditor.[ch]: changed #if 0'ed function
	gimp_palette_editor_update_color() to
	gimp_palette_editor_pick_color() and restored the functionality of
	creating/updating colors via this API

	Changed button_press handler to only edit the color on double
	click if it's really a double click on the same color.
	Fixes bug #141381.

	* app/tools/gimpcolorpickeroptions.[ch]: added boolean property
	"add-to-palette" and a GUI for it.

	* app/core/gimpmarshal.list
	* app/tools/gimpcolortool.[ch]: added a GimpColorPickState
	parameter to the "color_picked" signal. Pass NEW on button_press
	and UPDATE on motion.

	* app/tools/gimpcurvestool.c (gimp_curves_tool_color_picked)
	* app/tools/gimplevelstool.c (gimp_levels_tool_color_picked)
	* app/tools/gimppainttool.c (gimp_paint_tool_color_picked):
	changed accordingly

	* app/tools/gimpcolorpickertool.c (gimp_color_picker_tool_picked):
	If "add-to-palette" is TRUE, get the palette editor and call
	gimp_palette_editor_pick_color().
2004-06-30 12:10:08 +00:00
Michael Natterer 12355969f6 take const GimpRGB* instead of just GimpRGB*. Converted tabs to spaces.
2004-06-30  Michael Natterer  <mitch@gimp.org>

	* app/core/gimppalette.[ch] (gimp_palette_add_entry): take
	const GimpRGB* instead of just GimpRGB*.
	Converted tabs to spaces.
2004-06-30 11:09:44 +00:00
Michael Natterer 140d3d5c01 reordered parameters and members to be consistent with other places where
2004-06-25  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpbrushgenerated.[ch]: reordered parameters and
	members to be consistent with other places where generated
	brushes are used. Check for errors when loading a brush and
	utf8-validate its name. Cleanup.

	* app/core/gimpbrush.c
	* app/core/gimpbrushpipe.c: cleanup.
2004-06-25 13:41:24 +00:00
Michael Natterer 23c068bc75 added properties for all brush parameters.
2004-06-25  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpbrushgenerated.c: added properties for all brush
	parameters.

	* app/widgets/gimpbrusheditor.c: listen to property changes of the
	edited brush and update the scales accordingly.
2004-06-25 00:58:43 +00:00
Sven Neumann af16921d9b Applied a patch from Geert Jordaens that implements the GtkStatusbar
2004-06-19  Sven Neumann  <sven@gimp.org>

	Applied a patch from Geert Jordaens that implements the
	GtkStatusbar functionality in GimpStatusbar so that we can redo it
	in order to fix bug #120175:

	* app/core/gimpmarshal.list: added VOID: UINT, STRING.

	* app/display/gimpstatusbar.[ch]: copied GtkStatusbar code.

	* app/display/gimpdisplayshell.c: changed accordingly.
2004-06-19 13:31:58 +00:00
Michael Natterer 2a69c419f1 added gimp_boolean_handled_accum().
2004-06-17  Michael Natterer  <mitch@gimp.org>

	* app/core/gimp-utils.[ch]: added gimp_boolean_handled_accum().

	* app/core/gimp.c
	* app/widgets/gimpcontrollerinfo.c: use it.
2004-06-17 16:32:30 +00:00
Michael Natterer 75e6fc560b add newly created children to the container *after* deserializing them so
2004-06-17  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpcontainer.c (gimp_container_deserialize): add newly
	created children to the container *after* deserializing them so
	GimpContainer::add() callbacks get the already deserialized
	object.

	* app/widgets/gimpcontrollers.c: connect to "add" and "remove" of
	the controller list and remember / clear the wheel controller when
	it appears / disappears.
2004-06-17 16:25:36 +00:00
Philip Lafleur 52160f6ad7 Make transforms (most notably perspective transforms) conform exactly to
2004-06-17  Philip Lafleur  <plafleur@cvs.gnome.org>

	* app/core/gimpdrawable-transform.c (gimp_drawable_transform_tiles_affine):
	Make transforms (most notably perspective transforms) conform exactly
	to specified edges. Includes a patch by David Gowers. Fixes bug #144352.
2004-06-17 06:42:07 +00:00
Michael Natterer 3a7f7d54e7 added #define GIMP_CONTROLLER_PARAM_SERIALIZE. Made all properties
2004-06-16  Michael Natterer  <mitch@gimp.org>

	* libgimpwidgets/gimpcontroller.[ch]: added #define
	GIMP_CONTROLLER_PARAM_SERIALIZE. Made all properties serializable.

	* modules/controller_linux_input.c: made "device-name"
	serializable.

	* app/config/gimpconfig-params.h: added macro
	GIMP_CONFIG_INSTALL_PROP_POINTER() which needs to be handled
	by custom (de)serialize_property() implementations.

	* app/config/gimpconfig-deserialize.c
	* app/config/gimpconfig-serialize.c: made object (de)serialization
	work for object properties which are *not* GIMP_PARAM_AGGREGATE.
	Write/parse the exact type of the object to create to enable this.

	* app/core/gimpmarshal.list: new marshaller for GimpControllerInfo.

	* app/widgets/gimpcontrollerinfo.[ch]: implement GimpConfigInterface
	and add "controller" and "mapping" properties. Add "event-mapped"
	signal which carries the action_name.

	* app/widgets/gimpcontrollers.c: removed all deserialization code
	and simply (de)serialize the controller container. Install a
	container handler for "event-mapped" and do the action_name ->
	action mapping in the callback.

	* etc/controllerrc: regenerated with new syntax. Delete your old one!
2004-06-16 18:14:44 +00:00
Philip Lafleur 8059d9aa29 Don't round texture coordinates when not using interpolation. Fixes bug
2004-06-15  Philip Lafleur  <plafleur@cvs.gnome.org>

	* app/core/gimpdrawable-transform.c (gimp_drawable_transform_tiles_affine):
	Don't round texture coordinates when not using interpolation. Fixes
	bug #144352 for the nearest neighbor case only.
2004-06-15 08:18:13 +00:00
Sven Neumann 2b78805a89 declared gimp_drawable_transform_cubic() as inline function. Makes
2004-06-14  Sven Neumann  <sven@gimp.org>

	* app/core/gimpdrawable-transform.c: declared
	gimp_drawable_transform_cubic() as inline function. Makes
	sample_cubic() run about 10% faster and causes a 7% speedup on
	cubic transformations.

	* app/paint-funcs/paint-funcs.c (border_region): avoid an
	unnecessary memory allocation.
2004-06-14 13:38:31 +00:00
Sven Neumann b9211077cd added progress callback.
2004-06-13  Sven Neumann  <sven@gimp.org>

	* app/paint-funcs/paint-funcs.[ch] (shapeburst_region): added
	progress callback.

	* app/core/gimpdrawable-blend.c: show a progress while calculating
	the Shapeburst. Not perfect but better than not showing any
	progress at all.
2004-06-13 10:52:42 +00:00
Philip Lafleur a6801996e4 added missing semicolon.
2004-06-12  Philip Lafleur  <plafleur@cvs.gnome.org>

	* app/core/gimpdrawable-blend.c: added missing semicolon.
2004-06-13 01:57:26 +00:00
Sven Neumann c28d70ce00 inline the repeat functions.
2004-06-13  Sven Neumann  <sven@gimp.org>

	* app/core/gimpdrawable-blend.c (gradient_render_pixel): inline
	the repeat functions.

	* app/core/gimpgradient.c: inline the curve functions.
2004-06-13 01:17:57 +00:00
Sven Neumann de758bbe93 don't use the rather inefficient gimp_palette_add_entry() when loading a
2004-06-13  Sven Neumann  <sven@gimp.org>

	* app/core/gimppalette.c (gimp_palette_load): don't use the rather
	inefficient gimp_palette_add_entry() when loading a palette.
2004-06-12 22:28:13 +00:00
Michael Natterer b490b26283 added "gint freeze_count" and gimp_data_freeze()/thaw() functions. Emit
2004-06-13  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpdata.[ch]: added "gint freeze_count" and
	gimp_data_freeze()/thaw() functions. Emit "dirty" only if
	freeze_count either is 0 or drops to 0.

	* app/core/gimpbrushgenerated.[ch]
	* app/core/gimpgradient.[ch]: removed freeze/thaw stuff that
	was duplicated in these two subclasses and use the new
	GimpData API instead.

	* app/widgets/gimpbrusheditor.c
	* app/widgets/gimpgradienteditor.c: changed accordingly.
2004-06-12 22:13:31 +00:00
Simon Budig cb777787ed renamed gimp_coords_length2 to gimp_coords_length_squared.
2004-06-09  Simon Budig  <simon@gimp.org>

	* app/core/gimpcoords.[ch]: renamed gimp_coords_length2 to
	gimp_coords_length_squared.

	* app/vectors/gimpbezierstroke.c: Changed accordingly
2004-06-09 12:44:13 +00:00
Michael Natterer 49e3657a06 don't set layer->mask's offsets. It is wrong because
2004-06-07  Michael Natterer  <mitch@gimp.org>

	* app/core/gimplayer.c (gimp_layer_set_tiles): don't set
	layer->mask's offsets. It is wrong because GimpDrawable::set_tiles()
	is a lowlevel function which is used by stuff like scale and
	resize which keep the mask in sync explicitely and don't expect it
	to be moved in the middle of chaining up. Fixes bug #143860.
2004-06-07 15:13:54 +00:00
Sven Neumann 506c4c7101 if a Title is set, use that as the pattern name.
2004-06-03  Sven Neumann  <sven@gimp.org>

	* app/core/gimppattern.c (gimp_pattern_load_pixbuf): if a Title is
	set, use that as the pattern name.
2004-06-03 12:01:17 +00:00
Sven Neumann 532d42d012 removed commented-out message.
2004-06-03  Sven Neumann  <sven@gimp.org>

	* app/core/gimpdatafactory.c (gimp_data_factory_load_data):
	removed commented-out message.

	* app/core/gimppattern.[ch]: fixed handling of errors and PNG
	comments in new pattern loader. Renamed functions for consistency
	with other data loaders.

	* app/core/gimp.c: changed accordingly.
2004-06-03 11:34:51 +00:00
Dave Neary d088fd3fe1 Add support for GdkPixbuf patterns, so now all of png, jpex, pnm, xbm,
2004-06-03  Dave Neary  <bolsh@gimp.org>

        * app/core/gimp.c:
        * app/core/gimpdatafactory.c:
        * app/core/gimppattern.[ch]: Add support for GdkPixbuf patterns,
        so now all of png, jpex, pnm, xbm, bmp, gif, ico, pcx, ras, tga,
        xpm and tiff can be used for patterns.
2004-06-03 11:03:53 +00:00
Sven Neumann c509204b7d tools/pdbgen/pdb/image.pdb app/pdb/image_cmds.c reverted changes I did to
2004-06-01  Sven Neumann  <sven@gimp.org>

	* tools/pdbgen/pdb/image.pdb
	* app/pdb/image_cmds.c
	* app/core/gimpimage.[ch]: reverted changes I did to the image
	unit earlier. As in 2.0, it will continue to not accept pixels.
	This makes the PDB API and the XCF format compatible again and
	fixes bug #142961 (and to some extent bug #137704).

	* app/core/Makefile.am
	* app/core/gimpimage-unit.[ch]: removed these files. The
	convenience accessors defined here aren't commonly used any
	longer.

	* app/display/gimpdisplay.[ch]
	* app/display/gimpdisplayshell.[ch]: added a unit parameter to
	gimp_display_new(). Made "unit" and "scale" properties of
	GimpDisplayShell.

	* app/actions/image-commands.c
	* app/actions/images-commands.c
	* app/actions/layers-commands.c
	* app/actions/select-commands.c
	* app/actions/view-commands.c
	* app/core/gimp-edit.c
	* app/core/gimp.[ch]
	* app/core/gimptemplate.c
	* app/display/gimpdisplayshell-handlers.c
	* app/display/gimpdisplayshell-scale.c
	* app/display/gimpdisplayshell-title.c
	* app/display/gimpstatusbar.c
	* app/file/file-open.c
	* app/gui/gui-vtable.c
	* app/gui/info-window.c
	* app/gui/offset-dialog.c
	* app/gui/resize-dialog.[ch]
	* app/pdb/display_cmds.c
	* app/tools/gimpcroptool.c
	* app/tools/gimpmeasuretool.c
	* app/tools/gimppainttool.c
	* app/tools/gimprectselecttool.c
	* app/tools/gimprotatetool.c
	* app/tools/gimpscaletool.c
	* app/vectors/gimpvectors-export.c
	* app/widgets/gimptoolbox-dnd.c
	* tools/pdbgen/pdb/display.pdb: changed accordingly. Use the
	display unit where the image unit was used before.
2004-06-01 22:04:20 +00:00
Michael Natterer 149888b5d4 added new function gimp_data_factory_data_delete().
2004-06-01  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpdatafactory.[ch]: added new function
	gimp_data_factory_data_delete().

	* app/actions/data-commands.c (data_delete_callback): use it.

	* tools/pdbgen/pdb/gradients.pdb: applied (slightly modified)
	patch from Shlomi Fish which adds PDB wrappers to create, delete,
	duplicate and rename gradients.

	* app/pdb/gradients_cmds.c
	* app/pdb/internal_procs.c
	* libgimp/gimpgradients_pdb.[ch]: regenerated.
2004-06-01 21:37:36 +00:00
Michael Natterer c399ae1fe9 renamed the values of the GimpGradientSegment* enums from GIMP_GRAD_* to
2004-06-01  Michael Natterer  <mitch@gimp.org>

	* app/core/core-enums.h: renamed the values of the
	GimpGradientSegment* enums from GIMP_GRAD_* to
	GIMP_GRADIENT_SEGMENT_* because they are exported now.

	* app/core/gimp-gradients.c
	* app/core/gimpgradient.c
	* app/actions/gradient-editor-actions.c: changed accordingly.

	* libgimp/gimpenums.h
	* plug-ins/pygimp/gimpenums.py
	* plug-ins/script-fu/script-fu-constants.c
	* tools/pdbgen/enums.pl: regenerated.
2004-06-01 18:49:50 +00:00
Michael Natterer 421024cc5c app/core/core-enums.h app/core/gimpgradient.[ch] app/pdb/Makefile.am
2004-05-31  Michael Natterer  <mitch@gimp.org>

	* app/core/core-enums.h
	* app/core/gimpgradient.[ch]
	* app/pdb/Makefile.am
	* app/widgets/gimpgradienteditor.c
	* tools/pdbgen/Makefile.am
	* tools/pdbgen/groups.pl
	* tools/pdbgen/pdb/gradient_edit.pdb: applied a patch from Shlomi
	Fish that adds lots of gradient edit functions to
	gimpgradient.[ch] and makes them available through the PDB.
	Fixes bug #129675 and bug #129678.

	Did some cleanups / enhancments to the patch:

	* app/core/gimpgradient.[ch]: changed the naming scheme of the new
	functions and changed old functions to match the new scheme.
	Introduce a "freeze_count" and public freeze()/thaw() API which
	enables subsequent gradient changes without "dirty" being emitted
	all the time.  Added GimpGradient parameters to all functions
	which modify the gradient.

	* app/widgets/gimpgradienteditor.c: use the new freeze/thaw
	stuff to keep the gradient from updating when not in
	"Instant Update" mode.

	* app/actions/gradient-editor-commands.c: removed all gradient
	editing code and call the new core functions.

	* libgimp/Makefile.am
	* tools/pdbgen/pdb/gradient_edit.pdb: changed the namespace of all
	added functions. Generate libgimp wrappers for them..

	* app/pdb/gradient_edit_cmds.c
	* app/pdb/internal_procs.c
	* libgimp/gimp_pdb.h
	* libgimp/gimpenums.h
	* libgimp/gimpgradientedit_pdb.[ch]
	* plug-ins/pygimp/gimpenums.py
	* plug-ins/script-fu/script-fu-constants.c
	* tools/pdbgen/enums.pl: (re)generated.
2004-05-30 22:04:16 +00:00