Commit graph

4129 commits

Author SHA1 Message Date
Michael Natterer
9504e85a7e app: set an icon on the floating selection filter 2013-04-16 20:30:13 +02:00
Michael Natterer
2538d6fea7 app: add gimp_drawable_get_filters() which returns the filter stack 2013-04-16 20:20:00 +02:00
Michael Natterer
8bfb1769b7 app: use a GimpApplicator for floating selection compositing 2013-04-15 01:44:18 +02:00
Michael Natterer
07a220ee9e app: port GimpImageMap to GimpApplicator 2013-04-14 22:46:52 +02:00
Michael Natterer
1235013177 app: add local "private" variables to make drawable's FS code more readable 2013-04-12 21:07:56 +02:00
Michael Natterer
d1ab98e1c6 app: make GimpImageMap work again when there is no selection 2013-04-12 18:47:12 +02:00
Michael Natterer
38e983c724 app: fix regression: make the selection clip the FS again 2013-04-12 18:26:34 +02:00
Michael Natterer
05e6f6d848 app: simply merge the FS filter with the drawable to anchor the FS 2013-04-12 16:58:18 +02:00
Michael Natterer
39ab59e032 app: add gimp_drawable_get_floating_sel_filter() 2013-04-12 16:57:39 +02:00
Michael Natterer
b16f75b8af app: make the FS' drawable update itself when the active components change
which removes more FS knowledge from the image.
2013-04-12 15:58:42 +02:00
Michael Natterer
538e3813be app: make floating selection compositing honor the image's active components
This was a regression from 2.8
2013-04-12 15:54:05 +02:00
Michael Natterer
1e17f0aed1 app: port GimpImageMap to use the new drawable filters
which makes live update more responsive and removes tons of code, but
adds a delay with progress when finally committing the effect.
2013-04-12 14:35:27 +02:00
Michael Natterer
dc964956e7 app: add gimp_drawable_merge_filter() which applies a filter to a drawable
permanently, with undo and progress.
2013-04-12 14:31:50 +02:00
Michael Natterer
a1ddd7dfda app: use the newly added drawable filter api to add/remove the fs filter 2013-04-12 12:56:01 +02:00
Michael Natterer
85fef12865 app: add gimpdrawable-filter.[ch] to access the filters 2013-04-12 12:55:15 +02:00
Michael Natterer
f3308e6ba3 app: add a GimpFilterStack to each GimpDrawable
which is part of the drawable's source_node, so we can generically
filter a drawable's pixels. Reading from the source_node will
transparently give the filtered results.

Turn floating selection compositing into a GimpFilter and add it to
the filter stack while we have a floating selection on the drawable.
2013-04-11 19:06:23 +02:00
Michael Natterer
7c96952bd4 app: add gimp_filter_stack_new(filter_type) 2013-04-11 19:04:51 +02:00
Michael Natterer
a203a270df app: add gimp_filter_new(name) 2013-04-11 19:03:10 +02:00
Michael Natterer
fc2ec83723 app: simply put GimpImage's layer and channel stacks on top of each other
which gets rid of the gegl:over we used to combine them.
2013-04-11 14:40:41 +02:00
Michael Natterer
e7babfed2e app: make sure GimpFilterStack's initial empty graph passes through 2013-04-11 14:37:43 +02:00
Michael Natterer
51d28340f3 app: always connect GimpFilterStack's input too
so it is actually a "filter" stack and not only an "output" stack :)
2013-04-11 13:03:37 +02:00
Michael Natterer
aa56bcd284 app: add new class GimpFilterStack factored out of GimpDrawableStack
and make it the parent class of GimpItemStack. Which means we now have
a generic stack of filters independent of any image items.
2013-04-11 12:25:11 +02:00
Michael Natterer
d4c3d35bd8 app: use "filter" not "drawable" in GimpDrawableStack's graph code 2013-04-11 12:25:11 +02:00
Michael Natterer
4ca746eab7 app: move the "is-last-node" property and API from drawable to filter 2013-04-11 12:25:11 +02:00
Michael Natterer
45a6ea432c app: add new class GimpFilter as parent class of GimpItem
and move the item's GeglNode API there. The purpose of this is to
factor out "gimp object that manages a node".
2013-04-11 12:25:10 +02:00
Michael Natterer
f84ed04ee5 app: actually remove the node in gimp_item_remove_offset_node()
The function is currently unused, so nobody noticed.
2013-04-11 12:25:10 +02:00
Michael Natterer
46f74d9f46 app: return GeglBuffer from gimp_image_contiguous_region_foo()
now all intermediate masks should be in "Y float" and avoid all
conversions.
2013-04-09 01:38:24 +02:00
Michael Natterer
ddc4a057e4 app: factor our more lowlevel GimpChannel code to GeglBuffer utils 2013-04-09 00:38:46 +02:00
Michael Natterer
75c9a0dc27 app: factor out gimp_channel_select_buffer() from select_channel() 2013-04-08 23:31:26 +02:00
Michael Natterer
3cb2756133 app: use float GeglBuffers directly where possible in gimpchannel-select.c
Saving tons of conversions between the selection's actual format and
"Y float", including saving tons of temporary buffers while
processing.
2013-04-08 22:52:26 +02:00
Michael Natterer
5cd8b98efb app: factor out the core mask combine functions to gegl-only functions
so we can use them on plain GeglBuffers. Use them in
gimpchannel-combine.c for now.
2013-04-08 21:54:46 +02:00
Michael Henning
e839ae0955 app: speed up gimp_image_contiguous_region_by_seed using a temporary GeglBuffer
This is identical to c204b0ac41, except
it avoids setting the buffer type of the drawable using a buffer copy.
(that issue is explained in d53deda61b)
2013-04-08 15:02:23 -04:00
Michael Natterer
586bb73293 app: add gimp_gegl_apply_feather()
and use it in gimp_channel_real_feather() so the magic factor of 3.5
to turn feather radius into gegl:gaussian-blur's std_dev is hidden
behind an API.
2013-04-08 14:16:33 +02:00
Michael Natterer
d49e33da4a app: fix the last commit: it's n_components not 4, sigh 2013-04-08 03:33:39 +02:00
Michael Natterer
dd1f731cc9 app: fix format selection in gimpimage-contiguous-region
and also re-enable selecting by H, S, V. Doing that sometimes runs
into an infinite loop though, which I don't think is this code's
fault...
2013-04-08 03:14:06 +02:00
Michael Natterer
d53deda61b Revert "core: speed up gimp_image_contiguous_region_by_seed using a temporary GeglBuffer"
This reverts commit c204b0ac41, it's
a nice speedup we should keep, but we can't return a GimpChannel
of != image precision from that function. Needs more thinking.
2013-04-08 02:34:56 +02:00
Michael Henning
c204b0ac41 core: speed up gimp_image_contiguous_region_by_seed using a temporary GeglBuffer
By creating a temporary GeglBuffer of the correct format, we avoid a lot of
babl conversions. This is about four times faster than the previous code.
2013-04-07 14:31:51 -04:00
Michael Henning
229ab7caf1 core: remove unneeded call to gegl_buffer_sample_cleanup 2013-04-07 12:30:29 -04:00
Michael Natterer
06968d9bf9 Bug 690325 - Image Display broken: a rectangle undrawn to the top left
Let GimpTileHandlerProjection know how large the projection is so it
can calculate the number of levels in the pyramid, and always
invalidate all levels.
2013-03-30 17:44:59 +01:00
Petr Kubiznak
194ef70d74 Bug 593167 - Support Windows in gimp_get_default_unit()
Function gimp_get_default_unit ported for Windows using standard GetLocaleInfo() function (from windows.h).
2013-03-30 10:19:57 -04:00
Michael Natterer
8bc4f008e7 Bug 692668 - Browse For Patterns
Increase the max size of the clipboard brush and pattern to 2048x2048
pixels. Still arbitrary but much better.
2013-03-26 23:55:40 +01:00
Michael Natterer
84b27e96b9 app: remove temp buffer workaround from gimp_channel_new_from_component()
apparently copying a component directly now works fine, probably
because we use "real" GeglBuffers (not TileManager based ones).
2013-03-13 23:45:46 +01:00
Michael Natterer
872b1f3221 app: don't leak the input stream when loading a viewable's icon pixbuf 2013-03-09 21:12:00 +01:00
Daniel Sabo
2614404764 Add support for custom icons for tool presets
Adds an icon-pixbuf property to GimpViewable that is used for a default
implementation of new_pixbuf.

Extend gimp_icon_picker to allow the user to pick non-stock icons for tool
presets (or any other class derived from GimpViewable). Icons can come
from any file GdkPixbuf can load or from image data on the clipboard.
2013-03-08 08:19:54 -08:00
Michael Natterer
561c250298 app: print 4 decimal places in GIMP_TIMER_END() 2013-03-06 12:50:21 +01:00
Téo Mazars
d1cd90c170 Bug 674622 - Misalignment in scaling layers of different sizes
Again bad use of ROUND() on signed values...
2013-02-13 19:59:58 +01:00
Ville Skyttä
6b0d1038cc Bug 692641 - Various spelling fixes 2013-01-27 18:59:02 +01:00
Michael Natterer
c262fee244 Bug 689523 - GIMP crashes (segfault) when loading a context with a font...
Make gimp_context_get|set_font_name() actually deal with
context->font_name, so the context can do its job of keeping the name
of an unavailable object around.
2013-01-18 01:02:31 +01:00
Michael Natterer
0a37a0490f app: fix indentation in GimpContext 2013-01-18 00:50:12 +01:00
Nils Philippsen
fc625feb40 fix copy-paste error 2013-01-09 15:37:30 +01:00