Commit Graph

38628 Commits

Author SHA1 Message Date
Michael Natterer 546bbe1e14 app: add a transform matrix to GimpCanvasPolygon and all API using it 2017-06-19 21:53:49 +02:00
Michael Natterer 3ddfd107b9 app: add some newlines in gimpcanvasboundary.c 2017-06-19 21:53:20 +02:00
Michael Natterer 2d55978801 app: bring back the live selection transform boundary in GimpTransformTool 2017-06-19 20:51:56 +02:00
Michael Natterer 214a1babdb app: use a GimpToolTransformGrid in GimpPerspectiveClone
and clean up and reorder the code quite a bit.
2017-06-19 20:43:46 +02:00
Michael Natterer aa1e6c07f5 app: factor out a few lines of code in gimp_transform_tool_draw() 2017-06-19 20:07:10 +02:00
Michael Natterer b1dddcdc8f app: add #defines of standard handle sizes to gimpcanvashandle.h
The same values as in gimpdrawtool.h, tool widgets in display/ must
not include the draw tool header from tools/.
2017-06-19 10:46:05 +02:00
Michael Natterer f5a6c859d7 app: remove gimp_draw_tool_add_transform_guides() 2017-06-19 08:08:14 +02:00
Michael Natterer 3b21c08b41 app: add proximity-sensitive handles to the handle transform tool
as known from the blend tool.
2017-06-19 08:02:12 +02:00
Michael Natterer e13d3f1754 app: remove a lot of cruft from GimpTransformTool
All tools have a widget now so none of this stuff is needed any longer.
2017-06-19 01:53:01 +02:00
Michael Natterer 38c9ee9e93 app: use a GimpToolHandleGrid in GimpHandleTransformTool 2017-06-19 01:22:13 +02:00
Michael Natterer 6bd316e070 app: add new GimpToolTransformGrid subclass GimpToolHandleGrid
which implents the handle transform tool's interaction.
2017-06-19 01:21:06 +02:00
Ell c83f0e88af app: add virtual transform/type-conversion functions to GimpLayer
The GimpLayer implementation of the GimpItem transform functions,
and the GimpDrawable convert_type() function, apply their operation
to both the layer and its mask.  The subclasses of GimpLayer --
GimpGroupLayer and GimpTextLayer -- override some of these
functions, providing their own logic for the layer part, and
duplicating the mask part.

Avoid this duplication by adding a set of virtual transform and
type-conversion functions to GimpLayer.  Have the GimpLayer
implementaion of the corresponding GimpItem and GimpDrawable
functions use these functions to apply the operation to the layer,
while taking care of the mask themselves.  Have GimpLayer's
subclasses override the new virtual functions, instead of the
GimpItem and GimpDrawable ones.

Note that the existing implementation of convert_type() in
GimpTextLayer neglected to convert the mask, hence text layer masks
retained their old format after conversion.  This issue is fixed as
a side effect of this commit.
2017-06-17 13:42:41 -04:00
Alexandre Prokoudine 40dccbddd8 Bug 556884 - More messages marked for translation
Humanize action names to make them readable while
preserving their original grouping. Mark for translation
the missing ones. Use absolute values to make
"increase/decrease more" less cryptic since we hardcode
those values anyway.
2017-06-17 18:54:45 +03:00
Jehan 7999cfbeef libgimp*: tab cleaning. 2017-06-17 11:38:18 +02:00
Michael Natterer 6cd91f1fde app: move the handle transform matrix calculation to gimp-transform-utils.[ch] 2017-06-17 10:03:24 +02:00
Jehan 430c31b798 app, plug-ins: clean out trailing whitespaces in source code. 2017-06-17 04:47:53 +02:00
Jehan 60f09c3482 desktop: make the appstream metainfo file translatable.
To have the name and summary translatable, rename as .in file, add
underscore on localizable tags and add to POTFILES.in.
Also clean out trailing whitespace and weird characters, add indentation
and fix tag s/updatecontact/update_contact/.
Finally add an appstream-util validation so that the file syntax is
checked during a `make check`.
2017-06-17 04:31:22 +02:00
Michael Natterer dc17194fca po: add gimptooltransformgrid.c to POTFILES.in 2017-06-17 03:04:06 +02:00
Michael Natterer a5f3808505 app: use the newly added tool widgets in the transform tools 2017-06-17 03:04:06 +02:00
Michael Natterer 457f6bf952 app: add GimpToolTransformGrid, GimpToolRotateGrid and GimpToolShearGrid
which do all transform tools' (except handle transform) canvas GUI and
their interaction.
2017-06-17 03:04:06 +02:00
Jiri Eischmann 46843c840b Bug 763398 - Shipping AppStream metadata file for gimp-data-extras 2017-06-17 03:33:16 +03:00
Michael Natterer 44d33bfd3b app: change return value of GimpToolWidget::button_press() from gboolean to gint
so widgets can return which handle was clicked. The values boolean
semantics stay the same so if(retval) gives the same result. This is
useful for the upcoming transform tool widgets.
2017-06-16 20:55:02 +02:00
Piotr Drąg b097dce96e Update Polish translation 2017-06-16 17:40:55 +02:00
Jehan 2ea3c1c2dc NEWS: remove trailing whitespace and use consistent tense. 2017-06-16 17:39:22 +02:00
Jehan dd6dab113e Bug 783528 - PDF export ignores layer masks.
Cairo doc is pretty clear about cairo_mask_surface():
> A drawing operator that paints the current source using the alpha
> channel of @surface as a mask
Therefore when creating a mask surface, it must be in one of
CAIRO_FORMAT_* with an alpha channel and the mask data must be copied
into this alpha channel. I chose CAIRO_FORMAT_A8 (a format with alpha
only) which I map to "Y u8" babl format in GEGL so that
gegl_buffer_copy() copies the contents of Y into A.
2017-06-16 16:42:39 +02:00
Jehan 85c0373489 libgimpcolor: support CAIRO_FORMAT_A8 in gimp_cairo_surface_get_format() 2017-06-16 16:42:39 +02:00
Daniel Mustieles e242ec41bb Update Spanish translation 2017-06-16 11:44:03 +00:00
Alexandre Prokoudine 138b0e44ae Update NEWS 2017-06-16 00:36:34 +03:00
Alexandre Prokoudine b9eef3d05a Merge branch 'master' into templates-update 2017-06-16 00:16:20 +03:00
Jordi Mas 073d792408 Update Catalan translation 2017-06-15 21:11:57 +02:00
Jehan 0bd94f172a plug-ins: properly "Apply layer masks before saving" when checked.
The `if` test was inverted. When the option is checked, we don't want to
add the GIMP_EXPORT_CAN_HANDLE_LAYER_MASKS capability so that
gimp_export_image() applies the mask.
This is a first step to fix bug 783528, but it's not finished. Right
now, when the option is unchecked, the mask is simply ignored. We want
to export a PDF mask instead.
2017-06-15 20:58:31 +02:00
Ell d37fb8aa5c app: split sanity check into early/late stages, to fix gegl translation
The GEGL ops sanity check causes all ops to be initialized.  The
strings used by their properties will pick the translation selected
at the time of the check.  It must therefore run after language
intiailization, otherwise the selected translation would correspond
to the system locale, even if the user selected a different language
in the preferences.

Split the sanity check into early and late stages.  The early stage
is run before the call to app_run(), as it did before, while the
late stage is run during app_run(), after the configuration has been
loaded.  Currently, the GEGL ops check is the only late-stage check;
all other checks are performed during the early stage.
2017-06-15 09:51:25 -04:00
Marco Ciampa 7bf04966d4 Updated Italian translation 2017-06-15 12:56:42 +02:00
Jehan 79dfc8309a NEWS: add multi-page PDF export support. 2017-06-15 01:19:42 +02:00
Jehan 90219a0208 plug-ins: vectorize and apply-masks checked by default for PDF export.
They used to be TRUE by default but that was overwritten. This has been
fixed in commit c08cf41. Let's bring these defaults back.
2017-06-15 01:09:12 +02:00
Jehan c8550c9581 plug-ins: create file-pdf-save2 with the additional parameter.
And revert file-pdf-save to its previous signature before commit
d03de52. For compatibility reason, we can't change the signature of a
procedure available in previous stable releases.
Also revert file-pdf-save-multi for the same reason. I don't create a
file-pdf-save-multi2 though even though layers-as-pages could still be
meaningful there (creating a multi-page PDF from several multi-layers
images) but that's likely a special case which can be dealt with later.
Obviously the interactive export will use file-pdf-save2.
2017-06-15 00:48:06 +02:00
Jehan c08cf41113 plug-ins: only check non-defaut parameters in non-interactive mode.
Otherwise default values are not taken into account in interactive mode.
In particular, we want ignore-hidden to be checked (TRUE) by default,
because this is the most obvious behavior (WYSIWYG).
2017-06-15 00:39:54 +02:00
Lionel N d03de527a5 Bug 382688 - Export layers as pages to PDF file
Add feature to export multiple layers to multiple pages.
Fixed the deprecated functions.
Fixed how transparent/invisible layers are handled.
2017-06-15 00:39:45 +02:00
Ell 1c25a2f0bf app: remove double identity check from raster brush transform funcs
The identity parameter checks added to the raster brush
transformation functions in the previous commit are unnecessary,
since we're already testing for the identity matrix.  Remove them.
2017-06-14 15:47:29 -04:00
Ell c690ed6bf1 Bug 771616 - Changing parametric brush Hardness parameter doesn't work properly
Check if the brush parameters match the identity parameters, and
return the original brush mask/pixmap if they do, in the actual
mask/pixmap transformation virtual functions, instead of in their
wrappers.  While the identity parameters for raster brushes are
always scale=1, aspect-ratio=0, angle=0, and hardness=1, for
generated brushes they depend on the specific brush
parameterization.
2017-06-14 15:21:23 -04:00
Jehan ecf5a6e9a3 NEWS: add the new dynamics. 2017-06-14 20:11:01 +02:00
Michael Natterer 1bc52dad71 app: return FALSE from gimp_canvas_item_hit() when the item is invisible 2017-06-14 00:16:09 +02:00
Michael Natterer 013bb4d81f app: add signal GimpToolWidget::snap_offsets() and API to emit it
so widgets can notify their handling tool of snap offsets.
2017-06-14 00:16:09 +02:00
Michael Natterer 495f90e6e2 app: allow to set an angle on a GimpCanvasHandle in GIMP_HANDLE_CROSS mode 2017-06-14 00:16:09 +02:00
Michael Natterer ad660a3c88 app: add gimp_tool_widget_add_transform_guides() 2017-06-14 00:16:09 +02:00
Michael Natterer 7082fc8b9e app: add x1,y1,x2,y2 parameters to gimp_canvas_transform_guides_set() 2017-06-14 00:16:09 +02:00
Aryeom Han e58f6aabd9 data: add a basic "Pressure Size" dynamics.
This is a common dynamics, for instance when you do colorization bases.
This allows to control the size of the brush with pressure and always
keep unified color without opacity changes.
2017-06-13 21:15:26 +02:00
Jehan d6b0132654 app: s/groupe/group/ in a descriptive comment for function. 2017-06-13 19:17:46 +02:00
Jehan 9ba2a6724c Bug 783629 - invert-svg build failure
Fedora hardens its packages by default since Fedora 23 and the home-made
CC call to build invert-svg needs position-independent code. The flag
-fPIC is apparently harmless in basic cases since it still builds when
non-hardened and the doc implies that it would just be ignored if not
supported by the target machine. As far as I could search, adding it
should not break other people's builds.
So what the heck. That's just a temporary build tool, let's add this
flag and see if others complain!
2017-06-13 17:18:15 +02:00
Alexandre Prokoudine ceb43bf713 Better typography in template names 2017-06-12 04:46:27 +03:00