Commit Graph

4 Commits

Author SHA1 Message Date
Michael Natterer 9f6827be7c app: add back individual operation classes for the layer modes
They are derived from GimpOperationPointLayerMode and are completely
empty and unused, but can be filled with code and enabled one-by-one
now.
2009-12-30 15:22:35 +01:00
Martin Nordholts 1a19f7315a Instead of having one GEGL operation per layer mode, make
GimpOperationLayerMode instantiable and add a GimpLayerModeEffects
property to it that we check in ::process() to blend pixels
together.

* app/gegl/gimpoperationlayermode.[ch]: Do the change described
above. Currently only Normal and Addition are implemented. Normal
so that we don't need a special case for the gegl:normal op. Also,
the Dissolve layer mode is not a point op and needs to be
implemented elsewhere.

* app/gegl/gimpoperation*mode.c: Removed.

* app/gegl/gimp-gegl-utils.[ch]: Removed
gimp_layer_mode_to_gegl_operation().

* app/core/gimplayer.c

* app/gegl/Makefile.am
* app/gegl/gimp-gegl.c: Adapt.

svn path=/trunk/; revision=27400
2008-10-25 13:29:55 +00:00
Michael Natterer 3f9e82004e renamed this class...
2008-10-12  Michael Natterer  <mitch@gimp.org>

	* app/gegl/gimpoperationpointcomposer.[ch]: renamed this class...

	* app/gegl/gimpoperationlayermode.[ch]: ...to this and add
	an own process() virtual function so we are free to hack even
	more badly in order to support legacy layer modes and proper
	ones which do meningfiul things to alpha. Simply redirect
	GeglOperationPointComposer's compose() calls to our own vfunc
	for now.

	* app/gegl/gegl-types.h
	* app/gegl/Makefile.am: changed accordingly.

	* app/gegl/gimpoperation*mode.[ch]: changed parent class and
	implemented process() method accordingly.


svn path=/trunk/; revision=27251
2008-10-12 20:26:27 +00:00
Michael Natterer 414cc45abf add an empty abstract GeglOperationPointComposer subclass which can be
2008-10-11  Michael Natterer  <mitch@gimp.org>

	* app/gegl/gimpoperationpointcomposer.[ch]: add an empty abstract
	GeglOperationPointComposer subclass which can be used to hook in
	common debug or test or whatever code for below layer modes.

	* app/gegl/gimpoperation*mode.[ch]: add empty stubs of layer mode
	operations which do nothing but copying input to output.

	* app/gegl/Makefile.am
	* app/gegl/gegl-types.h: add them here and reordered things a bit.

	* app/gegl/gimp-gegl.c (gimp_gegl_init): register the new
	operations.

	* app/gegl/gimp-gegl-utils.c (gimp_layer_mode_to_gegl_operation):
	return the new operations.


svn path=/trunk/; revision=27239
2008-10-11 17:20:20 +00:00