Commit Graph

38 Commits

Author SHA1 Message Date
Ell
03756d0980 app: rename "Color (HSV) (legacy)" mode to "Color (HSL) (legacy)"
The color-space qualification is, in fact, a 2.9 thing, so there's no
historic reason to keep the wrong name for the legacy mode.
2017-03-16 06:23:30 -04:00
Ell
ed0fda032d app: add split layer mode
Subtracts the source layer from the destination, such that
recompositing the result with the source using merge mode
reproduces the original content.
2017-03-10 18:56:32 -05:00
Ell
23e6984d46 app: add merge layer mode
Merge mode lays the source layer on top of the destination, same as
normal mode, however, it assumes the source and destination are two
parts of an original whole, and are therefore mutually exclusive.

This is useful for blending cut & pasted content without artifacts,
or for replacing erased content in general.
2017-03-10 18:56:32 -05:00
Ell
b22c09e7b7 app: implement color-erase mode as a GimpOperationLayerMode blendfun
... and get rid of the dedicated op.  This gives us support for all
the blend/composite options for this mode.

Rename COLOR_ERASE to COLOR_ERASE_LEGACY, with perceptual blending/
compositing and immutable everything, and add a new COLOR_ERASE
mode, defaulting to linear blending/compositing, with mutable
everything.  Modify affected code.
2017-03-08 14:13:51 -05:00
891f85e805 app: move gimp-gegl-config.[ch] to operations/
and rename it to gimp-operation-config.[ch].
2017-02-05 20:17:31 +01:00
2950fecf07 app: move layer mode enums and gimp-layer-modes.[ch] to operations/
and to operations/layer-modes/, respectively.

Add gimp_layer_modes_init() which asserts on the correct order of the
GimpLayerModeInfo array, and switch to accessing the array directly in
gimp_layer_mode_info().
2017-02-05 15:59:29 +01:00
d836d94114 app: implement non-legacy blend modes in GimpOperationLayerMode
For operations needing to override default behavior sub-classes should still be
used.

This commit also enables pinligh, vividlight and linearlight blend mode modes
2017-01-23 23:47:56 +01:00
a187329777 app: sort includes in gimp-operations.c 2017-01-11 15:00:37 +01:00
b959e0b69b app: move GimpOperationPointLayerMode to layer-modes/ 2017-01-11 14:44:10 +01:00
8b5553cef6 app: move the remaining 3 layer modes to layer-modes/
Not exactly sure if all are correct, but the file moving is almost
done now.
2017-01-11 12:55:13 +01:00
ec1f7a94e3 app: split legacy out of grain extract and merge 2017-01-11 04:40:26 +01:00
8f3842434c app: split legacy out of soft and hard light 2017-01-11 04:10:06 +01:00
784a8ee224 app: split legacy out of burn and divide 2017-01-11 03:17:53 +01:00
9142bb1805 app: move erase and anti-erase to layer-modes/ 2017-01-11 00:23:31 +01:00
71030f49e9 app: duplicate hsv layer modes, and fix alpha handling 2017-01-10 21:48:03 +01:00
c3e5e30450 app: split legacy lighten only and darken only ops 2017-01-10 11:18:52 +01:00
99189d7a28 app: move dissolve to layer-modes/ 2017-01-10 09:06:16 +01:00
5a7fd54d34 app: split addition and subract in legacy and new 2017-01-10 01:40:14 +01:00
60e1d8e35f app: move the LCH layer modes to layer-modes/ 2017-01-10 01:04:49 +01:00
92047ea949 app: layer op fission cleanup 2017-01-10 00:00:31 +01:00
b001626b31 app: move overlay to operations/layer-modes/ and call it GimpOperationOverlay 2017-01-09 23:54:51 +01:00
3a50cdcd4f app: split screen op in legacy and new 2017-01-09 23:19:29 +01:00
fd070eeb25 app: start moving layer modes into their own build directories
New directories:

operations/layer-modes/
operations/layer-modes-legacy/
2017-01-09 21:58:18 +01:00
076621dd75 app: split dodge op in legacy and new 2017-01-09 20:10:17 +01:00
c2583faa5a app: add new multiply op 2017-01-09 20:10:04 +01:00
cb578e3df7 app: add GimpOperationProfileTransform
which converts between two color profiles.
2016-05-23 14:00:35 +02:00
2dd4d3a2fa Bug 766369: Split view shows transparency filtering...
... layers with alpha channel

add an operation that selectively outputs aux
or source if out/inside the rectangle (x,y,width,height),
independently of the alpha channel and use it
in filters split preview.

mostly copied from gimp:mask-components
2016-05-16 18:08:48 +02:00
Ell
c63bee3440 app: Add "gimp:flood" GEGL operation
This operation assigns to each pixel the minimum of the
maxima of all paths from it to the outside, as if the
input image represents a height map, and the operation
floods it with water.
2016-01-25 22:58:24 +01:00
cd47aac435 app: remove GimpThresholdConfig
The new more general GimpImageMapTool code handles this case
completely automatically now.
2016-01-22 22:37:23 +01:00
1ef06fdbb2 app: add gimp_gegl_config_register()
which registers config classes for operations that don't want their
config objects to be auto-generated. Register all color tools' config
objects. Change gimp_gegl_config_sync_node() to correctly handle ops
that have an object property of the right config object type.
2016-01-22 21:28:33 +01:00
a7b84ded8e Bug 325564 - Use CIE LCH instead of HSL for layer mode Color
Add Hue, Chroma, Color and Lightness layer modes in LCH color space.
2015-06-02 01:37:26 +02:00
e629f4c14b app: add GimpOperationScalarMultiply
which multiplies each float in a gegl_format_n(float, n) input
by a factor.
2014-11-07 00:42:58 +01:00
5839b5e4af app: Add a gegl op to render gradients 2014-07-22 13:13:47 -04:00
3f52828896 app: change GimpImageFile and GimpDocumentList to speak GFile 2014-07-07 23:58:11 +02:00
d9cf36d07d app: remove gimp:cast-format and use gegl:cast-format 2014-05-05 19:30:21 +02:00
8f648471e6 app: add new operation gimp:cast-format
which casts between two arbitrary formats of the same bpp.
2014-05-04 20:42:58 +02:00
83680825d0 app: removed unnecessary argument from gimp_operations_init 2012-06-14 21:29:43 +03:00
7101ee191a app: move all GEGL operations to new directory app/operations/ 2012-05-10 21:22:44 +02:00