ecaae0788c
app: minor fix of parameter alignment.
2016-01-26 00:11:51 +01:00
3f04e349cf
app: Add gimp_channel_flood() function
...
This function applies the "gimp:flood" operation to the channel.
2016-01-25 22:58:28 +01:00
e3ea383580
app, libgimpbase: move enum GimpStrokeMethod to libgimpbase
...
and rename its values.
2015-11-08 22:48:48 +01:00
ac1c6d7864
app: add progress reporting to gimp_drawable_convert_type()
...
so it doesn't sit there appearing to do nothing while converting an
image with profile to gamma/linear.
2015-10-21 22:22:30 +02:00
4479cedf13
app: rename mask enum values GIMP_COMPONENT_RED,GREEN,BLUE etc.
...
to GIMP_COMPONENT_MASK_RED,GREEN,BLUE etc.
2015-09-07 00:35:02 +02:00
76782e622d
app: add "gboolean convert_profile" to GimpDrawable::convert_type()
...
also add "GType old_type" to GimpItem::convert() so implementations
can do things depending on the type of the original item.
In gimp_layer_convert(), if the original item is also a layer, and
color management is not off (with a FIXME because this is the wrong
check), pass convert_profile = TRUE to gimp_drawable_convert_type().
There is no color profile conversion anywhere behind this, this is
just an API change commit.
2015-08-16 15:56:28 +02:00
33d7b6005e
app: remove GimpChannel::bounds() and gimp_channel_bounds()
...
and port everything to GimpItem::bounds().
2015-07-03 19:38:08 +02:00
4edf70f4f1
app: add virtual function GimpItem::bounds()
...
Which returns a boolean indicating if there is content at all, and the
bounds as double x, y, width, height because for most use cases that's
better than x1, y1, x2, y2. Wrap the method with two functions
gimp_item_bounds() which returns integer bounds and
gimp_item_bounds_f() which returns the original double bounds.
2015-07-03 19:38:06 +02:00
9f9865afb8
app: fix the build with MyPaint brushes enabled, and some formatting foo
2015-05-25 02:15:03 +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
e424b9ebbd
app: gimp_channel_new_from_alpha(): use gimp_drawable_get_component_format()
2014-06-02 08:12:48 +02:00
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
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
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
33f361f634
app: include gimp-gegl-nodes.h in gimpchannel.c
2013-10-20 00:35:20 +02:00
41c92af49b
app: add gimp_gegl_node_set_color() and use it in GimpChannel
2013-10-19 17:31:56 +02:00
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
125cf2a2a3
app: use the image instead of the projection for accessing a pickable
2013-09-13 23:29:06 +02:00
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
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
0d7b10cb74
app: add gimp_channel_new_from_buffer() and gimp_layer_mask_new_from_buffer()
2013-05-07 23:06:43 +02:00
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
ddc4a057e4
app: factor our more lowlevel GimpChannel code to GeglBuffer utils
2013-04-09 00:38:46 +02:00
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
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
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
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
eb89a545d5
app: move core/gimp-apply-operation.[ch] to gegl/gimp-gegl-apply-operation.[ch]
2012-10-22 16:03:40 +02:00
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
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
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
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
d294cfb8b2
app: remove the legacy projection construction code
2012-05-19 00:06:03 +02:00
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
3ad73b3658
libgimpcolor: add GdkPixbuf <-> GeglBuffer utility functions
...
and update tons of includes in libgimp and app.
2012-05-03 03:37: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
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
ae9ced8432
app: port gimp_channel_bounds() and is_empty() to float
2012-05-02 17:51:14 +02:00
a016b8102b
app: change the maskPR in gimp_drawable_replace_buffer() to GeglBuffer
2012-05-02 17:51:12 +02:00
8d4672eb5e
app: get mask and component formats from the image instead of hardcoding.
2012-05-02 17:51:10 +02:00
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
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
927ef9b9fb
app: use gimp_gegl_color_new() instead of gegl_color_set_rgba()
2012-05-02 17:51:04 +02:00
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
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
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
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
bfb3cd60d1
app: adapt to API changes in gegl_buffer_iterator
2012-05-02 17:46:15 +02:00
efbc4e61b0
app: more gegl_buffer_iterator_new() updates
2012-05-02 17:46:15 +02:00
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