Commit Graph

517 Commits

Author SHA1 Message Date
Ville Sokk d5dfd414b3 app: don't flush the gegl file backend when painting 2012-08-13 12:37:50 +03:00
Michael Natterer 6b6d39fc64 app: add GimpTileHandlerProjection and use it to validate the projection
as the projection buffer is being read from. Projection performance is
now back at its old speed.
2012-07-05 21:42:26 +02:00
Michael Natterer 5c11326ad7 app: use GeglConfig's new 64 bit tile-cache-size property if it exists 2012-06-29 01:51:56 +02:00
Michael Natterer 373a4e7469 app: completely remove TileManager and friends (base/ and paint-funcs/)
And along with it a lot of stuff like the drawable preview cache, the
gegl tile manager backend, temporary gimp_gegl_buffer_foo() stuff, and
the remaining bits of performance.

The projection is in an evil semi-ported state which makes it work
ok-ish for stuff like layer moving, but absolutely unbearable for
painting, there is also an off-by-one rendering glitch at some zoom
levels.
2012-06-20 21:44:09 +02:00
Ville Sokk 83680825d0 app: removed unnecessary argument from gimp_operations_init 2012-06-14 21:29:43 +03:00
Michael Natterer e254fd7c4d app: actually commit the rest of the patch... 2012-05-26 12:42:52 +02:00
Michael Natterer 49b579eeb8 app: add GimpApplicator which wraps a graph that applies a buffer to a drawable
and use it in GimpPaintCore, instead of calling
gimp_drawable_apply_buffer() which sets up a new graph for each
call. Makes painting speed bearable again.
2012-05-26 12:36:00 +02:00
Michael Natterer 85a92cf800 app: don't set GeglConfig:threads, it breaks things 2012-05-20 19:35:04 +02:00
Michael Natterer 120db980dc app: connect GimpGeglConfig:num-processors to GeglConfig:threads
whatever it might be good for...
2012-05-19 08:50:05 +02:00
Michael Natterer 83a728f492 app: rename gimp_gegl_node_set_layer_mode() to gimp_gegl_mode_node_set()
and have it set mode and opacity at the same time, so we don't reset
opacity each time we set the mode.
2012-05-18 23:50:35 +02:00
Michael Natterer 001e0f0b40 app: port gimp_gegl_create_apply_buffer_node() to the new mode ops 2012-05-18 22:59:04 +02:00
Ville Sokk e377eb01cd app: modified gegl blending modes to take mask and opacity inputs 2012-05-18 22:52:48 +02:00
Michael Natterer 9d1ff75c61 app: limit the tile-cache size to G_MAXINT also in the UI
and #warning about it in the code until GEGL has a guint64 cache size
property.
2012-05-15 02:29:47 +02:00
Michael Natterer ede421bd45 app: rename GimpBaseConfig to GimpGeglConfig
because that's its future purpose.
2012-05-14 22:57:58 +02:00
Ville Sokk cf442d3386 app: added gegl value and behind blending modes 2012-05-11 20:37:47 +03:00
Ville Sokk c713e80e63 app: added initial gegl color blending mode 2012-05-11 18:53:49 +03:00
Ville Sokk cc0410a226 app: added initial gegl version of saturation blending mode 2012-05-11 18:28:49 +03:00
Michael Natterer f8f00600d5 app: remove the GimpTileBackendTileManager typedef from gimp-gegl-types.h
It's a private temporary class and doesn't belong there.
2012-05-11 11:13:26 +02:00
Michael Natterer 1a624d4df4 app: remove many includes of "gegl/gimp-gegl-utils.h" 2012-05-10 23:12:39 +02:00
Michael Natterer 43dc848dfb app: remove duplicate typedefs from gimp-gegl-types.h 2012-05-10 21:31:40 +02:00
Michael Natterer 7101ee191a app: move all GEGL operations to new directory app/operations/ 2012-05-10 21:22:44 +02:00
Ville Sokk c41ac185b5 app: added initial gegl hue blending mode 2012-05-10 21:54:48 +03:00
Simon Budig 8482fb9cf6 fix NaN issue in gimpoperationlevels.c 2012-05-09 02:24:12 +02:00
Michael Natterer 87e266a94b app: port gimp_gegl_replace() to float 2012-05-07 02:35:21 +02:00
Michael Natterer dd9b132d8f app: add a new gimp_gegl_combine_mask() which does what it says
which is combining two masks. Use it in gimp_drawable_real_replace_buffer()
instead of gimp_gegl_apply_mask() which does the wrong thing.
2012-05-06 22:51:11 +02:00
Michael Natterer 5738c866a1 app: rename gimp_gegl_combine_mask() to gimp_gegl_combine_mask_weird()
because it is.
2012-05-06 22:51:11 +02:00
Michael Natterer b2c4bd5d3f app: add gimp_gegl_replace() as replacement for combine_regions_replace()
and use it in gimp_drawable_real_replace_buffer(). The new GEGL loop
is a stupid 1:1 copy of legacy and needs improvement.
2012-05-06 22:51:11 +02:00
Michael Natterer 89dcc5be57 app: oops should also commit the new op files 2012-05-05 03:04:06 +02:00
Michael Natterer f1a771439a Replace the semi-flatten plug-in by a GEGL operation 2012-05-04 23:56:10 +02:00
Michael Natterer c16c61f458 app: support GimpParamSpecRGB in generated GEGL UI, not only GeglParamSpecColor 2012-05-04 23:56:10 +02:00
Michael Natterer f24445efbc Replace the threshold-slpha plug-in by a GEGL operation 2012-05-04 17:59:36 +02:00
Michael Natterer cdb79427cb app: move the opaque typedefs of most operations to their resp. headers
Keeping them in gimp-gegl-types.h makes no sense because they are
never included by anyone, let alone mentioned in other headers.
2012-05-04 17:36:39 +02:00
Michael Natterer 84745b48e8 app: add a color button and picker to the colorize tool dialog 2012-05-03 15:02:34 +02:00
Michael Natterer 3ad73b3658 libgimpcolor: add GdkPixbuf <-> GeglBuffer utility functions
and update tons of includes in libgimp and app.
2012-05-03 03:37:20 +02:00
Michael Natterer 58324ab239 app: kill more clamping in a levels utility function 2012-05-02 17:51:23 +02:00
Michael Natterer b9db13e4fc app: fix GimpOperationReplaceMode to not do two things different than legacy 2012-05-02 17:51:23 +02:00
Michael Natterer 49175a2d1b app: remove clamping from GimpOperationLevels, it was at a fishy place anyway 2012-05-02 17:51:22 +02:00
Ville Sokk c5d7aaf52e app: added gegl erase mode 2012-05-02 17:51:20 +02:00
Ville Sokk 0ac531fa3b app: fixed a bug in gegl legacy blending modes 2012-05-02 17:51:19 +02:00
Michael Natterer 1badcb7ce9 app: add GIMP_PRECISION_U32 and all its formats 2012-05-02 17:51:19 +02:00
Michael Natterer 926f746b66 app: add gimp_babl_compat_u8_format() instead of having this code 5 times 2012-05-02 17:51:18 +02:00
Michael Natterer 2e7944cad0 app: add GIMP_PRECISION_HALF for 16 bit floating point
and use babl_format_get_palette() to simplify some code.
2012-05-02 17:51:18 +02:00
Øyvind Kolås a539878bc4 app: set default tilemul for gimpgegltilebackend to 2 2012-05-02 17:51:18 +02:00
Michael Natterer d81ea1315e app: implement active, affected components in GEGL
Add GimpOperationMaskComponents, enum GimpComponentMask, and image and
drawable infrastructure to get the right mask, and plug the mask
operation into gimp_gegl_create_apply_buffer_node().
2012-05-02 17:51:17 +02:00
Michael Natterer e15702cbe5 app: create gimp-babl-compat.[ch] for gimp_babl_format_get_image_type()
and remove gimp_drawable_type().
2012-05-02 17:51:15 +02:00
Michael Natterer 5167550271 app: add GIMP_PRECISION_U16 and all needed 16 bit integer formats 2012-05-02 17:51:15 +02:00
Michael Natterer 85ee13dd7d app: don't crash GimpOperationReplaceMode is mask is NULL 2012-05-02 17:51:14 +02:00
Michael Natterer 32f6015898 app: change replace's "opacity" property from float to double 2012-05-02 17:51:14 +02:00
Ville Sokk 753bc23834 app: new gegl replace mode that uses mask and opacity inputs 2012-05-02 17:51:14 +02:00
Michael Natterer 0011fe5c50 app: special case REPLACE_MODE in gimp_gegl_create_apply_buffer_node()
it needs the mask/opacity on a separate input.
2012-05-02 17:51:14 +02:00
Ville Sokk 7eb0d8f4c8 app: added initial gegl replace mode 2012-05-02 17:51:13 +02:00
Michael Natterer 4772d3e832 app: add gimp_gegl_combine_mask() and use it in GimpPaintCore 2012-05-02 17:51:12 +02:00
Michael Natterer c07790fa54 app: add gimp_gegl_apply_mask() and use it in GimpPaintCore 2012-05-02 17:51:12 +02:00
Michael Natterer a295589157 app: enable blur/sharpen via GimpConvolve on indexed drawables 2012-05-02 17:51:12 +02:00
Michael Natterer a34afd63d8 app: add GIMP_PRECISION_FLOAT and all its formats
Images in that format can't be created currently, the legacy code
crashes royally on it.
2012-05-02 17:51:11 +02:00
Michael Natterer 8a55b13577 app: add gimp_babl_component_format() and use it in GimpImage 2012-05-02 17:51:10 +02:00
Michael Natterer 4f83ca48dc app: add missing formats to gimp_babl_get_description() 2012-05-02 17:51:09 +02:00
Michael Natterer 678255604d app: add a GimpPrecision enum that for now contains GIMP_PRECISION_U8
Add gimp_image_get_precision(), and a "precision" argument to
gimp_babl_format(). Change code accordingly and do some more format
related cleanups.
2012-05-02 17:51:09 +02:00
Michael Natterer 3af70584d0 app: remove bpp <-> format conversion stuff from gimp-gegl-utils.[ch]
Fix stuff by picking formats as we get data from the "outside", like a
GdkPixbuf, and pass around more proper formats from where we know them.
2012-05-02 17:51:08 +02:00
Michael Natterer 15d1827ead app: add gimp_babl_format() and use it in gimp_image_get_format() 2012-05-02 17:51:08 +02:00
Michael Natterer ff931e1ded app: move gimp_babl_format_get_base_type() to gimp-babl.[ch]
The GimpImageBaseType enum is going to go away, but a format -> enum
API is going to stay around.
2012-05-02 17:51:08 +02:00
Michael Natterer e737bf77fa app: add gimp-babl.[ch] and move Babl specific code there 2012-05-02 17:51:08 +02:00
Ville Sokk c291524e6c app: added hard light, difference, subtract, grain extract, grain merge and difference gegl blending modes 2012-05-02 17:51:08 +02:00
Michael Natterer 03da4fb280 app: make masks use linear, not gamma corrected formats 2012-05-02 17:51:08 +02:00
Michael Natterer 3e9fdf1815 app: change GimpBoundary to find the boundary a float component
Require passing in a Babl format that will extract the float component
the algorithm should run on.
2012-05-02 17:51:07 +02:00
Michael Natterer 3ea0e3f090 app: return double not int from GimpPickable::get_opacity_at()
and fix GimpLayer's impl to honor the mask also for layers without
alpha.
2012-05-02 17:51:07 +02:00
Michael Natterer 53bda86ceb app: code cleanup in the GEGL ops 2012-05-02 17:51:06 +02:00
Ville Sokk c24d9d76e5 app: added addition, burn, darken only, dodge, multiply, overlay, screen and soft light gegl blending modes 2012-05-02 17:51:06 +02:00
Ville Sokk 0233c99c8b app: cleaned dissolve and lighten only modes 2012-05-02 17:51:06 +02:00
Michael Natterer 266b0d069c app: require R'G'B'A u8 in gimp_gegl_smudge_blend() and simplify it massively 2012-05-02 17:51:06 +02:00
Michael Natterer c3ceb8698d app: add gimp_gegl_smudge_blend(), a brute-force port of blend_region()
and use it in GimpSmudge. This only to get functionality ported and
the API done, and not the final state.
2012-05-02 17:51:05 +02:00
Ville Sokk e4d97f9a95 app: added gegl version of lighten only blending mode 2012-05-02 17:51:05 +02:00
Michael Natterer a04d391ca6 app: more WIP on GimpOperationHistogramSink, not used yet 2012-05-02 17:51:04 +02:00
Michael Natterer 927ef9b9fb app: use gimp_gegl_color_new() instead of gegl_color_set_rgba() 2012-05-02 17:51:04 +02:00
Michael Natterer cadd54823b app: clean up and build the histogram op gift 2012-05-02 17:51:04 +02:00
Øyvind Kolås ad8b16e6ad app: histogram sink skeleton gift for mitch 2012-05-02 17:51:04 +02:00
Michael Natterer 310c1bfb71 app: add gimp_babl_get_description()
which keeps around human readable and translatable strings for Babl
formats, as replacement for the to-be-obsoleted image type etc. enum
descriptions.
2012-05-02 17:51:03 +02:00
Michael Natterer 685a48d59a app: move gimp_gegl_buffer_get_temp_buf() to gimptempbuf.[ch] 2012-05-02 17:51:02 +02:00
Michael Natterer 42a5f01be3 app: rename TempBuf to GimpTempBuf 2012-05-02 17:51:00 +02:00
Michael Natterer 690a12f2a7 app: move gimp_temp_buf_create_buffer() to temp-buf.[ch]
TempBuf will soon be promoted to be a core/ citizen.
2012-05-02 17:50:59 +02:00
Michael Natterer 7441a1f6f7 app: turn the TempBuf's "bytes" into "format" and port everything to it 2012-05-02 17:50:59 +02:00
Michael Natterer dd103d227b app: add gimp_babl_format_get_image_type,base_type() 2012-05-02 17:50:57 +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 1f9606e200 app: fix non-premultiplied case in GimpOperationNormalMode 2012-05-02 17:50:55 +02:00
Michael Natterer 7fbbefd6f0 app: set the mode on the right node in gimp_gegl_create_apply_buffer_node() 2012-05-02 17:50:55 +02:00
Michael Natterer 6c83b0327d app: fix mode node creation in gimp_gegl_create_apply_buffer_node() 2012-05-02 17:50:55 +02:00
Michael Natterer 9113a59267 app: remove CONSTRUCT_ONLY from "premultiplied" of GimpOperationPointLayerMode
not because we want to change it after construction, but because it is
ugly to avoid setting it again in the generic "configure mode node" code.
2012-05-02 17:50:54 +02:00
Michael Natterer 2ea74df523 app: gimp_gegl_convolve() rename parameter "matrix" to "kernel" 2012-05-02 17:50:54 +02:00
Michael Natterer 91c39463c4 app: port XCF loading to writing to the drawable's GeglBuffer 2012-05-02 17:50:53 +02:00
Michael Natterer 3e140fd105 app: factor out GimpPlugIn's tile access emulation code to app/gegl/
so it can be used to access a GeglBuffer's "tiles" in the XCF code.
2012-05-02 17:50:53 +02:00
Michael Natterer 08d179acc6 app: add gimp_gegl_dodgeburn() to replace the lut in GimpDodgeBurn 2012-05-02 17:50:52 +02:00
Michael Natterer 72894671d5 app: fix gimp_gegl_color_new() to treat the passed GimpRGB as gamma corrected 2012-05-02 17:50:52 +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 2d401aaaac app: add gimp-gegl-loops.[ch] which for now contains a convolve function 2012-05-02 17:50:51 +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
Øyvind Kolås 2aa401e9db app: dissolve-mode op attribute Helvetix Victorinox 2012-05-02 17:50:50 +02:00
Øyvind Kolås 925f49c489 app: gegl-config babl-tolerance
Lower the precision further, we're still doing it at higher precision than
8bit but since GIMP itself is still only dealing with 8bit data we can permit
these shortcuts for adding and removing gamma without affecting the fidelity
of the produced results.
2012-05-02 17:50:50 +02:00
Øyvind Kolås 1b64710e66 app: specify a lower tolerance for babl
Permitting the use of LUT based functions for gamma conversions in float32.
2012-05-02 17:50:49 +02:00
Michael Natterer dd70bbc6ed app: add gimp_gegl_get_config_container()
which creates and keeps around containers of arbitrary config objects.
2012-05-02 17:50:49 +02:00
Øyvind Kolås 671164a0fe app: gegl dissolve layer-mode pedantic indentation 2012-05-02 17:50:48 +02:00