In the Bucket Fill tool, when using line-art mode, use a
GimpImageProxy as input for the GimpLineArt object, instead of
using the image direclty, when the line-art source is "all visible
layers". Set the proxy's show-all mode according to the active
shell, so that the line-art uses the full image projection,
including out-of-canvas regions, when in show-all mode.
(cherry picked from commit 43a1c33ecf)
... which corresponds to the shell's show-all mode. We'll listen
to its "notify" signal in the bucket-fill tool.
(cherry picked from commit 02654b0ac0)
In GimpLineArt, add support for arbitrary input-buffer extents,
by shifting/unshifting the input/output buffers before/after
passing them to the main algorithm, so that the algorithm keeps
working with buffers whose top-left corner is at (0, 0).
(cherry picked from commit bce96eb690)
In GimpImageProxy, implement the GimpPickable interface, so that
the proxy can be used as both a viewable and a pickable for the
image projection, with direct control over the show-all mode. This
will allow us to use a GimpImageProxy as input for a GimpLineArt.
(cherry picked from commit 0e02795128)
We're going to have GimpImageProxy implement GimpPickable, so that
it can be used as either a viewable or a pickable proxy for an
image.
(cherry picked from commit 8d8cc12f40)
Add an internal gimp_image_get_preview_format(), which returns the
format to use for preview buffers, and use it in both
gimpimage-preview and GimpImageViewable, to reduce duplication.
(cherry picked from commit 74009c8b1e)
In gimp_config_deserialize_fundamental(), cast integer token values
to the target value type *before* negating them, to avoid
performing unsigned negation, which can result in a positive value
when cast to the target value type (in particular, when the target
value type is float/double).
(cherry picked from commit 38fff3b6b3)
In particular, if the shebang is `#!/usr/bin/env lang` and we have not
registered a specific interpreter for `lang`, the system should leave
the env tool search the right interpreter for us. We only bypass env
when we set our own explicit interpreter.
(cherry picked from commit 9e844ae1d7)
Slight modification from master commit: not applying to
palette-to-gradient.py plug-in.
GTimeVal, as well as g_file_info_get_modification_time(), have been
deprecated in GLib 2.62. Use g_file_info_get_attribute_uint64()
instead.
(cherry picked from commit 549a606b2f)