Commit Graph

229 Commits

Author SHA1 Message Date
c2b7983c34 app: remove unused old render structs from gimpdrawable-blend.c 2017-05-01 02:27:46 +02:00
8634b5cbc3 app: make layer blend color space and compositing color space configurable
...they say it's going to get worse before it gets better...
2017-02-12 23:49:26 +01:00
2a96d598c3 app: add internal and PDB API and UI to control a layer's composite mode
Largely based on a patch by Ell, with the enum type renamed and
various small changes. Adds another axis of configurability to the
existing layer mode madness, and is WIP too.
2017-02-02 00:38:25 +01:00
66060e3307 app, libgimp*, plug-ins: replace enum GimpLayerModeEffects by GimpLayerMode
with proper value names. Mark most values as _BROKEN because they use
weird alpha compositing that has to die. Move GimpLayerModeEffects to
libgimpbase, deprecate it, and set it as compat enum for GimpLayerMode.
Add the GimpLayerModeEffects values as compat constants to script-fu
and pygimp.
2017-01-08 23:00:19 +01:00
cb1a6024ff app: normalize gegl:distance-transform, it's unusuable otherwise 2016-05-12 00:13:33 +02:00
4f0521c7cf app: don't call gimp_gegl_progress_connect() with a NULL text 2016-05-11 22:50:05 +02:00
9e5329df77 app: some cleanup in gimpdrawable-blend.c 2016-02-03 10:44:07 +01:00
d52bb9ca58 app: Remove dead code in gimpdrawable-blend 2016-02-01 21:20:19 +01:00
a0a6d6139e app: Use gimp:blend in gimp_drawable_blend 2016-02-01 21:20:19 +01:00
f545b7fe72 app: Place shapeburst buffers at the right offset. 2016-02-01 21:20:19 +01:00
ae84fe9ec8 app/core: Expose creating shapeburst distmaps in gimpdrawable-blend. 2016-02-01 21:18:51 +01:00
54ab3047b3 core: Remove unused parameter. 2016-02-01 21:18:51 +01:00
892fec9512 Revert "app: use the new distance-transform operation in the blend tool"
While the tool should definitely use the new op, we want the code in
gimpdrawable-blend to use the old one for compat reasons. The new op
will be exposed via a separate pdb call in the future.

This reverts commit 8af3fec689.
2016-02-01 21:18:51 +01:00
662ade6911 Revert "app: save first and last color of the blend tool gradient..."
This reverts commit 2cef834198.
This feature is "undiscoverable" according to Mitch, and we are not sure
how much the endpoint colors are special to the user.
2015-10-08 19:33:11 +02:00
2cef834198 app: save first and last color of the blend tool gradient...
in the recently used colors palette.
2015-09-30 17:10:10 +02:00
97e55692eb app: the blend tool was rendering all gradients off-by-0.5
When calculating the color of a pixel, we want to calculate the color
at its center, not at its top-left corner. Found by Raymond Jennings.
2015-08-26 23:23:16 +02:00
7e6320497e follow gegl api changes from commit af5361ca8d, with an abyss policy argument
to gegl_buffer_copy.
2015-05-25 01:27:31 +02:00
8af3fec689 app: use the new distance-transform operation in the blend tool 2014-08-03 20:12:01 +02:00
328e4eff18 app: add gimp_progress_set_text_literal()
and use it instead of set_text (progress, "%s", literal_message);
2014-07-20 23:32:19 +02:00
b5530e9e3d Use the new GeglAccessMode enum instead of the old values 2014-07-02 02:00:35 +02:00
16819917f5 app: add a boolean "normalize" property to gimp:shapeburst
and do the normalization in the op, instead of exporting the
max_iterations via a property and doing the normalization outside.
2014-05-01 20:40:55 +02:00
540d3bb6ae app: port gimp:shapeburst's input from u8 to float 2014-05-01 20:32:26 +02:00
b60e1779cd app: pass a GimpGradient to gimp_drawable_blend(), not a GimpBlendMode
The blend mode is now only a PDB compat enum, translate between
GimpBlendMode and the built-in gradients in the gimp-edit-blend PDB
wrapper.
2014-04-30 09:17:42 +02:00
22c222291d libgimpbase,*: clean up enum values in gimpbaseenums.h
GIMP_ADD_foo_MASK -> GIMP_ADD_MASK_foo
GIMP_foo_MODE -> GIMP_BLEND_foo
GIMP_foo_CLONE -> GIMP_CLONE_foo
GIMP_foo -> GIMP_DODGE_BURN_TYPE_foo
GIMP_foo -> GIMP_TRANSFER_foo

Add compat values for the old names and compat code to script-fu
and pygimp.
2014-04-29 20:58:30 +02:00
ad4862c60b Adds new blending mode 'Truncate blend'
Bring repeat behavior on par with GEGL and Cairo,
and sane ways of creating square or circular gradient
shapes.
2014-04-24 12:18:26 -03:00
34c50b0fea app, plug-ins: Don't modify iter->length
The new by-row iteration doesn't re-write the length
value for each row. In general it is not safe to modify
the iterator data because the internal logic depends
on the public data, but this specific case is new.
2013-09-12 17:43:54 -07:00
03f559923b app: properly initialize more variables
Found by Coverity
2013-06-23 13:10:44 +02:00
eb89a545d5 app: move core/gimp-apply-operation.[ch] to gegl/gimp-gegl-apply-operation.[ch] 2012-10-22 16:03:40 +02:00
a0221bc560 app: plug a memory leak
and make the blend tool (Shape: Shaped (angular)) sligthly
more efficient

with an opaque layer (400x300) goes from:
gradient_fill_region: gradient_fill_region took 52.69 seconds
EEEEeEeek! 2 GeglBuffers leaked
to:
gradient_fill_region: gradient_fill_region took 5.90 seconds
2012-09-19 19:10:49 +02:00
33141419cc app: experimental blend speedup code for review, disabled
Keeps around a cache of gradient values, instead of calling
gimp_gradient_get_color_at() for each rendered pixel.
2012-05-28 22:55:03 +02:00
4dcd1f3ad4 app: use plain gegl_buffer_new() and _dup(), not the gimp_gegl_ variants
unless the buffers end up being drawable->buffer.
2012-05-20 22:02:59 +02:00
aee7ddd56d app: remove the !use_gegl case from gimp_drawable_apply_buffer()
and its last three parameters because they were only used for legacy
floating selection projection.
2012-05-19 00:14:51 +02:00
3ad73b3658 libgimpcolor: add GdkPixbuf <-> GeglBuffer utility functions
and update tons of includes in libgimp and app.
2012-05-03 03:37:20 +02:00
252ba10537 app: indentation in gimpdrawable-blend.c 2012-05-02 17:51:21 +02:00
3d095fa806 app: completely port gradient rendering to GEGL 2012-05-02 17:51:13 +02:00
71e51e18c9 app: don't pass a PixelRegion to gradient_precalc_shapeburst()
it only needs a rectangle.
2012-05-02 17:51:13 +02:00
0a4e138353 app: port gradient rendering with supersampling to GEGL, always use float 2012-05-02 17:51:13 +02:00
8d4672eb5e app: get mask and component formats from the image instead of hardcoding. 2012-05-02 17:51:10 +02:00
6efd812d08 app: s/GIMP_GEGL_RECT/GEGL_RECTANGLE/
Defining GeglRectangle inline is so useful that it has been added to
GEGL.
2012-05-02 17:50:52 +02:00
3a48101b9d app: use below new function for shapeburst blend and cage tool progress 2012-05-02 17:50:37 +02:00
42e2f5ebfe app: remove legacy includes from blend 2012-05-02 17:50:37 +02:00
70f501da93 app: remove the global dist_buffer variable and pass it around locally 2012-05-02 17:50:37 +02:00
ea86461586 app: port the rest of the shapeburst blend logic to GEGL 2012-05-02 17:50:37 +02:00
865b925598 app: add GimpOperationShapeburst to calculate the distance map for blend 2012-05-02 17:50:36 +02:00
7223af17a2 app: completely port GimpDrawable::apply_region()'s API to GeglBuffer
and pass lots of coords that were hidden inside PixelRegions
explicitly.
2012-05-02 17:46:12 +02:00
fe1f140e1a app: port blend to gimp_drawable_apply_buffer() 2012-05-02 17:46:11 +02:00
f8b1372038 app: make use of GIMP_GEGL_RECT in more places 2012-05-02 17:46:05 +02:00
fe3220ae6f app: remove write property of GeglBuffer backend 2012-05-02 17:46:05 +02:00
0bcae125b5 app: merge gimp_drawable_get_read_buffer() and get_write_buffer()
into get_buffer(). The loss of zero copy will be compensated soon.
2012-05-02 17:46:04 +02:00
34ef32ff78 app: replace some region operations in blend by GEGL 2012-05-02 17:46:02 +02:00