2008-03-08 Sven Neumann <sven@gimp.org>
Experimental attempt to gain a little more horizontal space for
the tool options:
* app/widgets/gimptooloptionseditor.c: removed the shadow from
the
viewport and the border from the vbox.
* app/widgets/gimpdockable.c: use a semibold label for the
title.
svn path=/trunk/; revision=25065
2008-03-08 Sven Neumann <sven@gimp.org>
* app/tools/gimpflipoptions.c
* app/tools/gimpmoveoptions.c
* app/tools/gimpselectionoptions.c
* app/tools/gimptransformoptions.c: don't add the label into the
stock box, use an extra hbox with 2 pixels spacing.
svn path=/trunk/; revision=25064
2008-03-08 Martin Nordholts <martinn@svn.gnome.org>
* app/tools/gimppolygonselecttool.c: Don't draw the handle for a
vertex while it is being moved.
svn path=/trunk/; revision=25063
2008-03-08 Martin Nordholts <martinn@svn.gnome.org>
* app/tools/gimprectangletool.c: Added TODO on how to improve the
code by changing the way the rectangle is represented internally.
svn path=/trunk/; revision=25062
2008-03-06 Michael Natterer <mitch@gimp.org>
* app/pdb/gimppdb-utils.[ch]: add gimp_pdb_get_vectors_stroke()
which is a replacement for gimp_vectors_stroke_get_by_ID() and
sets an error message if the stroke doesn't exist.
* tools/pdbgen/pdb/vectors.pdb: use it.
* app/pdb/vectors_cmds.c: regenerated.
svn path=/trunk/; revision=25051
2008-03-06 Sven Neumann <sven@gimp.org>
* app/actions/tools-actions.c
* app/actions/tools-commands.[ch]
* app/tools/gimptransformtool.c: allow to control the preview
opacity by actions (defaults to < to > keys).
svn path=/trunk/; revision=25050
2008-03-06 Sven Neumann <sven@gimp.org>
* app/tools/gimptransformtool.c
* app/tools/gimptransformoptions.[ch]
* app/display/gimpdisplayshell-preview.c: take the preview opacity
from the transform tool options. Based on a patch from Tom Lechner.
Closes bug #520690.
svn path=/trunk/; revision=25049
2008-03-06 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell-preview.c: don't do the blending
here, just apply the opacity on the pixbuf's alpha channel.
svn path=/trunk/; revision=25048
2008-03-05 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell-preview.c: applied a modified and
further optimized version of the patch from Tom Lechner as
attached to bug #167926. This makes the transform preview take
the layer opacity into account. Needs some more work...
svn path=/trunk/; revision=25038
2008-03-05 Sven Neumann <sven@gimp.org>
* app/tools/gimptransformtool.[ch]: applied some unrelated
cleanups from a patch from Tom Lechner (from bug #167926).
svn path=/trunk/; revision=25037
2008-03-05 Michael Natterer <mitch@gimp.org>
* app/display/gimpdisplayshell.h: changed PROJ_ROUND() macros to
use RINT() so they work correctly with negative numbers.
* app/tools/gimpdrawtool.c
(gimp_draw_tool_draw_line)
(gimp_draw_tool_draw_dashed_line)
(gimp_draw_tool_draw_rectangle)
(gimp_draw_tool_draw_arc)
(gimp_draw_tool_draw_boundary): use floating-point coordinate
transform functions again. These functions were changed to use
integer transform functions in 2004 (!!) which broke sub-pixel
precision drawing for stuff like straight-line and blend tool
and also sub-pixel drawing of the brush outline.
Should be backported to 2.4 after it has shown no ill effects in
trunk.
svn path=/trunk/; revision=25036
2008-03-04 Sven Neumann <sven@gimp.org>
* app/actions/edit-commands.c (edit_copy_visible_cmd_callback)
(edit_cut_cmd_callback): added statusbar messages informing the
user that pixels have been transferred to the clipboard.
svn path=/trunk/; revision=25035
2008-03-04 Sven Neumann <sven@gimp.org>
* app/core/gimpdrawable-transform.c
(gimp_drawable_transform_cut):
clear the selection after cutting it as gimp_selection_extract()
doesn't do this for us any longer. See bug #510534.
svn path=/trunk/; revision=25034
2008-03-02 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell-callbacks.c
* app/display/gimpdisplayshell-coords.c
(gimp_display_shell_eval_event): applied slightly modified patch
from Alexia Death as attached to bug #508639.
svn path=/trunk/; revision=25006
2008-03-01 Martin Nordholts <martinn@svn.gnome.org>
* app/tools/gimppolygonselecttool.c
(gimp_polygon_select_tool_draw): Only draw the grabbed point, not
all points. Drawing all points adds unnecessary clutter to the
user interface.
(gimp_polygon_select_tool_select_closest_point): Handle drawing of
grabbed points.
svn path=/trunk/; revision=25004
2008-02-28 Michael Natterer <mitch@gimp.org>
* app/core/gimpcurve.[ch]: get rid of fixed-size arrays and
allocate the points and curve arrays dynamically. Added "n-points"
and "n-samples" CONSTRUCT_ONLY properties. Renamed member "curve"
to "samples". Lots of code changes to work with dynamic limits
rather than 17 and 256.
* app/core/gimpdrawable-curves.c
* app/gegl/gimpcurvesconfig.c
* app/tools/gimpcurvestool.c
* app/widgets/gimpcurveview.c: changed accordingly.
svn path=/trunk/; revision=24995
2008-02-27 Sven Neumann <sven@gimp.org>
* app/core/gimpdrawable-transform.c (gimp_drawable_transform_affine):
pass the direction parameter down to
gimp_drawable_transform_tiles_affine() instead of hardcoding it to
GIMP_TRANSFORM_FORWARD. Fixes bug #518910.
svn path=/trunk/; revision=24990
2008-02-27 Sven Neumann <sven@gimp.org>
* app/gui/gui-vtable.c (gui_display_create): added a sanity
check
which might help to catch the problem reported in bug #518905.
svn path=/trunk/; revision=24989
2008-02-26 Sven Neumann <sven@gimp.org>
* app/Makefile.am (gimp_2_5_LDFLAGS): don't assume that global
AM_LDFLAGS and per-target LD_FLAGS would sum up and explicitly
add
AM_LDFLAGS to gimp_2_5_LDFLAGS.
svn path=/trunk/; revision=24987
2008-02-26 Michael Natterer <mitch@gimp.org>
* app/tools/gimppolygonselecttool.c: draw handles at the corners
and use the MOVE cursor modifier when we are moving them. Fix draw
tool pause/resume in button_press() plus some minor cleanup.
svn path=/trunk/; revision=24985
2008-02-26 Michael Natterer <mitch@gimp.org>
* app/display/gimpdisplayshell-transform.[ch]
(gimp_display_shell_transform_points)
* app/tools/gimpdrawtool.[ch] (gimp_draw_tool_draw_lines): take
arrays of GimpVector2 instead of arrays of gdouble to represent
the input points.
* app/display/gimpdisplayshell-draw.c
* app/tools/gimppolygonselecttool.c
* app/tools/gimpfreeselecttool.c: don't cast the GimpVector2 arrays
to double arrays when passing them to above functions.
* app/tools/gimpiscissorstool.c: create a temporary GimpVector2
array instead of a temporary gdouble array.
svn path=/trunk/; revision=24979
2008-02-26 Michael Natterer <mitch@gimp.org>
* app/tools/gimppolygonselecttool.c: rename member num_points to
n_points and various small cleanups all over the place.
svn path=/trunk/; revision=24978
2008-02-26 Sven Neumann <sven@gimp.org>
* app/version.c (gimp_show_library_version): made the library
version information easier to translate.
svn path=/trunk/; revision=24975
2008-02-26 Tor Lillqvist <tml@novell.com>
* app/version.[ch]: New files. Rename gimp_show_version() to
gimp_version_show() and move here. When given both --version and
--verbose, print build-time and run-time versions of the most
important dependencies.
* app/Makefile.am: Add them.
* app/main.c: Call gimp_version_show().
* app/Makefile.am: Use -mwindows only for the GUI gimp, not for
gimp-console.
svn path=/trunk/; revision=24968
2008-02-24 Sven Neumann <sven@gimp.org>
* app/actions/edit-actions.c: removed default keyboard shortcuts
from actions that work with named buffers. Use Ctrl-Shift-V as
the
default keyboard shortcut for "Paste As New Image" and
Ctrl-Shift-C for "Copy Visible".
svn path=/trunk/; revision=24954
2008-02-21 Michael Natterer <mitch@gimp.org>
* app/actions/plug-in-actions.c (plug_in_actions_history_changed):
don't call plug_in_actions_update() because that updated the
sensitivity of *all* plug-in actions according to the properties
of the *current* image. Instead, look up the original GtkAction of
the history items of *this* action group and copy the sensitivity
from that action. Fixes bug #517683.
svn path=/trunk/; revision=24934
2008-02-20 Michael Natterer <mitch@gimp.org>
* app/core/gimpcurve.c: add precondition checks.
* app/core/gimpdrawable-curves.c (gimp_drawable_curves_spline):
divide values by 255 before setting them on the curve. Fixes crash
when using curves from the PDB.
svn path=/trunk/; revision=24929
2008-02-19 Sven Neumann <sven@gimp.org>
* app/app.c
* app/batch.c
* app/core/gimp.c
* app/gui/gui.c: use G_STRLOC instead of hardcoding the function
name in verbose output.
svn path=/trunk/; revision=24922
2008-02-18 Sven Neumann <sven@gimp.org>
* app/batch.c (batch_exit_after_callback): synced cleanup
procedure with app_exit_after_callback() and documented its
purpose.
svn path=/trunk/; revision=24909
2008-02-18 Michael Natterer <mitch@gimp.org>
* app/tools/gimpimagemaptool.c (gimp_image_map_tool_initialize):
don't create the recent settings menu if the tool did not set a
config object.
* app/tools/gimpgegltool.[ch]: pack the operation's settings in a
frame and add a label when there is no operation selected.
svn path=/trunk/; revision=24907
2008-02-14 Sven Neumann <sven@gimp.org>
* app/text/gimpfont.c (gimp_font_get_sample_string): check if the
font has the glyphs from the sample string. Fixes bug #514021.
svn path=/trunk/; revision=24884
2008-02-12 Michael Natterer <mitch@gimp.org>
* app/gegl/gimpoperationcolorbalance.c
* app/gegl/gimpoperationcolorize.c
* app/gegl/gimpoperationcurves.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: added categories and very
lame descriptions. Dunno if the categories are good that way but
at least they are not NULL now.
svn path=/trunk/; revision=24876
2008-02-12 Sven Neumann <sven@gimp.org>
* app/widgets/gimpcolormapeditor.[ch]: show a hint on
non-indexed
images. Based on a patch from Olof Frahm. Closes bug #438217.
svn path=/trunk/; revision=24870
2008-02-12 Sven Neumann <sven@gimp.org>
* app/widgets/gimplanguagestore-parser.c: inverted logic; #ifdef
is IMO easier to read than #ifndef.
svn path=/trunk/; revision=24868
2008-02-12 Tor Lillqvist <tml@novell.com>
* app/widgets/gimplanguagestore-parser.c
(gimp_language_store_populate): Don't use the compile-time paths
to iso-codes on Windows. Instead assume iso-codes is installed in
the same location as GIMP. Make sure translated language names are
in UTF-8 by calling bind_textdomain_codeset().
svn path=/trunk/; revision=24867
2008-02-11 Michael Natterer <mitch@gimp.org>
* app/widgets/gimptexteditor.c (gimp_text_editor_new): enable
wrapping so the text doesn't scroll out horizontally.
svn path=/trunk/; revision=24861
2008-02-11 Michael Natterer <mitch@gimp.org>
* app/core/gimpcurve.[ch]: add gimp_curve_get_point().
* app/gegl/gimpcurvesconfig.c
* app/widgets/gimpcurveview.c: use it instead of accessing the
points array directly.
svn path=/trunk/; revision=24857
2008-02-09 Michael Natterer <mitch@gimp.org>
* app/core/gimpcurve.[ch]: keep the anchor points as an array of
GimpVector2 instead of plain doubles.
* app/gegl/gimpcurvesconfig.c
* app/widgets/gimpcurveview.c: changed accordingly.
svn path=/trunk/; revision=24842
2008-02-09 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpcurveview.[ch]: port internal cursor stuff to
gdouble, fix off-by-one in curve drawing, fix drawing artefact in
handle drawing by starting drawing on the handle's outline and not
its center.
svn path=/trunk/; revision=24839
2008-02-09 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpcurveview.[ch]: port the "xpos" API
to [0.0..1.0] doubles too.
* app/tools/gimpcurvestool.[ch]: rename "col_value" member to
"picked_color" and use gdouble instead of gint. Also use GimpCurve
API to map the values instead of accessing the curve directly.
Fixes setting curve anchor points by color picking.
svn path=/trunk/; revision=24838
2008-02-09 Michael Natterer <mitch@gimp.org>
* app/core/gimpcurve.[ch]: changed all values to be [0.0..1.0]
doubles instead of [0..255] integers. Also changed the API to use
doubles instead of ints. Still have the fixed-size arrays though.
(gimp_curve_map): new function to map values.
* app/gegl/gimpoperationcurves.c: remove private map() function
and use the one from GimpCurve.
* app/gegl/gimpcurvesconfig.c
* app/core/gimpdrawable-curves.c: port to the new gdouble API.
* app/tools/gimpcurvestool.c: use gimp_curve_get_uchar() to get
the arrays for the color bars.
* app/widgets/gimpcurveview.[ch]: port to gdouble and some cleanup.
svn path=/trunk/; revision=24837
2008-02-08 Sven Neumann <sven@gimp.org>
* app/widgets/gimptexteditor.c: use an entry with completion
for
language selection. Still not functional.
svn path=/trunk/; revision=24834
2008-02-08 Sven Neumann <sven@gimp.org>
* app/widgets/gimplanguagestore.[ch]
* app/widgets/gimplanguagestore-parser.c: actually populate the
language store. Still work in progress...
* app/widgets/gimptexteditor.c: added a combo-box for language
selection. Not functional yet; just something to play with.
svn path=/trunk/; revision=24833
2008-02-07 Michael Natterer <mitch@gimp.org>
* tools/pdbgen/app.pl: add some perl evilness to make the includes
in the generated files look almost like they should.
* tools/pdbgen/pdb/*.pdb: remove inclusion of "core/gimp.h" where
not needed, clean up lists of includes and functions and reorder
some functions to make more sense. Zero logic changed.
* app/pdb/*_cmds.c
* libgimp/gimpcontext_pdb.[ch]
* libgimp/gimpbrush_pdb.[ch]: regenerated.
svn path=/trunk/; revision=24829
2008-02-07 Michael Natterer <mitch@gimp.org>
* app/base/base-utils.[ch]: add get_pid() which returns getpid().
* app/base/base.c
* app/base/tile-swap.c
* app/core/gimp-utils.c
* app/plug-in/gimppluginshm.c
* app/widgets/gimpselectiondata.c
* tools/pdbgen/pdb/misc.pdb: use it instead of getpid() and remove
all the #ifdef'ed includes getpid() needs.
* tools/pdbgen/app.pl: remove support for these includes. Also
remove some perl cruft in the include handling which is not needed
any longer.
* app/pdb/misc_cmds.c: regenerated.
svn path=/trunk/; revision=24827
2008-02-06 Michael Natterer <mitch@gimp.org>
* app/tools/gimpgegltool.c (gimp_param_spec_duplicate)
* app/widgets/gimppropwidgets.c (gimp_prop_table_new): add support
for GParamSpecEnum.
* app/core/gimpimagemap.c (gimp_image_map_apply): add even better
checks for input and output pads of the passed operation.
svn path=/trunk/; revision=24824
2008-02-06 Michael Natterer <mitch@gimp.org>
* app/paint/gimpclone.c
* app/paint/gimpheal.c
* app/paint/gimpink.c
* app/widgets/gimphistogrameditor.c: remove includes that are
not needed any longer.
svn path=/trunk/; revision=24823
2008-02-06 Michael Natterer <mitch@gimp.org>
* app/gegl/gimpoperationposterize.c
* app/gegl/gimpoperationhuesaturation.c (process): don't crash if
there is no config object.
svn path=/trunk/; revision=24821
2008-02-06 Michael Natterer <mitch@gimp.org>
* app/gegl/gimpoperationhuesaturation.c
(gimp_operation_hue_saturation_process): don't crash if there is
no config object.
svn path=/trunk/; revision=24820
2008-02-06 Michael Natterer <mitch@gimp.org>
* app/core/gimpimagemap.c (gimp_image_map_apply): when using a
source operation, blend its output over the original image using
"over" instead of simply replacing the original image.
svn path=/trunk/; revision=24819
2008-02-06 Michael Natterer <mitch@gimp.org>
* app/tools/gimpgegltool.c (gimp_param_spec_duplicate)
* app/widgets/gimppropwidgets.c (gimp_prop_table_new): support
multiline text and file paths. The multiline support is hacked up
and needs some proper solution.
svn path=/trunk/; revision=24818
2008-02-05 Martin Nordholts <martinn@svn.gnome.org>
Applied patch from Olof Frahm which makes loading of data
files (brushes and so on) happen recursively (bug #514160).
* app/core/gimpdatafactory.c
(gimp_data_factory_data_load): Recursively search sub directories
for data files using the new helper function
(gimp_data_factory_load_data_recursive)
svn path=/trunk/; revision=24814
2008-02-05 Michael Natterer <mitch@gimp.org>
* app/core/gimpimagemap.c (gimp_image_map_apply): use
gegl_node_get_pad() instead of gegl_node_find_property() to find
out whether the node has an "input" pad.
* app/tools/gimpgegltool.c: #include "core/gimpimagemap.h"
svn path=/trunk/; revision=24812
2008-02-05 Michael Natterer <mitch@gimp.org>
* app/core/gimpimagemap.c (gimp_image_map_apply): do the right
thing for operations without "input" pad so we can use all source
operations too.
* app/tools/gimpimagemaptool.[ch]: make
gimp_image_map_tool_create_map() public for the time being.
* app/tools/gimpgegltool.c (gimp_gegl_tool_operation_changed):
recreate the GimpImageMap so we can switch from filter to source
operations and back.
svn path=/trunk/; revision=24810
2008-02-05 Michael Natterer <mitch@gimp.org>
* app/widgets/gimppropwidgets.[ch] (gimp_prop_table_new): new
function which creates a table of prop widgets for all properties
of an object (pretty incomplete, does exactly what's needed in
GimpGeglTool, or even less).
* app/tools/gimpgegltool.c: create a proxy config class for each
GegĺOperation and create a prop table on the config class'
properties as GUI for the GEGL operation. Write the proxy object's
properties back to the GeglNode in map().
svn path=/trunk/; revision=24809
2008-02-05 Sven Neumann <sven@gimp.org>
* app/dialogs/image-new-dialog.c (image_new_create_image):
use the user context when creating the new image. Fixes bug #514082.
svn path=/trunk/; revision=24806
2008-02-05 Michael Natterer <mitch@gimp.org>
* app/tools/gimpimagemaptool.c (gimp_image_map_tool_response): don't
try to add a NULL config to the recent settings menu.
svn path=/trunk/; revision=24801
2008-02-05 Michael Natterer <mitch@gimp.org>
* themes/Default/images/Makefile.am
* themes/Default/images/stock-gegl-16.png
* themes/Default/images/stock-gegl-24.png
* libgimpwidgets/gimpstock.[ch]: new stock icon to be replaced by
somebody who can draw ;)
* app/tools/gimpgegltool.c: use it.
svn path=/trunk/; revision=24800
2008-02-05 Michael Natterer <mitch@gimp.org>
* app/tools/Makefile.am
* app/tools/gimpgegltool.[ch]: add experimental GEGL tool which
will allow to try arbitrary GEGL operations. 100% unusable at the
moment.
* app/tools/gimp-tools.c: register it.
* app/dialogs/dialogs.c: register its dialog.
* menus/image-menu.xml.in: add it to the tools menu.
svn path=/trunk/; revision=24799
2008-02-04 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell-preview.c
(gimp_display_shell_trace_tri_edge): use a gint for direction,
not
a gchar which might be unsigned. Patch from Giuliano Pochini;
fixes bug #340965.
svn path=/trunk/; revision=24795
2008-02-04 Michael Natterer <mitch@gimp.org>
* app/base/gimphistogram.[ch]: add refcounting and replace free()
API by ref() and unref().
* app/core/gimpdrawable-equalize.c
* app/core/gimpdrawable-levels.c
* app/widgets/gimphistogrameditor.c
* tools/pdbgen/pdb/color.pdb: replace calls to
gimp_histogram_free() by gimp_histogram_unref().
* app/pdb/color_cmds.c: regenerated.
* app/widgets/gimphistogramview.c: reference the histograms so we
don't need the widget's users to keep them around while the widget
exists.
* app/tools/gimpcurvestool.[ch]: remove the histogram from the
tool struct and just create one locally to set it on the histogram
view widget.
Unrelated:
* app/tools/gimplevelstool.[ch]
* app/tools/gimpthresholdtool.[ch]: renamed "hist" members to
"histogram" plus some cleanup.
svn path=/trunk/; revision=24792
2008-02-04 Michael Natterer <mitch@gimp.org>
* app/tools/gimpimagemaptool.c (gimp_image_map_tool_add_recent):
use localtime() instead of localtime_r() and don't use %F in
strftime(). Fixes bug #513966.
svn path=/trunk/; revision=24785
2008-02-04 Michael Natterer <mitch@gimp.org>
* app/core/Makefile.am
* app/core/gimpdrawable-brightness-contrast.[ch]
* app/core/gimpdrawable-color-balance.[ch]
* app/core/gimpdrawable-colorize.[ch]
* app/core/gimpdrawable-curves.[ch]
* app/core/gimpdrawable-hue-saturation.[ch]
* app/core/gimpdrawable-posterize.[ch]
* app/core/gimpdrawable-threshold.[ch]: new files containing all
the code that was in pdb/color_cmds.c. Cleaned up and GEGL-enabled
everyting.
* tools/pdbgen/pdb/color.pdb: remove almost all code and simply call
the new functions.
* app/pdb/color_cmds.c: regenerated.
svn path=/trunk/; revision=24784
2008-02-04 Sven Neumann <sven@gimp.org>
* app/paint/gimpbrushcore.c (gimp_brush_core_create_bound_segs):
only smooth the inner area of the mask so that we don't enlarge
the boundary for hard brushes (bug #304798).
svn path=/trunk/; revision=24780
2008-02-04 Michael Natterer <mitch@gimp.org>
* app/tools/gimplevelstool.[ch]
* app/tools/gimpcurvestool.[ch]: remove boolean "color" and "alpha"
members from the tool structs and ask the drawable instead when
needed.
svn path=/trunk/; revision=24779
2008-02-04 Michael Natterer <mitch@gimp.org>
* app/gegl/gimpthresholdconfig.[ch]: add "gboolean color"
parameter to gimp_threshold_config_to_cruft() and set the "color"
boolean in the Threshold cruft struct.
* app/tools/gimpthresholdtool.c: don't fiddle with the cruft
struct any longer and pass gimp_drawable_is_rgb() to above
function instead.
svn path=/trunk/; revision=24778
2008-02-02 Martin Nordholts <martinn@svn.gnome.org>
* app/tools/gimppolygonselecttool.c
(gimp_polygon_select_tool_commit): Only create a selection from
the polygon if there are 3 or more vertices.
svn path=/trunk/; revision=24776
2008-02-02 Martin Nordholts <martinn@svn.gnome.org>
* app/tools/gimppolygonselecttool.c
(gimp_polygon_select_tool_oper_update): Don't hide the pending
point line if we are grabbing the first point.
(gimp_polygon_select_tool_motion): Also update the pending point
if we are moving the first point.
svn path=/trunk/; revision=24775
2008-02-02 Martin Nordholts <martinn@svn.gnome.org>
* app/tools/gimppolygonselecttool.c
(gimp_polygon_select_tool_remove_last): Properly halt the tool
when there are no vertices left.
svn path=/trunk/; revision=24774
2008-02-02 Martin Nordholts <martinn@svn.gnome.org>
* app/tools/gimppolygonselecttool.c
(gimp_polygon_select_tool_commit): Add a call to
gimp_image_flush() so that the undo state gets updated.
svn path=/trunk/; revision=24773
2008-02-01 Michael Natterer <mitch@gimp.org>
* app/core/core-types.h
* app/gegl/gegl-types.h: have app/gegl know app/core's namespace.
* app/gegl/gimpoperationcurves.h: remove temp hack includes.
* app/gegl/gimpoperationcurves.c: include "core/gimpcurve.h"
* app/gegl/gimpbrightnesscontrastconfig.[ch]
* app/gegl/gimpcolorbalanceconfig.[ch]
* app/gegl/gimpcolorizeconfig.[ch]
* app/gegl/gimpcurvesconfig.[ch]
* app/gegl/gimphuesaturationconfig.[ch]
* app/gegl/gimplevelsconfig.[ch]
* app/gegl/gimpoperationcurves.[ch]
* app/gegl/gimpposterizeconfig.[ch]
* app/gegl/gimpthresholdconfig.[ch]: derive from GimpViewable, install
properties using the GimpConfig macros, add implementations of
GimpConfigInterface::equal() and ::copy() where needed.
* app/tools/gimpimagemaptool.[ch]: add prototype of a menu of
recently used settings so the same color correction can easily be
applied to many images.
svn path=/trunk/; revision=24770
2008-02-01 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpcontainerview.c
(gimp_container_view_set_container): refuse containers if their
children are not GimpViewables instead of crashing later.
svn path=/trunk/; revision=24769
2008-01-31 Sven Neumann <sven@gimp.org>
Delay GEGL initialisation until after the command-line parsing
so
that we can detect an already running GIMP instance and delegate
to that without going through the GEGL and babl initialisation.
* app/app.c (app_libs_init): don't add the GEGL options group
here. GEGL doesn't add any command-line options and it doesn't
look as if it would do that anytime soon.
* app/gegl/gimp-gegl.c (gimp_gegl_init): initialize GEGL here.
svn path=/trunk/; revision=24762
2008-01-30 Martin Nordholts <martinn@svn.gnome.org>
Added a Polygon Select Tool which is a primitive selection tool
based on Free Hand Select. Code filtered through David Gowers who
also made the tool icon. This version of the tool is a for-now
solution to bug #119646.
* app/tools/gimppolygonselecttool.[ch]: The new tool.
* app/tools/gimp-tools.c: Add the tool.
* app/tools/Makefile.am: Add tool source.
* app/widgets/gimphelp-ids.h: Add help id for the tool.
* libgimpwidgets/gimpstock.[ch]: Setup for the new tool icon.
* menus/image-menu.xml.in: Add action entry for the tool.
* themes/Default/images/tools/stock-tool-polygon-select-{16,24}.png:
Tool icon graphics.
* themes/Default/images/Makefile.am: Add tool icon graphics.
svn path=/trunk/; revision=24753
2008-01-30 Michael Natterer <mitch@gimp.org>
* app/tools/gimpimagemaptool.[ch]: add "GObject **config" return
value to GimpImageMapTool::get_operation() and memory-manage the
config object here.
Add default implementation of GimpImageMapTool::reset() which
calls gimp_config_reset() on the config object.
* 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: return the config object in
get_operation() and don't unref it in finalize().
Connect to the config object's "notify" signal and update the GUI
in the callback. Also call gimp_image_map_tool_preview() there.
Removed all other GUI update functions and all calls to preview().
Removed reset() implementations which only called
gimp_config_reset().
svn path=/trunk/; revision=24752
2008-01-28 Michael Natterer <mitch@gimp.org>
* app/gegl/gimpoperationtilesink.c
* app/gegl/gimpoperationtilesource.c (process): return FALSE when
there is no tile manager.
svn path=/trunk/; revision=24740
2008-01-28 Michael Natterer <mitch@gimp.org>
* app/gegl/gegl-types.h
* app/gegl/Makefile.am
* app/gegl/gimpbrightnesscontrastconfig.[ch]: new config object.
* app/tools/gimpbrightnesscontrasttool.[ch]: use it.
svn path=/trunk/; revision=24735
2008-01-28 Michael Natterer <mitch@gimp.org>
* app/dialogs/keyboard-shortcuts-dialog.c
(keyboard_shortcuts_dialog_new): don't show the horizontal
scrollbar if it's not needed.
svn path=/trunk/; revision=24731
2008-01-28 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell.[ch] (gimp_display_shell_snap_coords):
removed redundant GimpCoords parameter that use to cause valgrind
warnings about overlapping memory regions in memcpy().
* app/display/gimpdisplayshell-callbacks.c
* app/display/gimpdisplayshell-autoscroll.c: changed accordingly.
svn path=/trunk/; revision=24730
2008-01-28 Michael Natterer <mitch@gimp.org>
* app/base/tile-manager.c
* plug-ins/common/lcms.c: use G_STRLOC instead of
G_GNUC_FUNCTION (which is now deprecated).
svn path=/trunk/; revision=24727
2008-01-27 Michael Natterer <mitch@gimp.org>
* app/gegl/gimpcolorbalanceconfig.[ch]
* app/gegl/gimpcolorizeconfig.[ch]
* app/gegl/gimpcurvesconfig.[ch]
* app/gegl/gimphuesaturationconfig.[ch]
* app/gegl/gimplevelsconfig.[ch]
* app/gegl/gimpposterizeconfig.[ch]
* app/gegl/gimpthresholdconfig.[ch]: implement the GimpConfig
interface and remove public reset() functions except special ones
which reset only parts of the objects. Add lots of property
notifications.
* 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: use gimp_config_reset(), misc.
related changes and cleanups.
svn path=/trunk/; revision=24724
2008-01-25 Michael Natterer <mitch@gimp.org>
* app/gegl/Makefile.am
* app/gegl/gegl-types.h
* app/gegl/gimpoperationpointfilter.[ch]: new parent class for all
image map operations. Features a "config" member and "public"
get_property() and set_property() functions to be used by
subclasses.
* app/gegl/gimpoperationcolorbalance.[ch]
* app/gegl/gimpoperationcolorize.[ch]
* app/gegl/gimpoperationcurves.[ch]
* app/gegl/gimpoperationhuesaturation.[ch]
* app/gegl/gimpoperationlevels.[ch]
* app/gegl/gimpoperationposterize.[ch]
* app/gegl/gimpoperationthreshold.[ch]: derive from
GimpOperationPointFilter, remove "config" members, remove
finalize(), get_property() and set_property() implementations and
use the ones provided by the parent class.
svn path=/trunk/; revision=24713
2008-01-25 Michael Natterer <mitch@gimp.org>
* app/gegl/gimpcurvesconfig.[ch]
* app/gegl/gimplevelsconfig.[ch]: add load_cruft() and
save_cruft() functions which load/save the old (current) curves
and levels file formats.
* app/tools/gimpcurvestool.c
* app/tools/gimplevelstool.c: use them here and remove a lot of
includes.
svn path=/trunk/; revision=24708
2008-01-25 Michael Natterer <mitch@gimp.org>
* app/tools/gimphuesaturationtool.[ch]: removed the GimpHueRange
member from the tool struct and use the one from the config object
instead. Also did a global s/partition/range/.
svn path=/trunk/; revision=24707
2008-01-25 Michael Natterer <mitch@gimp.org>
* app/tools/gimpcurvestool.[ch]
* app/tools/gimplevelstool.[ch]: remove the "channel" member from
the tool struct and use the channel from the options object
instead.
svn path=/trunk/; revision=24705
2008-01-25 Sven Neumann <sven@gimp.org>
* app/widgets/gimpcolormapeditor.c (gimp_colormap_editor_draw):
avoid crashing when the widget allocation is small (bug
#511926).
svn path=/trunk/; revision=24704
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-24 Sven Neumann <sven@gimp.org>
* app/core/gimpimage.c
* app/core/gimpimage-undo.c: fixed handling of the image undo
counter for the case where the user has undone the image to a
state before the last save and then pushes a new undo. Fixes
bug #509822.
svn path=/trunk/; revision=24699
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 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell-selection.c: show the selection,
even if the window is flagged as invisible, but don't start the
animation. Addresses bug #505758.
svn path=/trunk/; revision=24694
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/core/gimpprojection.c (gimp_projection_idle_render_init):
decreased the priority of the projection idle renderer to 150,
halfway between G_PRIORITY_HIGH_IDLE and
G_PRIORITY_DEFAULT_IDLE.
Fixes bug #511214.
svn path=/trunk/; revision=24680
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/display/gimpdisplayshell-callbacks.c
* app/display/gimpdisplayshell-coords.[ch]: applied patch from
Alexia Death with further event filter improvements (bug #508639).
svn path=/trunk/; revision=24672
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 Sven Neumann <sven@gimp.org>
* app/core/gimpselection.c (gimp_selection_extract): don't clear
the selection as a side-effect of "Edit->Cut" (bug #510534).
svn path=/trunk/; revision=24662
2008-01-21 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpcolorbar.c (gimp_color_bar_class_init): fix the
ID of the "histogram-channel" property.
svn path=/trunk/; revision=24660
2008-01-21 Michael Natterer <mitch@gimp.org>
* app/core/gimpdrawable-levels.c: port to GEGL and use the new
code path when use-gegl is TRUE.
* app/base/levels.[ch]: remove stretch and pick APIs which are not
used any longer.
svn path=/trunk/; revision=24659
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
* app/gegl/gimpoperationtilesink.c:
* app/gegl/gimpoperationtilesource.c: Some changes due to changed
location of where the various GEGL headers get installed on the
system.
* app/gegl/gegl/gegl-operation.h: synced from GEGL.
svn path=/trunk/; revision=24639
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/gegl/gimpoperationcolorize.c
* app/gegl/gimpoperationhuesaturation.c (process): move some
calculations and assignments out of the inner loop.
svn path=/trunk/; revision=24636
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
* app/gegl/gegl/gegl-operation.h: synced from GEGL.
* app/gegl/gegl/graph/gegl-node-context.h: removed, since none
of it's provided functionlity is any longer used by the GIMP
implemented ops.
* app/gegl/gegl/graph/: removed.
svn path=/trunk/; revision=24631
* app/gegl/gegl/buffer/gegl-buffer-types.h: removed.
* app/gegl/gegl/buffer/: removed.
* app/gegl/gegl/gegl-operation.h: synced from gegl. Now includes
the installed gegl-buffer.h which contains the public typedefs
needed for implementing operations anyways.
svn path=/trunk/; revision=24630
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-16 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell-callbacks.c
* app/display/gimpdisplayshell-coords.c: applied parts of a change
from Alexia Death. This improves the event smoothing (bug #508639).
svn path=/trunk/; revision=24624
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-14 Sven Neumann <sven@gimp.org>
* app/core/core-types.h
* app/display/gimpdisplayshell-callbacks.c
* app/display/gimpdisplayshell-coords.[ch]
* app/display/gimpdisplayshell.h
* app/paint/gimpink.[ch]
* app/paint/gimpinkundo.[ch]: applied patch from Alexia Death
that
adds an event evaluation function that decides if an event is
needed or can be discarded. As a side-product some useful
dynamics
parameters like velocity are added to the GimpCoords struct. The
Ink tool is changed to use this information. See bug #508639.
svn path=/trunk/; revision=24607
2008-01-10 Sven Neumann <sven@gimp.org>
* app/widgets/gimpuimanager.c (gimp_ui_manager_ui_popup):
gracefully deal with a NULL return value from
gtk_ui_manager_get_widget(). This happens when the XML menu
definitions are not found.
svn path=/trunk/; revision=24594
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 Sven Neumann <sven@gimp.org>
* app/gegl/gimpoperationtilesink.c: use the marshaller from GLib;
don't include gimpmarshal.h from app/core.
svn path=/trunk/; revision=24579
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-08 Sven Neumann <sven@gimp.org>
* app/file/file-open.c (file_open_layers): moved code to a utility
function, in preparation for a possible fix for bug #507116.
svn path=/trunk/; revision=24569
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
2008-01-07 Michael Natterer <mitch@gimp.org>
* app/gegl/gimpoperationcolorize.c (process): add some comments
about how this code is different from base/colorize.c
svn path=/trunk/; revision=24564
2008-01-07 Michael Natterer <mitch@gimp.org>
* app/core/core-types.h: include gegl/gegl-types.h instead of
base/base-types.h.
* app/gegl/gegl/gegl-types.h: add ugly #ifdefs so we can include
gegl.h and this file at the same time.
svn path=/trunk/; revision=24563
2008-01-07 Michael Natterer <mitch@gimp.org>
* app/core/gimplayer.c (gimp_layer_transform_color): reordered
and renamed parameters to make more sense.
svn path=/trunk/; revision=24562
* 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-07 Michael Natterer <mitch@gimp.org>
* app/gegl/gegl/gegl-operation.h: updated from GEGL.
* app/gegl/gimpoperationtilesource.c: use the passed buffer in
process() and add prepare() implementation which sets the format.
svn path=/trunk/; revision=24559
* app/gegl/gimpoperationtilesink.c:
* app/gegl/gimpoperationtilesource.c: modified to match newer API in
GEGL.
* app/gegl/gegl/gegl-operation-sink.h:
* app/gegl/gegl/gegl-operation-source.h: updated from GEGL.
svn path=/trunk/; revision=24555
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-05 Manish Singh <yosh@gimp.org>
* app/core/gimpimagemap.c: hardcode a declaration of
gegl_node_add_child() in here for now.
svn path=/trunk/; revision=24539
* app/gegl/gegl/gegl-operation-sink.h:
* app/gegl/gegl/gegl-operation-source.h:
* app/gegl/gegl/gegl-operation.h:
* app/gegl/gegl/gegl-types.h:
* app/gegl/gegl/graph/:
* app/gegl/gegl/graph/gegl-node-context.h: synchronoised with GEGL
headers.
* app/gegl/gimpoperationtilesink.c:
* app/gegl/gimpoperationtilesource.c: updated to new API, where a
GeglNodeContext is used in process methods instead of gpointer
context_id.
svn path=/trunk/; revision=24538
2008-01-04 Sven Neumann <sven@gimp.org>
* app/config/gimpdisplayconfig.c: changed the default marching
ants
speed to 200.
svn path=/trunk/; revision=24534
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>
* tools/pdbgen/pdb/color.pdb: optionally use gegl where we already
have operations (breaking the indentation to keep the diff small
and readable).
* app/pdb/Makefile.am: add GEGL_CFLAGS.
* app/pdb/color_cmds.c: regenerated.
svn path=/trunk/; revision=24531
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/core/gimpimagemap.c (gimp_image_map_apply): switch tile
sources and sinks to assume linear data.
svn path=/trunk/; revision=24526
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
committing patch by Simon Budig to give an indication
when working on a layer mask, updated to fix staleness
and respond to "edit-changed". Might fix bug #132204.
* app/core/core-enums.[ch]: add GIMP_SELECTION_LAYER_ON.
* app/core/gimplayermask.c: add handler for "edit-changed".
* app/core/gimpcanvas.[ch]: add new style
GIMP_CANVAS_STYLE_LAYER_MASK_ACTIVE.
* app/display/gimpdisplayshell-selection.c: use new style
when layer mask is active.
svn path=/trunk/; revision=24520
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/core/gimpimagemap.c: quite some cleanup (use GeglRectangle
more globally and don't leave stuff around if we abort for
whatever reason).
svn path=/trunk/; revision=24516
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-03 Michael Natterer <mitch@gimp.org>
Some more gegl code to have some playground for experimenting.
* app/gegl/Makefile.am
* app/gegl/gegl-types.h
* app/gegl/gimpoperationdesaturate.[ch]: ported desaturate.
* app/gegl/gimp-gegl.c: register it.
* app/gegl/gimpoperationtilesink.h: fix name of parent class member.
* app/core/gimpdrawable-desaturate.c: use the new operator, but
keep the old code around (prepared for runtime switching).
* app/core/gimpdrawable-invert.c: prepare for runtime switching
here too.
svn path=/trunk/; revision=24514
2008-01-02 Michael Natterer <mitch@gimp.org>
* app/core/Makefile.am
* app/core/gimpdrawable-operation.[ch]: new files containing
gimp_drawable_apply_operation() which applies a gegl operation
to a drawable's selected pixels using shadow tiles. Will soon
be used in more places than just invert.
* app/core/gimpdrawable-invert.c: use it here, makes
gimp_drawable_invert() a 3-liner.
svn path=/trunk/; revision=24506
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 Sven Neumann <sven@gimp.org>
* app/gegl/gimp-gegl-utils.[ch]: added new function
gimp_bpp_to_babl_format_linear().
* app/gegl/gimpoperationtilesink.[ch]
* app/gegl/gimpoperationtilesource.[ch]: added boolean property
to
toggle between linear and gamma-corrected data.
* app/core/gimpdrawable-invert.c: assume linear data to be
closer
to the original definition of the invert operation in GIMP.
Enable the GEGL code path per default.
svn path=/trunk/; revision=24491
2007-12-30 Sven Neumann <sven@gimp.org>
* app/core/gimpdrawable-invert.c (gimp_drawable_invert): moved
processing in the GEGL code path back to the main loop.
svn path=/trunk/; revision=24490
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-30 Sven Neumann <sven@gimp.org>
* app/display/gimpstatusbar.[ch]
* app/widgets/gimpprogressbox.[ch]: only update the
GtkProgressBar
if that would cause a visible change.
svn path=/trunk/; revision=24487
2007-12-30 Michael Natterer <mitch@gimp.org>
* app/gegl/gimpoperationtilesource.c: minor cleanup.
* app/gegl/gimpoperationtilesink.[ch]: add "data-written" signal
that is emitted whenever pixels have been written to the tile
manager.
svn path=/trunk/; revision=24484
* app/core/Makefile.am: added GEGL_CFLAGS.
* app/core/gimpdrawable-invert.c: added an alternate GEGL code path
that can be enabled by uncommenting ENABLE_GEGL in the file.
svn path=/trunk/; revision=24483
* app/core/Makefile.am: added GEGL_CFLAGS.
* app/core/gimpdrawable-invert.c: added an alternate GEGL code path
that can be enabled by uncommenting ENABLE_GEGL in the file.
svn path=/trunk/; revision=24482
* app/gegl/gimpoperationtilesink.c: specify that this operation does
not need the full buffer available before "flushing" the sink.
* app/gegl/gegl/gegl-operation-sink.h:
* app/gegl/gegl/gegl-operation.h: updated copy of headers.
svn path=/trunk/; revision=24480
* app/gegl/gimpoperationtilesink.c: specify that this operation does
not need the full buffer available before "flushing" the sink.
* app/gegl/gegl/gegl-operation-sink.h:
* app/gegl/gegl/gegl-operation.h: updated copy of headers.
svn path=/trunk/; revision=24479
* app/gegl/gimpoperationtilesource.c: override the default behaviour
of GeglOperationSource to expand the result rect to the full have
rect with a NULL (nop) implementation.
svn path=/trunk/; revision=24474
* app/gegl/gimpoperationtilesource.c: do not fetch the full extent
of the TileManager but only the needed pixels. Pass rowstride
correctly when fecting subregions.
svn path=/trunk/; revision=24470
* configure.in: depend on GEGL 0.0.15 (version ends in odd, thus
depending on svn trunk of GEGL).
* app/gegl/gimpoperationtilesource.c:
(gimp_operation_tile_source_process): just use GEGL_AUTO_ROWSTRIDE for
the rowstride in gegl_buffer_set for now.
svn path=/trunk/; revision=24469