2009-02-06 Sven Neumann <sven@gimp.org>
* app/actions/tools-commands.c
(tools_paint_brush_angle_cmd_callback): let the brush angle
wrap.
svn path=/trunk/; revision=27993
2009-02-06 Sven Neumann <sven@gimp.org>
* app/actions/actions.c (action_select_property): mark strings
for
translation and add translator comments for them.
svn path=/trunk/; revision=27992
2009-02-06 Sven Neumann <sven@gimp.org>
* app/actions/actions.c: prototype action_message() with format
function attribute and move it to the bottom of the file.
svn path=/trunk/; revision=27991
2009-02-06 Michael Natterer <mitch@gimp.org>
Bug 471681 – Keyboard shortcuts for brush size/params need
feedback
Applied patch from Sven Neumann which addresses above bug:
* app/actions/actions.[ch]: add new function action_message()
which pushes a temp message to a display's statusbar.
(action_select_property): add GimpDisplay* parameter and call
action_message() for int and double property changes.
* app/actions/tools-commands.c: pass the display to
action_select_property().
* app/paint/gimpinkoptions.c: add some blurbs to make it work
for the ink blob properties.
svn path=/trunk/; revision=27988
2009-02-05 Sven Neumann <sven@gimp.org>
Bug 520078 – Rotate brushes
Applied patch from Alexia Death:
* app/core/gimpbrush.[ch]
* app/core/gimpbrushgenerated.c
* app/core/gimpbrush-transform.[ch]: affine transformations for
brushes. So far only scaling and rotation is supported. The
transformation is done using nearest-neighbour. This is a
regression and we need to add back interpolation before the next
release.
* app/paint/gimpsmudge.c
* app/paint/gimppaintoptions.[ch]
* app/paint/gimpbrushcore.[ch]: allow to control the brush
rotation angle.
* app/tools/gimppaintoptions-gui.c
* app/tools/gimpbrushtool.c: added UI for controlling the
brush rotation angle.
* app/actions/tools-actions.c
* app/actions/tools-commands.[ch]: add actions for controlling
the
brush rotation angle.
svn path=/trunk/; revision=27987
2009-02-05 Michael Natterer <mitch@gimp.org>
* app/core/gimpdrawable.h
* app/core/gimpdrawable-preview.c: move the preview related
members to the private struct.
* app/core/gimpdrawable.c
* app/core/gimpdrawable-private.h
* app/core/gimpselection.c: changed accordingly.
svn path=/trunk/; revision=27986
2009-02-05 Michael Natterer <mitch@gimp.org>
* app/core/core-types.h: sort the types by inheritence again, but
keep the alphabetic ordering within one level.
svn path=/trunk/; revision=27985
2009-02-04 Michael Natterer <mitch@gimp.org>
* app/core/Makefile.am
* app/core/gimpdrawable-private.h: new file which contains struct
GimpDrawablePrivate. Move some stuff from GimpDrawable here.
* app/core/gimpdrawable.[ch]
* app/core/gimpdrawable-shadow.c: changed accordingly.
* app/text/gimptextlayer-xcf.c
* app/xcf/xcf-load.c: include the private struct for these ugly
corner cases.
svn path=/trunk/; revision=27982
2009-02-02 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell-title.c: reverted last change.
It's
not helpful to use different strings for the same information
and
space is not crucial in the window title.
svn path=/trunk/; revision=27979
Applied patch from Alexia Death that prepares brushes for
arbitrary transforms by renaming stuff with 'scale' to
'transform'. Takes us one step closer to fixing bug #520078.
* app/core/gimpbrush.[ch]
* app/core/gimpbrushgenerated.c
* app/paint/gimpbrushcore.[ch]
* app/paint/gimpsmudge.c
* app/core/gimpbrush-transform.[ch]: New names of
* app/core/gimpbrush-scale.[ch]
* app/core/Makefile.am: Update.
svn path=/trunk/; revision=27975
2009-01-29 Sven Neumann <sven@gimp.org>
* app/core/gimpimage.[ch]: removed gimp_image_get_type_string()
again.
* app/display/gimpdisplayshell-title.c
(gimp_display_shell_format_title): use the GimpImageBaseType
enum
instead.
* app/tools/gimptool.c (gimp_tool_oper_update): if the image is
empty and the tool can't handle that, display a message in the
statusbar telling the user about this.
svn path=/trunk/; revision=27970
2009-01-29 Sven Neumann <sven@gimp.org>
* app/core/gimpchannel-combine.c
(gimp_channel_combine_ellipse_rect):
fixed incorrect optimization that caused glitches in the rounded
corners on the left side of rectangular selections.
svn path=/trunk/; revision=27968
2009-01-28 Sven Neumann <sven@gimp.org>
* app/pdb/gimpprocedure.c (gimp_procedure_execute): don't set an
error if the procedure was cancelled.
svn path=/trunk/; revision=27967
2009-01-26 Michael Natterer <mitch@gimp.org>
The GEGL projection does floating selections now:
* app/core/gimpdrawable.[ch] (struct GimpDrawable): add a couple
of GeglNodes which are used to create a sub-graph for this
drawable's floating selection.
(gimp_drawable_detach_floating_sel)
(gimp_drawable_attach_floating_sel): new functions to call
whenever a floating selection gets attached or detached.
Change the role of the drawable's "source_node": it's no longer a
direct tile source but an arbitrary graph. Add new internal
function gimp_drawable_sync_source_node() which creates a
sub-graph for the floating selection within the source node, and
uses the new "tile_source_node" directly otherwise. Connect to
"notify" of the floating selection and reconfigure its sub-graph
when its properties change. This is also one more refactoring in
the direction of layer trees.
* app/core/gimpfloatingselundo.c
* app/core/gimpimage.c
* app/core/gimplayer-floating-sel.c: call the new attach/detach
API whenever a floating selection is attached or detached from a
drawable. This will need more refactoring i guess...
svn path=/trunk/; revision=27961
2009-01-26 Michael Natterer <mitch@gimp.org>
* app/core/gimpdrawable.c (gimp_drawable_visibility_changed):
don't show the floating selection layer in the image graph, it
will be shown by the drawable it is attached to. This is a temp
special case hack, but better fits here than into the newly
created and clean GimpDrawableStack. The floating selection will
see the end of its days as layer soon enough anyway.
svn path=/trunk/; revision=27960
2009-01-26 Michael Natterer <mitch@gimp.org>
* app/tools/gimpregionselecttool.c
(gimp_region_select_tool_button_release): move variables to local
scope.
svn path=/trunk/; revision=27951
* app/pdb/gimpprocedure.[ch] (gimp_procedure_create_override): New
helper function that creates a new GimpProcedure that can be used
to override an existing procedure.
svn path=/trunk/; revision=27950
* app/core/gimpimage.[ch] (gimp_image_get_type_string): New method
to get a string representation of the image type.
* app/display/gimpdisplayshell-title.c
(gimp_display_shell_format_title): Ask the GimpImage for an image
type string instead of making assumptions about its
implementation.
svn path=/trunk/; revision=27947
2009-01-25 Michael Natterer <mitch@gimp.org>
* app/core/Makefile.am
* app/core/gimpparamspecs-duplicate.[ch]: new files implementing
gimp_param_spec_duplicate() which is supposed to duplicate any
gimp or gegl GParamSpec (but doesn't do this yet).
* app/tools/gimpgegltool.c: remove the code form here.
svn path=/trunk/; revision=27945
2009-01-24 Michael Natterer <mitch@gimp.org>
Bug 568890 – don't rely on GtkAction implementation details
* app/widgets/gimpuimanager.c (gimp_ui_manager_menu_item_select):
use gtk_widget_get_action() instead of g_object_get_data(),
which relies on the name of the data key.
svn path=/trunk/; revision=27939
2009-01-22 Tor Lillqvist <tml@iki.fi>
Bug 559408 - Brushes dragged to the image window look strange
* app/widgets/gimppixbuf.c (gimp_pixbuf_format_compare): Drop
Windows-specific code to prefer BMP. The BMP format written by
gdk-pixbuf doesn't support alpha. PNG is better. Note that the
same bug report also takes up a different problem.
svn path=/trunk/; revision=27928
2009-01-17 Michael Natterer <mitch@gimp.org>
* all files with a GPL header and all COPYING files:
Change licence to GPLv3 (and to LGPLv3 for libgimp).
Cleaned up some copyright headers and regenerated the parsers in
the ImageMap plugin.
svn path=/trunk/; revision=27913
* app/config/gimpdisplayconfig.c: Allow marching ant speeds as
slow as one step per 10 seconds since for some remote sessions the
minimum of 1 step per second is too fast.
svn path=/trunk/; revision=27899
2009-01-10 Sven Neumann <sven@gimp.org>
Bug 471344 – Circular brush strokes are not smooth and have
corners
Bug 127785 – stroking with size linked to pressure sensitivity
should scale the spacing
* app/core/gimpcoords-interpolate.[ch]
* app/display/gimpdisplayshell.[ch]
* app/display/gimpdisplayshell-callbacks.[ch]
* app/display/gimpdisplayshell-coords.[ch]: applied patch from
Alexia Death that introduces a Catmul-Rom splines based event
interpolation and also adapts the brush spacing to brush size.
svn path=/trunk/; revision=27898
2009-01-04 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpcombotagentry.c
(gimp_combo_tag_entry_constructor): connect to entry->container's
signals with g_signal_connect_object() so the entry can be
destroyed without warning/crashing.
svn path=/trunk/; revision=27895
* app/display/gimpdisplayshell.c (gimp_display_shell_shrink_wrap):
Only rely on disp_width/height for border calculation if they are
larger than 1. If not, special-case the calculation so we don't
get a severly mispositioned image.
svn path=/trunk/; revision=27892
* app/display/gimpdisplayshell.c (gimp_display_shell_shrink_wrap):
Rename border_x to border_width and border_y to border_height.
svn path=/trunk/; revision=27891
2009-01-01 Sven Neumann <sven@gimp.org>
Bug 565112 – code duplication in app/core/gimpimage-snap.c
* app/core/gimpimage-snap.c: based on a patch from Daniel
Hornung,
add the utility function gimp_image_snap_distance().
svn path=/trunk/; revision=27869