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