Commit Graph

237 Commits

Author SHA1 Message Date
Sven Neumann 9070d8364a optimized for the case where gamma is 1.0.
2008-05-11  Sven Neumann  <sven@gimp.org>

	* app/gegl/gimpoperationlevels.c (gimp_operation_levels_map):
	optimized for the case where gamma is 1.0.


svn path=/trunk/; revision=25636
2008-05-11 09:51:15 +00:00
Sven Neumann c12e89a032 app/app.c reverted change from 2008-01-31. Use the GEGL option group again
2008-04-25  Sven Neumann  <sven@gimp.org>

	* app/app.c
	* app/gegl/gimp-gegl.c: reverted change from 2008-01-31. Use the
	GEGL option group again now that GEGL provides some commmand-line
	options.

svn path=/trunk/; revision=25524
2008-04-25 11:44:00 +00:00
Sven Neumann f1196fd405 added missing file.
2008-04-07  Sven Neumann  <sven@gimp.org>

	* app/gegl/Makefile.am (libappgegl_a_SOURCES): added missing 
file.

	* app/tools/tools-enums.c: regenerated.


svn path=/trunk/; revision=25404
2008-04-07 20:56:03 +00:00
Michael Natterer f4378d6237 get rid of fixed-size arrays and allocate the points and curve arrays
2008-02-28  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpcurve.[ch]: get rid of fixed-size arrays and
	allocate the points and curve arrays dynamically. Added "n-points"
	and "n-samples" CONSTRUCT_ONLY properties. Renamed member "curve"
	to "samples". Lots of code changes to work with dynamic limits
	rather than 17 and 256.

	* app/core/gimpdrawable-curves.c
	* app/gegl/gimpcurvesconfig.c
	* app/tools/gimpcurvestool.c
	* app/widgets/gimpcurveview.c: changed accordingly.


svn path=/trunk/; revision=24995
2008-02-28 12:34:46 +00:00
Michael Natterer c409f1b8a7 app/gegl/gimpoperationcolorbalance.c app/gegl/gimpoperationcolorize.c
2008-02-12  Michael Natterer  <mitch@gimp.org>

	* app/gegl/gimpoperationcolorbalance.c
	* app/gegl/gimpoperationcolorize.c
	* app/gegl/gimpoperationcurves.c
	* app/gegl/gimpoperationdesaturate.c
	* app/gegl/gimpoperationhuesaturation.c
	* app/gegl/gimpoperationlevels.c
	* app/gegl/gimpoperationposterize.c
	* app/gegl/gimpoperationthreshold.c
	* app/gegl/gimpoperationtilesink.c
	* app/gegl/gimpoperationtilesource.c: added categories and very
	lame descriptions. Dunno if the categories are good that way but
	at least they are not NULL now.


svn path=/trunk/; revision=24876
2008-02-12 16:56:36 +00:00
Michael Natterer 168566ad3e add gimp_curve_get_point().
2008-02-11  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpcurve.[ch]: add gimp_curve_get_point().

	* app/gegl/gimpcurvesconfig.c
	* app/widgets/gimpcurveview.c: use it instead of accessing the
	points array directly.


svn path=/trunk/; revision=24857
2008-02-11 10:22:59 +00:00
Øyvind Kolås 75a3786e8a context_id argument was removed from the process() call of
* app/gegl/gimpoperationtilesource.c: context_id argument was removed
from the process() call of GeglOperationSource.

svn path=/trunk/; revision=24854
2008-02-11 00:14:52 +00:00
Øyvind Kolås 7bc014f016 %s/get_defined_region/get_bounding_box/
* app/gegl/gimpoperationtilesource.c:
%s/get_defined_region/get_bounding_box/
%s/adjust_result_region/get_cached_region/

svn path=/trunk/; revision=24843
2008-02-09 20:48:51 +00:00
Michael Natterer 797309b220 keep the anchor points as an array of GimpVector2 instead of plain
2008-02-09  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpcurve.[ch]: keep the anchor points as an array of
	GimpVector2 instead of plain doubles.

	* app/gegl/gimpcurvesconfig.c
	* app/widgets/gimpcurveview.c: changed accordingly.


svn path=/trunk/; revision=24842
2008-02-09 17:40:57 +00:00
Michael Natterer 044359f93d changed all values to be [0.0..1.0] doubles instead of [0..255] integers.
2008-02-09  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpcurve.[ch]: changed all values to be [0.0..1.0]
	doubles instead of [0..255] integers. Also changed the API to use
	doubles instead of ints. Still have the fixed-size arrays though.

	(gimp_curve_map): new function to map values.

	* app/gegl/gimpoperationcurves.c: remove private map() function
	and use the one from GimpCurve.

	* app/gegl/gimpcurvesconfig.c
	* app/core/gimpdrawable-curves.c: port to the new gdouble API.

	* app/tools/gimpcurvestool.c: use gimp_curve_get_uchar() to get
	the arrays for the color bars.

	* app/widgets/gimpcurveview.[ch]: port to gdouble and some cleanup.


svn path=/trunk/; revision=24837
2008-02-09 10:01:51 +00:00
Michael Natterer ce99c14bae app/gegl/gimpoperationposterize.c don't crash if there is no config
2008-02-06  Michael Natterer  <mitch@gimp.org>

	* app/gegl/gimpoperationposterize.c
	* app/gegl/gimpoperationhuesaturation.c (process): don't crash if
	there is no config object.


svn path=/trunk/; revision=24821
2008-02-06 15:08:18 +00:00
Michael Natterer a86a237fdc don't crash if there is no config object.
2008-02-06  Michael Natterer  <mitch@gimp.org>

	* app/gegl/gimpoperationhuesaturation.c
	(gimp_operation_hue_saturation_process): don't crash if there is
	no config object.


svn path=/trunk/; revision=24820
2008-02-06 15:06:44 +00:00
Michael Natterer 96fd65ed40 add "gboolean color" parameter to gimp_threshold_config_to_cruft() and set
2008-02-04  Michael Natterer  <mitch@gimp.org>

	* app/gegl/gimpthresholdconfig.[ch]: add "gboolean color"
	parameter to gimp_threshold_config_to_cruft() and set the "color"
	boolean in the Threshold cruft struct.

	* app/tools/gimpthresholdtool.c: don't fiddle with the cruft
	struct any longer and pass gimp_drawable_is_rgb() to above
	function instead.


svn path=/trunk/; revision=24778
2008-02-03 23:50:55 +00:00
Michael Natterer 27f1ccd4bd app/core/core-types.h have app/gegl know app/core's namespace.
2008-02-01  Michael Natterer  <mitch@gimp.org>

	* app/core/core-types.h
	* app/gegl/gegl-types.h: have app/gegl know app/core's namespace.

	* app/gegl/gimpoperationcurves.h: remove temp hack includes.

	* app/gegl/gimpoperationcurves.c: include "core/gimpcurve.h"

	* app/gegl/gimpbrightnesscontrastconfig.[ch]
	* app/gegl/gimpcolorbalanceconfig.[ch]
	* app/gegl/gimpcolorizeconfig.[ch]
	* app/gegl/gimpcurvesconfig.[ch]
	* app/gegl/gimphuesaturationconfig.[ch]
	* app/gegl/gimplevelsconfig.[ch]
	* app/gegl/gimpoperationcurves.[ch]
	* app/gegl/gimpposterizeconfig.[ch]
	* app/gegl/gimpthresholdconfig.[ch]: derive from GimpViewable, install
	properties using the GimpConfig macros, add implementations of
	GimpConfigInterface::equal() and ::copy() where needed.

	* app/tools/gimpimagemaptool.[ch]: add prototype of a menu of
	recently used settings so the same color correction can easily be
	applied to many images.


svn path=/trunk/; revision=24770
2008-02-01 12:45:32 +00:00
Sven Neumann 8ebbad1b55 Delay GEGL initialisation until after the command-line parsing so that we
2008-01-31  Sven Neumann  <sven@gimp.org>

	Delay GEGL initialisation until after the command-line parsing 
so
	that we can detect an already running GIMP instance and delegate
	to that without going through the GEGL and babl initialisation.
	
	* app/app.c (app_libs_init): don't add the GEGL options group
	here.  GEGL doesn't add any command-line options and it doesn't
	look as if it would do that anytime soon.

	* app/gegl/gimp-gegl.c (gimp_gegl_init): initialize GEGL here.


svn path=/trunk/; revision=24762
2008-01-31 19:08:53 +00:00
Øyvind Kolås 47fc721161 stop using gegl_operation_class_set_name() for gimp gegl ops.
* app/gegl/gimpoperationcolorbalance.c:
* app/gegl/gimpoperationcolorize.c:
* app/gegl/gimpoperationcurves.c:
* app/gegl/gimpoperationdesaturate.c:
* app/gegl/gimpoperationhuesaturation.c:
* app/gegl/gimpoperationlevels.c:
* app/gegl/gimpoperationposterize.c:
* app/gegl/gimpoperationthreshold.c:
* app/gegl/gimpoperationtilesink.c:
* app/gegl/gimpoperationtilesource.c:
* app/gegl/gimpoperationdesaturate.c: stop using
gegl_operation_class_set_name() for gimp gegl ops.

svn path=/trunk/; revision=24750
2008-01-30 17:44:06 +00:00
Øyvind Kolås 5308296940 stop using gegl_operation_class_set_name() for gimp gegl-ops before
* app/gegl/gimpoperationcolorbalance.c:
* app/gegl/gimpoperationcolorize.c:
* app/gegl/gimpoperationcurves.c:
* app/gegl/gimpoperationdesaturate.c: stop using
gegl_operation_class_set_name() for gimp gegl-ops before #warning in
build.

svn path=/trunk/; revision=24749
2008-01-30 17:17:27 +00:00
Michael Natterer 2850652503 app/gegl/gimpcolorbalanceconfig.c app/gegl/gimpcurvesconfig.c
2008-01-30  Michael Natterer  <mitch@gimp.org>

	* app/gegl/gimpcolorbalanceconfig.c
	* app/gegl/gimpcurvesconfig.c
	* app/gegl/gimphuesaturationconfig.c
	* app/gegl/gimplevelsconfig.c: add missing notifications on
	property changes.


svn path=/trunk/; revision=24748
2008-01-30 15:48:23 +00:00
Michael Natterer 0e6699ef5a app/gegl/gimpoperationtilesink.c return FALSE when there is no tile
2008-01-28  Michael Natterer  <mitch@gimp.org>

	* app/gegl/gimpoperationtilesink.c
	* app/gegl/gimpoperationtilesource.c (process): return FALSE when
	there is no tile manager.


svn path=/trunk/; revision=24740
2008-01-28 21:49:00 +00:00
Michael Natterer 2b2bd6e90a app/gegl/gimpoperationcolorbalance.c app/gegl/gimpoperationcolorize.c
2008-01-28  Michael Natterer  <mitch@gimp.org>

	* app/gegl/gimpoperationcolorbalance.c
	* app/gegl/gimpoperationcolorize.c
	* app/gegl/gimpoperationcurves.c
	* app/gegl/gimpoperationdesaturate.c
	* app/gegl/gimpoperationhuesaturation.c
	* app/gegl/gimpoperationlevels.c
	* app/gegl/gimpoperationposterize.c
	* app/gegl/gimpoperationthreshold.c: replace for() loops over the
	samples by while() loop counting down the passed "samples"
	parameter.


svn path=/trunk/; revision=24738
2008-01-28 20:42:48 +00:00
Michael Natterer 4e93a8068c app/gegl/gimpcolorbalanceconfig.c app/gegl/gimpcolorizeconfig.c
2008-01-28  Michael Natterer  <mitch@gimp.org>

	* app/gegl/gimpcolorbalanceconfig.c
	* app/gegl/gimpcolorizeconfig.c
	* app/gegl/gimpcurvesconfig.c
	* app/gegl/gimphuesaturationconfig.c
	* app/gegl/gimplevelsconfig.c
	* app/gegl/gimpoperationdesaturate.c
	* app/gegl/gimpoperationtilesink.c
	* app/gegl/gimpoperationtilesource.c
	* app/gegl/gimpposterizeconfig.c
	* app/gegl/gimpthresholdconfig.c: coding style paranoia: changed
	one byte per file.


svn path=/trunk/; revision=24737
2008-01-28 18:57:11 +00:00
Michael Natterer 06d8a2e5c6 app/gegl/gegl-types.h app/gegl/Makefile.am new config object.
2008-01-28  Michael Natterer  <mitch@gimp.org>

	* app/gegl/gegl-types.h
	* app/gegl/Makefile.am
	* app/gegl/gimpbrightnesscontrastconfig.[ch]: new config object.

	* app/tools/gimpbrightnesscontrasttool.[ch]: use it.


svn path=/trunk/; revision=24735
2008-01-28 18:45:53 +00:00
Michael Natterer f200f9ca29 app/gegl/gimpcolorbalanceconfig.[ch] app/gegl/gimpcolorizeconfig.[ch]
2008-01-27  Michael Natterer  <mitch@gimp.org>

	* app/gegl/gimpcolorbalanceconfig.[ch]
	* app/gegl/gimpcolorizeconfig.[ch]
	* app/gegl/gimpcurvesconfig.[ch]
	* app/gegl/gimphuesaturationconfig.[ch]
	* app/gegl/gimplevelsconfig.[ch]
	* app/gegl/gimpposterizeconfig.[ch]
	* app/gegl/gimpthresholdconfig.[ch]: implement the GimpConfig
	interface and remove public reset() functions except special ones
	which reset only parts of the objects. Add lots of property
	notifications.

	* app/tools/gimpcolorbalancetool.c
	* app/tools/gimpcolorizetool.c
	* app/tools/gimpcurvestool.c
	* app/tools/gimphuesaturationtool.c
	* app/tools/gimplevelstool.c
	* app/tools/gimpposterizetool.c
	* app/tools/gimpthresholdtool.c: use gimp_config_reset(), misc.
	related changes and cleanups.


svn path=/trunk/; revision=24724
2008-01-27 17:39:01 +00:00
Michael Natterer a85213cd5f app/gegl/Makefile.am app/gegl/gegl-types.h new parent class for all image
2008-01-25  Michael Natterer  <mitch@gimp.org>

	* app/gegl/Makefile.am
	* app/gegl/gegl-types.h
	* app/gegl/gimpoperationpointfilter.[ch]: new parent class for all
	image map operations. Features a "config" member and "public"
	get_property() and set_property() functions to be used by
	subclasses.

	* app/gegl/gimpoperationcolorbalance.[ch]
	* app/gegl/gimpoperationcolorize.[ch]
	* app/gegl/gimpoperationcurves.[ch]
	* app/gegl/gimpoperationhuesaturation.[ch]
	* app/gegl/gimpoperationlevels.[ch]
	* app/gegl/gimpoperationposterize.[ch]
	* app/gegl/gimpoperationthreshold.[ch]: derive from
	GimpOperationPointFilter, remove "config" members, remove
	finalize(), get_property() and set_property() implementations and
	use the ones provided by the parent class.


svn path=/trunk/; revision=24713
2008-01-25 20:50:32 +00:00
Michael Natterer e79955d9ad app/gegl/Makefile.am app/gegl/gegl-types.h new config object.
2008-01-25  Michael Natterer  <mitch@gimp.org>

	* app/gegl/Makefile.am
	* app/gegl/gegl-types.h
	* app/gegl/gimpposterizeconfig.[ch]: new config object.

	* app/gegl/gimpoperationposterize.[ch]
	* app/tools/gimpposterizetool.[ch]: use it.


svn path=/trunk/; revision=24711
2008-01-25 18:35:10 +00:00
Michael Natterer f848ac07ca app/gegl/gimpcurvesconfig.[ch] add load_cruft() and save_cruft() functions
2008-01-25  Michael Natterer  <mitch@gimp.org>

	* app/gegl/gimpcurvesconfig.[ch]
	* app/gegl/gimplevelsconfig.[ch]: add load_cruft() and
	save_cruft() functions which load/save the old (current) curves
	and levels file formats.

	* app/tools/gimpcurvestool.c
	* app/tools/gimplevelstool.c: use them here and remove a lot of
	includes.


svn path=/trunk/; revision=24708
2008-01-25 13:02:37 +00:00
Michael Natterer efeeb58546 app/gegl/Makefile.am app/gegl/gegl-types.h new config object.
2008-01-25  Michael Natterer  <mitch@gimp.org>

	* app/gegl/Makefile.am
	* app/gegl/gegl-types.h
	* app/gegl/gimpthresholdconfig.[ch]: new config object.

	* app/gegl/gimpoperationthreshold.[ch]: use it.

	* app/tools/gimpthresholdtool.[ch]: ditto.


svn path=/trunk/; revision=24706
2008-01-25 11:42:07 +00:00
Michael Natterer b25559c3e5 app/gegl/Makefile.am app/gegl/gegl-types.h new config object.
2008-01-24  Michael Natterer  <mitch@gimp.org>

	* app/gegl/Makefile.am
	* app/gegl/gegl-types.h
	* app/gegl/gimpcolorbalanceconfig.[ch]: new config object.

	* app/gegl/gimpoperationcolorbalance.[ch]: use it.

	* app/tools/gimpcolorbalancetool.[ch]: port to
	GimpColorBalanceConfig and use the old ColorBalance cruft only in
	map(). The effect of the GEGL operator is now even more different
	from the cruft code because I removed a hack that was applying an
	additional factor when mapping between the ColorBalance values and
	the new properties, but that was only a workaround to make it look
	more similar anyway. Will have to fix this properly.

	* app/base/color-balance.[ch]: remove API that is now obsolete.


svn path=/trunk/; revision=24701
2008-01-24 10:37:21 +00:00
Michael Natterer fdc4eded22 added reset() and to_cruft() functions.
2008-01-24  Michael Natterer  <mitch@gimp.org>

	* app/gegl/gimpcolorizeconfig.[ch]: added reset() and to_cruft()
	functions.

	* app/tools/gimpcolorizetool.c: use them.


svn path=/trunk/; revision=24698
2008-01-24 09:06:50 +00:00
Michael Natterer df24e66869 call hue_saturation_calculate_transfers() here...
2008-01-23  Michael Natterer  <mitch@gimp.org>

	* app/gegl/gimphuesaturationconfig.[ch]
	(gimp_hue_saturation_config_to_cruft): call
	hue_saturation_calculate_transfers() here...

	* app/tools/gimphuesaturationtool.c (gimp_hue_saturation_tool_map):
	...instead of here.


svn path=/trunk/; revision=24693
2008-01-23 16:51:33 +00:00
Michael Natterer 17e0ee4192 to_levels_cruft() -> to_cruft().
2008-01-23  Michael Natterer  <mitch@gimp.org>

	* app/gegl/gimplevelsconfig.[ch]: to_levels_cruft() -> to_cruft().

	* app/core/gimpdrawable-levels.c
	* app/tools/gimplevelstool.c: changed accordingly.


svn path=/trunk/; revision=24692
2008-01-23 16:49:05 +00:00
Michael Natterer 8990062156 app/gegl/Makefile.am app/gegl/gegl-types.h app/gegl/gimpcurvesconfig.[ch]
2008-01-23  Michael Natterer  <mitch@gimp.org>

	* app/gegl/Makefile.am
	* app/gegl/gegl-types.h
	* app/gegl/gimpcurvesconfig.[ch]
	* app/gegl/gimpoperationcurves.[ch]: add curves operation and its
	config object. Hack around badly to be able to use GimpCurve from
	app/core.

	* app/gegl/gimp-gegl.c: register the curves operation.

	* app/tools/gimpcurvestool.[ch]: added get_operation() implemenetation
	and use the new config object instead of keeping around 5 curves.


svn path=/trunk/; revision=24683
2008-01-23 09:28:16 +00:00
Michael Natterer 5d07620d58 new utility function which maps a single value.
2008-01-23  Michael Natterer  <mitch@gimp.org>

	* app/gegl/gimpoperationlevels.[ch]
	(gimp_operation_levels_map_input): new utility function which maps
	a single value.

	* app/tools/gimplevelstool.[ch] (levels_update_adjustments): use the
	new function to create the input arrays for gimp_color_bar_set_buffer().

	Removed the Levels struct from the GimpLevelsTool struct and only
	use it in map() when needed.

	* app/base/levels.[ch]: remove obsolete API and struct members.


svn path=/trunk/; revision=24682
2008-01-23 08:48:29 +00:00
Michael Natterer 14a20cc3d7 app/gegl/Makefile.am app/gegl/gegl-types.h new config object.
2008-01-22  Michael Natterer  <mitch@gimp.org>

	* app/gegl/Makefile.am
	* app/gegl/gegl-types.h
	* app/gegl/gimphuesaturationconfig.[ch]: new config object.

	* app/gegl/gimpoperationhuesaturation.[ch]: remove all properties
	and add a "config" property. Also add API to map a single GimpRGB
	needed by the hue-saturation tool's color areas.

	* app/tools/gimphuesaturationtool.[ch]: switch to using
	GimpHueSaturationConfig, use the old HueSaturation struct only in
	map().

	* app/base/hue-saturation.[ch]: remove API that's no longer needed.


svn path=/trunk/; revision=24667
2008-01-22 09:49:40 +00:00
Øyvind Kolås 7c9aab939f #include <gegl-plugin.h>
* app/gegl/gimpoperationcolorbalance.h:
* app/gegl/gimpoperationcolorize.h:
* app/gegl/gimpoperationdesaturate.h:
* app/gegl/gimpoperationhuesaturation.h:
* app/gegl/gimpoperationlevels.h:
* app/gegl/gimpoperationposterize.h:
* app/gegl/gimpoperationthreshold.h:
* app/gegl/gimpoperationtilesink.h:
* app/gegl/gimpoperationtilesource.h: #include <gegl-plugin.h>

svn path=/trunk/; revision=24666
2008-01-22 01:23:31 +00:00
Michael Natterer 89146f4433 add utility function gimp_levels_config_to_levels_cruft() which fills the
2008-01-21  Michael Natterer  <mitch@gimp.org>

	* app/gegl/gimplevelsconfig.[ch]: add utility function
	gimp_levels_config_to_levels_cruft() which fills the old Levels
	struct from a GimpLevelsConfig object.

	* app/tools/gimplevelstool.c: use it.


svn path=/trunk/; revision=24658
2008-01-21 12:03:19 +00:00
Michael Natterer d32f480ee8 app/gegl/gimpcolorizeconfig.h add missing type macros.
2008-01-21  Michael Natterer  <mitch@gimp.org>

	* app/gegl/gimpcolorizeconfig.h
	* app/gegl/gimpoperationcolorize.h: add missing type macros.


svn path=/trunk/; revision=24657
2008-01-21 10:18:03 +00:00
Øyvind Kolås d52fa528c4 Removed copies of GEGL headers from GIMP source, depend on installed
headers instead. GIMP trunk still depends on GEGL trunk but we're
moving towards a time when GIMMP can depend on a GEGL tarball instead.
* app/gegl/gegl/gegl-operation-filter.h:
* app/gegl/gegl/gegl-operation-point-filter.h:
* app/gegl/gegl/gegl-operation-sink.h:
* app/gegl/gegl/gegl-operation-source.h:
* app/gegl/gegl/gegl-operation.h:
* app/gegl/gegl/gegl-types.h:
* app/gegl/gegl/: removed.
* app/gegl/gimpoperationcolorbalance.h:
* app/gegl/gimpoperationcolorize.h:
* app/gegl/gimpoperationdesaturate.h:
* app/gegl/gimpoperationhuesaturation.h:
* app/gegl/gimpoperationlevels.h:
* app/gegl/gimpoperationposterize.h:
* app/gegl/gimpoperationthreshold.h:
* app/gegl/gimpoperationtilesink.h:
* app/gegl/gimpoperationtilesource.h: modified path to parent class'
header file.

svn path=/trunk/; revision=24653
2008-01-19 00:01:44 +00:00
Michael Natterer 30907dbd76 app/gegl/Makefile.am app/gegl/gegl-types.h new config object.
2008-01-18  Michael Natterer  <mitch@gimp.org>

	* app/gegl/Makefile.am
	* app/gegl/gegl-types.h
	* app/gegl/gimpcolorizeconfig.[ch]: new config object.

	* app/gegl/gimpoperationcolorize.[ch]: remove all properties and
	add a "config" property.

	* app/tools/gimpcolorizetool.[ch]: port to GimpColorizeConfig, use
	the old Colorize struct only in map().


svn path=/trunk/; revision=24647
2008-01-18 14:44:27 +00:00
Michael Natterer a09925eae8 ported the stretch and pick functions from base/levels.c.
2008-01-18  Michael Natterer  <mitch@gimp.org>

	* app/gegl/gimplevelsconfig.[ch]: ported the stretch and pick
	functions from base/levels.c.

	* app/tools/gimplevelstool.[ch]: use them instead of the old
	stuff. Also switch to GimpLevelsConfig as primary storage for all
	settings and fill the old Levels struct only when needed in map().
	Remove all hackish fiddling with levels_tool->channel because it
	is now always what is set in the menu.


svn path=/trunk/; revision=24646
2008-01-18 13:54:46 +00:00
Michael Natterer ca8d74160f app/gegl/gimpoperationtilesink.c (class_init) cosmetic.
2008-01-18  Michael Natterer  <mitch@gimp.org>

	* app/gegl/gimpoperationtilesink.c (class_init)
	* app/gegl/gimpoperationcolorize.c (class_init): cosmetic.


svn path=/trunk/; revision=24645
2008-01-18 13:48:25 +00:00
Øyvind Kolås b54f2a3584 Some changes due to changed location of where the various GEGL headers get
* app/gegl/gimpoperationtilesink.c:
* app/gegl/gimpoperationtilesource.c: Some changes due to changed
location of where the various GEGL headers get installed on the
system.
* app/gegl/gegl/gegl-operation.h: synced from GEGL.

svn path=/trunk/; revision=24639
2008-01-17 23:03:52 +00:00
Michael Natterer adf8f48016 app/gegl/Makefile.am app/gegl/gegl-types.h new config object for the
2008-01-17  Michael Natterer  <mitch@gimp.org>

	* app/gegl/Makefile.am
	* app/gegl/gegl-types.h
	* app/gegl/gimplevelsconfig.[ch]: new config object for the levels
	operation's settings.

	* app/gegl/gimpoperationlevels.[ch]: remove all properties and add
	a "config" property instead.

	* app/tools/gimplevelstool.[ch]: keep a GimpLevelsConfig around.


svn path=/trunk/; revision=24637
2008-01-17 17:18:23 +00:00
Michael Natterer 20830ecf46 app/gegl/gimpoperationcolorize.c move some calculations and assignments
2008-01-17  Michael Natterer  <mitch@gimp.org>

	* app/gegl/gimpoperationcolorize.c
	* app/gegl/gimpoperationhuesaturation.c (process): move some
	calculations and assignments out of the inner loop.


svn path=/trunk/; revision=24636
2008-01-17 14:38:45 +00:00
Michael Natterer efabcb03e2 app/gegl/gegl/gegl-operation.h synced from GEGL.
2008-01-17  Michael Natterer  <mitch@gimp.org>

	* app/gegl/gegl/gegl-operation.h
	* app/gegl/gegl/gegl-operation-filter.h: synced from GEGL.


svn path=/trunk/; revision=24634
2008-01-17 11:33:30 +00:00
Øyvind Kolås 5a3660b1bb synced from GEGL. removed, since none of it's provided functionlity is any
* app/gegl/gegl/gegl-operation.h: synced from GEGL.
* app/gegl/gegl/graph/gegl-node-context.h: removed, since none
of it's provided functionlity is any longer used by the GIMP
implemented ops.
* app/gegl/gegl/graph/: removed.

svn path=/trunk/; revision=24631
2008-01-17 00:52:00 +00:00
Øyvind Kolås 6e1f1ce140 removed. removed. synced from gegl. Now includes the installed
* app/gegl/gegl/buffer/gegl-buffer-types.h: removed.
* app/gegl/gegl/buffer/: removed.
* app/gegl/gegl/gegl-operation.h: synced from gegl. Now includes
the installed gegl-buffer.h which contains the public typedefs
needed for implementing operations anyways.

svn path=/trunk/; revision=24630
2008-01-16 22:39:25 +00:00
Michael Natterer 7b8fa4c34c Fix gegl types and includes so we can include operations from app/gegl in
2008-01-16  Michael Natterer  <mitch@gimp.org>

	Fix gegl types and includes so we can include operations from
	app/gegl in other gimp files (needed soon):

	* app/gegl/gegl/gegl-types.h: not copied from gegl any longer.
	Now contains only two typedefs needed by the copied operation
	headers.

	* app/gegl/gegl-types.h: include above types file.

	* app/gegl/gimp-gegl.c
	* app/gegl/gimpoperationcolorbalance.c
	* app/gegl/gimpoperationcolorize.c
	* app/gegl/gimpoperationdesaturate.c
	* app/gegl/gimpoperationhuesaturation.c
	* app/gegl/gimpoperationlevels.c
	* app/gegl/gimpoperationposterize.c
	* app/gegl/gimpoperationthreshold.c
	* app/gegl/gimpoperationtilesink.c
	* app/gegl/gimpoperationtilesource.c: include only <gegl.h> and
	"gegl-types.h" from this directory, which is much more gimpish
	now. Include "gegl/buffer/gegl-buffer.h" in the source and sink
	operations.

	* app/tools/gimpimagemaptool.h: warn about inclusion of <gegl.h>
	only if it hasn't been included before, so it only warns in the
	files where we still have to address this issue.


svn path=/trunk/; revision=24625
2008-01-16 15:52:02 +00:00
Michael Natterer 572115701f app/gegl/gimpoperationcolorize.[ch] app/gegl/gimpoperationlevels.[ch]
2008-01-15  Michael Natterer  <mitch@gimp.org>

	* app/gegl/gimpoperationcolorize.[ch]
	* app/gegl/gimpoperationlevels.[ch]
	* app/gegl/gimpoperationthreshold.[ch]: changed all properties from
	float to double.

	* app/gegl/gimpoperationcolorize.c: normalized property ranges to
	[0.0..1.0] or [-1.0..1.0] resp.

	* app/tools/gimpcolorizetool.c: changed accordingly.


svn path=/trunk/; revision=24621
2008-01-15 17:23:45 +00:00
Michael Natterer f8808d8afc app/gegl/Makefile.am app/gegl/gegl-types.h new operation.
2008-01-14  Michael Natterer  <mitch@gimp.org>

	* app/gegl/Makefile.am
	* app/gegl/gegl-types.h
	* app/gegl/gimpoperationhuesaturation.[ch]: new operation.

	* app/gegl/gimp-gegl.c: register it.

	* app/tools/gimphuesaturationtool.c: use it.


svn path=/trunk/; revision=24608
2008-01-14 20:44:01 +00:00
Michael Natterer 91788fe393 app/gegl/Makefile.am app/gegl/gegl-types.h new operator.
2008-01-10  Michael Natterer  <mitch@gimp.org>

	* app/gegl/Makefile.am
	* app/gegl/gegl-types.h
	* app/gegl/gimpoperationcolorbalance.[ch]: new operator.

	* app/gegl/gimp-gegl.c: register it.

	* app/tools/gimpcolorbalancetool.c: use it.


svn path=/trunk/; revision=24587
2008-01-10 12:52:19 +00:00
Sven Neumann 3de5b5341e use the marshaller from GLib; don't include gimpmarshal.h from app/core.
2008-01-09  Sven Neumann  <sven@gimp.org>

	* app/gegl/gimpoperationtilesink.c: use the marshaller from GLib;
	don't include gimpmarshal.h from app/core.

svn path=/trunk/; revision=24579
2008-01-09 17:15:43 +00:00
Øyvind Kolås ff5507dfa7 removed no longer needed context_id. resynced from GEGL. resynced from
* app/gegl/gimpoperationtilesink.c: removed no longer needed
context_id.
* app/gegl/gegl/gegl-operation-sink.h: resynced from GEGL.
* app/gegl/gegl/gegl-types.h: resynced from GEGL.

svn path=/trunk/; revision=24571
2008-01-08 19:48:38 +00:00
Michael Natterer 27319afde9 add properties, some cleanup.
2008-01-07  Michael Natterer  <mitch@gimp.org>

	* app/gegl/gimpoperationlevels.[ch]: add properties, some cleanup.

	* app/tools/gimplevelstool.c: use gegl_node_set() instead of
	accessing the operation directly.


svn path=/trunk/; revision=24566
2008-01-07 21:39:05 +00:00
Michael Natterer 1c804c8d43 app/gegl/Makefile.am app/gegl/gegl-types.h new operator.
2008-01-07  Michael Natterer  <mitch@gimp.org>

	* app/gegl/Makefile.am
	* app/gegl/gegl-types.h
	* app/gegl/gimpoperationlevels.[ch]: new operator.

	* app/gegl/gimp-gegl.c: register it.

	* app/tools/gimplevelstool.c: use it,


svn path=/trunk/; revision=24565
2008-01-07 20:37:25 +00:00
Michael Natterer 5da250fc8f add some comments about how this code is different from base/colorize.c
2008-01-07  Michael Natterer  <mitch@gimp.org>

	* app/gegl/gimpoperationcolorize.c (process): add some comments
	about how this code is different from base/colorize.c


svn path=/trunk/; revision=24564
2008-01-07 20:35:30 +00:00
Michael Natterer f0ec8dcb29 include gegl/gegl-types.h instead of base/base-types.h.
2008-01-07  Michael Natterer  <mitch@gimp.org>

	* app/core/core-types.h: include gegl/gegl-types.h instead of
	base/base-types.h.

	* app/gegl/gegl/gegl-types.h: add ugly #ifdefs so we can include
	gegl.h and this file at the same time.


svn path=/trunk/; revision=24563
2008-01-07 20:32:20 +00:00
Michael Natterer bf02ecb9cf remove GTK_CFLAGS.
2008-01-07  Michael Natterer  <mitch@gimp.org>

	* app/gegl/Makefile.am (INCLUDES): remove GTK_CFLAGS.


svn path=/trunk/; revision=24561
2008-01-07 17:55:15 +00:00
Michael Natterer d916692cad updated from GEGL.
2008-01-07  Michael Natterer  <mitch@gimp.org>

	* app/gegl/gegl/gegl-operation.h: updated from GEGL.

	* app/gegl/gimpoperationtilesource.c: use the passed buffer in
	process() and add prepare() implementation which sets the format.


svn path=/trunk/; revision=24559
2008-01-07 15:33:02 +00:00
Øyvind Kolås 9a88941195 modified to match newer API in GEGL.
* app/gegl/gimpoperationtilesink.c:
* app/gegl/gimpoperationtilesource.c: modified to match newer API in
GEGL.
* app/gegl/gegl/gegl-operation-sink.h:
* app/gegl/gegl/gegl-operation-source.h: updated from GEGL.

svn path=/trunk/; revision=24555
2008-01-07 01:44:58 +00:00
Michael Natterer 7acc5de91f app/gegl/gegl/buffer/gegl-buffer-types.h
2008-01-06  Michael Natterer  <mitch@gimp.org>

	* app/gegl/gegl/buffer/gegl-buffer-types.h
	* app/gegl/gegl/gegl-operation-filter.h
	* app/gegl/gegl/gegl-operation-point-filter.h
	* app/gegl/gegl/gegl-operation-sink.h
	* app/gegl/gegl/gegl-operation-source.h
	* app/gegl/gegl/gegl-operation.h: updated from GEGL.


svn path=/trunk/; revision=24554
2008-01-06 15:40:11 +00:00
Michael Natterer 3463d3f649 app/gegl/gimpoperationtilesource.c formatting.
2008-01-06  Michael Natterer  <mitch@gimp.org>

	* app/gegl/gimpoperationtilesource.c
	* app/gegl/gimpoperationtilesink.c: formatting.


svn path=/trunk/; revision=24547
2008-01-06 11:35:11 +00:00
Øyvind Kolås e748a07298 synchronoised with GEGL headers.
* app/gegl/gegl/gegl-operation-sink.h:
* app/gegl/gegl/gegl-operation-source.h:
* app/gegl/gegl/gegl-operation.h:
* app/gegl/gegl/gegl-types.h:
* app/gegl/gegl/graph/:
* app/gegl/gegl/graph/gegl-node-context.h: synchronoised with GEGL
headers.
* app/gegl/gimpoperationtilesink.c:
* app/gegl/gimpoperationtilesource.c: updated to new API, where a
GeglNodeContext is used in process methods instead of gpointer
context_id.

svn path=/trunk/; revision=24538
2008-01-05 12:58:28 +00:00
Øyvind Kolås 1f4acb98ce synchronised with GEGL headers.
* app/gegl/gegl/gegl-operation-sink.h:
* app/gegl/gegl/gegl-operation-source.h:
* app/gegl/gegl/gegl-operation.h: synchronised with GEGL headers.
* app/gegl/gimpoperationtilesink.c:
* app/gegl/gimpoperationtilesource.c: added const GeglRectangle
*result to arguments of _process().

svn path=/trunk/; revision=24537
2008-01-04 23:51:15 +00:00
Øyvind Kolås 20e49c0db0 synchronised with GEGL headers.
* app/gegl/gegl/gegl-operation-sink.h:
* app/gegl/gegl/gegl-operation-source.h:
* app/gegl/gegl/gegl-operation.h: synchronised with GEGL headers.
* app/gegl/gimpoperationtilesink.c:
* app/gegl/gimpoperationtilesource.c: added const GeglRectangle
*result to arguments of _process().

svn path=/trunk/; revision=24536
2008-01-04 23:20:41 +00:00
Hans Breuer 9a1d5f3453 **/makefile.msc app/gimpcore.def : updated so it compiles and links
2008-01-04  Hans Breuer  <hans@breuer.org>

	**/makefile.msc app/gimpcore.def : updated so it compiles and links
	(almost, see bug #507298)

svn path=/trunk/; revision=24533
2008-01-04 18:42:07 +00:00
Michael Natterer d1719638db app/gegl/Makefile.am app/gegl/gegl-types.h
2008-01-04  Michael Natterer  <mitch@gimp.org>

	* app/gegl/Makefile.am
	* app/gegl/gegl-types.h
	* app/gegl/gimpoperationcolorize.[ch]
	* app/gegl/gimpoperationposterize.[ch]: new operators which still
	use a lot of gimp stuff they shouldn't use, but at least the
	infrastructure for improving them is there now.

	* app/gegl/gimp-gegl.c: register them.

	* app/tools/gimpcolorizetool.c
	* app/tools/gimpposterizetool.c: use them.


svn path=/trunk/; revision=24528
2008-01-04 15:16:32 +00:00
Michael Natterer bd938d40a0 app/gegl/Makefile.am app/gegl/gegl-types.h gimpish threshold operator
2008-01-03  Michael Natterer  <mitch@gimp.org>

	* app/gegl/Makefile.am
	* app/gegl/gegl-types.h
	* app/gegl/gimpoperationthreshold.[ch]: gimpish threshold operator
	which has "low" and "high" properties.

	* app/gegl/gimp-gegl.c: register it.

	* app/gegl/gimpoperationdesaturate.[ch]: fix copyright.

	* app/tools/gimpthresholdtool.[ch]: use the new operator.


svn path=/trunk/; revision=24515
2008-01-03 19:23:35 +00:00
Michael Natterer 697cc82af7 Some more gegl code to have some playground for experimenting.
2008-01-03  Michael Natterer  <mitch@gimp.org>

	Some more gegl code to have some playground for experimenting.

	* app/gegl/Makefile.am
	* app/gegl/gegl-types.h
	* app/gegl/gimpoperationdesaturate.[ch]: ported desaturate.

	* app/gegl/gimp-gegl.c: register it.

	* app/gegl/gimpoperationtilesink.h: fix name of parent class member.

	* app/core/gimpdrawable-desaturate.c: use the new operator, but
	keep the old code around (prepared for runtime switching).

	* app/core/gimpdrawable-invert.c: prepare for runtime switching
	here too.


svn path=/trunk/; revision=24514
2008-01-03 18:54:58 +00:00
Michael Natterer 7e25f48a32 app/gegl/gegl/gegl-operation-sink.h updated copies from gegl.
2008-01-03  Michael Natterer  <mitch@gimp.org>

	* app/gegl/gegl/gegl-operation-sink.h
	* app/gegl/gegl/gegl-operation-source.h: updated copies from gegl.

	* app/gegl/gegl/gegl-operation-filter.h
	* app/gegl/gegl/gegl-operation-point-filter.h: new files from gegl.


svn path=/trunk/; revision=24513
2008-01-03 18:47:37 +00:00
Sven Neumann cd270aac4c added new function gimp_bpp_to_babl_format_linear().
2007-12-30  Sven Neumann  <sven@gimp.org>

	* app/gegl/gimp-gegl-utils.[ch]: added new function
	gimp_bpp_to_babl_format_linear().

	* app/gegl/gimpoperationtilesink.[ch]
	* app/gegl/gimpoperationtilesource.[ch]: added boolean property 
to
	toggle between linear and gamma-corrected data.

	* app/core/gimpdrawable-invert.c: assume linear data to be 
closer
	to the original definition of the invert operation in GIMP.
	Enable the GEGL code path per default.


svn path=/trunk/; revision=24491
2007-12-30 19:14:27 +00:00
Michael Natterer 5adffe394a minor cleanup.
2007-12-30  Michael Natterer  <mitch@gimp.org>

	* app/gegl/gimpoperationtilesource.c: minor cleanup.

	* app/gegl/gimpoperationtilesink.[ch]: add "data-written" signal
	that is emitted whenever pixels have been written to the tile
	manager.


svn path=/trunk/; revision=24484
2007-12-30 15:59:23 +00:00
Øyvind Kolås af3009347a specify that this operation does not need the full buffer available before
* app/gegl/gimpoperationtilesink.c: specify that this operation does
not need the full buffer available before "flushing" the sink.
* app/gegl/gegl/gegl-operation-sink.h:
* app/gegl/gegl/gegl-operation.h: updated copy of headers.

svn path=/trunk/; revision=24480
2007-12-30 15:22:57 +00:00
Øyvind Kolås 772d2629c3 specify that this operation does not need the full buffer available before
* app/gegl/gimpoperationtilesink.c: specify that this operation does
not need the full buffer available before "flushing" the sink.
* app/gegl/gegl/gegl-operation-sink.h:
* app/gegl/gegl/gegl-operation.h: updated copy of headers.

svn path=/trunk/; revision=24479
2007-12-30 15:12:07 +00:00
Øyvind Kolås d62e65d42f override the default behaviour of GeglOperationSource to expand the result
* app/gegl/gimpoperationtilesource.c: override the default behaviour
of GeglOperationSource to expand the result rect to the full have
rect with a NULL (nop) implementation.

svn path=/trunk/; revision=24474
2007-12-29 23:44:12 +00:00
Sven Neumann 27450af451 app/gegl/gimpoperationtilesink.c formatting.
2007-12-29  Sven Neumann  <sven@gimp.org>

	* app/gegl/gimpoperationtilesink.c
	* app/gegl/gimpoperationtilesource.c: formatting.


svn path=/trunk/; revision=24471
2007-12-29 18:22:07 +00:00
Øyvind Kolås 10d1bfe356 do not fetch the full extent of the TileManager but only the needed
* app/gegl/gimpoperationtilesource.c: do not fetch the full extent
of the TileManager but only the needed pixels. Pass rowstride
correctly when fecting subregions.

svn path=/trunk/; revision=24470
2007-12-29 18:01:35 +00:00
Øyvind Kolås 16ae053894 depend on GEGL 0.0.15 (version ends in odd, thus depending on svn trunk of
* configure.in: depend on GEGL 0.0.15 (version ends in odd, thus
depending on svn trunk of GEGL).
* app/gegl/gimpoperationtilesource.c:
(gimp_operation_tile_source_process): just use GEGL_AUTO_ROWSTRIDE for
the rowstride in gegl_buffer_set for now.

svn path=/trunk/; revision=24469
2007-12-29 16:44:32 +00:00
Michael Natterer 3377d0423b app/gegl/gimp-gegl.c app/gegl/gimpoperationtilesource.c fixup includes a
2007-12-29  Michael Natterer  <mitch@gimp.org>

	* app/gegl/gimp-gegl.c
	* app/gegl/gimpoperationtilesource.c
	* app/gegl/gimpoperationtilesink.c: fixup includes a bit.


svn path=/trunk/; revision=24467
2007-12-29 15:25:40 +00:00
Øyvind Kolås 2236d9faf0 added. added from GEGL trunk. .. updated copy from GEGL trunk.
* app/gegl/gegl/buffer/: added.
* app/gegl/gegl/buffer/gegl-buffer-types.h: added from GEGL trunk.
* app/gegl/gegl/gegl-operation.h: ..
* app/gegl/gegl/gegl-types.h: updated copy from GEGL trunk.
* app/gegl/gimp-gegl.c: 
* app/gegl/gimpoperationtilesink.c:
* app/gegl/gimpoperationtilesource.c: Modified to build with direct
copies of GEGL headers.

svn path=/trunk/; revision=24466
2007-12-29 14:47:05 +00:00
Michael Natterer 6be63006ec add boxed type GIMP_TYPE_TILE_MANAGER.
2007-12-29  Michael Natterer  <mitch@gimp.org>

	* app/base/tile-manager.[ch]: add boxed type GIMP_TYPE_TILE_MANAGER.

	* app/gegl/gimpoperationtilesink.c
	* app/gegl/gimpoperationtilesource.c: use GParamSpecBoxed instead
	of GParamSpecPointer for the tile-manager properties and ref them
	properly. Some cleanup.


svn path=/trunk/; revision=24465
2007-12-29 13:46:13 +00:00
Sven Neumann e77d96641f declare gimp_bpp_to_babl_format() as G_GNUC_CONST.
2007-12-29  Sven Neumann  <sven@gimp.org>

	* app/gegl/gimp-gegl-utils.h: declare gimp_bpp_to_babl_format() 
as
	G_GNUC_CONST.


svn path=/trunk/; revision=24463
2007-12-29 12:31:10 +00:00
Michael Natterer 1028a2d8b9 add some const that should also be in the gegl api *cough*.
2007-12-29  Michael Natterer  <mitch@gimp.org>

	* app/gegl/gimpoperationtilesink.c (tile_sink_process): add
	some const that should also be in the gegl api *cough*.


svn path=/trunk/; revision=24462
2007-12-29 02:28:28 +00:00
Michael Natterer 3b2cd20978 use g_return_val_if_fail() instead of g_warning().
2007-12-29  Michael Natterer  <mitch@gimp.org>

	* app/gegl/gimp-gegl-utils.c (gimp_bpp_to_babl_format): use
	g_return_val_if_fail() instead of g_warning().


svn path=/trunk/; revision=24461
2007-12-29 02:22:40 +00:00
Michael Natterer 70f07cd509 new files containing gimp_bpp_to_babl_format().
2007-12-29  Michael Natterer  <mitch@gimp.org>

	* app/gegl/gimp-gegl-utils.c: new files containing
	gimp_bpp_to_babl_format().

	* app/gegl/gimpoptilesink.[ch]
	* app/gegl/gimpoptilesource.[ch]: renamed..

	* app/gegl/gimpoperationtilesink.[ch]
	* app/gegl/gimpoperationtilesource.[ch]: ...to these. Cleaned them
	up quite a bit more.

	* app/gegl/Makefile.am
	* app/gegl/gimp-gegl.c: changed accordingly.


svn path=/trunk/; revision=24460
2007-12-29 02:19:23 +00:00
Michael Natterer 479a649898 Some cleanup...
2007-12-29  Michael Natterer  <mitch@gimp.org>

	Some cleanup...

	* app/Makefile.am: change linking order.

	* app/main.c: move gegl initialization from here...

	* app/app.c: ...to here.

	* app/gegl/gimpops.c: removed.

	* app/gegl/gimp-gegl.[ch]
	* app/gegl/gegl-types.h: added.

	* app/gegl/Makefile.am: changed accordingly.

	* app/gegl/gimpoptilesink.[ch]
	* app/gegl/gimpoptilesource.[ch]: made more gimpish.


svn path=/trunk/; revision=24459
2007-12-29 01:35:04 +00:00
Øyvind Kolås b06afdec24 Added adapter GEGL operations for reading and writing to TileManagers.
2007-12-29  Øyvind Kolås  <pippin@gimp.org>

	Added adapter GEGL operations for reading and writing to TileManagers.

	* configure.in:
	* app/Makefile.am: added gegl subdir.
	* app/gegl/Makefile.am: added.
	* app/gegl/gimpops.c: (gimp_gegl_ops_init):
	* app/gegl/gimpoptilesink.[ch]: adapter GEGL operation for writing to
	GIMP tile managers.
	* app/gegl/gimpoptilesource.[ch]: adapter GEGL operation for reading
	from GIMP tile managers.
	* app/main.c: (main): call gimp_gegl_ops_init()
	* app/gegl/gegl/: added some headers from GEGL that are not installed
	since they are not public API yet.

svn path=/trunk/; revision=24458
2007-12-29 00:57:51 +00:00