Michael Natterer
5ce223b552
app: cleanup in GimpEditSelectionTool
...
Rename and reorder members to be more clear. Move variables to local
scopes. Minor code reorganization.
2016-10-23 17:49:47 +02:00
Michael Natterer
7ec04e4afe
app: get rid of hardcoding GDK_SHIFT_MASK in tools/
...
gimp_suggest_modifiers(): change "shift_format" and "control_format"
parameters to "extend_selection_format" and "toggle_behavior_format",
which fixes the longstanding problem that the function did the right
thing only by accident.
tools: use gimp_get_extend_selection_mask() instead of GDK_SHIFT_MASK
which is not 100% semantically correct in all cases, but at least a
step in the right direction to make the tool modifiers easier to
improve.
2015-10-17 15:31:08 +02:00
Michael Natterer
4c2edf1841
app: use gimp_image_item_list_bounds() in GimpEditSelectionTool
...
the code was duplicated 4 times. Also merge the layer and vectors
cases for finding bounding boxes into one, they are the same now.
2015-07-03 19:38:08 +02:00
Michael Natterer
e90e90265b
app: port everything from gimp_channel_bounds() to gimp_item_bounds()
...
except gimpchannel.c itself.
2015-07-03 19:38:08 +02:00
Michael Natterer
7e90a3e4e5
app: use gimp_item_bounds() instead of gimp_vectors_bounds()
2015-07-03 19:38:06 +02:00
Michael Natterer
bc525f39ee
app: factor out a function in GimpEditSelectionTool, and move one around
2015-07-03 19:38:06 +02:00
Michael Natterer
7d220a56e0
app: free GimpEditSelectionTool's stuff in finalize()
2015-07-03 12:27:08 +02:00
Michael Natterer
3d7af8a184
app: remove the "exclude" paameter from gimp_image_item_list_get_list()
...
and from gimp_image_item_list_filter(). After the fixes for bug 735906
it's no longer needed, and it was harmful.
2015-06-28 23:49:47 +02:00
Michael Natterer
358f13f5b8
Bug 735906 - Transform tools give unexpected results when transforming...
...
...certain sets of linked layers
Fix the move tool (GimpEditSelectionTool) using the same principle
as the other "linked item" features, just a bit more complicated...
Never translate the active item and its linked items separately,
always translate the entire list at once.
The linked logic was distributed across the entire file. Changed the
code to prepare lists of items that are translated live (layers and
vectors), and items that are translated at the end (channels, masks
and the selection). In the motion and button release functions, simply
use the prepared lists without any further duplicated checking.
Also clean up the stuff a bit, there is more cleanup needed but first
the fix...
2015-06-27 12:34:19 +02:00
Michael Natterer
3c706d00c6
Bug 735906 - Transform tools give unexpected results when transforming...
...
...certain sets of linked layers
Fix for translating layers from the PDB, and with the cursor keys
for gimpeditselectiontool. Moving layers with the mouse is still broken.
The approach is exactly the same as in 25a696c7
.
2015-06-26 12:00:45 +02:00
Michael Natterer
6d6efbbf8b
app: remove "remove_children" parameter from gimp_image_item_list_filter()
...
It was always TRUE. The function should be renamed now, but not until
the merging of linked item fixes to 2-8 is done.
2015-06-20 21:59:37 +02:00
Michael Natterer
64b24d169d
app: remove "remove_locked" parameter from gimp_image_item_list_filter()
...
This is just removal of unused code before fixing bug 735906.
2015-06-20 16:03:40 +02:00
Michael Natterer
2068c61a85
Bug 730862 - Preview frozen while dragging selection tools...
...
...(crop, rectangle, etc) in large image zoomed-to-fit
Default to GIMP_MOTION_MODE_COMPRESS in all tools, and override it to
GIMP_MOTION_MODE_EXACT if the tool really needs the exact path of
motion events. This greatly reduces the events processed by the
rectangle tools and makes them much more responsive.
2014-06-02 20:55:33 +02:00
Jehan
c7aa623a55
app: clean out a big bunch of leading tabs.
...
For some unknown reason, most calls to gimp_message_literal() were
indented with tabs.
2013-09-15 04:59:20 +12:00
Michael Natterer
2c62644f94
app: BoundSeg -> GimpBoundSeg, boundary_foo() -> gimp_boundary_foo()
2012-05-02 17:46:02 +02:00
Michael Natterer
9323c2f28c
app: move base/boundary.[ch] to core/gimpboundary.[ch]
...
No other changes yet, just make the move build.
2012-05-02 17:46:02 +02:00
Michael Natterer
57dd302ee8
app: don't redundantly set GimpToolControl->scroll_lock to FALSE
2011-12-10 23:15:03 +01:00
Michael Natterer
38b8f0596d
app: use the new modifier API instead of constants in all tools
...
There are still many uses of literal SHIFT and MOD1 left, but all uses
of CONTROL are gone. Should work exactly as before on Win/X11, and
still has some glitches on OSX.
2011-10-06 21:59:07 +02:00
Michael Natterer
9778b6a440
app: GimpEditSelectionTool: activate the tool *after* pushing it
...
because pushing sets its focus_display which is now only possible
while the a tool is not active.
2011-04-06 20:33:23 +02:00
Michael Natterer
492e0f9cfd
app: some more mostly cosmetic tool cleanup
2011-04-04 08:19:12 +02:00
Michael Natterer
3d2fb51a63
app: GimpEditSelectionTool: call control_halt() in button_release()
...
Just for consistency, the tool is destroyed at the end of
button_release() anyway.
2011-03-30 12:08:38 +02:00
Michael Natterer
7c60bb5181
app: use more of the new GDK_KEY_foo key names
...
and move the compat defines from display-enums.h to widgets-enums.h
2011-03-29 17:24:08 +02:00
Michael Natterer
3f6a70f7fe
app: define one more standard tool handle size
2010-11-08 22:48:50 +01:00
Michael Natterer
22db39afd2
app: fix incomplete earlier s/GtkAnchorType/GimpHandleAnchor/ change
2010-10-18 20:13:09 +02:00
Michael Natterer
3de4d7263a
app: Bug 631619 - Drawing artifacts spread by paintbrush outline on canvas
...
Add a transform matrix to GimpCanvasBoundary and get rid of the whole
BoundSeg transform code in boundary.c and gimpbrushcore.c, it was
impossible to get this right on that level. Also fix te extents of
GimpCanvasBoundary os it leaves no artifacts.
2010-10-09 22:00:19 +02:00
Michael Natterer
545e65dda6
app: add gimp_display_shell_selection_pause() and _resume()
...
and use them instead of gimp_display_shell_selection_control() with
the resp. enum values. Remove the GIMP_SELECTION_PAUSE and _RESUME
enums values and thus the presence of this concept in the core.
2010-10-09 14:26:33 +02:00
Michael Natterer
06da10bc08
app: change boundary drawing by tools to work like the selection
...
- GimpCanvasBoundary takes unsorted BoundSeg arrays now and uses
gimp_display_shell_transform_boundary() and gimp_cairo_add_boundary().
- Nobody calls boundary_sort() any longer for the purpose of displaying
a boundary.
- gimp_display_shell_transform_boundary() got offset parameters
so it can transform things that are not in the image's coordinate
system.
2010-09-26 22:41:04 +02:00
Michael Natterer
b3af235e79
app: rename all gimp_draw_tool_draw_foo() functions
...
to gimp_draw_tool_add_foo() because that's what they do now.
2010-09-25 19:02:22 +02:00
Michael Natterer
313f8bee1e
app: remove "gboolean use_cairo" from the draw tool again
...
It's always TRUE now.
2010-09-24 21:14:49 +02:00
Michael Natterer
a75b298946
app: enable cairo drawing for the edit selection tool
2010-09-23 23:47:20 +02:00
Michael Natterer
4d0c750327
app: get rid of "gboolean use_offsets" in the draw tool
...
and always pass image coordinates. Transform the coords manually in
the very few places which passed TRUE.
2010-09-23 19:23:27 +02:00
Michael Natterer
0c1073460c
app: get rid of some public draw tool API
...
and use gimp_draw_tool_draw_handle() instead which does exactly the
same for these cases.
2010-09-20 00:13:32 +02:00
Simon Budig
4e3775b7c5
app: another rounding fix, style cleanups.
2010-09-17 22:27:28 +02:00
Simon Budig
610b6a23e2
app: properly round the bounding box in the move tool
2010-09-17 21:59:51 +02:00
Michael Natterer
095ae5cc9b
app: move mask_bounds() and mask_intersect() from GimpDrawable to GimpItem
...
There is nothing drawable-specific in there, and having them on
GimpItem enables some simplifications, esp. in upcoming PDB
wrappers. None of these refactorings is in this commit though.
2010-09-07 21:30:46 +02:00
Michael Natterer
c5b856f16f
Use gimp_display_get_image() instead of display->image
2009-10-06 19:20:44 +02:00
Michael Natterer
8ba18309eb
Use display->gimp intead of display->image->gimp
2009-10-04 20:05:28 +02:00
Michael Natterer
ac98c2c234
Use gimp_display_get_shell() instead of directly accessing it
2009-10-04 19:56:39 +02:00
Michael Natterer
f61f435699
Filter out linked children of linked items to translate
2009-08-25 15:57:04 +02:00
Michael Natterer
090e06ecdd
Move the stuff in tools-utils to the core so it can be used from
...
app/paint/ in the next step.
* app/tools/Makefile.am
* app/tools/tools-utils.[ch]: removed.
* app/core/gimp-utils.[ch]: add gimp_constrain_line() instead.
* app/tools/gimpblendtool.c
* app/tools/gimpeditselectiontool.c
* app/tools/gimpfreeselecttool.c
* app/tools/gimpmeasuretool.c
* app/tools/gimppainttool.c: changed accordingly.
2009-04-22 21:08:42 +02:00
Michael Natterer
e0f1bf375c
Bug 572156 – top left pixel position/coordinate is not 0,0 but 1,1
...
2009-02-20 Michael Natterer <mitch@gimp.org>
Bug 572156 – top left pixel position/coordinate is not 0,0 but 1,1
* app/display/gimpstatusbar.c
(gimp_statusbar_push_coords)
(gimp_statusbar_update_cursor): fix braino for
GIMP_CURSOR_PRECISION_PIXEL_CENTER: going to the pixel's
center doesn't need any rounding, it simply needs clipping
the coordinates' fractional parts, gah...
Review all tools' cursor precision:
* app/tools/gimpblendtool.c (gimp_blend_tool_init): set cursor
precision to SUBPIXEL.
* app/tools/gimptexttool.c (gimp_text_tool_init)
* app/tools/gimpmeasuretool.c (gimp_measure_tool_init)
* app/tools/gimpeditselectiontool.c (gimp_edit_selection_tool_init):
set cursor precision to PIXEL_BORDER.
svn path=/trunk/; revision=28053
2009-02-20 16:57:26 +00:00
Michael Natterer
d9b5207aa2
Change licence to GPLv3 (and to LGPLv3 for libgimp).
...
2009-01-17 Michael Natterer <mitch@gimp.org>
* all files with a GPL header and all COPYING files:
Change licence to GPLv3 (and to LGPLv3 for libgimp).
Cleaned up some copyright headers and regenerated the parsers in
the ImageMap plugin.
svn path=/trunk/; revision=27913
2009-01-17 22:28:01 +00:00
Michael Natterer
558e2e17a9
make the entire selection API take GimpSelection arguments, not
...
2008-11-22 Michael Natterer <mitch@gimp.org>
* app/core/gimpselection.[ch]: make the entire selection
API take GimpSelection arguments, not GimpChannel.
Clean up gimp_selection_load() a bit.
* app/actions/select-commands.c
* app/core/gimp-edit.c
* app/core/gimpdrawable-transform.c
* app/core/gimpimage-quick-mask.c
* app/tools/gimpeditselectiontool.c
* tools/pdbgen/pdb/selection.pdb: add the needed casts.
* app/pdb/selection-cmds.c: regenerated.
svn path=/trunk/; revision=27711
2008-11-22 22:07:55 +00:00
Michael Natterer
fb1660a4ea
rename gimp_image_floating_sel() to gimp_image_get_floating_selection().
...
2008-11-14 Michael Natterer <mitch@gimp.org>
* app/core/gimpimage.[ch]: rename gimp_image_floating_sel() to
gimp_image_get_floating_selection().
* app/actions/channels-actions.c
* app/actions/image-actions.c
* app/actions/layers-actions.c
* app/actions/layers-commands.c
* app/actions/select-actions.c
* app/core/gimpdrawable.c
* app/core/gimpimage-duplicate.c
* app/core/gimpimage-merge.c
* app/core/gimpimage-quick-mask.c
* app/core/gimplayer-floating-sel.c
* app/core/gimpselection.c
* app/display/gimpdisplayshell-layer-select.c
* app/display/gimpdisplayshell.c
* app/tools/gimpeditselectiontool.c
* app/tools/gimpfreeselecttool.c
* app/tools/gimpmovetool.c
* app/tools/gimprectangleselecttool.c
* app/tools/gimpregionselecttool.c
* app/tools/gimpselectiontool.c
* app/tools/gimptexttool.c
* app/widgets/gimpdrawabletreeview.c
* app/widgets/gimplayertreeview.c
* app/xcf/xcf-save.c
* tools/pdbgen/pdb/image.pdb: changed accordingly, replaced some
instances of direct acces by the accessor.
* app/pdb/image-cmds.c: regenerated.
svn path=/trunk/; revision=27649
2008-11-14 15:01:44 +00:00
Michael Natterer
40f27d6b81
app/core/gimpdrawable.c app/core/gimpimage-convert.c
...
2008-11-09 Michael Natterer <mitch@gimp.org>
* app/core/gimpdrawable.c
* app/core/gimpimage-convert.c
* app/core/gimpprojection-construct.c
* app/tools/gimpeditselectiontool.c
* app/widgets/gimplayertreeview.c
* app/xcf/xcf-save.c: remove inclusion of "gimplayer-floating-sel.h"
svn path=/trunk/; revision=27582
2008-11-09 18:36:29 +00:00
Sven Neumann
4762b73403
bumped minimum required version of GLib to 2.18.0.
...
2008-11-04 Sven Neumann <sven@sven>
* configure.in: bumped minimum required version of GLib to
2.18.0.
* INSTALL: document the updated dependency.
* app/core/gimp.[ch]: introduced gimp_message_literal(), a
variant
of gimp_message() that takes a literal string.
* app/errors.[ch]: removed format arguments from
gimp_fatal_error()
and gimp_terminate() and let them take a literal string instead.
* app/tools/gimptool.[ch]: introduced
gimp_tool_message_literal(),
a variant of gimp_tool_message() that takes a literal string.
* app/actions/documents-commands.c
* app/actions/drawable-commands.c
* app/actions/edit-commands.c
* app/actions/error-console-commands.c
* app/actions/file-commands.c
* app/actions/gradients-commands.c
* app/actions/image-commands.c
* app/actions/layers-commands.c
* app/actions/palettes-commands.c
* app/actions/plug-in-commands.c
* app/actions/select-commands.c
* app/actions/vectors-commands.c
* app/config/gimprc.c
* app/core/gimp-modules.c
* app/core/gimp-parasites.c
* app/core/gimp-templates.c
* app/core/gimp-units.c
* app/core/gimpchannel.c
* app/core/gimpcontainer-filter.c
* app/core/gimpdrawable-bucket-fill.c
* app/core/gimpimage-convert.c
* app/core/gimpimage-merge.c
* app/core/gimpimage.c
* app/core/gimpimagefile.c
* app/core/gimplayer-floating-sel.c
* app/core/gimplayer.c
* app/core/gimpselection.c
* app/dialogs/convert-dialog.c
* app/dialogs/dialogs.c
* app/dialogs/palette-import-dialog.c
* app/dialogs/preferences-dialog.c
* app/dialogs/quit-dialog.c
* app/dialogs/stroke-dialog.c
* app/display/gimpdisplayshell-dnd.c
* app/file/file-open.c
* app/file/file-procedure.c
* app/file/file-save.c
* app/file/file-utils.c
* app/gegl/gimpcurvesconfig.c
* app/gegl/gimplevelsconfig.c
* app/gui/gui-message.c
* app/gui/gui.c
* app/gui/session.c
* app/paint/gimpbrushcore.c
* app/paint/gimpclone.c
* app/paint/gimpheal.c
* app/paint/gimpperspectiveclone.c
* app/paint/gimpsourcecore.c
* app/pdb/gimppdb-utils.c
* app/pdb/gimpprocedure.c
* app/plug-in/gimpplugin-message.c
* app/plug-in/gimpplugin.c
* app/plug-in/gimppluginmanager-restore.c
* app/plug-in/gimppluginprocedure.c
* app/text/gimptextlayer.c
* app/tools/gimp-tools.c
* app/tools/gimpaligntool.c
* app/tools/gimpblendtool.c
* app/tools/gimpbrightnesscontrasttool.c
* app/tools/gimpbucketfilltool.c
* app/tools/gimpcolorbalancetool.c
* app/tools/gimpcolorpickertool.c
* app/tools/gimpcurvestool.c
* app/tools/gimpdesaturatetool.c
* app/tools/gimpeditselectiontool.c
* app/tools/gimpforegroundselecttool.c
* app/tools/gimpfreeselecttool.c
* app/tools/gimpgegltool.c
* app/tools/gimphuesaturationtool.c
* app/tools/gimpimagemaptool-settings.c
* app/tools/gimpiscissorstool.c
* app/tools/gimplevelstool.c
* app/tools/gimpmeasuretool.c
* app/tools/gimppainttool.c
* app/tools/gimpposterizetool.c
* app/tools/gimpselectiontool.c
* app/tools/gimpsourcetool.c
* app/tools/gimpthresholdtool.c
* app/tools/gimptransformtool.c
* app/tools/gimpvectortool.c
* app/widgets/gimpactionview.c
* app/widgets/gimpcontrollerlist.c
* app/widgets/gimpcontrollers.c
* app/widgets/gimpdataeditor.c
* app/widgets/gimpdevices.c
* app/widgets/gimpdnd-xds.c
* app/widgets/gimperrordialog.c
* app/widgets/gimphelp.c
* app/widgets/gimpitemtreeview.c
* app/widgets/gimppdbdialog.c
* app/widgets/gimpsettingsbox.c
* app/widgets/gimpvectorstreeview.c
* app/widgets/gimpwidgets-utils.c
* app/xcf/xcf-load.c
* tools/pdbgen/pdb/convert.pdb
* tools/pdbgen/pdb/edit.pdb
* tools/pdbgen/pdb/floating_sel.pdb
* tools/pdbgen/pdb/image.pdb: use the _literal variants for
g_set_error(), gimp_message() and gimp_tool_message().
* app/pdb/convert-cmds.c
* app/pdb/edit-cmds.c
* app/pdb/floating-sel-cmds.c
* app/pdb/image-cmds.c: regenerated.
svn path=/trunk/; revision=27548
2008-11-04 12:33:09 +00:00
Michael Natterer
847de4dda6
Bug 559015 – Move tool gives bad information about px moved
...
2008-11-03 Michael Natterer <mitch@gimp.org>
Bug 559015 – Move tool gives bad information about px moved
* app/tools/gimpeditselectiontool.c (gimp_edit_selection_tool_init):
set cursor precision to PIXEL_BORDER because that's what the move
tool snaps to.
Unrelated: set CENTER_CROSS_SIZE to an odd number so it's drawn
symmetrically.
svn path=/trunk/; revision=27533
2008-11-03 19:31:58 +00:00
Michael Natterer
740ab5e633
renamed gimp_item_width() to gimp_item_get_width() and gimp_item_height()
...
2008-11-03 Michael Natterer <mitch@gimp.org>
* app/core/gimpitem.[ch]: renamed
gimp_item_width() to gimp_item_get_width() and
gimp_item_height() to gimp_item_get_height().
* app/actions/channels-commands.c
* app/actions/drawable-commands.c
* app/actions/layers-commands.c
* app/core/<many>.c
* app/dialogs/offset-dialog.c
* app/dialogs/resize-dialog.c
* app/dialogs/scale-dialog.c
* app/display/gimpdisplayshell-dnd.c
* app/display/gimpdisplayshell.c
* app/paint/gimpbrushcore.c
* app/paint/gimpdodgeburn.c
* app/paint/gimpink.c
* app/paint/gimppaintcore.c
* app/paint/gimpsmudge.c
* app/text/gimptextlayer-xcf.c
* app/text/gimptextlayer.c
* app/tools/gimpaligntool.c
* app/tools/gimpeditselectiontool.c
* app/tools/gimpforegroundselecttool.c
* app/tools/gimpimagemaptool.c
* app/tools/gimprectangletool.c
* app/tools/gimpregionselecttool.c
* app/tools/gimptexttool.c
* app/vectors/gimpvectors.c
* app/vectors/gimpvectorsmodundo.c
* app/widgets/gimptoolbox-dnd.c
* app/widgets/gimpviewrendererdrawable.c
* app/widgets/gimpviewrenderervectors.c
* app/xcf/xcf-load.c
* app/xcf/xcf-save.c
* tools/pdbgen/pdb/drawable.pdb: changed accordingly.
* app/pdb/drawable-cmds.c: regenerated.
svn path=/trunk/; revision=27531
2008-11-03 00:09:01 +00:00
Michael Natterer
5b68a1d0eb
renamed gimp_item_offsets() to gimp_item_get_offset() and
...
2008-11-03 Michael Natterer <mitch@gimp.org>
* app/core/gimpitem.[ch]: renamed
gimp_item_offsets() to gimp_item_get_offset() and
gimp_item_set_offsets() to gimp_item_set_offset().
* app/actions/drawable-commands.c
* app/actions/layers-commands.c
* app/core/<many>.c
* app/display/gimpdisplayshell-dnd.c
* app/display/gimpdisplayshell-preview.c
* app/display/gimpdisplayshell-transform.c
* app/display/gimpdisplayshell.c
* app/paint/gimppaintcore-stroke.c
* app/paint/gimppaintcore.c
* app/paint/gimpsourcecore.c
* app/text/gimptextlayer-xcf.c
* app/tools/<many>.c
* app/widgets/gimptoolbox-dnd.c
* tools/pdbgen/pdb/drawable.pdb
* tools/pdbgen/pdb/drawable_transform.pdb
* tools/pdbgen/pdb/selection.pdb
* tools/pdbgen/pdb/transform_tools.pdb
* tools/pdbgen/pdb/vectors.pdb: changed accordingly.
* app/pdb/drawable-cmds.c
* app/pdb/drawable-transform-cmds.c
* app/pdb/selection-cmds.c
* app/pdb/vectors-cmds.c
* app/pdb/transform-tools-cmds.c: regenerated.
svn path=/trunk/; revision=27529
2008-11-02 23:03:29 +00:00
Michael Natterer
f7287be7b5
app/tools/gimptool.[ch] made all GimpCoords* in the tool API const.
...
2008-11-01 Michael Natterer <mitch@gimp.org>
* app/tools/gimptool.[ch]
* app/tools/tool_manager.[ch]: made all GimpCoords* in the tool
API const.
* app/tools/gimpaligntool.c
* app/tools/gimpblendtool.c
* app/tools/gimpbrightnesscontrasttool.c
* app/tools/gimpbrushtool.c
* app/tools/gimpbucketfilltool.c
* app/tools/gimpcolorpickertool.c
* app/tools/gimpcolortool.c
* app/tools/gimpconvolvetool.c
* app/tools/gimpcroptool.c
* app/tools/gimpcurvestool.c
* app/tools/gimpdodgeburntool.c
* app/tools/gimpeditselectiontool.[ch]
* app/tools/gimperasertool.c
* app/tools/gimpfliptool.c
* app/tools/gimpforegroundselecttool.c
* app/tools/gimpfreeselecttool.c
* app/tools/gimpiscissorstool.c
* app/tools/gimpmagnifytool.c
* app/tools/gimpmeasuretool.c
* app/tools/gimpmovetool.c
* app/tools/gimppainttool.c
* app/tools/gimpperspectiveclonetool.c
* app/tools/gimprectangleselecttool.c
* app/tools/gimprectangletool.[ch]
* app/tools/gimpregionselecttool.c
* app/tools/gimpselectiontool.[ch]
* app/tools/gimpsourcetool.c
* app/tools/gimptexttool.c
* app/tools/gimptransformtool.c
* app/tools/gimpvectortool.c: changed accordingly and added const
to all GimpCoords* in utility functions too.
* app/tools/gimptexttool.c: don't modify the passed coords. In
fact, simply removed the code that did because it had no effect.
svn path=/trunk/; revision=27517
2008-11-01 15:17:36 +00:00