2007-07-25 Michael Natterer <mitch@gimp.org>
* app/tools/gimptool.c (gimp_tool_set_active_modifier_state):
don't have the tool release ALT when the user releases CONTROL.
Fixes another stuck modifier instance and other modifier
weirdness.
svn path=/trunk/; revision=22992
2007-07-17 Sven Neumann <sven@gimp.org>
* app/core/gimptoolinfo.c (gimp_tool_info_new): use the tool-info
identifier as the name of the tool-options object.
* app/paint/gimppaintoptions.c (gimp_paint_options_new): use the
paint-info identifier as the name of the paint-options object.
* app/paint/gimp-paint.c (gimp_paint_register): added parameter check.
* app/tools/gimp-tools.c (gimp_tools_init): formatting.
svn path=/trunk/; revision=22941
2007-07-15 Martin Nordholts <martinn@svn.gnome.org>
* app/tools/gimprectangletool.c (struct
_GimpRectangleToolPrivate): Added members to keep track of for
what shell scale the handle sizes were calculated. This is
necessary so that in
(gimp_rectangle_tool_control): we only update the handle sizes
when the zoom level has changed. We must test this, because the
tool is also paused/resumed when highlightning is on, and we don't
want to update handle sizes just because highlightning happends to
be on.
(gimp_rectangle_tool_scale_has_changed): Added helper function.
svn path=/trunk/; revision=22933
2007-07-14 Martin Nordholts <martinn@svn.gnome.org>
* app/tools/gimprectangletool.c
(gimp_rectangle_tool_set_highlight): Check agains tool->display,
this check was lost when this function was moved out of
gimp_rectangle_tool_configure.
svn path=/trunk/; revision=22931
2007-07-14 Martin Nordholts <martinn@svn.gnome.org>
* app/tools/gimprectangletool.c (gimp_rectangle_tool_control):
Also update rectangle handle sizes when canvas zoom is
changed. (Forgot that in previous commit.)
svn path=/trunk/; revision=22930
2007-07-14 Martin Nordholts <martinn@svn.gnome.org>
Made the rectangle tool handles not resize during rectangle
manipulation, as outlined in the spec, by separating highlight
updating and handle size updating calls.
* app/tools/gimprectangletool.c (gimp_rectangle_tool_configure):
Renamed to
(gimp_rectangle_tool_update_handle_sizes): and moved
gimp_rectangle_tool_set_highlight out of it. These two are now
called independantly.
svn path=/trunk/; revision=22929
2007-07-14 Martin Nordholts <martinn@svn.gnome.org>
* app/tools/gimprectangletool.c (gimp_rectangle_tool_clamp_width)
(gimp_rectangle_tool_clamp_height): Fixed crash when creating a
rectangle with constraints outside of canvas bounds.
svn path=/trunk/; revision=22928
2007-07-13 Martin Nordholts <martinn@svn.gnome.org>
* app/tools/gimprectangletool.c
(gimp_rectangle_tool_button_release): Don't execute selection if a
dead area is clicked.
svn path=/trunk/; revision=22927
2007-07-13 Martin Nordholts <martinn@svn.gnome.org>
* app/tools/gimprectangletool.c
(gimp_rectangle_tool_active_modifier_key): Update handle sizes and
highlight area also when Ctrl is released.
svn path=/trunk/; revision=22926
2007-07-11 Martin Nordholts <martinn@svn.gnome.org>
* app/tools/gimprectangletool.c: Removed bitfieldized values from
the SideToResize enum, they are irrelevant. Also renamed
HANDLE_SIZE to MAX_HANDLE_SIZE.
svn path=/trunk/; revision=22909
2007-07-08 Martin Nordholts <martinn@svn.gnome.org>
Completely rewrote logic in gimp_rectangle_tool_motion, in effect
also fixing bug #353936 and bug #398188. The general strategy now
is to have specialized functions doing one thing, and one thing
only.
The patch also makes adjusting the rectangle through the keyboard
and through the rectangle tool options follow tool options.
* app/tools/gimprectangletool.c (gimp_rectangle_tool_motion):
Completely refactored.
(gimp_rectangle_tool_active_modifier_key):
(gimp_rectangle_tool_update_options): Submit to tool options.
(gimp_rectangle_tool_apply_coord)
(gimp_rectangle_tool_clamp)
(gimp_rectangle_tool_clamp_width)
(gimp_rectangle_tool_clamp_height)
(gimp_rectangle_tool_keep_inside)
(gimp_rectangle_tool_keep_inside_horizontally)
(gimp_rectangle_tool_keep_inside_vertically)
(gimp_rectangle_tool_apply_fixed_width)
(gimp_rectangle_tool_apply_fixed_height)
(gimp_rectangle_tool_apply_aspect)
(gimp_rectangle_tool_update_with_coord)
(gimp_rectangle_tool_get_constraints)
(gimp_rectangle_tool_handle_general_clamping): The new specialized
functions.
svn path=/trunk/; revision=22903
2007-07-05 Sven Neumann <sven@gimp.org>
* app/tools/gimpdrawtool.c (gimp_draw_tool_draw_corner): changed
the highlighting of the side handles to follow changes in the
specification.
* app/tools/gimprectangletool.c (gimp_rectangle_tool_draw): cosmetics.
svn path=/trunk/; revision=22867
2007-06-30 Martin Nordholts <martinn@svn.gnome.org>
Started taking GimpRectangleTool towards the new specification.
The side handles now have the same width and height as the
corresponding corner handles, and the size of the side handles do
not span across the whole rectangle. Side handles also have a
limited mimimum size, just as corner handles.
* app/tools/gimprectangletool.c (gimp_rectangle_tool_oper_update,
gimp_rectangle_tool_draw, gimp_rectangle_tool_configure,
gimp_rectangle_tool_get_anchor): Changed accordingly.
* app/tools/gimpdrawtool.c (gimp_draw_tool_draw_corner): Changed
accordingly.
svn path=/trunk/; revision=22856
2007-06-29 Martin Nordholts <martinn@svn.gnome.org>
Made GimpRectangleTools remember where the "other side" is when
fixed-center is turned on, and reset the "other side" to that position
when fixed-center is turned off again. Fixes bug 398183.
* app/tools/gimprectangletool.c
(gimp_rectangle_tool_button_press): Remember "other side".
(gimp_rectangle_tool_active_modifier_key): When fixed-center is turned
off, reset "other side".
(gimp_rectangle_tool_get_other_side)
(gimp_rectangle_tool_get_other_side_coord)
(gimp_rectangle_tool_set_other_side_coord): New functions.
svn path=/trunk/; revision=22854
2007-06-27 Michael Natterer <mitch@gimp.org>
* app/core/gimpimagemap.c (gimp_image_map_clear)
(gimp_image_map_do): update the image, not the drawable so we
avoid constantly invalidating the drawable preview.
* app/tools/gimpimagemaptool.c (gimp_image_map_tool_response):
invalidate the drawable preview here.
* app/paint/gimppaintcore.c (gimp_paint_core_paste)
(gimp_paint_core_replace): clean up drawable offset handling code.
svn path=/trunk/; revision=22843
2007-06-27 Michael Natterer <mitch@gimp.org>
Removed useless image flushing which caused the image preview to
be updated needlessly:
* app/core/gimpimagemap.c (gimp_image_map_do): don't flush the
image when the idle rendering is completed, emit our own "flush"
signal instead just as for the incremental display updates.
* app/tools/gimpimagemaptool.c (gimp_image_map_tool_notify_preview):
when switching off the preview don't flush the image, only flush
projection and display.
svn path=/trunk/; revision=22842
2007-06-26 Sven Neumann <sven@gimp.org>
* app/tools/gimplevelstool.c: unset the active color picker when
the dialog is unmapped. Fixes bug #451272.
* app/tools/gimpimagemaptool.c: formatting.
svn path=/trunk/; revision=22838
2007-06-25 Sven Neumann <sven@gimp.org>
* configure.in: removed extra check for gthread and fold it into
the GLIB and GTK checks.
* */Makefile.am: changed accordingly.
* app/main.c (main): always call g_thread_init().
svn path=/trunk/; revision=22832
2007-06-21 Sven Neumann <sven@gimp.org>
* app/tools/gimpcurvestool.c: introduced local variables in an
attempt to make the code a little more readable.
svn path=/trunk/; revision=22814
2007-06-19 Sven Neumann <sven@gimp.org>
* app/tools/gimprectangleselectoptions.c
(gimp_rect_select_options_gui): set proper step and page
increments in the scale entry for the corner radius.
svn path=/trunk/; revision=22801
2007-06-07 Sven Neumann <sven@gimp.org>
* app/text/Makefile.am
* app/core/Makefile.am
* app/tools/Makefile.am
* app/display/Makefile.am
* app/widgets/Makefile.am
* app/base/Makefile.am
* app/paint/Makefile.am
* app/plug-in/Makefile.am
* libgimp/Makefile.am
* libgimpthumb/Makefile.am
* tools/pdbgen/Makefile.am
* libgimpwidgets/Makefile.am: applied the remaining parts of the
patch from Daniel Richard G. to fix out-of-source-tree builds
(bug #444960).
svn path=/trunk/; revision=22735
2007-05-22 Michael Natterer <mitch@gimp.org>
* app/tools/gimpmagnifyoptions.[ch]: remove "threshold" from
the options struct and added compat code in get_property().
svn path=/trunk/; revision=22579
2007-05-16 Michael Natterer <mitch@gimp.org>
* app/tools/gimpbrushtool.c (gimp_brush_tool_constructor): add a
local GimpDisplayConfig variable to improve readability.
svn path=/trunk/; revision=22514
2007-05-07 Sven Neumann <sven@gimp.org>
* app/tools/gimpbrushtool.[ch] (gimp_brush_tool_draw): moved
brush drawing code to the new function gimp_brush_tool_draw_brush().
* app/tools/gimpsourcetool.c: (gimp_source_tool_draw): draw the
brush outline at the source position (bug #435545).
svn path=/trunk/; revision=22450
2007-05-05 Sven Neumann <sven@gimp.org>
* app/base/gimplut.[ch]
* app/tools/gimpcurvestool.c
* app/tools/gimplevelstool.c: reverted the changes done for bug
#331782. See the bug report for an explanation.
svn path=/trunk/; revision=22421
2007-05-05 Mukund Sivaraman <muks@mukund.org>
* app/base/gimplut.c
* app/base/gimplut.h
* app/tools/gimpcurvestool.c
* app/tools/gimplevelstool.c: Fixed the value channel color
correction in the curves and levels tools to only modify the
value channel and not the hues. Fixes bug #331782.
svn path=/trunk/; revision=22418
2007-05-05 Michael Natterer <mitch@gimp.org>
* app/tools/gimpdrawtool.c (gimp_draw_tool_draw_boundary): fixed
off-by-one (too large) drawing of boundaries by copying the resp.
code and its obscure comment from gimpdisplayshell-selection.c
Fixes bug #416432.
svn path=/trunk/; revision=22417
2007-05-02 Sven Neumann <sven@gimp.org>
* app/core/gimppickable.[ch]: removed get_color_at() from the
GimpPickable interface. Implement the same functionality using
get_pixel_at() but with a saner API.
* app/core/gimpdrawable.c
* app/core/gimpprojection.c
* app/core/gimpimagemap.c: removed get_color_at() implementations.
* app/tools/gimpbycolorselecttool.c: adapt to API change of
gimp_pickable_get_color_at().
* app/tools/gimprectangleselecttool.c: added missing include.
svn path=/trunk/; revision=22383
2007-05-02 Sven Neumann <sven@gimp.org>
* app/tools/gimpperspectiveclonetool.c
(gimp_perspective_clone_tool_cursor_update): if we are in adjust
mode, skip the GimpBrushClass when chaining up. Fixes bug #354933.
svn path=/trunk/; revision=22379
2007-05-02 Martin Nordholts <martinn@svn.gnome.org>
When adjusting a rectangle it feels unintuitive that the center of
the rectangle when Ctrl is used lands on the corner that was used
to resize the rectangle. This commit changes the center of the
rectangle when Ctrl is used on a already-created rectangle to the
center of the rectangle when the user starts adjusting the size.
* app/tools/gimprectangletool.c (struct
_GimpRectangleToolPrivate): Added center_[xy]_on_fixed_center
members that keeps track on where the center of the rectangle
should be when the Ctrl modifier is used.
* app/tools/gimprectangletool.c: Added convenience function
gimp_rectangle_tool_get_fixed_center_coords.
* app/tools/gimprectangletool.c
(gimp_rectangle_tool_button_press): Sets the
center_[xy]_on_fixed_center members depending on whether the button
press modifies an existing rectangle or creates a new one.
* app/tools/gimprectangletool.c
(gimp_rectangle_tool_active_modifier_key): Adjusted to accomodate to
above mentioned changes.
svn path=/trunk/; revision=22374
2007-04-25 Sven Neumann <sven@gimp.org>
* libgimpwidgets/gimpscrolledpreview.c: also use the middle mouse
button for panning.
* plug-ins/common/nova.c: override the default mouse handling of
the GimpScrolledPreview and allow to reposition the center using
the left mouse button. Fixes bug #364432.
* app/tools/gimprectangletool.c: formatting.
svn path=/trunk/; revision=22319