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-03-09 Michael Natterer <mitch@gimp.org>
* app/tools/gimprectangleselecttool.[ch]
* app/tools/gimprectangleselectoptions.[ch]
* app/tools/gimpellipseselecttool.[ch]
* app/tools/gimp-tools.c: s/Rect/Rectangle/ and s/rect/rectangle/
in types and function names.
svn path=/trunk/; revision=25076
2007-12-14 Martin Nordholts <martinn@svn.gnome.org>
Reverted the changes that made GimpRectangleTool keep track of its
active display in GimpRectangleToolPrivate, the approach is
broken.
svn path=/trunk/; revision=24364
2007-12-13 Martin Nordholts <martinn@svn.gnome.org>
* app/tools/gimprectangletool.[ch]: Don't use the `display' member
of GimpTool for keeping track of what display the rectangle is
active on. Instead store the active display in
GimpRectangleToolPrivate. This change is based on a patch by Bill
Skaggs.
(gimp_rectangle_tool_is_active)
(gimp_rectangle_tool_is_active_at)
(gimp_rectangle_tool_get_active_display): New public functions for
GimpRectangleTool active-display interaction.
* app/tools/gimpellipseselecttool.c
(gimp_ellipse_select_tool_select): Use the active display of
GimpRectangleTool instead of tool->display.
* app/tools/gimprectangleselecttool.c
(gimp_rect_select_tool_rectangle_changed): Use the active display
of GimpRectangleTool instead of tool->display.
* app/tools/gimpcroptool.c
(gimp_crop_tool_button_press): Use the active display of
GimpRectangleTool instead of tool->display.
svn path=/trunk/; revision=24358
2007-03-31 Michael Natterer <mitch@gimp.org>
* app/tools/gimprectangleselecttool.c: read the "operation" member
of GimpSelectionOptions directly.
* app/tools/gimpellipseselecttool.c (gimp_ellipse_select_tool_draw):
chain up instead of calling gimp_rectangle_tool_draw() directly,
don't #include "gimprectantletool.h".
svn path=/trunk/; revision=22208
2006-11-05 Michael Natterer <mitch@gimp.org>
* app/tools/gimpcroptool.[ch]
* app/tools/gimpellipseselecttool.c
* app/tools/gimprectangleselecttool.[ch]
* app/tools/gimprectangletool.[ch]: removed dispose() and
finalize() implementations. The finalize() ones did nothing and
dispose() was only redundantly disconnecting from signals that
were connected using connect_object() anyway. Some cosmetic
cleanups all over the place.
2006-10-18 Michael Natterer <mitch@gimp.org>
Applied modified patch from Martin Nordholts which adds a "Rounded
Corners" option to the rectangle select tool. Fixes bug #86279.
* app/core/gimpchannel-combine.[ch]: added
gimp_channel_combine_ellipse_rect(). Use it from
gimp_channel_combine_ellipse().
* app/core/gimpchannel-select.[ch]: added
gimp_channel_select_round_rect()
* app/tools/gimprectangleselectoptions.[ch]: added properties
"round-corners" and "corner-radius" and GUI for the new propeties.
* app/tools/gimprectangleselecttool.h: added macro
GIMP_RECT_SELECT_TOOL_GET_OPTIONS().
* app/tools/gimprectangleselecttool.c (gimp_rect_select_tool_draw):
draw round corners if enabled.
(gimp_rect_select_tool_real_select): use
gimp_channel_select_round_rect() if enabled.
* app/tools/gimpselectionoptions.[ch]: added "antialias_toggle"
to the GimpSelectionOptions struct so the rect select options
can set its sensitivity.
Unrelated:
* app/tools/gimpellipseselecttool.c (gimp_ellipse_select_tool_draw):
use 360 * 64 instead of 23040.
2006-10-17 Michael Natterer <mitch@gimp.org>
* app/tools/gimprectangleselecttool.[ch]
* app/tools/gimpellipseselecttool.c: use enum GimpChannelOps
instead of SelectOps.
* app/tools/tools-enums.[ch]: add GimpRectangleConstraint
enum.
* app/tools/gimprectangletool.[ch]: replace "constrain"
boolean with "constraint" enum property. Implement
constraints in motion handler -- the implementation
is rather elegant but pretty tricky.
* app/tools/gimpcroptool.c: constrain to image bounds,
or to active drawable bounds if "current layer only"
option is checked.
* app/tools/gimpellipseselecttool.c
* app/tools/gimprectangleselecttool.c: no constraint.
This addresses bug #353936 -- I would say fixes it, but it
probably needs some fine-tuning. Also perhaps fixes
bug #329817 a bit better than before.
2006-09-05 Michael Natterer <mitch@gimp.org>
* app/tools/gimptool.[ch]: added gimp_tool_get_options() so tools
don't need to incude "core/gimptoolinfo.h" just to get to
their options.
* app/tools/gimp*tool.h: added macros GIMP_FOO_TOOL_GET_OPTIONS()
which return specific tool options types and do all casting
themselves.
* app/tools/*.c: use the new macros and don't include
"core/gimptoolinfo.h" in most files.
* app/tools/gimpcolorpickertool.c (gimp_color_picker_tool_register):
make it use the parent context's FG and BG.
* app/tools/gimpcolortool.c (gimp_color_tool_real_picked): set the
color on the tool's options, not on the user context.
Following up on previous commit, with assist from yosh.
* app/tools/gimpnewrectselectoptions.[ch]
* app/tools/gimpnewrectselecttool.[ch]: removed
* app/tools/gimprectangleselectoptions.[ch]: magic-moved
from gimpnewrectselectoptions.[ch]
* app/tools/gimprectangleselecttool.[ch]: magic-moved
from gimpnewrectselecttool.[ch]
* app/tools/Makefile.am
* app/tools/gimp-tools.c
* app/tools/gimpellipseselecttool.c
* app/tools/gimpellipseselecttool.h
* app/tools/gimpselectionoptions.c: change file names to
refer to moved files.
Here is the big change-over, finally.
* app/tools/gimprectselecttool.[ch]: removed.
* app/tools/Makefile.am
* app/tools/gimp-tools.c
* app/tools/gimpellipseselecttool.c
* app/tools/gimpellipseselecttool.h
* app/tools/gimpnewrectselectoptions.c
* app/tools/gimpnewrectselectoptions.h
* app/tools/gimpnewrectselecttool.c
* app/tools/gimpnewrectselecttool.h
* app/tools/gimpselectionoptions.c
* app/widgets/gimptoolbox.c
* menus/image-menu.xml.in: get rid of the "new" in everything
referring to the new rect select tool, except filenames. This
will wait for yosh to perform cvs-magic-foo.
* app/tools/gimprectangleoptions.[ch]
* app/tools/gimprectangletool.[ch]: fix a couple of minor
problems that popped up during testing.
* app/tools/gimpcroptool.c
* app/tools/gimpellipseselecttool.c
* app/tools/gimprectangletool.[ch]: code cleanups
* app/tools/gimpnewrectselecttool.[ch]: try to do what
the user intuitively expects when deciding which selection
operation to perform. When modifying an existing rectangle,
always use the operation with which it was created.
* app/tools/gimprectangletool.[ch]: add "constrain" property
to specify whether to clip at image bounds when computing
dimensions.
* app/tools/gimpcroptool.c
* app/tools/gimpnewrectselecttool.c: set "constrain" to TRUE.
* app/tools/gimpellipseselecttool.c: set "constrain" to FALSE.
Hopefully fixes bug #329817.
2006-03-26 Karine Delvare <edhel@gimp.org>
* app/tools/gimpcropoptions.c
* app/tools/gimprectangleoptions.[ch]
* app/tools/gimprectangletool.[ch]: moved options gui creation
from the tool to the options.
* app/tools/gimpselectionoptions.c
* app/tools/gimpnewrectselecttool.[ch]
* app/tools/gimpellipseselecttool.[ch]: ported ellipse selection
tool to the new rectangle interface.
2005-03-07 Sven Neumann <sven@gimp.org>
* app/tools/gimpellipseselecttool.c
* app/tools/gimprectselecttool.[ch]: applied a patch by Nils
Bjorklund that should fix bug #143887 (selection rectangle "moves"
when starting at the top-right corner).
2004-06-05 Michael Natterer <mitch@gimp.org>
* cursors/Makefile.am
* cursors/cursor-none.png
* cursors/xbm/cursor-none.xbm: new empty cursor images.
* app/config/gimpdisplayconfig.[ch]
* app/config/gimprc-blurbs.h
* app/widgets/widgets-enums.h
* app/widgets/gimpcursor.c
* app/display/gimpdisplayshell-cursor.c
* app/tools/gimppainttool.[ch]
* app/tools/gimpinktool.c
* app/gui/preferences-dialog.c: applied patches from Philip
Lafleur which implement hiding the cursor completely for paint
tools. Changed the name of the config option from
"hide-paint-tool-cursor" to "show-paint-tool-cursor" and default
to TRUE because this needs the brush outline being visible while
painting to be really usable. Fixes bug #132163.
* app/widgets/widgets-enums.h: renamed all GimpCursorType and
GimpToolCursorType enum values to GIMP_CURSOR_* and
GIMP_TOOL_CURSOR_*.
* app/widgets/gimpcursor.c
* app/display/gimpdisplayshell-callbacks.c
* app/display/gimpdisplayshell-cursor.c
* app/tools/gimp*tool.c; changed accordingly.
2004-04-29 Michael Natterer <mitch@gimp.org>
* app/tools/gimp*tool.c (gimp_*_tool_register): stripped the menu
paths from the "menu_path". Will be renamed to "action_name" or
something soon...
* plug-ins/dbbrowser/dbbrowser.c
* plug-ins/common/plugindetails.c
* plug-ins/common/uniteditor.c: register under the new
"Extensions" placeholder.
2004-04-05 Pedro Gimeno <pggimeno@wanadoo.es>
Sanitize rectangle and ellipse selection handling (bug #138237
and bug #138103):
* app/tools/gimprectselecttool.h
* app/tools/gimprectselecttool.c (GimpRectSelectTool): new
member "moved" indicating whether the cursor was moved after
the click.
(gimp_rect_select_tool_coords_to_integer): New function for
consistent conversion of the rectangle FP coords to pixels.
(gimp_rect_select_tool_button_press,
gimp_rect_select_tool_button_release,
gimp_rect_select_tool_motion, gimp_rect_select_tool_draw): use
it instead of fiddling with the FP coordinates. Update "moved"
and use it to detect whether the selection needs to be cleared.
* app/tools/gimpellipseselecttool.c
(gimp_ellipse_select_tool_draw): use the new coords_to_integer
function.
2003-11-15 Daniel Rogers <daniel@phasevelocity.org>
* app/tools/gimpellipseselecttool.c
* app/tools/gimprectselectool.c
* app/tools/gimprectselect.h: Includes changes from Sven.
Fixes a bug with alt-draging ellipse and rect selections
on small pixel areas.
2003-10-06 Michael Natterer <mitch@gimp.org>
Treat changes to the selection like changes to any other drawable:
* app/core/gimpchannel.c
* app/core/gimpchannel-combine.c: call gimp_drawable_update() after
changing the channel.
* app/core/gimpimage.[ch]: added struct GimpImageFlushAccumulator
with one member "gboolean mask_changed". Connect to "update" of
the selection and set accum.mask_changed to TRUE in the callback.
Added default implementation for GimpImage::flush() and emit
"mask_changed" there.
Unrelated:
* app/core/gimpimage.h: removed GimpGuide struct...
* app/core/gimpimage-guides.h: ...and added it here.
* app/core/gimpimage-undo-push.c (undo_pop_mask)
(undo_pop_channel_mod): don't distinguish between selection and
non-selection channels and just call gimp_drawable_update().
* app/core/gimpundo.h
* app/core/gimpimage-undo.c: removed "gboolean mask_changed" from
the GimpUndoAccumulator struct since we don't have to care about
that signal explicitly any more.
* app/display/gimpdisplay-foreach.[ch]: removed gimp_displays_flush().
* tools/pdbgen/pdb/display.pdb (displays_flush_invoker): call
gimp_image_flush() on all images so the flush accumulator is
honored.
This generalization enables the removal of more special purpose
code which was needed to treat the selection different:
* app/core/gimpimage-mask-select.[ch]: removed...
* app/core/gimpchannel-select.[ch]: ...and added under a new name
because it's not selection specific any more.
* app/core/gimpimage-mask.[ch]: removed...
* app/core/gimpselection.[ch]: ...added the two remaining
functions here. Removed all calls to gimp_image_mask_changed().
* app/core/Makefile.am
* app/core/gimp-edit.c
* app/core/gimpdrawable-transform.c
* app/core/gimpimage-scale.c
* app/core/gimpimage-snap.c
* app/display/gimpdisplayshell.c
* app/gui/channels-commands.c
* app/gui/layers-commands.c
* app/gui/select-commands.c
* app/gui/vectors-commands.c
* app/tools/gimpbycolorselecttool.c
* app/tools/gimpeditselectiontool.c
* app/tools/gimpellipseselecttool.c
* app/tools/gimpfreeselecttool.c
* app/tools/gimpfuzzyselecttool.c
* app/tools/gimpiscissorstool.c
* app/tools/gimprectselecttool.c
* app/tools/gimptransformtool.c
* app/widgets/gimpchanneltreeview.c
* app/widgets/gimpselectioneditor.c
* app/widgets/gimpvectorstreeview.c
* app/xcf/xcf-save.c
* tools/pdbgen/pdb/paths.pdb
* tools/pdbgen/pdb/selection.pdb
* tools/pdbgen/pdb/selection_tools.pdb: changed accordingly.
* app/core/gimpdrawable-bucket-fill.c
* app/core/gimpimage-colormap.c
* app/core/gimplayer-floating-sel.c
* app/core/gimplayer.c
* app/gui/image-menu.c
* app/paint/gimppaintcore.c
* app/tools/gimpcroptool.c
* app/tools/gimpinkoptions.c
* app/tools/gimpvectortool.c: removed useless and/or obsolete
#includes.
* app/pdb/display_cmds.c
* app/pdb/paths_cmds.c
* app/pdb/selection_cmds.c
* app/pdb/selection_tools_cmds.c: regenerated.
2003-06-28 Michael Natterer <mitch@gimp.org>
* app/core/gimpcontext.h: removed enum GimpContextPropType and
enum GimpContextPropMask.
* app/core/core-enums.[ch]: added them here.
* app/core/gimptoolinfo.[ch]: replaced "gboolean tool_context"
member by "GimpContextPropMask context_props" so each tool can
specify exactly which context properties it wants to have
persistently remembered.
* app/tools/tools-types.h: changed typedef GimpToolRegisterCallback
accordingly.
* app/tools/tool_manager.[ch] (tool_manager_register_tool): ditto.
Removed the "global_tool_context" and initialize all tool info
objects from the user_context after creation. Removed the
PAINT_OPTIONS_MASK #define and use the new context_props stored in
tool_info insted.
* app/tools/gimppainttool.h: #define the common properties of the
paint tools as GIMP_PAINT_TOOL_OPTIONS_MASK (which is OPACITY |
PAINT_MODE | BRUSH).
* app/tools/[all tools].c (gimp_*_tool_register): replaced the
"use_context" boolean by the actual mask of context properties the
tools need.
2003-03-25 Sven Neumann <sven@gimp.org>
* Makefile.am
* gimpintl.h: removed this header file.
* gimpmiscui.c: include libgimp-intl.h.
* gimp.c (gimp_main): call setlocale() and bind to the libgimp
textdomain so that plug-ins don't need to do that explicitely.
* libgimp/stdplugins-intl.h: added the functionality that used to
live in gimpintl.h and removed the libgimp related stuff. Got rid
of the INIT_I18N_UI() macro.
* plug-ins/*/*.c: removed all occurances of INIT_I18N_UI().
Plug-ins simply call INIT_I18N() once in their run() function.
* plug-ins/script-fu/script-fu-intl.h: added the functionality
that used to live in gimpintl.h and removed the libgimp related
stuff.
* app/Makefile.am
* app/gimp-intl.h: new file that defines the gettext macros for
the GIMP core.
* app/*/*.c: include gimp-intl.h instead of libgimp/gimpintl.h.
* plug-ins/script-fu/scripts/test-sphere.scm: fixed typos.
2003-01-14 Michael Natterer <mitch@gimp.org>
* app/tools/gimpbezierselecttool.c
* app/tools/gimpbycolorselecttool.c
* app/tools/gimpellipseselecttool.c
* app/tools/gimpfreeselecttool.c
* app/tools/gimpfuzzyselecttool.c
* app/tools/gimprectselecttool.c: must use N_() instead of _()
when registering tool menu entries.
2002-05-03 Sven Neumann <sven@gimp.org>
* app/tools/gimpairbrushtool.[ch]
* app/tools/gimpbezierselecttool.[ch]
* app/tools/gimpblendtool.[ch]
* app/tools/gimpbrightnesscontrasttool.[ch]
* app/tools/gimpbucketfilltool[.ch]
* app/tools/gimpbycolorselecttool[.ch]
* app/tools/gimpclonetool[.ch]
* app/tools/gimpcolorbalancetool[.ch]
* app/tools/gimpcolorpickertool[.ch]
* app/tools/gimpconvolvetool[.ch]
* app/tools/gimpcroptool[.ch]
* app/tools/gimpcurvestool[.ch]
* app/tools/gimpdodgeburntool[.ch]
* app/tools/gimpeditselectiontool.c
* app/tools/gimpellipseselecttool[.ch]
* app/tools/gimperasertool[.ch]
* app/tools/gimpfliptool[.ch]
* app/tools/gimpfreeselecttool[.ch]
* app/tools/gimpfuzzyselecttool[.ch]
* app/tools/gimphistogramtool[.ch]
* app/tools/gimphuesaturationtool[.ch]
* app/tools/gimpinktool[.ch]
* app/tools/gimpiscissorstool[.ch]
* app/tools/gimplevelstool[.ch]
* app/tools/gimpmagnifytool[.ch]
* app/tools/gimpmeasuretool[.ch]
* app/tools/gimpmovetool[.ch]
* app/tools/gimppaintbrushtool[.ch]
* app/tools/gimppainttool.c
* app/tools/gimppathtool[.ch]
* app/tools/gimppenciltool[.ch]
* app/tools/gimpperspectivetool[.ch]
* app/tools/gimpposterizetool[.ch]
* app/tools/gimprectselecttool[.ch]
* app/tools/gimprotatetool[.ch]
* app/tools/gimpscaletool[.ch]
* app/tools/gimpselectiontool.c
* app/tools/gimpsheartool[.ch]
* app/tools/gimpsmudgetool[.ch]
* app/tools/gimptexttool[.ch]
* app/tools/gimpthresholdtool[.ch]
* app/tools/gimptool.c
* app/tools/gimptoolcontrol.h
* app/tools/gimptoolmodule[.ch]
* app/tools/gimptransformtool.c
* app/tools/gimpvectortool[.ch]
* app/tools/path_tool.c
* app/tools/tool_manager[.ch]
* app/tools/tools.c
* libgimptool/gimptool.c
* libgimptool/gimptoolcontrol.h
* libgimptool/gimptoolmodule.h: removed tons of warnings. Do we need
to add -Werror to the CFLAGS to avoid such a mess in the future ?!
Also had to enforce the GIMP coding style in lots of places :-(
* libgimp/gimppixelrgn.c: got sick and tired of debugging plug-ins,
so I've added checks for most parameters passed to the GimpPixelRgn
functions. This will slow down plug-in execution a little bit but
should help to find bugs early.