Commit Graph

19 Commits

Author SHA1 Message Date
Sven Neumann e86e003224 Add Desaturate as an image-map tool with live preview (bug #533808):
2008-05-21  Sven Neumann  <sven@gimp.org>

	Add Desaturate as an image-map tool with live preview (bug #533808):

	* app/gegl/Makefile.am
	* app/gegl/gegl-types.h
	* app/gegl/gimpdesaturateconfig.[ch]: added config object for the
	desaturate point filter.
	
	* app/gegl/gimpoperationdesaturate.[ch]: derive from
	GimpOperationPointFilter. Unrolled the inner loop.

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

	* app/tools/Makefile.am
	* app/tools/gimpdesaturatetool.[ch]: added desaturate as an
	imagemap tool. So far only the GEGL code path is implemented.

	* app/tools/gimp-tools.c: register the new tool.

	* app/dialogs/dialogs.c: register the new tool dialog.

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

	* app/actions/drawable-actions.c
	* app/actions/drawable-commands.[ch]: removed action
	"drawable-desaturate".

	* app/widgets/gimphelp-ids.h: changed help IDs accordingly.

	* menus/image-menu.xml.in: replaced "drawable-desaturate" with
	"tools-desaturate".

	* libgimpwidgets/gimpstock.h: added a define for
	GIMP_STOCK_TOOL_DESATURATE.

svn path=/trunk/; revision=25726
2008-05-21 13:11:06 +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
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 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 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 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 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
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 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 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 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
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 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 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