Commit Graph

31559 Commits

Author SHA1 Message Date
Michael Natterer 8e31fdf363 app: remove paint-funcs/reduce-region.[ch] 2012-05-02 17:50:42 +02:00
Michael Natterer 23811be3f6 app: remove paint-funcs/scale-region.[ch] 2012-05-02 17:50:42 +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
Øyvind Kolås 49de3d5292 app: follow changes in GeglOperation API 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 f4a4aa2133 app: use a GEGL graph for perspective clone's transform
Horribly slow, but seems to work.
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 37c895ba68 app: have the display renderer ask for the projection's format not image_type 2012-05-02 17:50:40 +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 98226d0b36 app: remove legayc support from GimpImageMapTool 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 8008b75411 app: forgot the GimpImageType -> Babl change in pick_color() here 2012-05-02 17:50:39 +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 c8481fd19e app: increase the tile size for plug-ins to 128x128 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 e540444b56 app: fix registration of babl formats 2012-05-02 17:50:38 +02:00
Øyvind Kolås 69cd6d033a app: fix registration of babl_format("A u8") 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
Michael Natterer 52e40bce42 pdb: port drawable pixel access API to GEGL 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 1f7cf2dd6b pdb: add new group plug-in-compat for compat procedures of removed plug-ins
For now contains a pixelize implementation, but it's still called
gimp-plug-in-pixelize, not plug-in-pixelize.
2012-05-02 17:50:37 +02:00
Øyvind Kolås 52f92de6e0 plugins/newsprint: remove assumption that tiles are square 2012-05-02 17:50:37 +02:00
Michael Natterer 2e33fc15b5 app: remove includes from app/plug-in/ 2012-05-02 17:50:37 +02:00
Michael Natterer acd3ce41b0 app: port the entire plug-in tile communication to using GeglBuffers
which means we are now completely independent of TileManager tile
sizes. The "tile" size used to talk to plug-ins is now defined as:
2012-05-02 17:50:37 +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 315881065b app: add gimp_gegl_progress_connect()
which connects to notify::progress of the operation inside a node an
updates a GimpProgress accordingly.
2012-05-02 17:50:37 +02:00
Michael Natterer b1591fccc7 app: switch to gegl_buffer_sample() in GimpOperationShapeburst
and fix the progress fractions.
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
Øyvind Kolås 244fa1ab49 app: add place holder splash for goat invasion 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