2dbf1b46b2
app: rename gimp_layer_mode_is_linear() to gimp_layer_mode_wants_linear_data()
2017-01-31 01:43:48 +01:00
8771361cb9
app: move arrays of magic GimpLayerMode knowledge to gimp-layer-modes.c
...
and provide API to access them.
2017-01-31 01:33:11 +01:00
d348220997
app: remove the HSV modes from the default layer mode group
2017-01-30 22:07:51 +01:00
9397aff96f
app: add GIMP_LAYER_MODE_LUMA_DARKEN_ONLY and _LUMA_DARKEN_ONLY
...
which are perceptual versions of the new LUMINANCE_DARKEN_ONLY and
LUMINANCE_LIGHTEN_ONLY modes. Add the new modes to the UI.
2017-01-30 22:07:51 +01:00
e9a6d93197
app: add darken only, lighten only that uses luminance
...
These variations on darken only and lighten only have the advantage over the
componentvise versions that they always use the full triplet of either original
or new layer - meaning no new colors/hues will be introduced. This is similar
to how these modes operated/operates in picture publisher and photo-paint.
2017-01-29 22:27:28 +01:00
5389e8e417
app, libgimp: rename GIMP_LAYER_MODE_NORMAL to NORMAL_LINEAR
...
and NORMAL_NON_LINEAR to NORMAL, so it's consistent with all other
modes.
2017-01-28 21:38:52 +01:00
312e3ba4d2
app: add gimp_layer_mode_get_for_group()
...
which allows to find the "same" layer mode in another group.
2017-01-28 18:24:40 +01:00
31241a984e
app, libgimp: remove GIMP_LAYER_MODE_DARKEN,LIGHTEN_ONLY_LINEAR
...
There is no _LINEAR variant, the modes always do the same.
2017-01-25 22:08:06 +01:00
5dbf9cd4f4
app: add new enum GimpLayerModeGroup { LINEAR, PERCEPTUAL, LEGACY }
...
and a new function gimp_layer_mode_get_group() which will be used for
the soon-to-appear GimpLayerModeComboBox.
2017-01-24 17:12:52 +01:00
b88d74da24
app: make darken only and lighten only work in linear
...
Gamma doesn't change sort order of floats.
2017-01-24 02:52:25 +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
4a3fbb8f35
app: fix OVERLAY mode so it gets fed linear data
2017-01-23 18:09:20 +01:00
83374f490a
app: make replace mode request linear data
2017-01-22 18:47:34 +01:00
7079d5f730
app: add a huge switch() to gimp_layer_mode_get_composite_mode()
...
It's going to be used to the UI too and should return something
to display, even if immutable.
2017-01-21 22:31:09 +01:00
da10525073
app: change default composite mode for new modes to src-atop
2017-01-21 22:12:23 +01:00
c152fa8651
app: fix the blend space of the legacy modes to be perceptual
2017-01-21 22:03:40 +01:00
386e18e510
app: rename GimpLayerBlendTRC to GimpLayerColorSpace
...
It is used both for blending and compositing, the repeated use of the word
BLEND in code made the logic involving both blending and compositing hard to
read.
2017-01-19 19:17:24 +00:00
41fff6990e
app: make layer modes more configurable
...
Implement a common utility function gimp_blend_composite that uses utility
functions for implementing layer modes, with separate (possibly SIMD) optimized
loops for blending and compositing, with configured linear TRC, perceptual
gamma TRC or even using CIE Lab as the space.
2017-01-19 01:04:15 +01:00
b809613be0
app: implement gimp_layer_mode_get_blend_trc()
2017-01-17 17:41:05 +01:00
0bcb3068fe
app: fix typo s/GIMP_LAYER_COMPOSITE_OVER/GIMP_LAYER_COMPOSITE_SRC_OVER/
2017-01-17 15:23:36 +01:00
6e72d3eddf
app: add blend-trc and composite-mode properties to GimpOperationPointLayerMode
...
and set them to unused default values.
2017-01-17 15:09:17 +01:00
5eb0fa816a
app, libgimp: add LINEAR variants of more layer modes
...
for completeness/consistency, even if they don't make much sense for
prectical use.
2017-01-15 16:02:10 +01:00
a24e232522
app: move functions on enum GimpLayerMode to new files gimp-layer-modes.[ch]
2017-01-15 15:25:03 +01:00