Commit Graph

36 Commits

Author SHA1 Message Date
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
bc4cf9918f Bug 673501 - Issue with Overlay
GIMP's OVERLAY mode was identical to SOFTLIGHT. This commit fixes the
issue and introduces a NEW_OVERLAY mode and enum value.

- change gimp:overlay-mode to be a real (svg-ish) overlay mode
- when compositing, map OVERLAY to gimp:softlight-mode
- when compisiting, map NEW_OVERLAY to gimp:overlay-mode
- bump the XCF version when NEW_OVERLAY is used
- map OVERLAY to SOFTLIGHT when loading and saving XCF
- map OVERLAY to softlight in all PDB setters
- map OVERLAY to softlight when deserializing a GimpContext
- change all paint mode menus to show an entry for NEW_OVERLAY
  instead of OVERLAY
- change PSP, PSD and OpenRaster to use NEW_OVERLAY

These changes should (redundantly) make sure that no OVERLAY enum
value is used in the core any longer because it gets mapped to
SOFTLIGHT at all entry points, with the downside of introducing a
setter/getter asymmetry when OVERLAY was set in a PDB api.
2015-04-29 13:32:58 -04:00
41c92af49b app: add gimp_gegl_node_set_color() and use it in GimpChannel 2013-10-19 17:31:56 +02:00
f70e4cdba9 app: don't reset the mode node's opacity when changing the layer mode
gimp_gegl_mode_node_set_mode(): re-set the previously set opacity.
2013-06-12 22:13:01 +02:00
eafcc4801c app: accidentially removed a function's return type 2013-04-27 08:23:58 +02:00
a93eaa9122 app: set paint_mode and opacity separately on mode nodes
so we don't constantly change the operation only because the opacity
varies during painting.
2013-04-22 22:53:07 +02:00
e3557ac3a5 app: remove gimp_gegl_create_apply_[buffer_]node() 2013-04-17 16:21:15 +02:00
670fa2d670 app: add gimp_gegl_create_apply_node()
which is simply a more general version of
gimp_gegl_create_apply_buffer_node()
2013-04-12 14:34:20 +02:00
9b6703371e app: remove premultiplied blending code from the few ops that had it
Change GimpOperationPointLayerMode's "premultiplied" to "linear" and
set format to "RGBA float" if it's TRUE. Everything defaults to FALSE
so nothing changes.
2012-12-13 22:58:38 +01:00
83a728f492 app: rename gimp_gegl_node_set_layer_mode() to gimp_gegl_mode_node_set()
and have it set mode and opacity at the same time, so we don't reset
opacity each time we set the mode.
2012-05-18 23:50:35 +02:00
001e0f0b40 app: port gimp_gegl_create_apply_buffer_node() to the new mode ops 2012-05-18 22:59:04 +02:00
e377eb01cd app: modified gegl blending modes to take mask and opacity inputs 2012-05-18 22:52:48 +02:00
cf442d3386 app: added gegl value and behind blending modes 2012-05-11 20:37:47 +03:00
c713e80e63 app: added initial gegl color blending mode 2012-05-11 18:53:49 +03:00
cc0410a226 app: added initial gegl version of saturation blending mode 2012-05-11 18:28:49 +03:00
c41ac185b5 app: added initial gegl hue blending mode 2012-05-10 21:54:48 +03:00
c5d7aaf52e app: added gegl erase mode 2012-05-02 17:51:20 +02:00
d81ea1315e app: implement active, affected components in GEGL
Add GimpOperationMaskComponents, enum GimpComponentMask, and image and
drawable infrastructure to get the right mask, and plug the mask
operation into gimp_gegl_create_apply_buffer_node().
2012-05-02 17:51:17 +02:00
0011fe5c50 app: special case REPLACE_MODE in gimp_gegl_create_apply_buffer_node()
it needs the mask/opacity on a separate input.
2012-05-02 17:51:14 +02:00
7eb0d8f4c8 app: added initial gegl replace mode 2012-05-02 17:51:13 +02:00
c291524e6c app: added hard light, difference, subtract, grain extract, grain merge and difference gegl blending modes 2012-05-02 17:51:08 +02:00
c24d9d76e5 app: added addition, burn, darken only, dodge, multiply, overlay, screen and soft light gegl blending modes 2012-05-02 17:51:06 +02:00
e4d97f9a95 app: added gegl version of lighten only blending mode 2012-05-02 17:51:05 +02:00
7fbbefd6f0 app: set the mode on the right node in gimp_gegl_create_apply_buffer_node() 2012-05-02 17:50:55 +02:00
6c83b0327d app: fix mode node creation in gimp_gegl_create_apply_buffer_node() 2012-05-02 17:50:55 +02:00
2957795372 app: add gimp_gegl_node_set_matrix() and use it instead of manual fiddling 2012-05-02 17:50:46 +02:00
cbb2766f07 app: add GimpOperationShrink which does "shrink selection"
but it's horribly slow, so keep the old code around for now and make
the new one depend on use_gegl.
2012-05-02 17:46:13 +02:00
c872a9368e app: sprinkle level argument over process functions 2012-05-02 17:46:13 +02:00
de0321a82e app: add gimp_gegl_node_set_layer_mode()
and remove all other code that does layer_mode -> node.
2012-05-02 17:46:13 +02:00
fb74b9e822 app: chnage gimp_gegl_create_apply_opacity_node()'s mask offset
to be the offset *of* the mask, not the offset *into* the mask, also
reorder parameters.
2012-05-02 17:46:12 +02:00
5ad9b6fdd9 app: add gimp_gegl_create_apply_buffer_node()
which creates a graph that applies paint, and factor out
gimp_gegl_add_buffer_source() which adds a buffer source with optional
offset to a graph.
2012-05-02 17:46:12 +02:00
f680a562b2 app: save some lines of code in gimp_gegl_create_apply_opacity_node() 2012-05-02 17:46:03 +02:00
69c52173fb app: change gimp_gegl_color_set_rgba() to gimp_gegl_color_new()
which saves one line of code in every single use case.
2012-05-02 17:46:03 +02:00
1b44953352 app: port bucket fill to GEGL
Add mask offset parameters to gimp_gegl_create_apply_opacity_node()
so it's possible to use a part of the mask only, bucket fill
uses that to avoid uneccessary work where the mask is empty.

Should use the same in gimp_drawable_stroke_scan_convert().
2012-05-02 17:46:01 +02:00
57985cd26d app: create a meta-op to apply mask and opacity
and use it to apply the layer mask.
2012-05-02 17:45:53 +02:00
0ae0dfb52e app: add a flatten meta-op and use it for layers and channels 2012-05-02 17:45:52 +02:00