Commit Graph

43559 Commits

Author SHA1 Message Date
Ell
537ae20fa0 app: allow calling gimp_tile_handler_validate_validate() with a NULL rect
... and validate the entire buffer.

(cherry picked from commit ba6040bbcd)
2020-01-15 21:50:20 +02:00
df850fa394 Return FALSE on gimp_osx_focus_window to avoid endless loop
(cherry picked from commit 3e78c674d8)
2020-01-15 17:44:53 +01:00
Ell
628833426a libgimpmath: add version annotations to new matrix functions 2020-01-15 18:25:06 +02:00
Ell
4a4999082a icons: fix PNG 3D-transform icons in makefile 2020-01-15 18:15:31 +02:00
3f7bb5b934 Update Spanish translation 2020-01-15 15:01:49 +00:00
ef87fe9497 Update Japanese translation 2020-01-13 14:22:14 +00:00
676b8a77fe Update Polish translation 2020-01-12 19:28:55 +01:00
5b60aab22a Update Japanese translation 2020-01-12 16:15:03 +00:00
7a0c04b9f1 Update Japanese translation 2020-01-12 16:07:27 +00:00
a990b3f878 Update Russian translation 2020-01-12 13:03:50 +03:00
66b16949a6 Add macOS support for the GIMP dashboard 2020-01-12 07:35:05 +00:00
ec10b37421 Issue #4484: Add reflection option for mandala symmetry
(cherry picked from commit 36dd48aea6)
2020-01-11 23:57:25 +01:00
bed9294c97 Update Japanese translation 2020-01-11 16:21:33 +00:00
c315e32617 Update Japanese translation 2020-01-11 16:13:50 +00:00
Ell
e884af8f42 app: clip transform-tools preview according to clipping mode
Add a "clip" property to GimpCanvasTransformPreview, specifying the
transform's clipping mode, and clip the preview accordingly.

In GimpTransformGridTool, sync the tool's clipping mode with the
preview's clipping mode.

(cherry picked from commit 7b2e6b7595)
2020-01-11 17:13:11 +02:00
Ell
41a8be5b2a app: fix spacing in gimptooltransform3dgrid.c
(cherry picked from commit d79ef34f87)
2020-01-10 23:21:41 +02:00
Ell
87d3590054 app: add unified interaction mode to the 3D Transform tool
Add a "Unified interaction" option to the 3D Transform tool, and a
corresponding "unified" property to GimpToolTransform3DGrid.  When
active, all three interaction modes of the grid (camera, move, and
rotate) are available simultaneously, regardless of the active
dialog page.  In this mode, the inner and outer regions of the item
are used for moving and rotation, respectively, and the vanishing-
point is controlled through through a handle.

(cherry picked from commit 30132fc2da)
2020-01-10 23:21:41 +02:00
Ell
c4d0c0bd6d app: in 3D Transform tool, fix rotation direction when rotating arouns local Z axis
In GimpToolTransform3DGrid, fix the test for determining which side
of the plane is facing the viewer, affecting the direction of
rotation when rotating around the local Z axis.

(cherry picked from commit bcaaa453c4)
2020-01-10 22:18:09 +02:00
Ell
8143564627 app: improve placement of new tools with existing toolrc
When ordering tools according to an existing toolrc file (which
is always present in a pre-existing profile), preserve the default
placement of newly-added tools, instead of always adding them to
the bottom of the list.

(cherry picked from commit 58d04375c9)
2020-01-10 18:45:02 +02:00
0418bcc134 Update Turkish translation 2020-01-10 15:53:31 +00:00
e59d8ca75c Move the comment to match the function it explains 2020-01-10 14:56:33 +00:00
eb4b8fbd05 Move macos menu init to the gui related code and reparent it with a main window.
Closes #1258
2020-01-10 11:03:01 +01:00
7acebe298b NEWS: vastly better text for YUV 2020-01-10 11:57:28 +03:00
6d3c742b36 Update NEWS some more 2020-01-10 11:51:30 +03:00
661bab3f25 Update NEWS 2020-01-10 11:47:37 +03:00
2c785267ee Update Russian translation 2020-01-10 10:07:36 +03:00
46ee2d8438 Update Russian translation 2020-01-10 10:07:36 +03:00
Ell
4d5ea7fd95 Issue #4354 - When using color to fade dynamics and gradient with transparency ...
... brush does not have transparency

In the PAINT_MASK_TO_COMP_MASK paintcore-loops algorithm, used when
painting incrementally, multiply the paint mask values by the paint
opacity.  Previously, the paint opacity was ignored, breaking
various dynamics affecting the opacity.

(cherry picked from commit 9fe33702fb)
2020-01-09 22:36:45 +02:00
Ell
67b0279091 app: don't show context menu in compact spin scale without focus
Always enter relative adjustment mode when right-clicking an
unfocused compact GimpSpinScale, instead of showing the context
menu, since it otherwise leaves little room to enter relative mode
in narrow spin scales.  The context menu can still be activated for
focused spin scales.
2020-01-09 17:31:33 +02:00
d714508d8d Update Japanese translation 2020-01-09 15:03:13 +00:00
Ell
e27aa6c000 app: snap spin scale to page increments when holding Ctrl
When click-dragging a GimpSpinScale while holding Ctrl, in either
absolute or relative mode, snap the value (or the delta) to the
page increment.
2020-01-09 01:49:08 +02:00
Ell
6b9a6da4a7 libgimpwidgets: control GimpSpinButton scroll increments using modifiers
In GimpSpinButton, adjust the scroll step in response to modifiers:
normal scrolling uses the step increment, Ctrl uses the page
increment, and Shift scales the step increment down by the ratio
between the page and step increments (up to the minimal precision
of the spin button).

This applies to all spin buttons used in GIMP, including spin
scales.

(cherry picked from commit ac8bf47fa6)
2020-01-08 21:01:55 +02:00
839920d129 Update Japanese translation 2020-01-08 18:11:09 +00:00
03b135a9bb Update Japanese translation 2020-01-08 18:02:50 +00:00
Ell
b9c13c0900 app: fix integer overflow when reporting operation progress
In gimp_gegl_apply_cached_operation(), use gint64 for storing the
total and processed pixel counts used for reporting progress, to
avoid overflowing when applying an operation to a large image.

(cherry picked from commit f1c448e0f4)
2020-01-08 11:40:06 +02:00
Ell
c8b80d8997 menus: add the 3D Transform tool to the Tools menu
(cherry picked from commit 32da86b6ed)
2020-01-07 23:04:57 +02:00
Ell
818cbdbf4c app: fix wrong fix to gimpbacktrace-windows.c
This fixes commit 468f3e84d8.

(cherry picked from commit c93e5a2eae)
2020-01-07 22:18:55 +02:00
Ell
7fdfe791dd app: improve compact spin-scale behavior
GimpSpinScale now always grabs focus in response to a button press
in compact mode.  However, like before, the left button is always
used for absolute adjustment, even when pressed over the text,
instead of controlling the text cursor.

The right button is now used both for relative adjustment, and to
select the entire text.  Alternatively, the same can be achieved
with Shift+left-button.

The middle button has no special function.

Regardless, if a button-press event over the text triggers a
context menu, this overrides any of the above.
2020-01-07 20:58:20 +02:00
1874fa8a16 Update and improve Russian translation 2020-01-07 15:03:50 +03:00
f51fe56a6b Update Japanese translation 2020-01-07 11:10:25 +00:00
Ell
97d6201198 pdb: in plug_in_compat.pdb, set underlying op nodes
In plug_in_compat.pdb, when wrapping an op node inside a graph, set
the op node as the graph node's underlying operation.  This allows
gimp_gegl_apply_operation() to perform certain optimizations.

(cherry picked from commit e74994feaf)
2020-01-07 10:53:04 +02:00
Ell
6cf7b08c36 Issue #4204 - "Add Bevel" Has No Effect
In plug_in_compat.pdb, don't add child nodes to nodes containing an
op, since this turns them into graphs and discards the op.
Instead, add a new wrap_in_graph() helper function, which takes a
node op and wraps it in a simple "input -> op -> output" graph.
Use the graph as the container for child nodes, and as the node
passed to gimp_drawable_apply_operation().  (This is similar to
what we used to do before commit
afdd573136, except that we now pass
the parent node to gimp_drawable_apply_operation(), instead of the
op node).

(cherry picked from commit 8b7bafa43a)
2020-01-07 10:53:03 +02:00
Ell
2078e24b4a app: fix indentation in gimppivotselector.h
(cherry picked from commit 49221167c3)
2020-01-07 10:04:09 +02:00
Ell
27ad1316dd libgimpmath: add new matrix functions to .def file
... and fix docs for gimp_matrix4_transform_point().

(cherry picked from commit 9d015b7b1a)
2020-01-07 10:04:08 +02:00
Ell
8591b5b33f app: add compact style for spin scales
Add a boolean "compact" style property for GimpSpinScale.  When
TRUE, the widget uses a narrower layout, and the different upper/
lower-half behavior is gone.  Instead, the behavior depends on the
mouse button used: left-click is used for absolute adjustment
(similar to the upper-half behavior), middle-click is used for
relative adjustment (similar to the lower-half behavior), and right
click is used for manual value entry (similar for clicking on the
text area).

Add a new "Compact sliders" toggle to the Interface prefernces, to
control the spin-scale style.  Apply the style globally through the
themerc file, and update it when the option changes.

Use the compact style by default, because otherwise no one would
find it.  Theming in GTK3 works differently, and spin scales in
master need more work regardless, so this stays in 2.10 for now.
2020-01-06 23:10:05 +02:00
Ell
3d7bb4bc3d app, icons: add 3D Transform tool
Add a new 3D Transform tool, based on GimpToolTransform3DGrid,
added in the previous commit.  The tool UI provides a notbook with
three tabs, corresponding to the three GimpToolTransform3DGrid
modes:

  Camera - allows setting the primary vanishing point, as well as
  the camera's focal length, expressed either directly, or as the
  camera's angle of view, relative to the whole image or the
  transformed item.  By default, the vanishing point is aligned
  with the item's center, and the angle of view is fixed relative
  to the item; this essentially means that each item is transformed
  using a local perspective, independent of its position and size
  relative to the image.  A global perspective can be achieved by
  using a common vanishing point and focal length (or an image-
  relative angle of view).

  Move   - allows moving the item using X, Y, and Z offsets.

  Rotate - allows rotating the item using X, Y, and Z Euler angles.
  The order of rotation of the different axes can be controlled by
  a set of numbered buttons next to the sliders, and the rotation's
  pivot can be controlled using a pivot selector.
2020-01-06 23:10:05 +02:00
Ell
855eb0a150 app, cursors: add GimpToolTransform3DGrid tool widget
Add a new GimpToolTransform3DGrid tool widget, subclassed from
GimpToolTransformGrid, which can be used to perform 3D
transformations.

The widget can be in one of three modes:

  CAMERA - allows adjusting the primary vanishing point by moving a
  handle.

  MOVE   - allows moving the object through dragging.

  ROTATE - allows rotating the object through dragging.

By default, controlling the transformation through dragging applies
to the X and Y axes.  Holding Shift (or setting the "constrain-
axis" property) restricts the motion to only one of the axes.

For the MOVE and ROTATE mode, holding Ctrl (or setting the "z-axis"
property) allows controlling the Z axis instead.

For the same modes, holding Alt (or setting the "local-frame"
property), applies the adjustments in the object's local frame of
reference, instead of the display's global frame of reference.
2020-01-06 23:10:04 +02:00
Ell
d0ccd6ecfb app: add a protected gimp_tool_transform_grid_get_handle() function
... which can be used by subclasses to retrieve the currently-
active handle.
2020-01-06 23:10:04 +02:00
Ell
d30d47a0fd app: add GimpTransformGridTool::dynamic-handle-size property
Add a boolean GimpTransformGridTool::dynamic-handle-size property,
which controls whether the handle sizes are adjustment dynamically
according to the grid's size, or remain fixed.  This property is
TRUE by default, to maintain the current behavior.
2020-01-06 23:10:04 +02:00
Ell
cd7ccdf310 app: in GimpToolTransformGrid, add NONE function
In GimpToolTransformGrid, allow setting "inside-function" and
"outside-function" to a new NONE value, performing no
transformation when dragging the respective area.
2020-01-06 23:10:04 +02:00