Michael Natterer
e424b9ebbd
app: gimp_channel_new_from_alpha(): use gimp_drawable_get_component_format()
2014-06-02 08:12:48 +02:00
Michael Natterer
8424ccbedf
app: don't create a temporary GimpChannel in gimp_channel_translate()
...
a temporary GeglBuffer is enough.
2014-06-02 01:57:17 +02:00
Michael Natterer
23037b5230
app: convert all stock IDs kept around by the core by icon names
...
Particularly GimpViewable's stock_id. Make sure old config files
containing stock IDs are still properly parsed.
2014-05-07 01:01:56 +02:00
Michael Natterer
30ae88ef07
Bug 725556 - Feather selection extremely slow
...
gimp_gegl_apply_feather(): add a "dest_rect" parameter to restrict
the feather area. Pass the selection bounds plus the feather radius.
For consistency, newly add gimp_gegl_apply_border,grow,shrink() and use
them in gimpchannel.c
2014-03-04 22:11:50 +01:00
Michael Natterer
33f361f634
app: include gimp-gegl-nodes.h in gimpchannel.c
2013-10-20 00:35:20 +02:00
Michael Natterer
41c92af49b
app: add gimp_gegl_node_set_color() and use it in GimpChannel
2013-10-19 17:31:56 +02:00
Michael Natterer
e0c64a817d
Bug 701232 - Painting tools still slow when used in Quick Mask mode
...
Set the format of GimpChannel's gegl:color node depending on whether
the buffer is linear or gamma-corrected.
2013-10-18 01:01:26 +02:00
Michael Natterer
125cf2a2a3
app: use the image instead of the projection for accessing a pickable
2013-09-13 23:29:06 +02:00
Michael Natterer
f56f6d1255
app: follow the GEGL invert -> invert-linear vs. invert-gamma change
...
and invert masks using invert-linear and other drawables using
invert-gamma. drawable_invert_cmd_callback() still always uses
invert-gamma even though it can be used on layer masks.
2013-06-24 00:45:04 +02:00
Michael Natterer
3b68ae0f3c
app, pdb, libgimp: Remove all traces of the supersampling recursion level
...
from all transform APIs. This is no longer used since we use GEGL to
transform, the value was only passed around and never used.
2013-05-31 01:15:32 +02:00
Miroslav Talasek
0d7b10cb74
app: add gimp_channel_new_from_buffer() and gimp_layer_mask_new_from_buffer()
2013-05-07 23:06:43 +02:00
Michael Natterer
45a6ea432c
app: add new class GimpFilter as parent class of GimpItem
...
and move the item's GeglNode API there. The purpose of this is to
factor out "gimp object that manages a node".
2013-04-11 12:25:10 +02:00
Michael Natterer
ddc4a057e4
app: factor our more lowlevel GimpChannel code to GeglBuffer utils
2013-04-09 00:38:46 +02:00
Michael Natterer
586bb73293
app: add gimp_gegl_apply_feather()
...
and use it in gimp_channel_real_feather() so the magic factor of 3.5
to turn feather radius into gegl:gaussian-blur's std_dev is hidden
behind an API.
2013-04-08 14:16:33 +02:00
Michael Natterer
84b27e96b9
app: remove temp buffer workaround from gimp_channel_new_from_component()
...
apparently copying a component directly now works fine, probably
because we use "real" GeglBuffers (not TileManager based ones).
2013-03-13 23:45:46 +01:00
Michael Natterer
435df29d85
app: add utility functions for applying specific operations to buffers
...
so gimp_gegl_apply_foo() will run "gegl:foo" with the required
properties on a buffer and write the result to another buffer.
2012-10-31 23:47:45 +01:00
Michael Natterer
ca4dadefa4
app: remove gimp_drawable_apply_operation_to_buffer()
...
it was a completely silly wrapper. Use gimp_gegl_apply_operation()
directly instead.
2012-10-22 16:14:56 +02:00
Michael Natterer
eb89a545d5
app: move core/gimp-apply-operation.[ch] to gegl/gimp-gegl-apply-operation.[ch]
2012-10-22 16:03:40 +02:00
Michael Natterer
60305c11d5
app: add "const Babl *new_format" to GimpDrawable::convert_type()
...
but only to the virtual function, not the public API. Implement it in
GimpSelection and GimpLayerMask, and pass the correct mask format down
to the parent class which does the actual conversion.
2012-10-13 22:56:32 +02:00
Michael Natterer
5dbcdef477
app: implement optional dithering when converting to lower bit depth
...
Add "layer_dither_type" and "mask_dither_type" to
GimpDrawable::convert_type(), pass around the dither type from the
dialog, and implement dithering using gegl:color-reduction.
2012-10-13 21:46:56 +02:00
Michael Natterer
373a4e7469
app: completely remove TileManager and friends (base/ and paint-funcs/)
...
And along with it a lot of stuff like the drawable preview cache, the
gegl tile manager backend, temporary gimp_gegl_buffer_foo() stuff, and
the remaining bits of performance.
The projection is in an evil semi-ported state which makes it work
ok-ish for stuff like layer moving, but absolutely unbearable for
painting, there is also an off-by-one rendering glitch at some zoom
levels.
2012-06-20 21:44:09 +02:00
Michael Natterer
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
Michael Natterer
d294cfb8b2
app: remove the legacy projection construction code
2012-05-19 00:06:03 +02:00
Michael Natterer
c3e933b7b2
app: always use gimp_item_peek_node() to check if the item has a graph
...
instead of checking different things in each item subclass, which is
confusing to the reader.
2012-05-15 21:57:40 +02:00
Michael Natterer
3ad73b3658
libgimpcolor: add GdkPixbuf <-> GeglBuffer utility functions
...
and update tons of includes in libgimp and app.
2012-05-03 03:37:20 +02:00
Michael Natterer
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
Michael Natterer
96ebc6f848
app: add "new_precision" argument to gimp_drawable_convert_type()
...
for clarity and consistency with the "new_base_type" argument.
2012-05-02 17:51:15 +02:00
Michael Natterer
ae9ced8432
app: port gimp_channel_bounds() and is_empty() to float
2012-05-02 17:51:14 +02:00
Michael Natterer
a016b8102b
app: change the maskPR in gimp_drawable_replace_buffer() to GeglBuffer
2012-05-02 17:51:12 +02:00
Michael Natterer
8d4672eb5e
app: get mask and component formats from the image instead of hardcoding.
2012-05-02 17:51:10 +02:00
Michael Natterer
3e9fdf1815
app: change GimpBoundary to find the boundary a float component
...
Require passing in a Babl format that will extract the float component
the algorithm should run on.
2012-05-02 17:51:07 +02:00
Michael Natterer
3ea0e3f090
app: return double not int from GimpPickable::get_opacity_at()
...
and fix GimpLayer's impl to honor the mask also for layers without
alpha.
2012-05-02 17:51:07 +02:00
Michael Natterer
927ef9b9fb
app: use gimp_gegl_color_new() instead of gegl_color_set_rgba()
2012-05-02 17:51:04 +02:00
Michael Natterer
66050390aa
app: hack badly to make gimp_channel_new_from_component() work
...
insert an intermediate copy to work around an unclear bug that will go
away once we use native GeglBuffers.
2012-05-02 17:51:04 +02:00
Michael Natterer
9d518677d2
app: remove gimpdrawable-convert.[ch]
...
This can now be done in gimp_drawable_real_convert_type() with a few
lines of GEGL buffer copying.
2012-05-02 17:51:03 +02:00
Michael Natterer
9bac5b8837
app: add gimp_image_get_channel_format() and get_mask_format()
...
which for now return the same thing (Y' u8) and need to be used
in more places before becoming useful.
2012-05-02 17:50:58 +02:00
Øyvind Kolås
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
Øyvind Kolås
bfb3cd60d1
app: adapt to API changes in gegl_buffer_iterator
2012-05-02 17:46:15 +02:00
Michael Natterer
efbc4e61b0
app: more gegl_buffer_iterator_new() updates
2012-05-02 17:46:15 +02:00
Michael Natterer
ebcf22ba82
app: use gegl_buffer_set_format() to "cast" a dest buffers format
...
in order to extract a src buffer's components
2012-05-02 17:46:15 +02:00
Øyvind Kolås
f68c3c7051
app: adapt to API changes in GEGL
2012-05-02 17:46:15 +02:00
Michael Natterer
9a1fbe9418
app: remove obsolete include from gimpchannel.c
2012-05-02 17:46:14 +02:00
Michael Natterer
dab97df012
app: remove the TileValidateProc from gimp_channel_new_mask()
...
and simply gegl_buffer_clear() the thing instead.
2012-05-02 17:46:14 +02:00
Michael Natterer
b08ba684cf
app: replace border_region() by GimpOperationBorder
2012-05-02 17:46:14 +02:00
Michael Natterer
8fc7c17d39
app: replace fatten_region() by GimpOperationGrow
2012-05-02 17:46:14 +02:00
Michael Natterer
fa072f0cd4
app: remove thin_region(), turns out that gimp:shrink was not slow after all
2012-05-02 17:46:14 +02:00
Michael Natterer
be853cd239
app: remove "gboolean linear" from all apply_operation APIs
...
thes were all unused and we want to get rid of that anyway.
2012-05-02 17:46:13 +02:00
Michael Natterer
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
Øyvind Kolås
c872a9368e
app: sprinkle level argument over process functions
2012-05-02 17:46:13 +02:00
Michael Natterer
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