Commit Graph

38648 Commits

Author SHA1 Message Date
1aca558867 app: forgot to #include "gimptoolpath.h" in gimptoolwidget.c 2017-06-21 02:16:11 +02:00
82e2fa2e5e app: add gimp_tool_widget_add_path(), not used yet 2017-06-21 00:32:14 +02:00
91deb61475 app: add virtual functions GimpToolWidget::key_press() and ::key_release()
and api to call them. Not used anywhere yet.
2017-06-20 23:01:18 +02:00
d2bfbfb748 app: some more cleanup in GimpToolLine
it was already working perfectly, but it's so simple I'd like to make
it "perfect" as a GimpToolWidget implementation example.
2017-06-20 19:07:24 +02:00
163d46682d Update POTFILES.in 2017-06-20 16:59:42 +02:00
8e329d25fb build: replace flatpak build-export by flatpak-builder --export-only
build-export is actually a low-level tool used by flatpak-builder. When
using it directly, debug and locale extensions were not extracted as
separate extensions (unless tweaking complicated command lines), ending
up with a huge GIMP flatpak with the current procedure.
Since flatpak 0.9.5, the option --export-only has been added to
`flatpak-builder` so that the build and the export can be made in 2
separate steps while using the high level procedure.
See: https://github.com/flatpak/flatpak/issues/824
2017-06-20 16:51:03 +02:00
625ec4b773 app: add utility function gimp_canvas_handle_calc_size()
which is the code that calculates handle size based on pointer
proximity. Use the new function in GimpToolHandleGrid and
GimpToolLine, and clean up some stuff in GimpToolLine.
2017-06-20 01:02:23 +02:00
e2d1a57ebd plug-ins: fix comment explaining cairo_save().
Current comment was implying that PDF had some kind of fixed PPI, or
that a 72 PPI was hardcoded in cairo. This is not at all what this is
about. Cairo simply has a concept of user-space coordinates, and from
what I gather, it seems that this is set as "point", the typographical
unit of measure (not as a screen point). In such context, cairo_scale()
is used to update the transformation matrix (which will transform from
user to device units, i.e. pixels) so that we can draw with pixels. In
other words, both the user and device units will be pixels in subsequent
calls.
It turns out that 1 inch == 72 points. This is not a PPI/DPI at all and
the comment was completely misleading.
2017-06-20 00:44:03 +02:00
a2b438cc82 plug-ins: fill the background color inconditionally on full image size.
No need to loop through layers, which may be wrong anyway with
layers-as-pages. Also we were using the layer sizes without even
checking their offsets yet filling from (0, 0). This code was flawed in
many aspects.
2017-06-20 00:44:03 +02:00
6560e3895b app: clear GimpToolTransformGrid's status when we leave proximity 2017-06-20 00:23:25 +02:00
956477831f app: some cleanup in GimpTransformTool
- add utility function gimp_transform_tool_get_widget()
- reorder some functions
- cleanup in draw()
2017-06-20 00:19:21 +02:00
99dee5860d app: manage GimpHandleTransformTool's handle-mode with an object binding 2017-06-19 23:46:06 +02:00
77d516b588 app: another copy/paste error broke moving in GimpToolHandleGrid 2017-06-19 23:45:35 +02:00
055ca325f2 app: manage the preview opacity with an object binding too 2017-06-19 23:39:37 +02:00
9f59657fef app: also manage all contrain and frompivot properties centrally
using g_object_bind_property().
2017-06-19 23:29:01 +02:00
0411801765 app: manage the transform tools' grid properties in GimpTransformTool
Simply use g_object_bind_property() to connect the grid properties of
GimpTransformOoptions and GimpToolTransformGrid and remove all other
grid property setting code.
2017-06-19 23:06:39 +02:00
4b597f9622 app: take the handle transform tool out of the playground
It seems proper enough now.
2017-06-19 22:56:07 +02:00
96da8c1505 app: add status message to the handle transform tool
and fix a few glitches from tool widget porting.
2017-06-19 22:53:30 +02:00
4a05ddebab Export layers as pages to pdf / Reverse pages order
Added a "Reverse Order" option when "Layers as pages" is checked.
"Layers as pages" option is greyed out if the image has only 1 layer.
2017-06-19 22:16:00 +02:00
8ab11e7c18 app: bring back the live transformed path in GimpTransformTool 2017-06-19 22:13:50 +02:00
546bbe1e14 app: add a transform matrix to GimpCanvasPolygon and all API using it 2017-06-19 21:53:49 +02:00
3ddfd107b9 app: add some newlines in gimpcanvasboundary.c 2017-06-19 21:53:20 +02:00
2d55978801 app: bring back the live selection transform boundary in GimpTransformTool 2017-06-19 20:51:56 +02:00
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
aa1e6c07f5 app: factor out a few lines of code in gimp_transform_tool_draw() 2017-06-19 20:07:10 +02:00
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
f5a6c859d7 app: remove gimp_draw_tool_add_transform_guides() 2017-06-19 08:08:14 +02:00
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
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
38c9ee9e93 app: use a GimpToolHandleGrid in GimpHandleTransformTool 2017-06-19 01:22:13 +02:00
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
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
7999cfbeef libgimp*: tab cleaning. 2017-06-17 11:38:18 +02:00
6cd91f1fde app: move the handle transform matrix calculation to gimp-transform-utils.[ch] 2017-06-17 10:03:24 +02:00
430c31b798 app, plug-ins: clean out trailing whitespaces in source code. 2017-06-17 04:47:53 +02:00
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
dc17194fca po: add gimptooltransformgrid.c to POTFILES.in 2017-06-17 03:04:06 +02:00
a5f3808505 app: use the newly added tool widgets in the transform tools 2017-06-17 03:04:06 +02:00
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
46843c840b Bug 763398 - Shipping AppStream metadata file for gimp-data-extras 2017-06-17 03:33:16 +03:00
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
b097dce96e Update Polish translation 2017-06-16 17:40:55 +02:00
2ea3c1c2dc NEWS: remove trailing whitespace and use consistent tense. 2017-06-16 17:39:22 +02:00
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
85c0373489 libgimpcolor: support CAIRO_FORMAT_A8 in gimp_cairo_surface_get_format() 2017-06-16 16:42:39 +02:00
e242ec41bb Update Spanish translation 2017-06-16 11:44:03 +00:00
138b0e44ae Update NEWS 2017-06-16 00:36:34 +03:00
b9eef3d05a Merge branch 'master' into templates-update 2017-06-16 00:16:20 +03:00
073d792408 Update Catalan translation 2017-06-15 21:11:57 +02:00