2006-08-31 Sven Neumann <sven@gimp.org>
* app/composite/gimp-composite-mmx.c: moved declarations at the
beginning of the functions.
* app/tools/gimptransformtool.c (gimp_transform_tool_doit):
display a message if no paths are available. Could catch this
earlier, but this is the least intrusive change to fix bug #353495.
2006-08-29 Michael Natterer <mitch@gimp.org>
Changed GimpViewable preview rendering to have a context to get
FG/BG/whatever from. Use the context to enable dynamic FG/BG
colors in gradients. Fixes bug #127676 and bug #352214. Addresses
bug #128367 (doesn't fix it because there's no loading/saving and
no GUI yet).
* app/core/core-enums.[ch]: added enum GimpGradientColor to enable
specifying gradient colors in terms of foreground and background.
* app/core/gimpgradient.[ch]: added color_type members to the
GimpGradientSegment struct and honor them in
gimp_gradient_get_color_at(). Added GimpContext parameters to all
functions which finally call get_color_at().
* app/core/gimp-gradients.c: use the new method to implement the
builtin gradients.
* app/core/gimpviewable.[ch]: added GimpContext parameters to all
get_preview() and get_pixbuf() functions.
* app/core/gimpbrush.c
* app/core/gimpbuffer.c
* app/core/gimpdrawable-preview.[ch]
* app/core/gimpgradient.c
* app/core/gimpimage-preview.[ch]
* app/core/gimpimagefile.c
* app/core/gimppalette.c
* app/core/gimppattern.c
* app/core/gimpundo.[ch]
* app/text/gimpfont.c
* app/vectors/gimpvectors-preview.[ch]: changed ::get_preview()
and ::get_pixbuf() implementations accordingly.
* app/core/gimpdrawable-blend.c
* app/core/gimppalette-import.[ch]
* app/dialogs/dialogs-constructors.c
* app/dialogs/palette-import-dialog.c
* app/dialogs/resize-dialog.c
* app/display/gimpdisplayshell-layer-select.c
* app/display/gimpdisplayshell.c
* app/display/gimpnavigationeditor.c
* app/paint/gimppaintoptions.c
* app/tools/gimpeditselectiontool.c
* app/tools/gimptexttool.c
* app/actions/gradient-editor-commands.c
* app/widgets/gimpaction.c
* app/widgets/gimpbrusheditor.[ch]
* app/widgets/gimpbufferview.c
* app/widgets/gimpcellrendererviewable.c
* app/widgets/gimpchanneltreeview.c
* app/widgets/gimpclipboard.c
* app/widgets/gimpcoloreditor.c
* app/widgets/gimpcomponenteditor.c
* app/widgets/gimpcontainerbox.c
* app/widgets/gimpcontainercombobox.c
* app/widgets/gimpcontainereditor.c
* app/widgets/gimpcontainerentry.c
* app/widgets/gimpcontainergridview.c
* app/widgets/gimpcontainertreeview.[ch]
* app/widgets/gimpdataeditor.[ch]
* app/widgets/gimpdevicestatus.c
* app/widgets/gimpdnd.[ch]
* app/widgets/gimpdrawabletreeview.c
* app/widgets/gimpfiledialog.c
* app/widgets/gimpgradienteditor.[ch]
* app/widgets/gimpgradientselect.c
* app/widgets/gimpitemtreeview.c
* app/widgets/gimplayertreeview.c
* app/widgets/gimppaletteeditor.[ch]
* app/widgets/gimppropwidgets.[ch]
* app/widgets/gimpselectioneditor.c
* app/widgets/gimpthumbbox.[ch]
* app/widgets/gimptoolbox-image-area.c
* app/widgets/gimptoolbox-indicator-area.c
* app/widgets/gimptooloptionseditor.c
* app/widgets/gimpundoeditor.c
* app/widgets/gimpvectorstreeview.c
* app/widgets/gimpview-popup.[ch]
* app/widgets/gimpview.[ch]
* app/widgets/gimpviewablebutton.c
* app/widgets/gimpviewabledialog.c
* app/widgets/gimpviewrenderer.[ch]
* app/widgets/gimpviewrenderer-frame.c
* app/widgets/gimpviewrendererbrush.c
* app/widgets/gimpviewrendererbuffer.c
* app/widgets/gimpviewrendererdrawable.c
* app/widgets/gimpviewrenderergradient.c
* app/widgets/gimpviewrendererimage.c
* tools/pdbgen/pdb/drawable.pdb
* tools/pdbgen/pdb/gradient.pdb
* tools/pdbgen/pdb/gradients.pdb
* tools/pdbgen/pdb/image.pdb: added tons of GimpContext members
and parameters, implement GimpDocked::set_context() in many
widgets. Pass these locally remembered contexts to GimpViewable
functions. Did some minor cleanups on the way. There are still
some minor FIXMEs around where the code uses a NULL context (which
is allowed by the APIs)
* app/pdb/drawable_cmds.c
* app/pdb/gradient_cmds.c
* app/pdb/gradients_cmds.c
* app/pdb/image_cmds.c: regenerated.
2006-08-28 Sven Neumann <sven@gimp.org>
* app/tools/gimptextoptions.[ch]
* app/tools/gimptexttool.c
* app/widgets/gimptexteditor.[ch]: make the text editor transient
to the display shell.
2006-08-27 Michael Natterer <mitch@gimp.org>
* app/tools/gimpcolortool.c (gimp_color_tool_real_picked): applied
modified patch from David Gowers which selects a matching color
from the palette editor's active palette. I'm not sure if this
behavior is desirable but we'll never find out if we dont't try.
Fixes bug #343358.
* app/tools/gimpselectiontool.c (gimp_selection_tool_modifier_key):
When Alt is down, don't allow other modifiers to change the
operation shown in the options. Fixes bug #349338.
* app/tools/tools-enums.h
* app/tools/gimptransformtool.[ch]: add support for handles at
midpoints of edges.
* app/tools/gimpscaletool.c: use midpoint handles for scaling
with fixed width or height. Fixes bug #344955.
* app/tools/gimprectangletool.c (gimp_rectangle_tool_motion):
respect "fixed-center" constraint even if "fixed-aspect"
or "aspect-square" constraints are active.
2006-08-22 Sven Neumann <sven@gimp.org>
* app/tools/gimprotatetool.c (gimp_rotate_tool_motion): fixed code
that moves the angle between +/- pi (bug #352341).
* app/display/gimpdisplayshell-callbacks.c: allow modifier key events
for Shift and Control to be propagated even if button1 is down.
* app/tools/gimpclonetool.c
* app/tools/gimpcroptool.c
* app/tools/gimpforegroundselecttool.c
* app/tools/gimpmovetool.c
* app/tools/gimppainttool.c
* app/tools/gimpvectortool.c: change modifier_key method
to prevent any bad consequences.
* app/tools/gimprectangletool.[ch]: add modifier_key handler, and use it
to toggle "make-square" if Shift is pressed while button1 is down, and
"fixed-center" if Control is pressed while button1 is down.
* app/tools/gimprectangleselecttool.c (gimp_rectangle_tool_modifier_key):
call rectangle tool modifer_key method after chaining up.
2006-08-15 Michael Natterer <mitch@gimp.org>
* app/tools/gimpeditselectiontool.c (gimp_edit_selection_tool_start):
added check for GIMP_TRANSLATE_MODE_MASK_COPY_TO_LAYER which was
forgotten when this mode was introduced.
2006-08-15 Hans Breuer <hans@breuer.org>
* **/makefile.msc app/gimpcore.def : updated
* app/xcf/xcf-save.c(1464) : error C2036: 'void *' : unknown size
pointer arithmetics on void a pointer looks like a GCC extension
* app/tools/gimpbrightnesscontrasttool.c
app/tools/gimpcolorbalancetool.c
app/tools/gimphuesaturationtool.c
app/tools/gimpcolorizetool.c : #include "core/gimp.h" for gimp_message
* app/tools/gimpiscissorstool.c : use RINT() rather than rint()
* app/widgets/gimpcontrollerlist.c : #include "gimpwidgets-utils.h"
for gimp_show_message_dialog
* app/core/gimpprogress.c(229) : 'gimp_progress_message' must
return a value
2006-08-14 Michael Natterer <mitch@gimp.org>
Fixed rounding and double vs. integer inconsistency when dealing
with mouse coordinates. Fixes bug #350694.
* app/tools/gimpiscissorstool.c
(clicked_on_vertex)
(clicked_on_curve): added double x and y parameters and use them
instead of the integer iscissors->x and ->y. Cleaned up the
functions a bit.
(gimp_iscissors_tool_button_press)
(gimp_iscissors_tool_motion): changed accordingly, also rint() the
passed mouse coords when assigning them to iscissors->x and ->y.
Unrelated cleanup:
(iscissors_free_buffers): removed, folded into reset()
(precalculate_arrays): removed, folded into class_init()
2006-08-14 Sven Neumann <sven@gimp.org>
* app/tools/gimprectangletool.c: changed the limits for "pressx"
and "pressy". It's wrong to disallow negative values here.
2006-08-14 Sven Neumann <sven@gimp.org>
* app/tools/gimpiscissorstool.c (gimp_iscissors_tool_oper_update):
do not select ISCISSORS_OP_MOVE_POINT for terminal points. Fixes
bug #132352.
2006-08-11 Sven Neumann <sven@gimp.org>
* app/widgets/gimpwidgets-utils.[ch]: introduced a simple message
dialog to use when there's no progress but a parent widget.
* app/dialogs/convert-dialog.c
* app/dialogs/palette-import-dialog.c
* app/dialogs/preferences-dialog.c
* app/dialogs/stroke-dialog.c
* app/tools/gimpimagemaptool.c
* app/widgets/gimpactionview.c
* app/widgets/gimpcontrollerlist.c
* app/widgets/gimplayertreeview.c
* app/widgets/gimppdbdialog.c
* app/widgets/gimpvectorstreeview.c: use the new utility function
instead of g_message().
* app/tools/gimprectangleselecttool.[ch]: if the user is
modifying a rectangle and the mode is REPLACE, don't
show the marching ants for the previous selection, because
it confuses users. Should fix bug #347945.
2006-08-10 Sven Neumann <sven@gimp.org>
* app/tools/gimpimagemaptool.c: for load and save errors, use a
GtkMessageDialog and make it transient for the tool dialog.
* app/tools/gimpvectortool.c: use gimp_message().
2006-08-09 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell-transform.[ch]: added new function
gimp_display_shell_transform_segments().
* app/display/gimpdisplayshell-selection.c (selection_transform_segs)
* app/tools/gimpregionselecttool.c
(gimp_region_select_tool_calculate): use the new function instead
of looping over the segments.
2006-08-09 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell-draw.c (gimp_display_shell_draw_pen)
(gimp_display_shell_draw_vector): use the new transform functions.
* app/tools/gimpdrawtool.c (gimp_draw_tool_draw_lines)
(gimp_draw_tool_draw_strokes): bail out early if num_points == 0.
2006-08-09 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell-transform.[ch]: renamed
transform_coords() to transform_coordinate(); same for the
untransform variant. Added new functions transform_points() and
transform_coords() that work on arrays.
* app/display/gimpdisplayshell-autoscroll.c
* app/display/gimpdisplayshell-callbacks.c: changed accordingly.
* app/tools/gimpdrawtool.c (gimp_draw_tool_draw_lines)
(gimp_draw_tool_draw_strokes): use the new transform functions.
2006-08-08 Sven Neumann <sven@gimp.org>
* app/tools/gimprectangleoptions.c
(gimp_rectangle_options_interface_get_type): made
GimpToolOptions a
prerequisite of the GimpRectangleOptions interface.
* app/tools/gimprectangletool.c
(gimp_rectangle_tool_interface_get_type): made GimpDrawTool a
prerequisite of the GimpRectangleTool interface.
2006-08-05 Michael Natterer <mitch@gimp.org>
Applied (modified and enhanced) patch from Chris Moller which allows
tools to distinguish similar colors not only by composite, but also
by R, G, B, H, S and V. Fixes bug #348291.
* app/core/core-enums.[ch]: added new enum GimpSelectCriterion
which can be one of { COMPOSITE, R, G, B, H, S, V }.
* app/core/gimpimage-contiguous-region.[ch]: added
select_criterion params and create the region based on difference
by the selected criterion.
* app/core/gimpchannel-select.[ch]
* app/core/gimpdrawable-bucket-fill.[ch]: take criterion params and
pass them through to the contiguous region functions.
* app/tools/gimpbucketfilloptions.[ch]
* app/tools/gimpselectionoptions.[ch]: added criterion properties
and GUI to select it.
* app/tools/gimpbucketfilltool.c
* app/tools/gimpbycolorselecttool.c
* app/tools/gimpfuzzyselecttool.c: pass the selected criterion to
the resp. core functions.
* app/widgets/gimpdrawabletreeview.c
* app/widgets/gimpselectioneditor.c
* app/display/gimpdisplayshell-dnd.c
* tools/pdbgen/pdb/edit.pdb
* tools/pdbgen/pdb/selection_tools.pdb: changed accordingly
(simply pass GIMP_SELECT_CRITERION_COMPOSITE in most cases).
* app/pdb/edit_cmds.c
* app/pdb/selection_tools_cmds.c: regenerated.
2006-08-04 Raphael Quinet <raphael@gimp.org>
* app/core/gimpimage-convert-data.h
* app/core/gimpimage-convert.c
* app/core/gimpimage-convert.h
* tools/pdbgen/pdb/convert.pdb: Applied slightly modified patch
from David Gowers allowing a custom dither matrix to be used when
converting images to indexed mode. Fixes bug #136604.
* app/pdb/convert_cmds.c
* libgimp/gimpconvert_pdb.h
* libgimp/gimpconvert_pdb.c: Regenerated.
* app/tools/gimpselectiontool.c: N_() should have been _().
2006-08-03 Michael Natterer <mitch@gimp.org>
* app/core/gimpchannel.c (gimp_channel_bounds)
* app/core/gimpdrawable.c (gimp_drawable_mask_bounds)
(gimp_drawable_mask_intersect): allow to pass in NULL return
locations for any of the boundary return values.
* app/tools/gimpselectiontool.c (gimp_selection_tool_oper_update):
don't require hovering the selection for moving the selected
pixels, since this can be distinguished by looking at the
modifiers now. Check for the presence of any selected pixels
instead. Fixes bug #349341.
2006-08-03 Raphael Quinet <raphael@gimp.org>
* app/tools/gimpselectiontool.c (gimp_selection_tool_oper_update):
use gimp_suggest_modifiers().
* app/tools/gimpclonetool.c (gimp_clone_tool_oper_update): suggest
ctrl only when cloning from the image, not from a pattern
* app/tools/gimpsmudgetool.c (gimp_smudge_tool_init): don't
suggest Ctrl for that tool, even if it can be used.
2006-08-02 Raphael Quinet <raphael@gimp.org>
* app/tools/gimppainttool.c (gimp_paint_tool_oper_update): Allow
some paint tools to not suggest using the Ctrl modifier.
* app/tools/gimpvectortool.c (gimp_vector_tool_status_update):
slightly more elegant way to free the status string.
2006-08-02 Raphael Quinet <raphael@gimp.org>
* app/widgets/gimpwidgets-utils.h
* app/widgets/gimpwidgets-utils.c (gimp_suggest_modifiers):
New utility function to build status bar messages while allowing
dynamic names for the modifiers.
* app/tools/gimppainttool.h
* app/tools/gimppainttool.c: Added new members to the class in
order to allow paint tools to set different status messages for
the normal case or when drawing a line.
* app/tools/gimpclonetool.c
* app/tools/gimpconvolvetool.c
* app/tools/gimpdodgeburntool.c
* app/tools/gimperasertool.c
* app/tools/gimpsmudgetool.c: Use the new functions to set
appropriate messages in the status bar. Still work in progress,
partial fix for bug #124040.
* app/tools/gimpvectortool.c: Use gimp_suggest_modifiers().
2006-07-31 Karine Delvare <edhel@gimp.org>
* app/tools/gimprectangletool.c: Applied patch from Karl Günter
Wünsch which Corrects the asyncronicity between mouse cursor and
selected edge on egde resizing. Partial fix for bug #349337.
2006-07-31 Michael Natterer <mitch@gimp.org>
* app/tools/gimpselectionoptions.c (gimp_selection_options_gui):
use g_type_is_a() where possible instead of checking individual
tool types separately.
2006-07-31 Michael Natterer <mitch@gimp.org>
* app/tools/Makefile.am
* app/tools/gimpregionselecttool.[ch]: new abstract base class
which does about the same as GimpFuzyySelectTool did, apart from
creating the mask of the selected region.
* app/tools/gimpbycolorselecttool.[ch]
* app/tools/gimpfuzzyselecttool.[ch]: removed all code and only
implement GimpRegionSelectTool::get_mask(). Fuzzy and by-color
select behave exactly the same now. Fixes bug #126748.
2006-07-30 Raphael Quinet <raphael@gimp.org>
* app/tools/gimppainttool.c
* app/tools/gimpvectortool.c
* app/tools/gimpselectiontool.c: Update the status bar messages.
Work in progress, partial fix for bug #124040.
2006-07-28 Michael Natterer <mitch@gimp.org>
* app/tools/gimpbycolorselecttool.c: removed GObject::dispose()
implementation (no need to disconnect from a signal connected with
g_signal_connect_object). Code cleanup in some functions.