2008-01-24 Michael Natterer <mitch@gimp.org>
* app/gegl/Makefile.am
* app/gegl/gegl-types.h
* app/gegl/gimpcolorbalanceconfig.[ch]: new config object.
* app/gegl/gimpoperationcolorbalance.[ch]: use it.
* app/tools/gimpcolorbalancetool.[ch]: port to
GimpColorBalanceConfig and use the old ColorBalance cruft only in
map(). The effect of the GEGL operator is now even more different
from the cruft code because I removed a hack that was applying an
additional factor when mapping between the ColorBalance values and
the new properties, but that was only a workaround to make it look
more similar anyway. Will have to fix this properly.
* app/base/color-balance.[ch]: remove API that is now obsolete.
svn path=/trunk/; revision=24701
2008-01-23 Martin Nordholts <martinn@svn.gnome.org>
* app/tools/gimprectangleselecttool.c
(gimp_rect_select_tool_execute): Reset the automatic undo/redo
mechanism so that commiting pending rectangles with Return
works (bug #511599).
svn path=/trunk/; revision=24696
2008-01-23 Michael Natterer <mitch@gimp.org>
* app/tools/gimphuesaturationtool.c: change signature of widget
callbacks to take a GimpHueSaturationTool pointer instead of
"gpointer data".
* app/tools/gimpposterizetool.c: remove redundant GTK_ADJUSTMENT()
casts.
svn path=/trunk/; revision=24691
2008-01-23 Michael Natterer <mitch@gimp.org>
* app/tools/gimpimagemaptool.h: don't #include <gegl.h>
* app/actions/tools-commands.c
* app/display/gimpdisplayshell-callbacks.c
* app/tools/gimp-tools.c: include it here. Whenever the build
breaks because of some GEGL change in GIMP, please inlcude
<gegl.h> instead of <glib-object.h> or before <gtk/gtk.h> in the
affected .c files.
svn path=/trunk/; revision=24685
2008-01-23 Michael Natterer <mitch@gimp.org>
* app/gegl/Makefile.am
* app/gegl/gegl-types.h
* app/gegl/gimpcurvesconfig.[ch]
* app/gegl/gimpoperationcurves.[ch]: add curves operation and its
config object. Hack around badly to be able to use GimpCurve from
app/core.
* app/gegl/gimp-gegl.c: register the curves operation.
* app/tools/gimpcurvestool.[ch]: added get_operation() implemenetation
and use the new config object instead of keeping around 5 curves.
svn path=/trunk/; revision=24683
2008-01-23 Michael Natterer <mitch@gimp.org>
* app/gegl/gimpoperationlevels.[ch]
(gimp_operation_levels_map_input): new utility function which maps
a single value.
* app/tools/gimplevelstool.[ch] (levels_update_adjustments): use the
new function to create the input arrays for gimp_color_bar_set_buffer().
Removed the Levels struct from the GimpLevelsTool struct and only
use it in map() when needed.
* app/base/levels.[ch]: remove obsolete API and struct members.
svn path=/trunk/; revision=24682
2008-01-22 Sven Neumann <sven@gimp.org>
* app/paint/gimpbrushcore.c (gimp_brush_core_create_bound_segs):
dilate the brush mask in order to obtain a simpler boundary.
Addresses bug #304798.
* app/tools/gimpbrushtool.c (gimp_brush_tool_draw_brush):
removed
redundant casts.
svn path=/trunk/; revision=24676
2008-01-22 Sven Neumann <sven@gimp.org>
* app/core/gimp.[ch]: added new function gimp_use_gegl().
* app/core/gimpdrawable-desaturate.c
* app/core/gimpdrawable-levels.c
* app/core/gimpdrawable-invert.c
* app/tools/gimpimagemaptool.c
* app/pdb/color_cmds.c
* tools/pdbgen/pdb/color.pdb: use it instead of accessing the
GimpCoreConfig struct directly.
svn path=/trunk/; revision=24668
2008-01-22 Michael Natterer <mitch@gimp.org>
* app/gegl/Makefile.am
* app/gegl/gegl-types.h
* app/gegl/gimphuesaturationconfig.[ch]: new config object.
* app/gegl/gimpoperationhuesaturation.[ch]: remove all properties
and add a "config" property. Also add API to map a single GimpRGB
needed by the hue-saturation tool's color areas.
* app/tools/gimphuesaturationtool.[ch]: switch to using
GimpHueSaturationConfig, use the old HueSaturation struct only in
map().
* app/base/hue-saturation.[ch]: remove API that's no longer needed.
svn path=/trunk/; revision=24667
2008-01-21 Martin Nordholts <martinn@svn.gnome.org>
* app/tools/gimprectangletool.c
(gimp_rectangle_tool_set_other_side_coord): Don't foget to update
the integer representation of the rectangle.
svn path=/trunk/; revision=24665
2008-01-21 Martin Nordholts <martinn@svn.gnome.org>
* app/tools/gimpeditselectiontool.[ch]: Moved the logic in _motion
to a new helper function _update_motion that is also called in
_active_modifier_key. Makes toggling Ctrl immediately apply/remove
movement constraints for the Move Tool when a move has been
initiated. This completes the fix for bug #78730.
svn path=/trunk/; revision=24663
2008-01-21 Michael Natterer <mitch@gimp.org>
* app/gegl/gimplevelsconfig.[ch]: add utility function
gimp_levels_config_to_levels_cruft() which fills the old Levels
struct from a GimpLevelsConfig object.
* app/tools/gimplevelstool.c: use it.
svn path=/trunk/; revision=24658
2008-01-19 Martin Nordholts <martinn@svn.gnome.org>
* app/tools/gimpeditselectiontool.c
(gimp_edit_selection_tool_motion): Reformat a bit, essentially
just removed one pointless level of indentation.
svn path=/trunk/; revision=24655
2008-01-18 Michael Natterer <mitch@gimp.org>
* app/gegl/Makefile.am
* app/gegl/gegl-types.h
* app/gegl/gimpcolorizeconfig.[ch]: new config object.
* app/gegl/gimpoperationcolorize.[ch]: remove all properties and
add a "config" property.
* app/tools/gimpcolorizetool.[ch]: port to GimpColorizeConfig, use
the old Colorize struct only in map().
svn path=/trunk/; revision=24647
2008-01-18 Michael Natterer <mitch@gimp.org>
* app/gegl/gimplevelsconfig.[ch]: ported the stretch and pick
functions from base/levels.c.
* app/tools/gimplevelstool.[ch]: use them instead of the old
stuff. Also switch to GimpLevelsConfig as primary storage for all
settings and fill the old Levels struct only when needed in map().
Remove all hackish fiddling with levels_tool->channel because it
is now always what is set in the menu.
svn path=/trunk/; revision=24646
2008-01-17 Martin Nordholts <martinn@svn.gnome.org>
* app/tools/gimpeditselectiontool.c
(gimp_edit_selection_tool_get_active_item): Use this new helper
function instead of duplicating its logic.
svn path=/trunk/; revision=24638
2008-01-17 Michael Natterer <mitch@gimp.org>
* app/gegl/Makefile.am
* app/gegl/gegl-types.h
* app/gegl/gimplevelsconfig.[ch]: new config object for the levels
operation's settings.
* app/gegl/gimpoperationlevels.[ch]: remove all properties and add
a "config" property instead.
* app/tools/gimplevelstool.[ch]: keep a GimpLevelsConfig around.
svn path=/trunk/; revision=24637
2008-01-17 Michael Natterer <mitch@gimp.org>
* app/tools/gimpimagemaptool.c: create the operation in
GObject::constructor() so it's available during the entire tool
life time (needed soon).
svn path=/trunk/; revision=24635
2008-01-16 Michael Natterer <mitch@gimp.org>
Fix gegl types and includes so we can include operations from
app/gegl in other gimp files (needed soon):
* app/gegl/gegl/gegl-types.h: not copied from gegl any longer.
Now contains only two typedefs needed by the copied operation
headers.
* app/gegl/gegl-types.h: include above types file.
* app/gegl/gimp-gegl.c
* app/gegl/gimpoperationcolorbalance.c
* app/gegl/gimpoperationcolorize.c
* app/gegl/gimpoperationdesaturate.c
* app/gegl/gimpoperationhuesaturation.c
* app/gegl/gimpoperationlevels.c
* app/gegl/gimpoperationposterize.c
* app/gegl/gimpoperationthreshold.c
* app/gegl/gimpoperationtilesink.c
* app/gegl/gimpoperationtilesource.c: include only <gegl.h> and
"gegl-types.h" from this directory, which is much more gimpish
now. Include "gegl/buffer/gegl-buffer.h" in the source and sink
operations.
* app/tools/gimpimagemaptool.h: warn about inclusion of <gegl.h>
only if it hasn't been included before, so it only warns in the
files where we still have to address this issue.
svn path=/trunk/; revision=24625
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-15 Martin Nordholts <martinn@svn.gnome.org>
* app/tools/gimpeditselectiontool.[ch]: Made it possible to
constrain movement with the Move Tool in 45 degree angles by
holding Ctrl when a move has been initiated. This fixes the
essential part of bug #78730.
svn path=/trunk/; revision=24622
2008-01-15 Michael Natterer <mitch@gimp.org>
* app/gegl/gimpoperationcolorize.[ch]
* app/gegl/gimpoperationlevels.[ch]
* app/gegl/gimpoperationthreshold.[ch]: changed all properties from
float to double.
* app/gegl/gimpoperationcolorize.c: normalized property ranges to
[0.0..1.0] or [-1.0..1.0] resp.
* app/tools/gimpcolorizetool.c: changed accordingly.
svn path=/trunk/; revision=24621
2008-01-15 Michael Natterer <mitch@gimp.org>
* app/tools/gimpimagemaptool.c (gimp_image_map_tool_notify_preview):
check for image_map_tool->image_map also when the preview is
switched on, not only when it's switched off.
svn path=/trunk/; revision=24618
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
2008-01-14 Michael Natterer <mitch@gimp.org>
* app/gegl/Makefile.am
* app/gegl/gegl-types.h
* app/gegl/gimpoperationhuesaturation.[ch]: new operation.
* app/gegl/gimp-gegl.c: register it.
* app/tools/gimphuesaturationtool.c: use it.
svn path=/trunk/; revision=24608
2008-01-10 Michael Natterer <mitch@gimp.org>
Simplify things a bit and enable gegl-only color correction
tools (without legacy functions).
* app/tools/gimpimagemaptool.c (gimp_image_map_tool_create_map):
always create the operation if ::get_operation() is implemented
and always use it when creating the GimpImageMap if there is no
legacy apply_func.
* app/tools/gimpbrightnesscontrasttool.c
* app/tools/gimpcolorbalancetool.c
* app/tools/gimpcolorizetool.c
* app/tools/gimplevelstool.c
* app/tools/gimpposterizetool.c
* app/tools/gimpthresholdtool.c (map): set the operation's
properties unconditionally since it always exists now if we also
implement ::get_operation().
svn path=/trunk/; revision=24588
2008-01-10 Michael Natterer <mitch@gimp.org>
* app/gegl/Makefile.am
* app/gegl/gegl-types.h
* app/gegl/gimpoperationcolorbalance.[ch]: new operator.
* app/gegl/gimp-gegl.c: register it.
* app/tools/gimpcolorbalancetool.c: use it.
svn path=/trunk/; revision=24587
2008-01-09 Michael Natterer <mitch@gimp.org>
* app/core/core-types.h: add typedef GimpImageMapApplyFunc here.
* app/core/gimpimagemap.[ch] (gimp_image_map_new): add apply_func
and apply_data parameters.
(gimp_image_map_apply): remove them here and add a GeglRectangle
parameter which is the visible area of the affected drawable.
* app/tools/gimpimagemaptool.[ch]: keep apply_func and apply_data
around in the GimpImageMapTool struct.
(gimp_image_map_tool_create_map): pass them to gimp_image_map_new().
(gimp_image_map_tool_map): call gimp_image_map_apply() here and
pass the drawable's visible rectangle.
* app/tools/gimpbrightnesscontrasttool.c
* app/tools/gimpcolorbalancetool.c
* app/tools/gimpcolorizetool.c
* app/tools/gimpcurvestool.c
* app/tools/gimphuesaturationtool.c
* app/tools/gimplevelstool.c
* app/tools/gimpposterizetool.c
* app/tools/gimpthresholdtool.c (init): set apply_func and
apply_data in the parent instance.
(map): remove calls to gimp_image_map_apply().
svn path=/trunk/; revision=24573
2008-01-07 Michael Natterer <mitch@gimp.org>
* app/gegl/gimpoperationlevels.[ch]: add properties, some cleanup.
* app/tools/gimplevelstool.c: use gegl_node_set() instead of
accessing the operation directly.
svn path=/trunk/; revision=24566
* app/tools/gimpbrightnesscontrasttool.c: make the mapping between
slider values and gegl-op properties more closely resemble gimp for
the brightness property.
svn path=/trunk/; revision=24560
2008-01-06 Michael Natterer <mitch@gimp.org>
* app/tools/gimpimagemaptool.c (gimp_image_map_tool_gegl_notify):
toggle the image map mode only if an image map currently exists.
Fixes crash when toggling "Use GEGL" while the tool is not active.
svn path=/trunk/; revision=24552
2008-01-04 Hans Breuer <hans@breuer.org>
**/makefile.msc app/gimpcore.def : updated so it compiles and links
(almost, see bug #507298)
svn path=/trunk/; revision=24533
2008-01-04 Michael Natterer <mitch@gimp.org>
* app/config/gimpcoreconfig.[ch]: add "use-gegl" property but
don't serialize it.
* app/widgets/gimptoolbox.c: add super ugly "Use GEGL" toggle to
the toolbox so we don't need to have prefs open all the time when
experimenting with gegl.
* app/tools/gimpimagemaptool.[ch]: remove "Use GEGL" toggle from
the tool dialogs and connect to the config property instead.
* app/core/gimpdrawable-desaturate.c
* app/core/gimpdrawable-invert.c: made them runtime-switchable by
looking at the config property.
svn path=/trunk/; revision=24530
2008-01-04 Michael Natterer <mitch@gimp.org>
* app/gegl/Makefile.am
* app/gegl/gegl-types.h
* app/gegl/gimpoperationcolorize.[ch]
* app/gegl/gimpoperationposterize.[ch]: new operators which still
use a lot of gimp stuff they shouldn't use, but at least the
infrastructure for improving them is there now.
* app/gegl/gimp-gegl.c: register them.
* app/tools/gimpcolorizetool.c
* app/tools/gimpposterizetool.c: use them.
svn path=/trunk/; revision=24528
2008-01-04 Michael Natterer <mitch@gimp.org>
* app/tools/gimpimagemaptool.c (gimp_image_map_tool_create_map):
enable disabling gegl again, which i broke with my last commit.
svn path=/trunk/; revision=24525
2008-01-03 Michael Natterer <mitch@gimp.org>
* app/tools/gimpimagemaptool.[ch]: keep the central processing
node around here...
* app/tools/gimpbrightnesscontrasttool.[ch]
* app/tools/gimpthresholdtool.[ch]: ...instead of here.
svn path=/trunk/; revision=24517
2008-01-03 Michael Natterer <mitch@gimp.org>
* app/gegl/Makefile.am
* app/gegl/gegl-types.h
* app/gegl/gimpoperationthreshold.[ch]: gimpish threshold operator
which has "low" and "high" properties.
* app/gegl/gimp-gegl.c: register it.
* app/gegl/gimpoperationdesaturate.[ch]: fix copyright.
* app/tools/gimpthresholdtool.[ch]: use the new operator.
svn path=/trunk/; revision=24515
2008-01-01 Martin Nordholts <martinn@svn.gnome.org>
* app/tools/gimprectangletool.c (gimp_rectangle_tool_start): Use ×
instead of x when initializing the rectangle size in the status
bar.
svn path=/trunk/; revision=24498
2007-12-30 Michael Natterer <mitch@gimp.org>
First actual image processing with GEGL! Wheeeee :-)
* app/core/gimpimagemap.[ch]: added code to use gegl instead of the
old apply_func and apply_data.
(gimp_image_map_new): add GeglNode parameter that, if passed,
switches the whole thing to using a gegl graph with this node
as central processing node.
* app/tools/gimpimagemaptool.[ch]: add virtual function
get_operation() which, if implemented, returns a GeglNode to pass
to gimp_image_map_new(). Added a "Use GEGL" toggle so we can
switch between legacy and gegl code for the migration period.
* app/tools/gimpbrightnesscontrasttool.[ch]: implement
get_operation() and return a brightness-contrast node.
(gimp_briughtness_contrast_tool_map): set the node's properties
from the GUI.
svn path=/trunk/; revision=24488
2007-12-28 Martin Nordholts <martinn@svn.gnome.org>
* app/tools/gimprectangletool.c
(gimp_rectangle_tool_update_highlight): When setting the
highlight, use the external rectangle representation, not the
internal one.
svn path=/trunk/; revision=24453
2007-12-19 Michael Natterer <mitch@gimp.org>
* app/core/gimp-contexts.[ch]
* app/core/gimp-documents.[ch]: add GErrors to save() and load().
* app/core/gimp.c
* app/tools/gimp-tools.c: handle the returned errors.
svn path=/trunk/; revision=24403
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]: Changed name of
`gimp_rectangle_tool_is_active_at' to
`gimp_rectangle_tool_is_active_on_display'.
* app/tools/gimpcroptool.c
* app/tools/gimprectangleselecttool.c: Use the new name.
svn path=/trunk/; revision=24360
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-12-13 Martin Nordholts <martinn@svn.gnome.org>
* app/tools/gimprectangletool.c
(gimp_rectangle_tool_button_release): Make canceling work a bit
better.
svn path=/trunk/; revision=24355
2007-12-12 Martin Nordholts <martinn@svn.gnome.org>
* app/tools/gimprectangletool.c: Extended public interface a bit.
(gimp_rectangle_tool_point_in_rectangle): New convenience function
to test if a point is within the rectangle (if active).
(gimp_rectangle_tool_rectangle_is_new): New function so that
clients can determine if the rectangle currently being
rubber-banded was created from scatch or not.
svn path=/trunk/; revision=24343
2007-12-07 Michael Natterer <mitch@gimp.org>
* app/core/gimpselection.[ch]: added GErrors to
gimp_selection_extract() and gimp_selection_float().
* app/core/gimp-edit.c
* app/tools/gimpeditselectiontool.c
* app/actions/select-commands.c: handle the returned error.
* app/core/gimpdrawable-transform.c: pass NULL errors since this
file knows what it does and won't get errors.
* tools/pdbgen/pdb/selection.pdb: pass the error.
* app/pdb/selection_cmds.c: regenerated.
svn path=/trunk/; revision=24286
2007-12-06 Martin Nordholts <martinn@svn.gnome.org>
* app/tools/gimprectangletool.c
(gimp_rectangle_tool_set_property): Also update the integer
representation of the rect when the GObject properties has been
set.
svn path=/trunk/; revision=24277
2007-11-24 Martin Nordholts <martinn@svn.gnome.org>
* app/tools/gimprectangletool.[ch]: Renamed RECT_* identifiers of
the GimpRectangleFunction enum to GIMP_RECTANGLE_TOOL_*.
* app/tools/gimprectangleselecttool.c: Use the new names.
svn path=/trunk/; revision=24226
2007-11-24 Martin Nordholts <martinn@svn.gnome.org>
* app/tools/gimprectangletool.[ch]: Ported the internal
representation of the rectangle to gdouble:s instead of
gint:s. This solves problems like not being able to swap portrait
for landscape on very small rectangle and bug #442027, as well as
provides a nice base to solve other similar problems when they are
discovered. It is possible to choose what precision the
GimpRectangleTool:s will appear to have externally through a new
GimpRectanglePrecision enum and property, but the gdouble
precision mode still requires some work in order to be useful. In
the processes quite some refactoring has taken place, mostly
restructuring code and splitting larger functions into smaller
more managable ones.
(gimp_rectangle_tool_rect_rubber_banding_func)
(gimp_rectangle_tool_setup_snap_offsets)
(gimp_rectangle_tool_apply_fixed_rule)
(gimp_rectangle_tool_update_int_rect)
(gimp_rectangle_tool_get_public_rect): New helper functions.
* app/tools/tools-enums.h: Added GimpRectanglePrecision.
svn path=/trunk/; revision=24224
2007-11-22 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpcolorbar.[ch]: derive from GtkEventBox instead
of GtkMisc, but use an input-only window.
* app/tools/gimplevelstool.c: redirect the events of the color
bars to te handle bars. The historgram dialog has this change
already. Functionality should be 100% restored now.
svn path=/trunk/; revision=24218
2007-11-22 Sven Neumann <sven@gimp.org>
* libgimpwidgets/gimphelpui.[ch]: use
gtk_widget_set_tooltip_text() from gimp_help_set_help() and added
gimp_help_set_help_data_with_markup() for the cases where markup
is needed.
* libgimpwidgets/gimpwidgets.def: updated.
* app/tools/gimpselectionoptions.c
* app/widgets/gimpeditor.c
* app/widgets/gimpwidgets-utils.c: use the new function where markup
in tooltips is being used.
* app/widgets/gimptoolbox-color-area.c: no need to escape the
ampersand any longer.
svn path=/trunk/; revision=24217
2007-11-22 Michael Natterer <mitch@gimp.org>
* app/tools/gimplevelstool.[ch]: use a GimpHandleBar also for the
input frame, added a second adjustment for gamma and map between
the linear and logarithmic gamma values in the adjustment
callbacks, get rid of one GtkFrame just as in the histogram
dialog. Still not finished since mouse events on the color bars
are currently not handled.
svn path=/trunk/; revision=24214
2007-11-20 Michael Natterer <mitch@gimp.org>
* app/tools/gimplevelstool.[ch]: use a GimpHandleBar widget for
the output sliders. Removes a bunch of code already, more to
come...
svn path=/trunk/; revision=24203
2007-11-18 Martin Nordholts <martinn@svn.gnome.org>
* app/tools/gimprectangleselecttool.c: Cosmitics. More strictly
align static function prototypes and consistently use the name
rect_sel_tool for pointers to GimpRectSelectTool.
svn path=/trunk/; revision=24192
2007-11-15 Sven Neumann <sven@gimp.org>
* app/tools/gimpselectionoptions.c (gimp_selection_options_gui):
plugged a memory leak.
* libgimpwidgets/gimpintstore.c (gimp_int_store_add_empty):
initialize the iter to avoid using uninitialized memory.
svn path=/trunk/; revision=24169
2007-11-15 Michael Natterer <mitch@gimp.org>
* app/core/gimpviewable.[ch]: add read-only property "frozen" and
new API gimp_viewable_preview_is_fozen(). Emit property notifications.
* app/widgets/gimphistogramview.[ch]: add API to show a second
histogram in the background. Remove member "light_histogram" from
the GimpHistogramViewClass struct.
* app/widgets/gimpcurveview.c: don't set "light_histogram".
* app/tools/gimpcurvestool.c: set the background histogram instead.
* app/widgets/gimphistogrameditor.[ch]: connect to "notify::frozen"
of the drawable and show its histogram at the freezing point in
the background. This way the original histogram is visible while
we are doing color corrections.
svn path=/trunk/; revision=24159
2007-11-13 Martin Nordholts <martinn@svn.gnome.org>
Avoid GimpRectangleTool internals to make use of its public own
interface by making gimp_rectangle_tool_get_other_side() work on
pointers to members instead of GObject property names.
* app/tools/gimprectangletool.c
(gimp_rectangle_tool_set_other_side_coord)
(gimp_rectangle_tool_get_other_side_coord): Use
gimp_rectangle_tool_get_other_side() in the new way.
svn path=/trunk/; revision=24152
2007-11-13 Martin Nordholts <martinn@svn.gnome.org>
Fixed warnings about negative rectangle widths/heights when
toggling 'Fixed center' while rubber banding a rectangle.
* app/tools/gimprectangletool.c
(gimp_rectangle_tool_set_other_side_coord): Finnishing off with a
call to gimp_rectangle_tool_check_function() as changing the
coordinates of the opposite side might swap the orientation of the
rectangle.
svn path=/trunk/; revision=24151
2007-11-13 Michael Natterer <mitch@gimp.org>
Enable brush scaling for smudge (but only before, not while
painting). Fixes bug #471348.
* app/paint/gimpbrushcore.[ch] (struct GimpBrushCoreClass): rename
member "use_scale" to "handles_scaling_brush".
(gimp_brush_core_calc_brush_scale): apply pressure scale only if
both "handles_scaling_brush" and "use_pressure" are TRUE, and
apply the scaling from the options unconditionally.
(gimp_brush_core_get_paint_area): don't re-fetch core->scale if
"handles_scaling_brush" is FALSE to keep the brush from scaling
*while* painting.
(gimp_brush_core_create_bound_segs): use the brush scale from the
options unconditionally since that's always used now.
* app/paint/gimpsmudge.c (gimp_smudge_brush_coords): use
gimp_brush_scale_size() to figure the accum_buffer's size instead
of using the brush mask's size directly.
* app/tools/gimppaintoptions-gui.c (gimp_paint_options_gui): show
the brush scale controls for all brush tools.
svn path=/trunk/; revision=24140
2007-11-11 Martin Nordholts <martinn@svn.gnome.org>
* app/tools/gimprectangletool.[ch]: Removed
gimp_rectangle_tool_get_press_coords() as it doesn't make sense
for a rectangle tool interface to provide this functionality.
Clients should take care of that themselves. Also adjusted
internal code accordingly.
* app/tools/gimprectangleselecttool.c: Remember the pressed
coordinates on _button_press instead of asking GimpRectangleTool
about it.
svn path=/trunk/; revision=24119
2007-11-11 Martin Nordholts <martinn@svn.gnome.org>
* app/tools/gimprectangletool.c: Lessen code bloat by removing
code that manages center-[xy] properies of GimpRectangleOptions.
Instead use x1, y1 and x2, y2 when working with the rectangle
center.
* app/tools/gimprectangleoptions.[ch]: Removed "center-x" and
"center-y" properties.
svn path=/trunk/; revision=24115
2007-11-10 Michael Natterer <mitch@gimp.org>
* app/tools/gimpairbrushtool.c (gimp_airbrush_tool_init)
* app/tools/gimppenciltool.c (gimp_pencil_tool_init): don't enable
color picking, it already gets enabled by the parent class.
svn path=/trunk/; revision=24109
2007-11-09 Michael Natterer <mitch@gimp.org>
* libgimpwidgets/gimphelpui.[ch]: use the new tooltip API instead
of the old deprecated one. Removed _gimp_help_init(). Remember
whether tooltips are enabled or not in a local variable that can
only be altered at startup time and not after. The API now expects
markup instead of plain text which might cause warnings and
perhaps needs to be changed.
* libgimpwidgets/gimpwidgets-private.c: don't call _gimp_help_init().
* app/config/gimpguiconfig.c: made show-tooltips a
GIMP_CONFIG_PARAM_RESTART property.
* app/widgets/gimptoolbox-color-area.c: don't add the tooltip here...
* app/widgets/gimptoolbox.c: ...but here (as for all other
indicators). Also escape '&' properly because we now use markup.
* app/tools/gimpselectionoptions.c
* app/widgets/gimpeditor.c
* app/widgets/gimpwidgets-utils.c: print modifiers and
shortcuts in bold instead of in ().
* app/widgets/gimpcontainertreeview.c: show tooltips on rows if
gimp_viewable_get_description() returns a tip.
* app/dialogs/preferences-dialog.c
* plug-ins/jpeg/jpeg-save.c
* plug-ins/MapObject/mapobject_ui.c
* plug-ins/Lighting/lighting_ui.c
* plug-ins/common/animationplay.c
* plug-ins/common/warp.c: no need to add event boxes just to have
tooltips, the new ones work on all widgets.
svn path=/trunk/; revision=24093
2007-11-06 Martin Nordholts <martinn@svn.gnome.org>
* app/tools/gimprectangletool.c
(gimp_rectangle_tool_update_handle_sizes): Don't use any dead
areas in narrow-mode, and adjust constants a bit.
* app/tools/gimpdrawtool.c (gimp_draw_tool_draw_corner): Adjusted
to always draw side handles in narrow mode without dead areas.
svn path=/trunk/; revision=24077
2007-11-05 Martin Nordholts <martinn@svn.gnome.org>
* app/tools/gimprectangletool.c (gimp_rectangle_tool_motion): Bail
out early if the rectangle function is RECT_DEAD. This prevents
flickering.
svn path=/trunk/; revision=24071
2007-11-05 Martin Nordholts <martinn@svn.gnome.org>
* app/tools/gimprectangletool.c: also don't show the shell
highlight when a rectangle is being moved. Achieved through
slightly modifying code logic and renaming variables and functions
a bit.
svn path=/trunk/; revision=24070
2007-11-05 Michael Natterer <mitch@gimp.org>
* app/core/gimpcurve.[ch]: don't recalculate the curve if the data
object is frozen. Recalculate on thaw instead. Made
gimp_curve_calculate() private and emit some GimpData::dirty
signals where appropriate.
* app/tools/gimpcurvestool.c
* app/widgets/gimpcurveview.c
* tools/pdbgen/pdb/color.pdb: changed accodingly (connect to "dirty"
instead of "notify" and added some freeze/thaw where approproate).
* app/pdb/color_cmds.c: regenerated.
svn path=/trunk/; revision=24063
2007-11-05 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpcurveview.[ch]: added event handling and
completely edit the curve here.
* app/tools/gimpcurvestool.[ch]: remove all event handling and
curve editing code and only listen to curve signals.
svn path=/trunk/; revision=24060
2007-11-04 Martin Nordholts <martinn@svn.gnome.org>
Do not do shell darkening while GimpRectangleTool rectangles are
being rubber-banded.
* app/tools/gimprectangletool.c
(gimp_rectangle_tool_button_press)
(gimp_rectangle_tool_button_release): Maintain a variable keeping
track of if the rectangle is being rubber banded or not.
(gimp_rectangle_tool_update_highlight): Do not set a shell
highligt if the rectangle is being rubber-banded.
(gimp_rectangle_tool_rubber_banding_func): New helper function.
svn path=/trunk/; revision=24059
2007-11-04 Martin Nordholts <martinn@svn.gnome.org>
* app/tools/gimprectangletool.c: Consistently use the name
`rect_tool' instead of `rectangle' or `rectangle_tool' for
pointers to GimpRectangleTool.
svn path=/trunk/; revision=24054
2007-11-04 Martin Nordholts <martinn@svn.gnome.org>
Put GimpRectangleTool handles on the outside of the rectangle when
it has a small width or height. Some polishing left to do but the
base functionality works nicely.
* app/tools/gimpdrawtool.[ch] (gimp_draw_tool_draw_corner): Add a
put_outside boolean parameter that if true draws the handles on
the outside of the rectangle.
* app/tools/gimprectangletool.c
(gimp_rectangle_tool_update_handle_sizes)
(gimp_rectangle_tool_coord_on_handle)
(gimp_rectangle_tool_draw): Take into account if the rectangle is
in narrow-mode or not.
svn path=/trunk/; revision=24053
2007-11-04 Michael Natterer <mitch@gimp.org>
* app/widgets/Makefile.am
* app/widgets/widgets-types.h
* app/widgets/gimpcurveview.[ch]: new GimpHistogramView subclass
which does all the curve stuff.
* app/widgets/gimphistorgramview.[ch]: removed all curve code again.
* app/tools/gimpcurvestool.c: changed accordingly.
svn path=/trunk/; revision=24051
2007-11-02 Michael Natterer <mitch@gimp.org>
* app/widgets/gimphistogramview.[ch]: added API to set the
selected point.
* app/tools/gimpcurvestool.c: use it.
svn path=/trunk/; revision=24046
2007-11-02 Michael Natterer <mitch@gimp.org>
* app/core/gimpcurve.[ch]: added API to modify free-form curves
and properties to listen to curve changes.
* app/widgets/gimphistogramview.[ch]: added everything that's
needed for rendering a curve with all its color and cursor
indicators on top of a histogram. This code will move to a
subclass soon.
* app/tools/gimpcurvestool.[ch]: removed all curve rendering here.
Also removed all explicit updating by connecting to curve signals
and updating in the callback.
svn path=/trunk/; revision=24045
2007-11-02 Michael Natterer <mitch@gimp.org>
* app/core/Makefile.am
* app/core/core-types.h
* app/core/gimpcurve-save.[ch]
* app/core/gimpcurve-load.[ch]
* app/core/gimpcurve.[ch]: new GimpData subclass which keeps a
curve as known from the curves tool. Pretty much unfinished, but
can do everything that used to be done by base/curves.c and more.
* app/base/curves.[ch]: stripped down to plain arrays of
uchar (the actual curve) and the LUT setup function. All the rest
is done by GimpCurve now.
* app/tools/gimpcurvestool.[ch]: use an array of GimpCurves
instead of the old Curves cruft. Use Curves only for the last step
of creating the LUT. Pretty much unfinished migration here too.
* tools/pdbgen/pdb/color.pdb: use a GimpCurve here too.
* app/pdb/color_cmds.c: regenerated.
svn path=/trunk/; revision=24041
2007-10-31 Michael Natterer <mitch@gimp.org>
* configure.in: depend on glib 2.14.1
* app/tools/gimpdrawtool.c
* app/vectors/gimpvectors-import.c: use g_slice_dup() instead of
g_slice_new() and memcpy().
svn path=/trunk/; revision=24014
2007-10-31 Michael Natterer <mitch@gimp.org>
* app/tools/gimprectangletool.c: some general indentation, spacing
and coding style convention paranoia cleanups.
(gimp_rectangle_tool_get_constraints): set all return values also
when bailing out early to avoid valgrind warnings about
uninitialized memory.
svn path=/trunk/; revision=24009
2007-10-30 Martin Nordholts <martinn@svn.gnome.org>
* app/tools/gimprectangleselecttool.c
(gimp_rect_select_tool_round_corners_notify): Update the selection
when Rounded corners is toggled or the radius is changed as
discussed in bug #418284.
svn path=/trunk/; revision=23991
2007-10-30 Sven Neumann <sven@gimp.org>
Fix drawing of straight lines using the Shift key and a tablet
(bug #164240):
* app/tools/gimppainttool.c (gimp_paint_tool_button_press): set
use_pressure to FALSE when drawing a straight line.
* app/paint/gimppaintbrush.c (_gimp_paintbrush_motion): respect
the use_pressure flag.
svn path=/trunk/; revision=23988
2007-10-29 Sven Neumann <sven@gimp.org>
Fix bug #491272 (no cursor drawn for small brush sizes):
* app/tools/gimpbrushtool.[ch]
(gimp_brush_tool_draw_brush): don't draw the brush outline if it
becomes too small. Instead draw a small cross, but only if
"draw_fallback" was passed as TRUE.
(gimp_brush_tool_draw_brush): pass TRUE for "draw_fallback" if
cursor drawing is disabled for the paint tools.
* app/tools/gimpsourcetool.c (gimp_source_tool_draw): pass FALSE
for "draw_fallback".
* app/tools/gimpdrawtool.c (gimp_draw_tool_draw_cross_by_anchor):
draw a symmetric cross for odd handle sizes.
svn path=/trunk/; revision=23984
2007-10-26 Martin Nordholts <martinn@svn.gnome.org>
* app/tools/gimprectangletool.c (struct GimpRectangleToolPrivate):
Renamed handle_[wh] to corner_handle_[wh] since that are the
appropriate names.
svn path=/trunk/; revision=23960
2007-10-26 Martin Nordholts <martinn@svn.gnome.org>
* app/tools/gimprectangletool.c (gimp_rectangle_tool_oper_update):
Use new helper functions to decide if the cursor is on a
handle (or outside of the rectangle + handle bounds) to ease the
introduction of having handles on the outside of the pending
rectangle.
(gimp_rectangle_tool_coord_outside)
(gimp_rectangle_tool_coord_on_handle): New helper functions.
svn path=/trunk/; revision=23959
2007-10-26 Sven Neumann <sven@gimp.org>
Reenabled update of the histogram while doing color corrections
(bug 490182):
* app/core/gimpviewable.[ch]: added new methods preview_freeze()
and preview_thaw().
* app/core/gimpimagemap.c
(gimp_image_map_new): freeze the drawable preview.
(gimp_image_map_dispose): thaw the drawable preview.
(gimp_image_map_do): update the drawable, not the image.
* app/tools/gimpimagemaptool.c (gimp_image_map_tool_response): no
need to invalidate the drawable preview any longer.
svn path=/trunk/; revision=23956
2007-10-22 Sven Neumann <sven@gimp.org>
* app/tools/gimppaintoptions-gui.c: changed aspect ratio of the
wrap-box used for the "Pressure sensitivity" controls to make
them
fit better into the tool-options.
svn path=/trunk/; revision=23910
2007-10-22 Sven Neumann <sven@gimp.org>
* app/tools/gimpsourcetool.[ch]: don't draw the source brush
outline while selecting a new source location (bug #488839).
svn path=/trunk/; revision=23902
2007-10-17 Sven Neumann <sven@gimp.org>
* app/tools/gimpselectionoptions.c: removed a frame.
* app/tools/gimptransformoptions.c: tweaked layout to reduce
horizontal extent.
* app/widgets/gimpviewablebox.c (gradient_box_new): use an icon
for the "Reverse" check button.
svn path=/trunk/; revision=23857
2007-10-16 Michael Natterer <mitch@gimp.org>
* libgimpwidgets/gimppropwidgets.c (gimp_prop_size_entry_new):
honor the "show-pixels" and "show-percent" properties of the unit
param spec.
* app/tools/gimprectangletool.c (gimp_rectangle_tool_start): set
the image's width/height on the size entries so the percent unit
works correctly.
svn path=/trunk/; revision=23852
2007-10-16 Sven Neumann <sven@gimp.org>
* app/tools/gimpselectionoptions.c (gimp_selection_options_gui):
changed "Show interactive boundary" to "Interactive boundary".
* app/tools/gimptextoptions.c: align the color panel with the
button box below it.
svn path=/trunk/; revision=23851
2007-10-16 Sven Neumann <sven@gimp.org>
* app/tools/gimptextoptions.c (gimp_text_options_gui): changed
"Create Path from Text" to "Path from Text".
svn path=/trunk/; revision=23846
2007-10-16 Sven Neumann <sven@gimp.org>
* app/tools/gimpvectoroptions.c (gimp_vector_options_gui):
Changed "Create Selection from Path" to "Selection from Path".
svn path=/trunk/; revision=23845
2007-10-16 Michael Natterer <mitch@gimp.org>
* app/tools/gimprectangleoptions.c: redid the x, y, width and
height entries according to a mockup from peter.
svn path=/trunk/; revision=23843
2007-10-15 Martin Nordholts <martinn@svn.gnome.org>
* app/tools/gimpaligntool.c (gimp_align_tool_draw): Use
gimp_vectors_bounds() instead of gimp_item_offsets|width|height()
when calculating bounding rectangle for a path. Part of a fix for
bug #486517.
svn path=/trunk/; revision=23832
2007-10-15 Michael Natterer <mitch@gimp.org>
* app/tools/gimprectangleoptions.[ch]: split the "unit" property
into "position-unit" and "size-unit" and added a unit menu to the
position widget group. UI pending further changes...
svn path=/trunk/; revision=23831
2007-10-15 Michael Natterer <mitch@gimp.org>
* app/tools/gimprectangleoptions.c (gimp_rectangle_options_gui):
moved the "Highlight" toggle down to the "Guides" combo.
svn path=/trunk/; revision=23830
2007-10-15 Michael Natterer <mitch@gimp.org>
* app/tools/gimprectangleoptions.[ch]: added the x and y size
entries to the GimpRectangleOptionPrivate struct.
* app/tools/gimprectangletool.c (gimp_rectangle_tool_start): set
the image's resolution on the x, y, width and height size entries.
svn path=/trunk/; revision=23829
2007-10-14 Michael Natterer <mitch@gimp.org>
* app/tools/gimprectangleoptions.c (gimp_rectangle_options_gui):
Reduced the Width: and Height: labels to W: and H:. Please check
and comment, we need some solution for this group of widgets
including the unit menu.
svn path=/trunk/; revision=23825
2007-10-14 Michael Natterer <mitch@gimp.org>
* app/tools/gimprectangleoptions.c (gimp_rectangle_options_gui):
enable the unit menu on the "Height" entry. Looks like crap and
needs to be changed, but the unit functionality is almost complete
now.
svn path=/trunk/; revision=23824
2007-10-14 Michael Natterer <mitch@gimp.org>
* app/tools/gimprectangleoptions.[ch]: renamed properties x0 and
y0 to x and y. Also reordered all property code to be in the same
order and added some empty lines to group the properties.
* app/tools/gimprectangletool.c: changed accordingly.
svn path=/trunk/; revision=23822
2007-10-14 Michael Natterer <mitch@gimp.org>
* libgimpwidgets/gimppropwidgets.[ch] (gimp_prop_size_entry_new):
added parameter "gboolean property_is_pixel" which indicates that
the stored property value is always in pixels and not in the
selected unit.
* app/tools/gimptextoptions.c
* app/widgets/gimpstrokeeditor.c: pass FALSE to keep the old
behavior.
* app/tools/gimprectangleoptions.c (gimp_rectangle_options_gui):
added property "fixed-unit" which is used for all fixed values
now. Perhaps we need separate units for width/height/size. Enable
the unit menu on the "Width" and "Height" size entries of the
"Fixed" section and configure them to store the value in
pixels. This was the easy part, some other widgets still need unit
support.
* app/tools/gimprectangletool.c (gimp_rectangle_tool_start): set
the image's resolution on the size entries changed above.
svn path=/trunk/; revision=23821
2007-10-14 Raphael Quinet <raphael@gimp.org>
* app/tools/gimpaligntool.[ch]: Re-wrote the cursor handling
logic, added cursor modifiers, added hints in the status bar in
order to make it easier to discover how to use the tool. Adds new
translatable strings, fixes bug #486110.
svn path=/trunk/; revision=23819
2007-10-14 Martin Nordholts <martinn@svn.gnome.org>
* app/tools/gimprectangletool.c
(gimp_rectangle_tool_options_notify): When Fixed: Size/Aspect
ratio numbers are swapped and the Fixed:-rule is active, swap
width and height on any pending rectangle. Fixed bug #479999.
svn path=/trunk/; revision=23818
2007-10-13 Martin Nordholts <martinn@svn.gnome.org>
* app/tools/gimprectangletool.c
(gimp_rectangle_tool_apply_aspect): Use ROUND() not round().
svn path=/trunk/; revision=23816
2007-10-13 Martin Nordholts <martinn@svn.gnome.org>
* app/tools/gimprectangletool.c
(gimp_rectangle_tool_apply_aspect): Use round() when solving the
aspect ratio equations as this produces more accurate results.
svn path=/trunk/; revision=23811
2007-10-12 Michael Natterer <mitch@gimp.org>
* app/tools/gimprectangleoptions.[ch]: massively simplified the
fixed rule widget showing/hiding, fixed their spacing, make sure
they don't cause UI resizing on rule change.
svn path=/trunk/; revision=23809
2007-10-11 Michael Natterer <mitch@gimp.org>
* app/display/gimpdisplayshell-callbacks.c
(gimp_display_shell_canvas_tool_events): if we need to
delete/create tools on button press because the active tool
doesn't support changing drawables, make sure the newly created
tool gets its focus_display and modifier states set correctly.
Fixes bug #485119. Improved disabled debug output.
* app/tools/gimptool.c: stylistic cleanup in debug output.
svn path=/trunk/; revision=23803
2007-10-10 Sven Neumann <sven@gimp.org>
* app/tools/gimprectangleoptions.c
(gimp_rectangle_options_string_current_updates): an object can
access its own private struct directly.
svn path=/trunk/; revision=23791
2007-10-09 Martin Nordholts <martinn@svn.gnome.org>
* app/tools/gimprectangleoptions.[ch]: Connect a new function
gimp_rectangle_options_string_current_updates() that updates the
Fixed: Aspect entry with a 'Current' string when aspect of the
current pending rectangle is used, and sets sensitivity FALSE on
aspect ratio changing buttons when that string is shown. Prevents
the confusion mentioned in bug #479999.
A new Rectangle Options property 'use-string-current' has been
added that should be refactored away from the options object along
with references to option widgets.
* app/tools/gimprectangleselecttool.c
(gimp_rect_select_tool_update_option_defaults): Set default Fixed:
Aspect ratio to that of the pending rectangle, and always have
default Fixed: Size as 100x100.
* app/tools/gimpcroptool.c
(gimp_crop_tool_update_option_defaults): Always have default
Fixed: Size 100x100.
* libgimpwidgets/gimpnumberpairentry.[ch]
(gimp_number_pair_entry_class_init): Add a new property
'default-text' that contains text to be shown instead of numbers
when default numbers are to be shown.
(gimp_number_pair_entry_get_default_text)
(gimp_number_pair_entry_set_default_text): Getter and setter for
it.
* libgimpwidgets/gimpwidgets.def: Updated.
svn path=/trunk/; revision=23788
2007-10-08 Sven Neumann <sven@gimp.org>
* app/tools/gimpperspectiveclonetool.c: implement button_release
and stop the draw tool when in adjust mode. Fixes bug #483912.
(gimp_perspective_clone_tool_mode_notify): start the draw tool.
svn path=/trunk/; revision=23770
2007-10-06 Sven Neumann <sven@gimp.org>
* app/tools/gimpeditselectiontool.c
(gimp_edit_selection_tool_draw):
check that there are segments to draw before calling
gimp_draw_tool_draw_boundary().
svn path=/trunk/; revision=23750
2007-09-23 Martin Nordholts <martinn@svn.gnome.org>
* app/tools/gimprectangleselecttool.c
(gimp_rect_select_tool_should_draw): New name for
gimp_rect_select_selection_visible() which has been changed to
always return TRUE when the tool is active, i.e. when a rectangle
is being create or resized. Better fix for bug #479426.
svn path=/trunk/; revision=23623
2007-09-23 Martin Nordholts <martinn@svn.gnome.org>
* app/tools/gimprectangleselecttool.c
(gimp_rect_select_tool_draw): Only draw the rectangle when `Show
selection' is `true', with the help of a new function
gimp_rect_select_tool_selection_visible(). Fixes bug #474509.
svn path=/trunk/; revision=23621
2007-09-22 Martin Nordholts <martinn@svn.gnome.org>
* app/tools/gimpcropoptions.[ch]: Add an allow-growing option.
* app/tools/gimpcroptool.c: Take the new allow-growing option into
account when setting crop rectangle constraints, and restructure
the code a bit.
(gimp_crop_tool_execute): Allow rectangles larger than the
image/layer being sent to gimp_image_crop() since that function
handles that fine. These changes fixes bug #368325.
svn path=/trunk/; revision=23616
2007-09-22 Martin Nordholts <martinn@svn.gnome.org>
* app/tools/gimprectangletool.c
(gimp_rectangle_tool_set_constraint): Enforce constraints of any
pending rectangle when setting a constraint.
svn path=/trunk/; revision=23615
2007-09-13 Michael Natterer <mitch@gimp.org>
* configure.in: remove FOO_DISABLE_DEPRECATED for only glib >= 2.15
and gtk+ >= 2.13, GIMP builds fine against the 2.14 and 2.12 APIs
apart from:
* app/tools/gimpselectionoptions.c
* libgimpwidgets/gimphelpui.c: undef GTK_DISABLE_DEPRECATED because
GtkTooltips is deprecated in gtk+ 2.12.
* libgimp/gimpui.c
* plug-ins/common/pat.c: the address of an array is always
non-NULL, no need to check for that. Fixes new gcc warnings.
svn path=/trunk/; revision=23522
2007-09-02 Martin Nordholts <martinn@svn.gnome.org>
* app/tools/gimprectangleselecttool.c
(gimp_rect_select_tool_update_option_defaults): New function to
update default values for Fixed: Size. This function is called to
update defaults values for Fixed: Size to that of the pending
rectangle width x height if there is one, or 100x100 otherwise.
* app/tools/gimpcroptool.c
(gimp_crop_tool_update_option_defaults): Set Fixed: Size to the
size of the pending crop rectangle, or 100x100 if there is none.
svn path=/trunk/; revision=23440
2007-09-01 Martin Nordholts <martinn@svn.gnome.org>
* app/tools/gimpcroptool.c
(gimp_crop_tool_update_default_fixed_ratio_options):
Generalize the default Fixed: Aspect ratio option setting code
so that it can later be used for Fixed: Size as well, and move
it to
* app/tools/gimprectangletool.[ch]
(gimp_rectangle_tool_pending_size_set)
(gimp_rectangle_tool_constraint_size_set): and use these two new
functions instead.
svn path=/trunk/; revision=23435
2007-08-21 Martin Nordholts <martinn@svn.gnome.org>
* app/tools/gimprectangletool.c
(gimp_rectangle_tool_update_with_coord): Don't adjust the
rectangle shape if it is is merely being moved.
svn path=/trunk/; revision=23343
2007-08-18 Martin Nordholts <martinn@svn.gnome.org>
* app/tools/gimprectangletool.c: Don't make
GIMP_RECTANGLE_CONSTRAIN_NONE into GIMP_RECTANGLE_CONSTRAIN_IMAGE,
and restructure the code a bit in the rectagle adjusting functions
so that they can handle the _NONE constraint. The effect of this
change is that rectangle tools no longer are constrained when
using fixed-rules.
svn path=/trunk/; revision=23319
2007-08-18 Martin Nordholts <martinn@svn.gnome.org>
* app/tools/gimprectangletool.c
(gimp_rectangle_tool_button_press): Clear highlight in previously
active shell when changing active shell.
svn path=/trunk/; revision=23318
2007-08-18 Martin Nordholts <martinn@svn.gnome.org>
* app/tools/gimpcroptool.c (gimp_crop_tool_button_release): Call
gimp_crop_tool_update_default_fixed_ratio_options after
gimp_rectangle_tool_button_release, so that the state of the
rectangle tool is reflected when updating the default aspect.
svn path=/trunk/; revision=23317
2007-08-18 Martin Nordholts <martinn@svn.gnome.org>
* app/tools/gimpcroptool.c
(gimp_crop_tool_update_default_fixed_ratio_options): Added a
'ignore_pending' boolean parameter so that the pending rectangle
can be ignored in gimp_crop_tool_execute, as it should be.
svn path=/trunk/; revision=23316
2007-08-17 Martin Nordholts <martinn@svn.gnome.org>
* app/tools/gimpcroptool.c
(gimp_crop_tool_constructor): Connect to the "image-changed"
signal of GimpContext and update default aspect when image
changes (fixes bug #417166), by using
(gimp_crop_tool_update_default_fixed_ratio_options): which is a
new function that does this. This function is called whenever it
is time to update defualts.
* app/tools/gimprectangletool.[ch]: Made
gimp_rectangle_tool_get_constraint part of the rectangle tool API.
svn path=/trunk/; revision=23312
2007-08-17 Michael Natterer <mitch@gimp.org>
* app/tools/gimpperspectiveclonetool.c (motion)
* app/tools/gimpsourcetool.c (motion): don't allow to ctrl-switch
between clone and set-source mode while painting. It's totally
unclear to me why we used to allow this since it doesn't make much
sense and isn't very intuitive either. Fixes bug #467605.
svn path=/trunk/; revision=23302
2007-08-13 Sven Neumann <sven@gimp.org>
* libgimpwidgets/gimpnumberpairentry.c: use italic font if not in
user-override mode.
* app/tools/gimprectangleoptions.c: removed auto-mode icon.
* themes/Default/images/Makefile.am
* themes/Default/images/stock-auto-mode-16.png
* libgimpwidgets/gimpnumberpairentry.[ch]: removed
GIMP_STOCK_AUTO_MODE.
svn path=/trunk/; revision=23231
2007-08-13 Martin Nordholts <martinn@svn.gnome.org>
* app/tools/gimprectangleoptions.c (gimp_rectangle_options_gui):
Put the auto-mode GtkImage to the right of the Aspect ratio/Size
entry instead of to the left.
svn path=/trunk/; revision=23228
2007-08-12 Martin Nordholts <martinn@svn.gnome.org>
* app/tools/gimprectangleoptions.c (gimp_rectangle_options_gui):
Set a 16x16 size request on the auto-mode images.
svn path=/trunk/; revision=23227
2007-08-12 Martin Nordholts <martinn@svn.gnome.org>
* app/tools/gimprectangleoptions.[ch]: Setup a
GIMP_STOCK_AUTO_MODE GtkImage to be shown in the options when
Fixed: Aspect ratio/Size entries are in auto-mode.
* themes/Default/images/Makefile.am: Added
stock-auto-mode-16.png (which is a copy of
preferences/folders-interp-16.png for now).
* libgimpwidgets/gimpstock.[ch]: Added GIMP_STOCK_AUTO_MODE.
svn path=/trunk/; revision=23224
2007-08-11 Martin Nordholts <martinn@svn.gnome.org>
* app/tools/gimpcroptool.c (gimp_crop_tool_execute): Initialize
'tool' before using it.
svn path=/trunk/; revision=23210
2007-08-11 Martin Nordholts <martinn@svn.gnome.org>
* app/tools/gimprectangletool.c
(gimp_rectangle_tool_update_handle_sizes): Update handle sizes
based on the shell-visible part of the rectangle.
(gimp_rectangle_tool_start, gimp_rectangle_tool_halt):
Connect/disconnect to the "scrolled" signal of the shell and
update handle sizes.
svn path=/trunk/; revision=23204
2007-08-11 Martin Nordholts <martinn@svn.gnome.org>
* app/tools/gimprectangletool.c
(gimp_rectangle_tool_button_release): Halt the tool on cancel if a
rectangle has not previously been created.
svn path=/trunk/; revision=23202
2007-08-11 Martin Nordholts <martinn@svn.gnome.org>
* app/tools/gimprectangletool.c
(gimp_rectangle_tool_update_highlight): Renamed from
gimp_rectangle_tool_set_highlight
(gimp_rectangle_tool_button_release): Add call to
gimp_rectangle_tool_update_highlight to keep highlight in sync
when a crop rectangle is cancelled.
svn path=/trunk/; revision=23201
2007-08-10 Martin Nordholts <martinn@svn.gnome.org>
* app/tools/gimpcroptool.c (gimp_crop_tool_button_release): Set
default 'Fixed: Aspect ratio' values to the size of the pending
crop rectangle. Fixes bug #355545.
* app/tools/gimprectangletool.[ch]
(gimp_rectangle_tool_get_rectangle_size): New helper function.
svn path=/trunk/; revision=23194
2007-08-10 Martin Nordholts <martinn@svn.gnome.org>
* app/tools/gimprectangleoptions.c: Added
"default-aspect-numerator", "default-aspect-denominator",
"default-fixed-size-width" and "default-fixed-size-height" as
non-serialized tool options, and "overridden-fixed-aspect" and
"overridden-fixed-size" as serialized ones.
* app/widgets/gimppropwidgets.c (gimp_prop_number_pair_entry_*):
Added support for the new GimpRectangleOptions.
svn path=/trunk/; revision=23187
2007-08-10 Martin Nordholts <martinn@svn.gnome.org>
* app/widgets/gimppropwidgets.[ch]: Merged gimp_prop_size_2d_* and
gimp_prop_aspect_ratio_* to gimp_prop_number_pair_*.
* app/tools/gimprectangleoptions.c (gimp_rectangle_options_gui):
Use the merged gimp_prop_number_pair_entry_new.
svn path=/trunk/; revision=23184
2007-08-08 Martin Nordholts <martinn@svn.gnome.org>
Renamed GimpRatioEntry to GimpNumberPairEntry, and generalized the
code a lot, so that it can be used both for 'Fixed: Aspect ratio'
and 'Fixed: Size'. Support is also added for having default values
and a 'user overrided' value mode.
* libgimpwidgets/gimpnumberpairentry.[ch]: Now contains the
rewrite and generalization of GimpRatioEntry.
(gimp_number_pair_entry_get_type)
(gimp_number_pair_entry_new)
(gimp_number_pair_entry_set_default_values)
(gimp_number_pair_entry_set_values)
(gimp_number_pair_entry_get_values): New libgimpwidget API.
* app/widgets/gimppropwidgets.[ch] (gimp_prop_size_2d_new): Added
new helper widget for setting up a GimpNumberPairEntry for the
Fixed: Size entry in the Rectangle Options.
* app/tools/gimprectangleoptions.c (gimp_rectangle_options_gui):
Use the new gimp_prop_size_2d_entry for the Fixed: Size entry.
* libgimpwidgets/gimpwidgets.def: Removed gimp_ratio_entry_* and
added gimp_number_pair_entry_*.
* libgimpwidgets/gimpwidgets.h * libgimpwidgets/gimpwidgetstypes.h
* libgimpwidgets/Makefile.am (libgimpwidgets_2_0_la_sources)
(libgimpwidgetsinclude_HEADERS): Updated accordingly.
svn path=/trunk/; revision=23154
2007-08-08 Martin Nordholts <martinn@svn.gnome.org>
* libgimpwidgets/gimpratioentry.[ch]: Migrate entry completion
code and put responsability on clients to set that up when needed.
* app/tools/gimprectangleoptions.[ch]: Setup entry completion code
manually for the GimpRatioEntry widgets by using
(gimp_rectangle_options_setup_ratio_completion)
(gimp_ratio_entry_history_select, gimp_ratio_entry_history_add):
these new functions.
svn path=/trunk/; revision=23149
2007-08-08 Martin Nordholts <martinn@svn.gnome.org>
* app/tools/gimprectangleoptions.[ch]: Use separate
desired-fixed-size-width/height properties for Fixed: Size instead
of sharing properties with Fixed: Width/Height.
* app/tools/gimprectangletool.c: Use the two new properties for
Fixed: Size.
svn path=/trunk/; revision=23140
2007-08-05 Martin Nordholts <martinn@svn.gnome.org>
* app/tools/gimprectangletool.c (gimp_rectangle_tool_motion): When
a new rectangle is created and Fixed: Size is used, set rectangle
function to RECT_MOVING.
svn path=/trunk/; revision=23117
2007-08-04 Martin Nordholts <martinn@svn.gnome.org>
Update rectangle tool options to bring it closer to the spec. The
major change is the use of a 'Fixed:' check box and a 'Aspect
ratio/Width/Height/Size' combo box. The check box is togglable
with Shift while rubber-banding.
* app/tools/gimprectangletool.c
(gimp_rectangle_tool_active_modifier_key): Set other side also
when Shift is released.
(gimp_rectangle_tool_update_options): Don't supress updates of
tool options on fixed width/height/size
(gimp_rectangle_tool_apply_fixed_height)
(gimp_rectangle_tool_update_with_coord)
(gimp_rectangle_tool_handle_general_clamping): Use new tool option
interface and members.
* app/tools/gimprectangleoptions.[ch]
(gimp_rectangle_options_iface_base_init)
(gimp_rectangle_options_install_properties)
(gimp_rectangle_options_(get|set)_property): Remove and add
relevant properties.
(gimp_rectangle_options_private_finalize): Unref the new widgets
used in tool options.
(gimp_rectangle_options_fixed_rule_changed): New, update tool
options depending on current option state.
(gimp_rectangle_options_gui): Modified according to change log
entry summary.
(gimp_rectangle_options_unparent_fixed_rule_widgets): New helper.
(gimp_rectangle_options_fixed_rule_active): New, clients should
use this to find out if a certain fixed-mode is active.
* app/tools/tools-enums.[ch]: Added GimpRectangleToolFixedRule.
svn path=/trunk/; revision=23114
2007-08-04 Martin Nordholts <martinn@svn.gnome.org>
Don't apply fixed aspect on pending rectangles that are not being
rubber-banded, when this is changed in the rectangle tool options.
* app/tools/gimprectangletool.c (gimp_rectangle_tool_options_notify):
Don't synthesize motion for fixed aspect ratio options changes
* app/tools/gimprectangleoptions.c (gimp_rectangle_options_gui): Removed
callback to
(gimp_rectangle_options_notify_aspect): which is not needed any more,
and hence is removed.
svn path=/trunk/; revision=23113
2007-08-02 Michael Natterer <mitch@gimp.org>
* app/tools/gimpcroptool.c (gimp_crop_tool_cursor_update): no need
to set the tool cursor here, we already do that in init() and
never change it.
* app/widgets/gimpcursor.c (gimp_cursor_new): don't show the move
cursor and the move modifier at the same time. Some small
cleanups.
svn path=/trunk/; revision=23104
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
2007-04-12 Sven Neumann <sven@gimp.org>
* app/tools/gimprectangleselecttool.c: implement
GimpTool::key_press and delegate to the rectangle tool or the
edit
selection tool. This resurrects positioning of floating
selections
with the cursor keys.
svn path=/trunk/; revision=22244
2007-03-31 Michael Natterer <mitch@gimp.org>
* app/tools/gimprectangleoptions.[ch]: made the
GimpRectangleOptionsPrivate struct public (ha ha).
(gimp_rectangle_options_gui): replaced the "Auto shrink selection"
toggle by a normal button that needs to be clicked explicitely.
* app/tools/gimprectangletool.c: access members of
GimpRectangleOptionsPrivate directly instead of reading them into
local variables using g_object_get(), this makes the code quite
more readable. Some code cleanup.
(gimp_rectangle_tool_button_release): get rid of the confusing
auto-shrink madness on button release...
(gimp_rectangle_tool_start)
(gimp_rectangle_tool_halt): ...instead, connect to the option's
auto shrink button and shrink on "clicked".
svn path=/trunk/; revision=22209
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
2007-03-31 Michael Natterer <mitch@gimp.org>
* app/tools/gimpcroptool.c: access the GimpCropOptions structure
directly to read the "layer_only" option (don't use g_object_get),
some code cleanup.
svn path=/trunk/; revision=22207
2007-03-30 Sven Neumann <sven@gimp.org>
* app/tools/gimprectangletool.c (gimp_rectangle_tool_draw_guides):
hardcode the result of sqrt(5).
svn path=/trunk/; revision=22196
2007-03-29 Michael Natterer <mitch@gimp.org>
* app/tools/gimptool.c (gimp_tool_check_click_distance): don't
compare the result of sqrt() with something, compare the original
value with something's square instead.
svn path=/trunk/; revision=22195