Michael Natterer
733a98d33b
app: let Babl handle all color conversion in gimp_edit_fill_internal()
...
also for indexed, thanks to the new palette format.
2012-05-02 17:45:56 +02:00
Michael Natterer
d146cc40ea
app: require a Babl for all buffers created on top of tiles
...
Fixes quite some introduced glitches with indexed mode because
the buffers use the right pixel format now.
2012-05-02 17:45:56 +02:00
Michael Natterer
19fc49a972
app: remove unused variable from last commit
2012-05-02 17:45:56 +02:00
Michael Natterer
e03dcc074b
app: use the new Babl palette format to implement indexed images
...
- keep babl palette formats around in the image in indexed mode
- create drawables with the right format
- as first test, convert indexed drawabled to rgb/gray by simply
calling gegl_buffer_convert()
2012-05-02 17:45:56 +02:00
Michael Natterer
88388467cc
app: move the layer mask show, edit, apply API from GimpLayerMask to GimpLayer
...
because it would require really evil hacks to honor these properties
in the gegl projection if they were on the mask, and because they
actually belong to the layer.
2012-05-02 17:45:56 +02:00
Michael Natterer
c22b6a2884
app: move variable to local scope
2012-05-02 17:45:56 +02:00
Michael Natterer
684f7f167b
app: use GimpOperationSetAlpha in gimp_layer_create_mask()
...
After transferring the layer's alpha to the mask, the alpha needs to
be set to opaque.
2012-05-02 17:45:56 +02:00
Michael Natterer
5b644f1037
app: add GimpOperationSetAlpha which sets the alpha channel to a value
2012-05-02 17:45:56 +02:00
Michael Natterer
53e0671ce0
app: port gimp_palette_import_extract() to GeglBufferIterator
2012-05-02 17:45:55 +02:00
Michael Natterer
f05de34cd6
app: add GimpPickable::get_babl_format()
2012-05-02 17:45:55 +02:00
Michael Natterer
b2d8aef239
app: remove obsolete include in gimpchannel.c
2012-05-02 17:45:55 +02:00
Michael Natterer
dfa7173ee0
app: port gimp_channel_combine_ellipse_rect() to GeglBufferIterator
2012-05-02 17:45:55 +02:00
Michael Natterer
acad9ac510
app: flush both write and write buffer in gimp_drawable_update()
...
so tiles and buffers are up-to-date before anyone has a chance to
access the modified pixels.
2012-05-02 17:45:55 +02:00
Michael Natterer
a9c1392572
app: port gimp_channel_real_bounds() to GeglBufferIterator
2012-05-02 17:45:55 +02:00
Michael Natterer
7c1a642966
app: minor cleanup and commenting in gimp_scan_convert_render_full()
2012-05-02 17:45:55 +02:00
Michael Natterer
105aff0296
app: flush the drawable_s write_buffer in gimp_drawable_update()
...
because it's called after each drawable modification and therefore a
good place to sync buffrs and tiles.
2012-05-02 17:45:55 +02:00
Michael Natterer
8aabfb1779
app: s/read_buffer/write_buffer/ in GimpTextLayer because we fill the tiles
2012-05-02 17:45:55 +02:00
Michael Natterer
410d6405d6
app: use GeglBufferIterator in gimp_channel_real_is_empty()
2012-05-02 17:45:55 +02:00
Michael Natterer
fd579343df
app: use GeglBufferIterator in gimp_text_layer_render_layout()
2012-05-02 17:45:54 +02:00
Michael Natterer
97b41ecbb6
app: remove multiply_alpha_region() and separate_alpha_region()
2012-05-02 17:45:54 +02:00
Michael Natterer
07ba5b37a0
app: remove shade_region()
2012-05-02 17:45:54 +02:00
Michael Natterer
299886d20d
app: convert drawables between RGB and GRAY using gegl_buffer_copy()
2012-05-02 17:45:54 +02:00
Michael Natterer
267d17d940
app: simplify gimp_drawable_offset() a lot
...
by simply GEGL-initializing everything if we are not wrapping around,
GEGL will later optimize that.
2012-05-02 17:45:54 +02:00
Michael Natterer
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
Michael Natterer
15957cb3c4
app: remove the legacy brightness-contrast code and use GEGL instead
...
it's reasonably fast now.
2012-05-02 17:45:53 +02:00
Michael Natterer
4ab4da0e6c
app: remove flatten_region() and its helper functions
2012-05-02 17:45:53 +02:00
Michael Natterer
5c71411502
app: use GEGL to create a layer mask from a grayscale copy of the layer
2012-05-02 17:45:53 +02:00
Michael Natterer
f15e8a1ea2
app: add gimp_apply_operaion() as generic buffer-to-buffer utility function
...
and use it from gimpdrawable-operation.c
2012-05-02 17:45:53 +02:00
Michael Natterer
528e007e03
app: remove copy_color() and its helper functions
2012-05-02 17:45:53 +02:00
Michael Natterer
119b58b659
app: remove copy_component() and its helper functions
2012-05-02 17:45:53 +02:00
Michael Natterer
f8c29b2532
app: remove obsolete includes from gimpbrushclipboard.c
2012-05-02 17:45:53 +02:00
Michael Natterer
8cc2a71b81
app: create GimpBrushClipboard's buffers with GEGL
2012-05-02 17:45:53 +02:00
Michael Natterer
5d1474c17e
app: use GEGL to extract an image's component into a channel
...
Add gimp_image_get_component_format() for that purpose.
2012-05-02 17:45:53 +02:00
Michael Natterer
a898491b3f
app: allow to "cast" a buffer's pixel format to another one
...
as long as it has the same number of bytes. Add
gimp_tile_manager_create_buffer_with_format() for that purpose,
register a format that contains's only a u8 alpha byte, and use that
to extract alpha from drawables.
2012-05-02 17:45:52 +02:00
Michael Natterer
0ae0dfb52e
app: add a flatten meta-op and use it for layers and channels
2012-05-02 17:45:52 +02:00
Michael Natterer
52d033e2c1
app: don't need an attached item for applying an op to tiles/buffers
2012-05-02 17:45:52 +02:00
Michael Natterer
169221bc51
app: replace some color_region() and pattern_region() by GEGL code
2012-05-02 17:45:52 +02:00
Øyvind Kolås
1ff7ecb4aa
app: fix segfault in previous commit
2012-05-02 17:45:52 +02:00
Øyvind Kolås
b93e166440
app: avoid thrashing GEGL side of tile cache in projection
...
gimp_projection_initialize was causing the projection code to throw out all
it's tiles continously, causing crawling updates.
2012-05-02 17:45:52 +02:00
Øyvind Kolås
3235cfe69e
app: default to use GEGL rather than legacy code paths
...
During development, the GEGL code such have as much exposure to users testing
the development release. There is still the option to switch it off if GEGL is
not adhering to expectations.
2012-05-02 17:45:52 +02:00
Michael Natterer
5413949851
app: implement gimp_layer_add_alpha() with gegl_buffer_copy()
2012-05-02 17:45:52 +02:00
Michael Natterer
dc8d6a3977
app: use gimp_image_transform_rgb() instead of transform_color()
...
instead of fiddling with gimp_rgb_get_uchar() manually.
2012-05-02 17:45:52 +02:00
Michael Natterer
54108d9413
app: add gimp_drawable_get_babl_format()
2012-05-02 17:45:51 +02:00
Michael Natterer
2a279f5e40
app: some more gegl_buffer_clear()/set_color() on mask objects
2012-05-02 17:45:51 +02:00
Michael Natterer
d127e3ad35
app: use gegl_buffer_copy() in gimp_drawable_resize()
2012-05-02 17:45:51 +02:00
Øyvind Kolås
8f3f600eb3
app: remove unused #includes
2012-05-02 17:45:51 +02:00
Michael Natterer
1b1245e4cc
app: remove empty functions paint_funcs_setup()/free()
2012-05-02 17:45:51 +02:00
Øyvind Kolås
1ee041600f
app: replace direct low-level GeglBuffer calls with utility.
...
gimp_drawable_real_update exists, so use it
2012-05-02 17:45:50 +02:00
Michael Natterer
ef3cfb48cc
app: remove gaussian_blur_region() and its helpers
2012-05-02 17:45:50 +02:00
Michael Natterer
4455e29303
app: implement gimp_channel_real_feather() with gegl:gaussian-blur
...
It's not 100% the same but very close, everybody is invited to improve
the magic number in gimp_channel_real_feather() to truly match the old
behavior.
2012-05-02 17:45:50 +02:00