Commit Graph

43097 Commits

Author SHA1 Message Date
Ell
1f76013d1e app: add "clip" parameter to gimp_display_shell_untransform_viewport()
... which specifies whether to clip the viewport to the canvas
(previously, it would always be clipped).  Use the appropriate
value in all callers, depending on the shell's "show all" mode.  In
particular, this commit avoids clipping the image projection's
priority rect to the canvas in "show all" mode.
2019-09-04 20:56:23 +03:00
Ell
162665e42b app, menus: add "show all" mode to GimpDisplayShell; "View -> Show All" toggle
Add a "show all" mode to GimpDisplayShell, controlled through a
corresponding "View -> Show All" menu item.  When enabled, the
entire image content is displayed, instead of cropping the image
to the canvas size.  More generally, the display behaves as if the
canvas were infinite.  The following commits improve the overall
behavior in this mode.

Add a prefernces option to control the default "show all" state.
2019-09-04 20:56:23 +03:00
Ell
5478f34b81 app: in preferences dialog, add "show sample points" toggle
... to the default-appearance options.  It was previously missing.
2019-09-04 20:56:23 +03:00
Ell
cb6b38abab app: in preferences dialog, swap position of default-appearance columns
... to match their menu order.
2019-09-04 20:56:23 +03:00
Ell
ceb8b398ca app: in GimpImage, ignore "show all" when image used as pickable
In GimpImage, make sure the image's pickable interface keeps
behaving as before (i.e., restricted to the canvas size), even when
the image is in "show all" mode.  In contrast, the image's
projection, when used as a pickable, *is* affected by "show all".
2019-09-04 20:56:23 +03:00
Ell
2e30ec353a app: add gimp_image_invalidate_all()
... which invalidates the entire image.  This replaces all calls to
gimp_image_invalidate() with the full canvas size, since the image
content can now be larger than the canvas.
2019-09-04 20:56:23 +03:00
Ell
94cdbacca7 app: add "show all" mode to GimpImage
Add a "show all" mode to GimpImage, which, when active, causes the
image projection's bounding box to be adjusted dynamically to the
combined bounding box of all layers and the canvas.  This mode is
controlled through the new gimp_image_{inc,dec}_show_all()
functions, which should be called by the display; a corresponding
display toggle will be added in the following commits.

Note that from the user's perspective, "show all" is a display
mode, rather than an image mode.  The GimpImage "show all" mode is
therefore merely an implementation detail, and shouldn't have any
effect on displays that don't use "show all" mode, or the PDB.
The ability to use the image with or without taking its "show all"
mode into account will be facilitated by the next commits.
2019-09-04 20:56:23 +03:00
Ell
3587c0a7d2 app: notify GimpProjection::buffer when freeing the projection's buffer
... instead of only when subsequently reallocating it, so that
listeners can respond to the buffer being freed.
2019-09-04 20:56:23 +03:00
Ell
66d7dc76aa app: in GimpProjection, avoid invalidating preview on flush while rendering
In GimpProjection, avoid erroneously invalidating the projectable's
preview when flushing the projection and there's nothing to be
flushed, if the chunk renderer is still running, and hence the
projection is not fully rendered yet.
2019-09-04 20:56:23 +03:00
Ell
e183b8e6ad app: in gimp_gegl_buffer_set_extent(), clear full OOB region
In gimp_gegl_buffer_set_extent(), clear the full now-out-of-bounds
region of the buffer, instead of only full out-of-bounds tiles;
however, we still make sure to clear full tiles, instead of partial
tiles, as much as possible.  This prevents (parts of) the old
content of the buffer from showing when it's enlarged again.  This
is especially relevant for the image projection, once we add
support for a dynamically-expanding canvas in the following
commits, since the projection of a reexpanded buffer can be
temporarily rendered to the display before it's fully
reconstructed, exposing parts of the old content.
2019-09-04 20:56:23 +03:00
69dc32da80 Update British English translation 2019-08-30 19:19:19 +00:00
d450e27286 Updated Italian translation 2019-08-30 09:32:00 +02:00
e836245f12 Updated Italian translation 2019-08-29 13:09:05 +02:00
d66a922cd3 Add British English translation 2019-08-27 17:26:47 +00:00
b6837276b0 Update British English translation 2019-08-27 17:15:32 +00:00
a47fcadcd8 NEWS: add bugfix number. 2019-08-27 12:48:51 +02:00
7fc9357452 Issue #3263: fix critical error on bucket fill tool.
Fixes the error:
> Critical error: gimp_line_art_thaw: assertion 'line_art->priv->frozen'

This may happen in cases when we didn't actually freeze the line art at
pointer click, because we were in an invalid case (for instance,
clicking out of selection), hence we must not thaw the line art either
at button release.

(cherry picked from commit 6391b2bcff)
2019-08-27 12:45:21 +02:00
7c0ed951c2 Updated Slovenian translation 2019-08-26 22:29:27 +02:00
c70bd96b87 Updated Slovenian translation 2019-08-26 22:28:41 +02:00
89f8217f4a Updated Slovenian translation 2019-08-26 22:27:48 +02:00
a55b962d33 Updated Slovenian translation 2019-08-26 22:26:26 +02:00
ba4fe89dcf Updated Slovenian translation 2019-08-26 22:19:18 +02:00
ad542450ea Update British English translation 2019-08-26 09:11:44 +00:00
7d0fc8d2d9 Update Catalan translation 2019-08-26 09:34:43 +02:00
30dfd499ca Update Hungarian translation 2019-08-24 21:49:34 +00:00
ad7bbd3af3 Updated Slovenian translation 2019-08-24 20:23:20 +02:00
b6a4799314 Updated Slovenian translation 2019-08-24 20:21:34 +02:00
98eb78a2b4 Updated Slovenian translation 2019-08-24 20:20:18 +02:00
7bd11df998 Updated Slovenian translation 2019-08-24 20:19:19 +02:00
20533c8567 Update Swedish translation 2019-08-23 12:04:24 +00:00
4f24ee0397 Remove Bugzilla from the desktop file
We don't seem to need it anymore, and all GNOME apps have removed it already.
2019-08-20 13:00:18 +03:00
b742c7e39c Update Polish translation 2019-08-18 16:00:15 +02:00
b24cb22547 Update Swedish translation 2019-08-16 20:58:35 +00:00
70273f8d41 Update Swedish translation 2019-08-16 20:30:33 +00:00
7cc61ade2b plug-ins: link dds plugins against libm
(cherry picked from commit 1661aab620)
2019-08-14 11:58:26 +02:00
Ell
409853a03b app: update projection-buffer extent when projectable size changes
In GimpProjection, when the projectable's size changes, while its
offset remains the same, simply update the projection buffer's
extent, instead of allocating a new buffer and copying the contents
over.

(cherry picked from commit 1577174739)
2019-08-13 17:44:26 +03:00
Ell
d3af77890d app: add gimp_tile_handler_validate_buffer_set_extent()
... which sets the extent of a buffer with an assigned
GimpTileHandlerValidate, clipping the dirty region to the new
extent.

(cherry picked from commit b4ee9ff055)
2019-08-13 17:44:26 +03:00
Ell
56f6c35e30 app: add gimp_gegl_buffer_set_extent()
.... as a drop-in replacement for gegl_buffer_set_extent(), which,
in addition to setting the buffer's extent, clears any now-out-of-
bounds tiles, to free memory.

(cherry picked from commit 90610ac87e)
2019-08-13 17:44:25 +03:00
574602dc1d Update Spanish translation 2019-08-13 08:35:14 +00:00
Ell
7072c20bb9 Issue #3341 - Add Bevel doesn't work for high thickness values
Something during the port to gimp-drawable-edit (commit
233ac80de1) broke add-bevel.scm when
the thickness is high enough for the selection to become empty.

Add an explicit check for a selection while constructing the bump-
map layer.

(cherry picked from commit 21649c5eaa)
2019-08-12 22:19:08 +03:00
afdd573136 pdb: don't pass nodes with parents to gimp_drawable_apply_operation()
(cherry picked from commit 8222d3ffad)
2019-08-12 19:43:44 +02:00
Ell
55c7841f15 app: differentiate tooltips of image/layer arbitrary-rotation actions
Change the tooltips of the "Image/Layer -> Transform -> Arbitrary
Rotation..." to make the two actions distinguishable in the action
search dialog, similarly to the other image/layer transform
actions.

(cherry picked from commit 9582cf7717)
2019-08-12 17:32:23 +03:00
a61fb20e18 Update Turkish translation 2019-08-11 17:55:50 +00:00
66e1601bca Update Turkish translation 2019-08-11 17:54:40 +00:00
1e23fa2828 Update Turkish translation 2019-08-11 17:52:27 +00:00
a9784d7b5f Update Polish translation 2019-08-11 15:06:46 +02:00
Ell
fd29ee1997 app, menus: add "Image -> Transform -> Arbitrary Rotation..." action
Add a gimp-rotate-image-arbitrary action, and a corresponding
"Image -> Transform -> Arbitrary Rotation..." menu entry, which
activates the rotate tool in image mode (similarly to the
corresponding action for layers).

(cherry picked from commit 8bff415f59)
2019-08-11 00:34:29 +03:00
Ell
7c7983d5ef app: use gimp_transform_tool_set_type() in tools-rotate-arbitrary action
... so that the original transform-type of the rotate tool is
restored once the layer is rotated.  Additionally, make sure to
set the tool's transform-type even if it's already active.

(cherry picked from commit 52ad37a2aa)
2019-08-11 00:30:18 +03:00
Ell
1e52fc5fa9 app: add gimp_transform_tool_set_type()
... which temporarily changes the transform-type of the tool,
restoring the original type once it's halted.  To be used when
activating a transform tool through an action for a specific
transform type.

(cherry picked from commit f651db52fb)
2019-08-11 00:30:17 +03:00
Ell
5903c9c71d app: add "Image" transform type to transform tools
Add a new "Image" transform type to the transform tools, in
addition to the existing "Layer", "Selection", and "Path" transform
types.  The "Image" mode transforms the entire image, rather than a
single item.  In tools with a preview, the preview shows the
transformed image projection.  The clipping mode controls how the
canvas is clipped during the transform; in particular, the ADJUST
clipping mode resizes the canvas to fit its transformed size.

(cherry picked from commit e4990bee7b)
2019-08-11 00:30:17 +03:00