Commit Graph

39339 Commits

Author SHA1 Message Date
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
ecf5a6e9a3 NEWS: add the new dynamics. 2017-06-14 20:11:01 +02:00
1bc52dad71 app: return FALSE from gimp_canvas_item_hit() when the item is invisible 2017-06-14 00:16:09 +02:00
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
495f90e6e2 app: allow to set an angle on a GimpCanvasHandle in GIMP_HANDLE_CROSS mode 2017-06-14 00:16:09 +02:00
ad660a3c88 app: add gimp_tool_widget_add_transform_guides() 2017-06-14 00:16:09 +02:00
7082fc8b9e app: add x1,y1,x2,y2 parameters to gimp_canvas_transform_guides_set() 2017-06-14 00:16:09 +02:00
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
d6b0132654 app: s/groupe/group/ in a descriptive comment for function. 2017-06-13 19:17:46 +02:00
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
ceb43bf713 Better typography in template names 2017-06-12 04:46:27 +03:00
1b9fd0315e Remove more obsolete templates 2017-06-12 04:09:48 +03:00
0098eedb81 Fix gimpicons.c, reorder items 2017-06-12 03:38:36 +03:00
0f7c2f1b06 Merge branch 'master' into templates-update 2017-06-12 03:32:57 +03:00
fb1b7a835b Fix the build process 2017-06-12 03:31:20 +03:00
70b389a7b1 Cherry-pick template updates from icons-wip branch by Klaus Staedtler 2017-06-12 03:24:32 +03:00
e23ee850d5 app: output an error message when iso code parsing failed.
Thanks to Lionel N. who bugged me with his Windows installation where
the XML file was not found by GIMP. We should output a warning when this
happens so that packagers can detect the issue and the expected
installation path for this dependency.
The reporter wants me to call him "Padawan Lionel" but I won't fall for
it! Or did I? :-D
2017-06-12 01:29:22 +02:00
36316e20b9 Bug 156858 - Add option menu of standard aspect ratios to ratio-using tools
Add 4x3 Landscape/Portrait, 3x2 Landscape/Portrait, 16x10, 16x9, and Square presets
2017-06-12 02:05:57 +03:00
Ell
b737463a3b app: fix event reordering during motion compression
... due to commit 5543a9da4f
2017-06-11 18:54:29 -04:00
ed1798209b app: use a GimpToolCompass in GimpMeasureTool 2017-06-11 23:44:55 +02:00
667435c105 app: some code reordering in gimp_blend_tool_button_press() 2017-06-11 23:41:56 +02:00
18fe8f61a5 app: add GimpToolCompass, which is the entire canvas GUI of the measure tool 2017-06-11 23:38:55 +02:00
e05ba83453 app: add signal GimpToolWidget::status() and API to emit it
for subclasses to set status messages.
2017-06-11 23:18:47 +02:00
7841d04ee8 Update NEWS 2017-06-11 23:45:43 +03:00
5d12642fcd Update Russian translation 2017-06-11 23:41:40 +03:00
Ell
19f5f671d8 app: add "clipping" option to the flip tool
This option behaves similarly to the other transform tool, however
it's limited to "adjust" and "clip" only.  Now that the flip tool
can reflect across guides, this option is meaningful.
2017-06-11 15:09:46 -04:00
Ell
46b6c4fdd7 app: add support for reflecting across guides to the flip tool
When clicking on a guide while using the flip tool, reflect the
active item across the guide, rather than around its center.
2017-06-11 15:09:24 -04:00
Ell
20ccc4ed59 app: pad flipped/rotated drawables with transparency, not bg color
... when clipping, if they have an alpha channel

Right now, this case is only reachable through PDB, but it will become
relevant for the flip tool soon.
2017-06-11 15:09:18 -04:00
Ell
5543a9da4f app: compress tool motion evnets more conservatively
When compressing tool motion events, only compress motion events
at the front of the event queue, targeted at the same widget as,
and having similar characteristics to, the initial motion event;
stop compressing upon the first mismatched event.

Previously, all pending motion events targeted at the canvas were
compressed, stopping only at a button-release event targeted at the
canvas.  As a result, when adding a guide by dragging from a ruler,
there could be a situation where a pending button-release event
targeted at the ruler would be followed by motion events targeted at
the canvas, with a cleared state mask.  These motion events would
get compressed to the initial motion event targeted at the ruler,
resulting in a motion event with a cleared state mask being processed
before the said button-release event.  This, in turn, would cause the
guide tool's cursor_update function to be called, while the tool is
still active, emitting a CRITICAL.  Sheesh.

The moral of the story is: let's play it safe.
2017-06-11 15:08:19 -04:00
3c5d7075c1 app: add gimp_canvas_handle_set_size() and use it in GimpToolLine 2017-06-11 18:46:30 +02:00
b92d98857c app: add gimp_tool_widget_get_shell(), and implement get_property("item")
forgot the latter in the initial version.
2017-06-11 18:26:37 +02:00
0eda6b0c9d app: fix blend tool behavior across multiple displays
Don't update the tool widget when hovering another display at the same
coordinates. Also improve statusbar messages.
2017-06-11 18:16:47 +02:00
Ell
09d6f2bad1 app: fix use of NULL canvas item in iscissors tool
... when editing an empty segment in interactive mode
2017-06-11 11:27:40 -04:00
323aea658d Update Polish translation 2017-06-11 15:33:57 +02:00
94f05bac89 Update Greek translation 2017-06-11 11:21:13 +03:00
169083eb53 Updated Esperanto translation 2017-06-11 00:59:02 +02:00
10be415535 Updated Esperanto translation 2017-06-11 00:35:42 +02:00
1f76f04a73 app: use a GimpToolLine in GimpBlendTool
removes hundreds of lines of code, and behaves (almost) the same.
2017-06-10 23:54:11 +02:00
6fe578f269 app: add GimpToolLine, an subclass of GimpToolWidet
Implements the "line with handles" known from the blend tool, behind a
simple "x1, y1, x2, y2" interface.
2017-06-10 23:51:06 +02:00
b026689e20 app: add new base class GimpToolWidget
which encapsulates a bunch of GimpCanvasItems plus their interaction,
using GimpTool-like virtual functions like button_press(),
button_release() motion() etc. Also has GimpDrawTool-like API to
manage the canvas items of its subclasses.
2017-06-10 23:47:54 +02:00
d6587795c3 app: properly remove the children when a GimpCanvasGroup gets destroyed
Call gimp_canvas_group_remove_item() and don't just unref them, so
their state gets restored and signals get disconnected. They may not
be owned by the group, or have other external references.
2017-06-10 22:08:09 +02:00
2e209ac440 app: keep GimpCanvasItem from emitting "update" during destruction
Simply increase its change_count in dispose(). There is really no
reason to build expensive update regions and emitting signals when we
are about to go away.
2017-06-10 22:00:38 +02:00
a4d2acac38 app: add gimp_canvas_item_transform_distance() and transform_distance_square()
to allow items to measure distances, exactly like the identical
GimpDrawTool API.
2017-06-10 21:55:40 +02:00
53a84bc6ea app: move enums GimpButtonPressType and GimpButtonReleaseType
from tools-enums.h to display-enums.h, will need them there soon.
2017-06-10 12:25:16 +02:00
b11dec6dc6 app: remove some #includes from gimpfiltertool-settings.c 2017-06-10 12:23:33 +02:00
b610d97ec0 NEWS: add improved PCX support. 2017-06-09 13:52:16 +02:00
dc069e424a plug-ins: coding-style fix, adding comments and removing unused var.
Commits 8d4642f and daa5611 reviewed. I was only unsured on usage of
header vs EOF palette as well as the non-B&W monochrome palette since we
don't find a single authoritative spec. Nevertheless the implementer has
good argumentation so let's go with this. Simply I add some comments
about these 2 points in the code, just in case for future references.
2017-06-09 13:17:07 +02:00
daa5611e6f Fix for Bug 159947 - saving 1bpp PCX files
+Allows user to save indexed 1bpp and 4bpp PCX files automatically,
depending on the number of colors used.

+Creates a general function with parameters for both bpp and # of
planes, to handle more PCX file types (1bpp, 2planes; 1bpp, 2planes;
4bpp, 1plane).

+Removes assumption when loading colormap that 1bpp files are black &
white only; loads both colors from PCX palette header instead.

https://bugzilla.gnome.org/show_bug.cgi?id=159947
2017-06-09 13:13:09 +02:00
8d4642f4ba Bug 159947 - saving 1bpp PCX Files
Allows saving 1bpp and 4bpp indexed PCX files based on number of colors
used in image. Also provides ability to load additional PCX formats:
2bpp, 2 planes 1bpp, 3 planes 1bpp, 4bpp.
2017-06-09 13:13:09 +02:00
0de259682e configure: default CPPFLAGS_FOR_BUILD to CPPFLAGS on native builds.
Similarly to what I did for CFLAGS and LDFLAGS in commit 20fdb8d, the
preprocessor flags for build tools should also be correctly defaulted
and used when building invert-svg.
2017-06-09 00:55:52 +02:00