Commit Graph

31544 Commits

Author SHA1 Message Date
89d525c970 app: remove legacy support from GimpImageMap 2012-05-02 17:50:40 +02:00
98226d0b36 app: remove legayc support from GimpImageMapTool 2012-05-02 17:50:40 +02:00
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
8008b75411 app: forgot the GimpImageType -> Babl change in pick_color() here 2012-05-02 17:50:39 +02:00
23370d9fad app: remove gimp_image_get_color() 2012-05-02 17:50:39 +02:00
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
932b80f612 app: port gimp_image_contiguous_region_by_color() to GEGL 2012-05-02 17:50:39 +02:00
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
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
b74a2dbf0c app: use Babl formats, not GimpImageType, in gimp_selection_extract() 2012-05-02 17:50:39 +02:00
36e982e2ed app: port gimp_image_pick_color() to return a Babl format
instead of a GimpImageType.
2012-05-02 17:50:39 +02:00
c8481fd19e app: increase the tile size for plug-ins to 128x128 2012-05-02 17:50:39 +02:00
25f4769c77 app: formatting cleanup in gimpimage-convert.c 2012-05-02 17:50:38 +02:00
031978c4c3 app: port gimpimage-convert.c to GEGL 2012-05-02 17:50:38 +02:00
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
e540444b56 app: fix registration of babl formats 2012-05-02 17:50:38 +02:00
69cd6d033a app: fix registration of babl_format("A u8") 2012-05-02 17:50:38 +02:00
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
52e40bce42 pdb: port drawable pixel access API to GEGL 2012-05-02 17:50:38 +02:00
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
2c0fde88f2 app: remove the legacy color-balance cruft 2012-05-02 17:50:38 +02:00
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
52f92de6e0 plugins/newsprint: remove assumption that tiles are square 2012-05-02 17:50:37 +02:00
2e33fc15b5 app: remove includes from app/plug-in/ 2012-05-02 17:50:37 +02:00
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
3a48101b9d app: use below new function for shapeburst blend and cage tool progress 2012-05-02 17:50:37 +02:00
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
b1591fccc7 app: switch to gegl_buffer_sample() in GimpOperationShapeburst
and fix the progress fractions.
2012-05-02 17:50:37 +02:00
42e2f5ebfe app: remove legacy includes from blend 2012-05-02 17:50:37 +02:00
70f501da93 app: remove the global dist_buffer variable and pass it around locally 2012-05-02 17:50:37 +02:00
ea86461586 app: port the rest of the shapeburst blend logic to GEGL 2012-05-02 17:50:37 +02:00
865b925598 app: add GimpOperationShapeburst to calculate the distance map for blend 2012-05-02 17:50:36 +02:00
244fa1ab49 app: add place holder splash for goat invasion 2012-05-02 17:50:36 +02:00
97f6061a91 app: remove some obsolete legacy includes from gimpdrawable.c 2012-05-02 17:46:16 +02:00
eea149d8e5 app: better GEGL code in gimp_layer_create_mask() 2012-05-02 17:46:16 +02:00
f5e1dc5bf5 app: clean up includes in filters-commands.c 2012-05-02 17:46:16 +02:00
b798bfe6c1 .gitignore: add *~
Also removed another rule replaced by this rule.
2012-05-02 17:46:16 +02:00
96357dbfd3 app: add infrastructure to invoke GEGL filters from a menu item
and for fun add pixelize and gaussian blur to Filters -> Blur.
2012-05-02 17:46:16 +02:00
98ccc9512c app: factor out the "Apply GEGL Operation" functionality from GimpGeglTool
to a new GimpOperationTool, make GimpGeglTool its subclass and leave
only the selection of the operation in GimpGeglTool.
2012-05-02 17:46:16 +02:00
726d3c980c app: factor out gimp_gegl_config_proxy_sync() from GimpGeglTool 2012-05-02 17:46:16 +02:00
bfb3cd60d1 app: adapt to API changes in gegl_buffer_iterator 2012-05-02 17:46:15 +02:00
fd033afe11 app: factor out the creation of GeglOperation config proxy objects 2012-05-02 17:46:15 +02:00
efbc4e61b0 app: more gegl_buffer_iterator_new() updates 2012-05-02 17:46:15 +02:00
9a22e2202f app: update with GEGL iterator API changes 2012-05-02 17:46:15 +02:00
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
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
f68c3c7051 app: adapt to API changes in GEGL 2012-05-02 17:46:15 +02:00
2b6b5a8ada app: remove unused base/ includes 2012-05-02 17:46:15 +02:00
f084704fbd app: ask the buffer not the tile manager for its size 2012-05-02 17:46:15 +02:00
9d8d72a6ee app: remove color_region() 2012-05-02 17:46:14 +02:00