Commit Graph

4024 Commits

Author SHA1 Message Date
Michael Natterer c173328a9a app: remove "dest" parameter from temp_buf_copy() and always return a new copy
Also remove the color conversion functions in temp-buf.c
2012-05-02 17:50:58 +02:00
Michael Natterer b521cb4272 app: use GEGL to convert a TempBuf to a GdkPixbuf 2012-05-02 17:50:58 +02:00
Michael Natterer 8202dcb44e app: don't set mask->x and ->y to bogus and completely unused values 2012-05-02 17:50:58 +02:00
Michael Natterer ff86f85744 app: remove x, y and color parameters from temp_buf_new()
Fix the places that passed the color by either temp_buf_data_clear()
or memset(), and assign x and y manually, they are going to vanish
completely soon.
2012-05-02 17:50:58 +02:00
Michael Natterer 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
Michael Natterer e250c02bc7 app: don't use GimpImageType in gimp_image_new_from_template() 2012-05-02 17:50:58 +02:00
Michael Natterer 3ddfa42c80 app: remove the remaining image_type macro junk from gimpimage.h 2012-05-02 17:50:58 +02:00
Michael Natterer baa5ceb1e7 app: remove image_type API from GimpBuffer 2012-05-02 17:50:57 +02:00
Michael Natterer ec2d5647c0 app: remove gimp_drawable_type_with_alpha() 2012-05-02 17:50:57 +02:00
Michael Natterer 3c4f9d55ed app: use the new functions added with the last commit 2012-05-02 17:50:57 +02:00
Michael Natterer 2b18645fb5 app: use gimp_drawable_get_base_type() instead of GIMP_IMAGE_TYPE_BASE_TYPE() 2012-05-02 17:50:57 +02:00
Michael Natterer f6f7d53020 app: add gimp_drawable_get_base_type() 2012-05-02 17:50:57 +02:00
Michael Natterer afe8eaf256 app: remove GimpImageType based API and macro junk 2012-05-02 17:50:57 +02:00
Michael Natterer c14738806e app: use gimp_image_get_layer_format() instead of dealing with image_type 2012-05-02 17:50:57 +02:00
Michael Natterer ef638faf82 app: add gimp_image_get_layer_format() 2012-05-02 17:50:56 +02:00
Michael Natterer 1e7d5e3cb4 app: fix drawable type check in gimp_drawable_convert_indexed() 2012-05-02 17:50:56 +02:00
Michael Natterer e5ff78b083 app: more consistent format handling in gimpdrawable-convert.c 2012-05-02 17:50:56 +02:00
Michael Natterer f4d8e5266a app: gimp_edit_paste(): use more formats inatead of GimpImageType 2012-05-02 17:50:56 +02:00
Michael Natterer 105d2207ef app: require a non-NULL format in gimp_tile_manager_create_buffer() 2012-05-02 17:50:56 +02:00
Michael Natterer 01a22de26c app: port gimp_drawable_real_apply_buffer() to GEGL
but leave the old code there and use it for FS compositing (when
dest_buffer is != NULL) because we need the legacy projection as
reference.
2012-05-02 17:50:56 +02:00
Michael Natterer cb3e8f82d4 app: simplify leftover and now useless nested if() 2012-05-02 17:50:55 +02:00
Michael Natterer 368ae01c86 app: don't special case the FS wrt its visibility in the layer stack
Its source node produces nothingness anyway, so it can be safely
plugged in. More FS special code gone \o/.
2012-05-02 17:50:54 +02:00
Michael Natterer 8cca4c51ad app: use gimp_gegl_node_set_layer_mode() to configure the FS' mode node 2012-05-02 17:50:54 +02:00
Michael Natterer 09d4d56521 app: use gimp_gegl_convolve() in gimpbrush-transform.c 2012-05-02 17:50:54 +02:00
Michael Natterer 9b70f4e7fc app: move some enums from base-enums.h to core-enums.h 2012-05-02 17:50:54 +02:00
Michael Natterer 7ec6c48636 app: use gimp_rgba_set,get_pixel() instead of babl_process() directly 2012-05-02 17:50:53 +02:00
Øyvind Kolås 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
Michael Natterer c5c555c834 app: add "take_ownerspip" param to gimp_temp_buf_create_buffer()
and get rid of some more intermediate buffer creation/destruction, and
some redundant temp_buf_free() plus g_object_unref().
2012-05-02 17:50:51 +02:00
Michael Natterer ab42466282 app: add a "filters" subdir on user install 2012-05-02 17:50:48 +02:00
Michael Natterer b02e251eab app: add GIMP_CONFIG_PARAM_SERIALIZE to all duplicated GParamSpecs 2012-05-02 17:50:48 +02:00
Michael Natterer 6e4599806f app: add gimp_list_get_sort_func() 2012-05-02 17:50:48 +02:00
Michael Natterer 2d81a16bdf app: remove "bytes" from GimpBuffer and add a format API
and change all users accordingly.
2012-05-02 17:50:47 +02:00
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
Michael Natterer 9a1fbe9418 app: remove obsolete include from gimpchannel.c 2012-05-02 17:46:14 +02:00
Michael Natterer dab97df012 app: remove the TileValidateProc from gimp_channel_new_mask()
and simply gegl_buffer_clear() the thing instead.
2012-05-02 17:46:14 +02:00
Michael Natterer b08ba684cf app: replace border_region() by GimpOperationBorder 2012-05-02 17:46:14 +02:00
Michael Natterer 8fc7c17d39 app: replace fatten_region() by GimpOperationGrow 2012-05-02 17:46:14 +02:00
Michael Natterer fa072f0cd4 app: remove thin_region(), turns out that gimp:shrink was not slow after all 2012-05-02 17:46:14 +02:00
Michael Natterer 03b15ea668 app: remove "dont-cache" from gimp_apply_opeation()
it slows down all ops which wan to process the entire buffer in one
go, like the new gimp:shrink.
2012-05-02 17:46:13 +02:00
Michael Natterer be853cd239 app: remove "gboolean linear" from all apply_operation APIs
thes were all unused and we want to get rid of that anyway.
2012-05-02 17:46:13 +02:00
Michael Natterer cbb2766f07 app: add GimpOperationShrink which does "shrink selection"
but it's horribly slow, so keep the old code around for now and make
the new one depend on use_gegl.
2012-05-02 17:46:13 +02:00
Michael Natterer a0ce43dc93 app: don't pass 1.0 as boolean value, not that it would change anything... 2012-05-02 17:46:13 +02:00
Michael Natterer f036b77f9a app: fix typo that caused wrong paint apply offset in bucket fill 2012-05-02 17:46:13 +02:00
Øyvind Kolås c872a9368e app: sprinkle level argument over process functions 2012-05-02 17:46:13 +02:00
Michael Natterer 942ed2316b app: remove gimp_drawable_process_lut() 2012-05-02 17:46:13 +02:00
Michael Natterer cf86aeceb3 app: add GimpOperationEqualize and port equalize to it 2012-05-02 17:46:13 +02:00
Michael Natterer 8d5471502e app: move GimpHistogram from base/ to core/ 2012-05-02 17:46:13 +02:00
Michael Natterer de0321a82e app: add gimp_gegl_node_set_layer_mode()
and remove all other code that does layer_mode -> node.
2012-05-02 17:46:13 +02:00
Michael Natterer fb74b9e822 app: chnage gimp_gegl_create_apply_opacity_node()'s mask offset
to be the offset *of* the mask, not the offset *into* the mask, also
reorder parameters.
2012-05-02 17:46:12 +02:00
Michael Natterer 7223af17a2 app: completely port GimpDrawable::apply_region()'s API to GeglBuffer
and pass lots of coords that were hidden inside PixelRegions
explicitly.
2012-05-02 17:46:12 +02:00
Michael Natterer bfd54a69b7 app: implement "disable layer mask" in the GEGL graph 2012-05-02 17:46:12 +02:00
Michael Natterer 061e044e0a app: change GimpDrawable::replace_region() by ::replace_buffer() 2012-05-02 17:46:12 +02:00
Michael Natterer cde58408fa app: remove the legacy levels cruft 2012-05-02 17:46:12 +02:00
Michael Natterer a34b19774b app: remove the legacy curves cruft
and move PDB parameter collection into GimpCurvesConfig convenience
constructors.
2012-05-02 17:46:11 +02:00
Michael Natterer 5bc683f6bc app: make gimpdrawable-combine.c more readable before proceeding 2012-05-02 17:46:11 +02:00
Michael Natterer 4bcddb04a2 app: turn gimp_drawable_apply_buffer()'s src1_tiles argument into base_buffer 2012-05-02 17:46:11 +02:00
Michael Natterer 579d894778 app: turn GimpDrawable::apply_region() into ::apply_buffer()
and GimpDrawableUndo.src2_tiles into applied_buffer.
2012-05-02 17:46:11 +02:00
Michael Natterer ea8eebcd47 app: support TempBuf backed buffer in gimp_drawable_apply_buffer() 2012-05-02 17:46:11 +02:00
Michael Natterer d9825e0aea app: use gimp_drawable_apply_buffer() for legacy FS composition 2012-05-02 17:46:11 +02:00
Michael Natterer fe1f140e1a app: port blend to gimp_drawable_apply_buffer() 2012-05-02 17:46:11 +02:00
Michael Natterer 6dfaf8ae50 app: more gimp_drawable_apply_region() -> apply_buffer() 2012-05-02 17:46:10 +02:00
Michael Natterer d2506e43bc app: flush and refetch the shadow buffer before handing it out 2012-05-02 17:46:10 +02:00
Michael Natterer 99ae46b4ed app: turn the drawable's shadow tiles into a shadow buffer 2012-05-02 17:46:10 +02:00
Michael Natterer dbc881376e app: add gimp_drawable_apply_buffer() and port edit, bucket fill, stroke 2012-05-02 17:46:10 +02:00
Michael Natterer 6534ebb866 app: more copy_region() -> gegl_buffer_copy() 2012-05-02 17:46:10 +02:00
Michael Natterer c401cf4cba app: tile_manager_read_pixel_data_1() -> gegl_buffer_sample() 2012-05-02 17:46:10 +02:00
Michael Natterer 0f38966664 app: store GimpImageMap's undo pixels as GeglBuffer, not TileManager 2012-05-02 17:46:10 +02:00
Michael Natterer 904a35d722 app: remove width, height from GimpDrawableUndo and GimpDrawable::swap_tiles()
because we always store/swap a buffer of the actual size now.
2012-05-02 17:46:09 +02:00
Michael Natterer a0c1007b66 app: port GimpDrawableUndo, GimpDrawable::push_undo() and ::swap_tiles()
which gets rid of the manual implementation of sparse undo buffers,
but GEGL will take care of proper COW here soo enough.
2012-05-02 17:46:08 +02:00
Michael Natterer 153f56655a app: rename the buffer's tile_source_node to buffer_source_node 2012-05-02 17:46:08 +02:00
Michael Natterer a982a5ea3a app: change GimpDrawable::get_tiles() to ::get_buffer()
and shuffle code around because the other API is now virtual.
2012-05-02 17:46:07 +02:00
Michael Natterer f8f4455459 app: change GimpDrawable::set_tiles() to ::set_buffer()
and remove the "type" argument, GeglBuffers have a format.
2012-05-02 17:46:07 +02:00
Michael Natterer 767e472fe8 app: port gimpimage-convert.c to gimp_drawable_set_buffer() 2012-05-02 17:46:07 +02:00
Michael Natterer 938c686daf app: minor cleanup and include removal 2012-05-02 17:46:07 +02:00
Michael Natterer 9d260c380b app: completely port gimpdrawable-convert.c to GeglBuffer 2012-05-02 17:46:07 +02:00
Michael Natterer be4dcb16d0 app: port GimpGroupLayer to gimp_buffer_set_tiles_full() 2012-05-02 17:46:07 +02:00
Michael Natterer 5a7b7d9a4b app: add gimp_gegl_buffer_get_tile_manager()
and ust it in some get_memsize() functions instead of having a
FIXME. So many files changed because they need to inlcude <gegl.h>
now.
2012-05-02 17:46:07 +02:00
Michael Natterer c4f88e5166 app: port gimp_drawable_scale() to gimp_drawable_set_buffer_full() 2012-05-02 17:46:07 +02:00
Michael Natterer 715bd7cfbb app: port GimpDrawableModUndo to storing pixels as GeglBuffers 2012-05-02 17:46:07 +02:00
Michael Natterer 9774bb62e7 app: use hard-edges = TRUE when GEGL-scaling drawables 2012-05-02 17:46:07 +02:00
Michael Natterer d5795c0081 app: use a GeglBuffer instead of TileManager as storage in drawables \o/ 2012-05-02 17:46:06 +02:00
Michael Natterer 3a8248ccfe app: pass the right filter when GEGL-transfomring 2012-05-02 17:46:06 +02:00
Michael Natterer 765c2cfea2 app: replace GimpDraable's type by a Babl format
and change gimp_drawable_new() and all gimp_layer_new() variants to
take formats instead of types.
2012-05-02 17:46:06 +02:00
Michael Natterer 9b0634bbd4 app: remove gimp_layer_new_from_tiles(), it's now unused 2012-05-02 17:46:06 +02:00
Michael Natterer 07be967b45 app: remove gimp_selection_extract_buffer() again 2012-05-02 17:46:06 +02:00
Michael Natterer c6daba8b5d app: port everything to gimp_selection_extract_buffer() 2012-05-02 17:46:06 +02:00
Michael Natterer 525a405270 app: port the entire transform API from TileManager to GeglBuffer 2012-05-02 17:46:06 +02:00
Michael Natterer 7b88ab6a46 app: add gimp_selection_extract_buffer () 2012-05-02 17:46:06 +02:00
Michael Natterer b89a912cc7 app: use gimp_drawable_set_buffer() in a few places 2012-05-02 17:46:05 +02:00
Øyvind Kolås f8b1372038 app: make use of GIMP_GEGL_RECT in more places 2012-05-02 17:46:05 +02:00
Øyvind Kolås 84b914ce63 app: fix initialization of variable in gimp_layer_get_opacity_at 2012-05-02 17:46:05 +02:00
Øyvind Kolås 390d48d436 app: add a GIMP_GEGL_RECT utility macro
It is evil, but it is possible to take the address of an inline defined struct
as an argument in C. =)
2012-05-02 17:46:05 +02:00
Michael Natterer 6274b269ca app: add gimp_drawable_set_buffer() and set_buffer_full() 2012-05-02 17:46:05 +02:00
Øyvind Kolås fe3220ae6f app: remove write property of GeglBuffer backend 2012-05-02 17:46:05 +02:00
Michael Natterer 0bcae125b5 app: merge gimp_drawable_get_read_buffer() and get_write_buffer()
into get_buffer(). The loss of zero copy will be compensated soon.
2012-05-02 17:46:04 +02:00
Michael Natterer 5e176d3cd7 app: port gimp_image_crop_auto_shrink() to GEGL 2012-05-02 17:46:04 +02:00
Michael Natterer f67bcfa82b app: port the entire GimpScanConvert API to GeglBuffer 2012-05-02 17:46:04 +02:00
Michael Natterer 113f01feb2 app: port gimp_scan_convert_render_full() to GeglBufferIterator 2012-05-02 17:46:04 +02:00
Michael Natterer 0053494c18 app: apply patch from Villa Sokk that implements GimpOperationDissolveMode 2012-05-02 17:46:03 +02:00
Michael Natterer dcfcfcf433 app: port GimpBoundary to GEGL, including its API 2012-05-02 17:46:03 +02:00
Michael Natterer f45df7fe35 app: port gimp_selection_extract() to GEGL 2012-05-02 17:46:03 +02:00
Michael Natterer 69c52173fb app: change gimp_gegl_color_set_rgba() to gimp_gegl_color_new()
which saves one line of code in every single use case.
2012-05-02 17:46:03 +02:00
Michael Natterer 8a7ea1c25a app: add a use_gegl case in gimp_drawable_transform_tiles_affine()
which essentially implements the GEGL-based transform tool.
2012-05-02 17:46:03 +02:00
Michael Natterer 254ad23b28 app: be smarter about progress in gimp_apply_operation()
so an already started progress can be passed in.
2012-05-02 17:46:03 +02:00
Michael Natterer e613af7b46 app: implement "show layer mask" in the GEGL graph 2012-05-02 17:46:02 +02:00
Michael Natterer 34ef32ff78 app: replace some region operations in blend by GEGL 2012-05-02 17:46:02 +02:00
Michael Natterer 58dfa962a1 app: port simple rotating and flipping to GEGL
Which requires making the entire copy/paste apparatus aware of the
Babl format of the passed around tile managers.
2012-05-02 17:46:02 +02:00
Michael Natterer 2c62644f94 app: BoundSeg -> GimpBoundSeg, boundary_foo() -> gimp_boundary_foo() 2012-05-02 17:46:02 +02:00
Michael Natterer 9323c2f28c app: move base/boundary.[ch] to core/gimpboundary.[ch]
No other changes yet, just make the move build.
2012-05-02 17:46:02 +02:00
Michael Natterer 62a23f8a89 app: port drawable'e and projection's get_pixel_at() to gegl_buffer_sample() 2012-05-02 17:46:02 +02:00
Michael Natterer 6f6c42a9c3 app: port gimp_channel_combine_mask() to GeglBufferIterator 2012-05-02 17:46:01 +02:00
Michael Natterer 47453eb36b app: remove unused include from gimp-edit.c 2012-05-02 17:46:01 +02:00
Michael Natterer 1b44953352 app: port bucket fill to GEGL
Add mask offset parameters to gimp_gegl_create_apply_opacity_node()
so it's possible to use a part of the mask only, bucket fill
uses that to avoid uneccessary work where the mask is empty.

Should use the same in gimp_drawable_stroke_scan_convert().
2012-05-02 17:46:01 +02:00
Michael Natterer 1780cfc1e7 app: remove the !seed_fill case from gimp_drawable_bucket_fill()
We use gimp_edit_fill() for that now. Also remove bucket fill's
_full() variant because it's unused now.
2012-05-02 17:46:01 +02:00
Michael Natterer 3ec245a991 app: add opacity and paint_mode to gimp_edit_fill[_full]()
and use it instead of bucket-fill in the non-seed-fill case.
2012-05-02 17:46:01 +02:00
Michael Natterer ffeb3515db app: add gimp_edit_fill_full() which takes color and pattern
and use it for dropping colors and patterns on the display
and on the layers dialog, instead of using the overkill
gimp_drawable_bucket_fill_full().
2012-05-02 17:46:01 +02:00
Michael Natterer 9d333190d6 app: simplify gimp_edit_fill_internal() by adding color and pattern arguments
instead of context and fill mode. Collect the actual parameters in
gimp_edit_fill() instead, which makes much more sense.
2012-05-02 17:46:01 +02:00
Michael Natterer 5b1eeab718 app: port coloring/patterning a stroked GimpScanConvert to GEGL 2012-05-02 17:46:00 +02:00
Michael Natterer 0250e549b4 app: remove unused include 2012-05-02 17:46:00 +02:00
Michael Natterer 066d5d84c9 app: port all implementations of GimpProjectable::get_opacity_at() to Gegl 2012-05-02 17:46:00 +02:00
Michael Natterer 0810bd2e44 app: make gimp_image_transform_rgb() transform the alpha too
and remove explicit alpha setting in the returned array in most places.
2012-05-02 17:46:00 +02:00
Øyvind Kolås 7250085d1c app: all Babls used by GIMP are now const 2012-05-02 17:46:00 +02:00
Michael Natterer b68a05f240 app: remove gimpimage-colorhash.[ch]
All indexed mapping is done with Babl now \o/
2012-05-02 17:46:00 +02:00
Michael Natterer 4ba37eacd8 app: remove gimp_image_transform_color()
and port to gimp_image_transform_rgb() to babl_process()
2012-05-02 17:46:00 +02:00
Michael Natterer cdcad83493 app: port gimp_image_transform_temp_buf() to one single babl_process() 2012-05-02 17:46:00 +02:00
Michael Natterer 906176831d app: add image API to get Babl formats based on GimpImageType
because we often have only a type and an image, but no drawable
(yet) to ask for its types.
2012-05-02 17:46:00 +02:00
Michael Natterer b05e213d6d app: stop using gegl_color_set_pixel() with hand-transformed pixels
instead, simply use rgb values and rely on the subsequent
gegl_buffer_set_color() to do the right thing because the buffer know
their indexed format now.
2012-05-02 17:45:59 +02:00
Michael Natterer 14c259cc3e app: remove gimp_drawable_apply_operation_to_tiles() 2012-05-02 17:45:59 +02:00
Michael Natterer cfd94be627 app: also port gimp_channel_convert() to apply_operation_to_buffer() 2012-05-02 17:45:58 +02:00
Michael Natterer 75467664be app: enable GEGL scaling of indexed drawables in gimp_drawable_scale()
by simply using gimp_drawable_apply_operation_to_buffer() and the
right Babl format on the buffer.
2012-05-02 17:45:58 +02:00
Michael Natterer e2afb75292 app: use gimp_drawable_apply_operation_to_buffer() in gimp_layer_flatten()
and not gimp_drawable_apply_operation_to_tiles() because that would
guess the wrong Babl format for the new tiles if the image is indexed.
2012-05-02 17:45:58 +02:00
Michael Natterer 9ecdea30b8 app: add gimp_drawable_get_format_without_alpha() 2012-05-02 17:45:58 +02:00
Michael Natterer 9a09d3a762 app: drop "babl" from gimp_foo_get_babl_format[_with_alpha]() 2012-05-02 17:45:58 +02:00
Michael Natterer e9ecc40f02 app: add GimpPickable::get_babl_format_with_alpha() 2012-05-02 17:45:58 +02:00
Øyvind Kolås f5839e785e app: sync with babl API change of babl_new_palette 2012-05-02 17:45:58 +02:00
Michael Natterer 744199a8f7 app: remove gimp_layer_new_from_region() and use from_buffer() instead 2012-05-02 17:45:57 +02:00
Michael Natterer 553e65e859 app: add gimp_pixbuf_create_buffer() and use it in GimpBuffer 2012-05-02 17:45:57 +02:00
Michael Natterer 3ce071b89a app: let Babl handle converting layers to indexed
Except of course the initial indexed conversion which needs more logic
than a simple color mapping.
2012-05-02 17:45:57 +02:00
Michael Natterer e309e009f7 app: let Babl handle color conversion in gimp_drawable_fill() 2012-05-02 17:45:57 +02:00
Michael Natterer 69b2aa880f app: add gimp_pattern_create_buffer() and use it in gimp_edit_fill_internal() 2012-05-02 17:45:56 +02:00
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 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