2008-03-09 Michael Natterer <mitch@gimp.org>
Fix mishandling of the "antialias" GParamSpec. Fixes bug #521069:
* app/tools/gimpselectionoptions.c: remove
gimp_selection_options_reset() which used to set the default for
"antialias" depending on the tool type (which is impossible since
the antialias GParamSpec only exists once, and not once for each
subclass).
* app/tools/gimpforegroundselectoptions.c: override the antialias
property here and default to FALSE.
svn path=/trunk/; revision=25077
2008-03-09 Michael Natterer <mitch@gimp.org>
* app/tools/gimprectangleselecttool.[ch]
* app/tools/gimprectangleselectoptions.[ch]
* app/tools/gimpellipseselecttool.[ch]
* app/tools/gimp-tools.c: s/Rect/Rectangle/ and s/rect/rectangle/
in types and function names.
svn path=/trunk/; revision=25076
2008-03-09 Michael Natterer <mitch@gimp.org>
* app/tools/Makefile.am
* app/tools/gimpiscissorsoptions.[ch]
* app/tools/gimpregionselectoptions.[ch]: new options classes.
* app/tools/gimpselectionoptions.[ch]: remove the options here.
Also remove some leftover rectangle options cruft that is in its
own files since long ago.
* app/tools/gimpbycolorselecttool.c
* app/tools/gimpfuzzyselecttool.c
* app/tools/gimpiscissorstool.[ch]
* app/tools/gimpregionselecttool.[ch]
* app/widgets/gimpselectioneditor.c: changed accordingly.
svn path=/trunk/; revision=25071
2008-03-09 Martin Nordholts <martinn@svn.gnome.org>
* app/tools/gimprectangletool.c
(gimp_rectangle_tool_setup_snap_offsets): Make the GimpCoords used
for snap calculations depend on the precision mode of the
rectangle. This gives a more pleasant experience when resizing and
moving the rectangle with image zoom factor larger than 100%.
svn path=/trunk/; revision=25068
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 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-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-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-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-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-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-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/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 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 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 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/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-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/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