Commit graph

3842 commits

Author SHA1 Message Date
Michael Natterer
ca7ee8400e app: remove gimp_image_transform_temp_buf() 2012-05-02 17:50:46 +02:00
Michael Natterer
3b936fe595 app: GimpImageType -> Babl in GipmBrushClipboard 2012-05-02 17:50:46 +02:00
Michael Natterer
93009ef274 app: use gimp_temp_buf_create_buffer() all over the place
instead of creating linear buffers manually.
2012-05-02 17:50:46 +02:00
Michael Natterer
2957795372 app: add gimp_gegl_node_set_matrix() and use it instead of manual fiddling 2012-05-02 17:50:46 +02:00
Øyvind Kolås
b8e340b5bc app: update paramspec duplication with changes in gegl paramspecs 2012-05-02 17:50:44 +02:00
Øyvind Kolås
1cee8d79bf app: respect GEGLs ui-range hints for properties 2012-05-02 17:50:44 +02:00
Michael Natterer
50d7242b87 app: remove gimp_image_transform_rgb()
and use gimp_rgba_get_pixel() instead.
2012-05-02 17:50:43 +02:00
Michael Natterer
3e119c5af7 libgimpcolor: add gimp_rgb[a]_set,get_pixel()
which converts from/to any pixel format using Babl. Added tons of
includes and CFLAGS now that libgimpcolor publically uses Babl.
2012-05-02 17:50:43 +02:00
Michael Natterer
7f437d7d53 app: remove gimp_image_get_foreground,background()
and use gimp_context_get_foreground,background_pixel() instead.
2012-05-02 17:50:43 +02:00
Michael Natterer
8dfea70191 app: fix GIMP_TIMER_END() to take an arbitrary string
not a string constant that only works in the C preprocessor, and add a
timer to gimp_apply_operation().
2012-05-02 17:50:43 +02:00
Michael Natterer
29e7837441 app: remove gimpdrawable-process.[ch] 2012-05-02 17:50:43 +02:00
Michael Natterer
1a34171e68 app: remove the legacy option in gimp_drawable_scale() 2012-05-02 17:50:42 +02:00
Michael Natterer
87b7af7fa5 app: remove drawable->private->format, its buffer has a format already
Also, make group layer type conversion much less hackish by using the
same kind of temporary states that are used for reallocating its
projection on size change.
2012-05-02 17:50:42 +02:00
Michael Natterer
deb9b9caa8 app: replace GimpProjectable::get_image_type() by ::get_format()
and change semantics to returning the format it wants to be projected
in, not its actual format.
2012-05-02 17:50:42 +02:00
Michael Natterer
2a853cd1ee app: remove GimpPickable::get_bytes() 2012-05-02 17:50:42 +02:00
Michael Natterer
5e754a9641 app: remove GimpPickable::get_image_type() 2012-05-02 17:50:42 +02:00
Michael Natterer
5fba7c70c7 app: replace the tile pyramid's GimpImageType by bytes, it needs nothing else 2012-05-02 17:50:41 +02:00
Michael Natterer
e00598abed app: remove the legacy gimp-transform-region code 2012-05-02 17:50:41 +02:00
Michael Natterer
95327090c0 app: remove legacy support from gimpdrawable-transform.c 2012-05-02 17:50:41 +02:00
Michael Natterer
867da8f293 app: add gimp_context_get_foreground,background_pixel()
which takes a Babl format to convert from/to.
Include <gegl.h> in a million places.
2012-05-02 17:50:41 +02:00
Michael Natterer
39cca4aabd app: more GimpImageType -> Babl 2012-05-02 17:50:40 +02:00
Michael Natterer
89d525c970 app: remove legacy support from GimpImageMap 2012-05-02 17:50:40 +02:00
Michael Natterer
f248324fd3 app: remove the lagacy hue-saturation cruft
it's unclear whether the operation is correct, but that can be sorted
out on master and merged.
2012-05-02 17:50:40 +02:00
Michael Natterer
23370d9fad app: remove gimp_image_get_color() 2012-05-02 17:50:39 +02:00
Michael Natterer
48c796e748 app: port gimp_image_contiguous_region_by_seed() to babl_process()
instead of gimp_image_get_color().
2012-05-02 17:50:39 +02:00
Michael Natterer
932b80f612 app: port gimp_image_contiguous_region_by_color() to GEGL 2012-05-02 17:50:39 +02:00
Michael Natterer
5713e6ecfb app: don't use gimp_image_get_color() in GimpPickable
A fish does the job just fine.
2012-05-02 17:50:39 +02:00
Michael Natterer
75b87f1a1d app: don't use gimp_image_get_color() in gimp_palette_import_extract()
GEGL can deliver the image data as RGBA right away.
2012-05-02 17:50:39 +02:00
Michael Natterer
b74a2dbf0c app: use Babl formats, not GimpImageType, in gimp_selection_extract() 2012-05-02 17:50:39 +02:00
Michael Natterer
36e982e2ed app: port gimp_image_pick_color() to return a Babl format
instead of a GimpImageType.
2012-05-02 17:50:39 +02:00
Michael Natterer
25f4769c77 app: formatting cleanup in gimpimage-convert.c 2012-05-02 17:50:38 +02:00
Michael Natterer
031978c4c3 app: port gimpimage-convert.c to GEGL 2012-05-02 17:50:38 +02:00
Michael Natterer
1098eabc70 app: use the same indexed Babl formats during an image's lifetime
And only reconfigure them when the colormap changes. This way
undo/redo of layer adding/removing works across type conversions,
because the layers need to be in the same format as the image's
indexed format.
2012-05-02 17:50:38 +02:00
Øyvind Kolås
76546f7e7c rename lanczos to lohalo
GEGL had a broken lanczos implementation, the lohalo implementation is better
anyways (at least when passed a proper scale matrix).
2012-05-02 17:50:38 +02:00
Øyvind Kolås
ee97c1f4ff app: correct usage of babl formats
GIMP was doing evil hacks lying to GEGL about it's pixels being in a linear
color space when they are not. This causes incorrect rendering, makes gaussian
blur misbehave etc.

The legacy projection modes should be implemented using the same 2.2 gamma
formats that are correct to specify for sRGB data. (for proper color
management in higher bitdepths; icc backend babl formats should be used.)

For the old image modes correct babl formats are:

R'G'B'A u8  -  8 bit RGB with 2.2 gamma (sRGB) with linear alpha component
R'G'B' u8   -  8 bit RGB with 2.2 gamma (sRGB)
Y'A u8      -  8 bit Grayscale with 2.2 gamma with linear alpha component
Y' u8       -  8 bit Grayscale with 2.2 gamma

Y u8        -  8 bit linear data, used for masks/channels
A u8        -  8 bit linear alpha

-----------------------------------------------

RGBA float  -     32bit floating point linear light RGB
RaGaBaA float  -  32bit floating point linear light RGB, premultiplied alpha
                  to be used for processing that needs to scale by the alpha,
                  (blurs, resampling etc)
R'G'B'A float  -  32bit floating point sRGB with gamma, to be used where
                  the result depends on being closer to perceptual when
                  processing, can be used a cheaper alternative to CIE Lab
                  based modes.

-----------------------------------------------

The legacy layer modes should use the formats with gamma 2.2 only for loading
and rendering legacy XCF files correctly, in the brave new world compositing
should most likely be done in linear light with "RGBA float" and even better
"RaGaBaA float" like GEGL does for porter duff and other compositing modes.

The ability to chose the legacy layer modes should probably be hidden from the
user unless an old .xcf has been opened.
2012-05-02 17:50:38 +02:00
Michael Natterer
2c0fde88f2 app: remove the legacy color-balance cruft 2012-05-02 17:50:38 +02:00
Michael Natterer
3a48101b9d app: use below new function for shapeburst blend and cage tool progress 2012-05-02 17:50:37 +02:00
Michael Natterer
42e2f5ebfe app: remove legacy includes from blend 2012-05-02 17:50:37 +02:00
Michael Natterer
70f501da93 app: remove the global dist_buffer variable and pass it around locally 2012-05-02 17:50:37 +02:00
Michael Natterer
ea86461586 app: port the rest of the shapeburst blend logic to GEGL 2012-05-02 17:50:37 +02:00
Michael Natterer
865b925598 app: add GimpOperationShapeburst to calculate the distance map for blend 2012-05-02 17:50:36 +02:00
Michael Natterer
97f6061a91 app: remove some obsolete legacy includes from gimpdrawable.c 2012-05-02 17:46:16 +02:00
Michael Natterer
eea149d8e5 app: better GEGL code in gimp_layer_create_mask() 2012-05-02 17:46:16 +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
Øyvind Kolås
9a22e2202f app: update with GEGL iterator API changes 2012-05-02 17:46:15 +02:00
Michael Natterer
c3a818f8f8 app: properly sync the projection's tiles and their buffer
Esp. don't keep two buffer "views" on the tiles around,
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
2b6b5a8ada app: remove unused base/ includes 2012-05-02 17:46:15 +02:00