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.
not GimpCanvasLine* etc. We keep them around as items, and their
constructors return items, and it's getting more code anyway when
porting away from pause/resume, so let's keep the casting minimal at
least.
Change the "GtkWidget *parent" parameter of GimpToolDialog to
"GimpDisplayShell". Also add API gimp_tool_dialog_set_shell() so an
existing dialog can be used on different images. Make sure the dialog
closes when the shell is unmapped (like when switching tabs in SWM),
and make the dialog transient for the toplevel GimpImageWindow.
Change all tool dialog users accordingly.
because the packing options are different for GtkH/VBox and GtkBox
itself which is now instantiable. Instead, always use
gtk_box_pack_start() and specify expanding explicitely.
- add gimp_draw_tool_push_group()/pop_group() which manage a stack
of groups; all items automatically get added to the stack's top group
- use push_group()/pop_group() all over the place, which saves a lot
of code in most cases
- return GimpCanvasGroup not GimpCanvasItem pointers from
gimp_draw_tool_add_stroke_group() and fill_group()
Unrelated:
- add GipmCanvasGroup parameter to gimp_rectangle_tool_draw()
- put rect select's round corners into the stroke group to
avoid ugly overdrawing (the mis-alignment of arcs becomes
very visible now however, will fix that soon)
- Add signals GimpImage::guide_added(), removed() and moved()
- Remove singal GimpImage::update_guide()
- Adapt core code to emit the new signals instead of update_guide()
- Have the shell connect to the new signals and update guide canvas
items as needed
- Remove gimp_display_shell_draw_guides()
and get rid of the brainfuck idea that app/ has to use _gimp_unit_foo()
functions, passing a gimp pointer. Instead, simply use the libgimpbase
API all over the place. Should we ever allow more than one gimp instance,
they will simply have to share one unit database.
The new function does the right thing, unlike get_toplevel() which
returns the shell itself if it is not in a window. Check the return
value of get_window() for being non-NULL.
* app/tools/tools-enums.[ch]: add enum GimpButtonPressType which can
be { NORMAL, DOUBLE, TRIPLE }
* app/tools/gimptool.[ch]: add press_type paramater to GimpTool::button_press()
* app/tools/gimp*tool.c
* app/tools/tool_manager.[ch]: changed accordingly.
* app/tools/gimptoolcontrol.[ch]: add members and API so tools can choose
to receive double and triple clicks.
* app/display/gimpdisplayshell-callbacks.c (gimp_display_shell_tool_events):
dispatch double and triple clicks to tools if they want them, and if they
became active by the preceding normal button press.
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-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
2008-10-09 Michael Natterer <mitch@gimp.org>
Add GEGL_CFLAGS and #includes as if gimpdrawable.h and gimpimage.h
had a GEGL dependency (they will have in the next commit, but I
wanted to keep the commit separate).
* app/dialogs/Makefile.am
* app/file/Makefile.am
* app/gui/Makefile.am
* app/menus/Makefile.am
* app/paint/Makefile.am
* app/plug-in/Makefile.am
* app/text/Makefile.am
* app/vectors/Makefile.am
* app/widgets/Makefile.am
* app/xcf/Makefile.am: add GEGL_CFLAGS.
* app/actions/*.c
* app/core/*.c
* app/dialogs/*.c
* app/display/*.c
* app/file/*.c
* app/gui/*.c
* app/menus/*.c
* app/paint/*.c
* app/pdb/gimppdb-utils.c
* app/pdb/gimpprocedure.c
* app/plug-in/*.c
* app/text/*.c
* app/tools/*.c
* app/vectors/*.c
* app/widgets/*.c
* app/xcf/*.c: add <gegl.h> or replace <glib-object.h> by <gegl.h>
to all files which include a drawable subclass or gimpimage.h
* tools/pdbgen/app.pl: include <gegl.h> instead of <glib-object.h>
in all generated files.
* app/pdb/*-cmds.c: regenerated.
* data/images/gimp-splash.png: the goat is still sleeping.
By Aurore Derriennic.
svn path=/trunk/; revision=27202
2008-01-15 Martin Nordholts <martinn@svn.gnome.org>
* app/tools/tools-utils.h: Added symbolic constants for common
values to the n_snap_lines parameter of
gimp_tool_motion_constrain.
* app/tools/gimpblendtool.c:
* app/tools/gimpeditselectiontool.c:
* app/tools/gimpmeasuretool.c:
* app/tools/gimppainttool.c: Use these new symbolic constants.
svn path=/trunk/; revision=24623
2008-01-14 Martin Nordholts <martinn@svn.gnome.org>
* app/tools/tools-utils.[ch]
(gimp_tool_motion_constrain): Generalized to allow a variable
number of lines for snapping, and rewritten to make snapping
happen more intuitively; snap the shortest distance rather than
only horizontally or vertically.
(gimp_tool_utils_point_to_line_distance): New helper function.
* app/tools/gimpblendtool.c
* app/tools/gimpmeasuretool.c
* app/tools/gimppainttool.c: Adjust to the new function signature.
svn path=/trunk/; revision=24609
2007-03-09 Michael Natterer <mitch@gimp.org>
* app/core/core-types.h: include "libgimpmath/gimpmathtypes.h"
instead of "libgimpmath/gimpmath.h".
* app/core/gimpbrush.h
* app/paint/gimppaintcore.h
* app/paint/gimpperspectiveclone.h
* app/text/gimptext.h
* app/tools/gimptransformtool.h: include gimpvector.h and
gimpmatrix.h explicitely where they are needed in public structs.
* app/*/*.c
* tools/pdbgen/pdb/paths.pdb: include "libgimpmath/gimpmath.h"
where needed.
* app/pdb/paths_cmds.c: regenerated.
svn path=/trunk/; revision=22084
2007-02-29 Raphael Quinet <raphael@gimp.org>
* app/tools/gimpmeasuretool.c (gimp_measure_tool_cursor_update):
don't suggest Shift when a new point cannot be added to point 0.
svn path=/trunk/; revision=22031
2007-02-28 Raphael Quinet <raphael@gimp.org>
* app/tools/gimpmeasuretool.[ch]: added status bar help messages
explaining the usage of the modifiers.
* app/tools/gimpvectortool.c (gimp_vector_tool_status_update):
suggest Ctrl for edit mode, to close the path or move handles.
* app/tools/gimpcroptool.c (gimp_crop_tool_button_release):
"press enter" should be "press Enter", as in the other tools.
svn path=/trunk/; revision=22030