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