Commit Graph

2955 Commits

Author SHA1 Message Date
Martin Nordholts 200c002516 app: Add "exported" signal to GimpImage 2009-05-16 13:02:55 +02:00
Martin Nordholts 9625c4610e app: Store entire source URI for a duplicated image 2009-05-16 13:02:54 +02:00
Alexia Death c3be07e937 Fixes to brush aspect ratio dynamics
Fixes to brush aspect ratios for parametric brushes
2009-04-26 12:08:41 +03:00
Alexia Death 6aafd34380 Adds dynamic aspect ratio for brushes. 2009-04-25 20:53:09 +03:00
Michael Natterer 090e06ecdd Move the stuff in tools-utils to the core so it can be used from
app/paint/ in the next step.

* app/tools/Makefile.am
* app/tools/tools-utils.[ch]: removed.

* app/core/gimp-utils.[ch]: add gimp_constrain_line() instead.

* app/tools/gimpblendtool.c
* app/tools/gimpeditselectiontool.c
* app/tools/gimpfreeselecttool.c
* app/tools/gimpmeasuretool.c
* app/tools/gimppainttool.c: changed accordingly.
2009-04-22 21:08:42 +02:00
Tobias Mueller ed7b1a9c4d Remove the ICC profile when image will be converted from/to grayscale mode.
svn path=/trunk/; revision=28268
2009-04-13 20:14:49 +00:00
Sven Neumann 640afea581 Bug 471681 – Keyboard shortcuts for brush size/params need feedback
2009-03-19  Sven Neumann  <sven@gimp.org>

	Bug 471681 – Keyboard shortcuts for brush size/params need 
feedback

	* app/core/gimpbrushgenerated.c
	* app/core/gimpcontext.c
	* app/paint/gimppaintoptions.c: applied patch from Stephen G. 
that
	marks some strings for translation.


svn path=/trunk/; revision=28182
2009-03-19 20:40:43 +00:00
Sven Neumann 55c8a0f636 formatting
svn path=/trunk/; revision=28163
2009-03-16 19:59:58 +00:00
Sven Neumann a9327fca52 gimp_brush_real_transform_pixmap): don't mix variable declarations and
2009-03-16  Sven Neumann  <sven@gimp.org>

	* app/core/gimpbrush-transform.c 
(gimp_brush_real_transform_mask):
	gimp_brush_real_transform_pixmap): don't mix variable 
declarations
	and code. Added missing const qualifiers.

	* plug-ins/common/ripple.c (ripple_horizontal): removed stray
	semicolon.


svn path=/trunk/; revision=28162
2009-03-16 19:57:31 +00:00
Sven Neumann 7b5c3a8273 another tiny formatting change
svn path=/trunk/; revision=28140
2009-03-11 21:04:13 +00:00
Sven Neumann 54871b7ad0 formatting.
2009-03-11  Sven Neumann  <sven@gimp.org>

	* app/core/gimpscanconvert.c (gimp_scan_convert_render_full):
	formatting.


svn path=/trunk/; revision=28139
2009-03-11 20:56:07 +00:00
Sven Neumann 73ae572b75 Bug 520078 – Rotate brushes
2009-03-03  Sven Neumann  <sven@gimp.org>

	Bug 520078 – Rotate brushes

	* app/core/gimpbrush-transform.c: applied patch from Tal that
	improves bilinear interpolation for the brush transformations 
and
	fixes a bug in the calculation of the transformation matrix.


svn path=/trunk/; revision=28098
2009-03-03 15:00:14 +00:00
Michael Natterer b1b7f8102d app/core/gimpfilteredcontainer.[ch] app/core/gimptag.c codingstylize. Call
2009-03-03  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpfilteredcontainer.[ch]
	* app/core/gimptag.c
	* app/core/gimptagcache.[ch]: codingstylize. Call iterator GList*
	variables simply "list" just as we call integers simply "i".


svn path=/trunk/; revision=28097
2009-03-02 23:33:24 +00:00
Michael Natterer c06c90b545 add gimp_tagged_set_tags() which takes a GList of tags.
2009-03-02  Michael Natterer  <mitch@gimp.org>

	* app/core/gimptagged.[ch]: add gimp_tagged_set_tags() which
	takes a GList of tags.

	* app/widgets/gimptagentry.c (gimp_tag_entry_assign_tags): use it.

	(gimp_tag_entry_item_set_tags): remove.


svn path=/trunk/; revision=28094
2009-03-02 21:48:50 +00:00
Sven Neumann a586ea03fa Bug 520078 – Rotate brushes
2009-02-28  Sven Neumann  <sven@gimp.org>

	Bug 520078 – Rotate brushes

	* app/core/gimpbrush-transform.c: applied patch from Tal that
	implements bilinear interpolation for the brush transformations.


svn path=/trunk/; revision=28078
2009-02-28 13:06:44 +00:00
Martin Nordholts cb3b8608ce Rename gegl-types.h to gimp-gegl-types.h
Rename gegl-types.h to gimp-gegl-types.h as gegl-types.h invades on
the GEGL namespace

svn path=/trunk/; revision=28056
2009-02-21 15:06:49 +00:00
Aurimas Juška 6575913f12 added support for tag translation, user installation and migration procedures for tags.xml.
svn path=/trunk/; revision=28045
2009-02-17 18:43:32 +00:00
Sven Neumann 306374a851 Bug 99457 – Support for dynamics on tilt
2009-02-14  Sven Neumann  <sven@gimp.org>

	Bug 99457 – Support for dynamics on tilt

	* app/core/gimpbrush.[ch]
	* app/core/gimpbrushgenerated.c
	* app/core/gimpbrush-transform.[ch]
	* app/paint/gimpbrushcore.c
	* app/paint/gimpsmudge.c: applied patch from Alexia Death,
	separates brush scaling for x and y.


svn path=/trunk/; revision=28036
2009-02-14 22:00:48 +00:00
Martin Nordholts 18640f90e5 Remove gimp_drawable_update_tile_source_node()
Remove gimp_drawable_update_tile_source_node(), it was not useful.

svn path=/trunk/; revision=28034
2009-02-14 18:53:50 +00:00
Sven Neumann 8a28c073f1 app/core/gimpcoords-interpolate.c applied patch from Alexia Death that
2009-02-14  Sven Neumann  <sven@gimp.org>

	* app/core/gimpcoords-interpolate.c
	* app/display/gimpdisplayshell-coords.c: applied patch from 
Alexia
	Death that fixes issues with the new stroke direction code
	(bug #520078).


svn path=/trunk/; revision=28030
2009-02-14 13:36:28 +00:00
Sven Neumann be83d34498 Bug 472644 – Rotate with clipping crops the whole layer
2009-02-14  Sven Neumann  <sven@gimp.org>

	Bug 472644 – Rotate with clipping crops the whole layer

	* app/core/gimp-transform-resize.c: applied patch as attached to
	bug #472644. Supposedly fixes the problem of the disappearing
	image.


svn path=/trunk/; revision=28029
2009-02-14 12:48:12 +00:00
Michael Natterer 4897f4841c need to rip the floating selection's source node out of its layer's graph
2009-02-13  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpdrawable.c (gimp_drawable_sync_source_node): need
	to rip the floating selection's source node out of its layer's
	graph before using it in the floating selection sub-graph, and
	need to plug it back there when it's not a floating selection any
	longer.

	Unrelated:

	Also introduce a "fs_crop_node" that makes sure the floating
	selection stops at the drawable's boundaries.

	(gimp_drawable_visibility_changed): use item->node instead of
	gimp_item_get_node() because the latter creates the node on
	demand.

	* app/core/gimpdrawable-private.h: add fs_crop_node member.


svn path=/trunk/; revision=28022
2009-02-13 15:35:13 +00:00
Sven Neumann 46835a81fb applied patch from Alexia Death that fixes a bug that was introduced by
2009-02-11  Sven Neumann  <sven@gimp.org>

	* app/core/gimpcoords-interpolate.c
	(gimp_coords_interpolate_catmull): applied patch from Alexia 
Death
	that fixes a bug that was introduced by the last commit.


svn path=/trunk/; revision=28013
2009-02-11 18:52:14 +00:00
Sven Neumann f64e2a76bf app/core/gimpcoords-interpolate.c app/core/gimpbrush-transform.c
2009-02-10  Sven Neumann  <sven@gimp.org>

	* app/core/gimpcoords-interpolate.c
	* app/core/gimpbrush-transform.c
	* app/paint/gimppaintoptions.c
	* app/display/gimpdisplayshell-coords.c: applied patch from 
Alexia
	Death that fixes the direction of brush rotation (bug #520078).


svn path=/trunk/; revision=28010
2009-02-10 21:07:35 +00:00
Michael Natterer 9999ccf790 Bug 520078 – Rotate brushes
2009-02-08  Michael Natterer  <mitch@gimp.org>

	Bug 520078 – Rotate brushes

	Applied a slightly modified patch from Alexia Death:

	* app/core/core-types.h (struct GimpCoords): add "direction" member.

	* app/core/gimpcoords.c: take direction into account in mix(),
	scalarprod(), length_squared(), manhattan_dist() and equal().

	* app/core/gimpcoords-interpolate.c
	(gimp_coords_interpolate_catmull): same here.
	* app/display/gimpdisplayshell-coords.c

	(gimp_display_shell_eval_event): same here.

	* app/paint/gimppaintoptions.[ch]: add properties for direction
	dynamics and adapt dynamics mixing accordingly.

	* app/paint/gimpbrushcore.c (gimp_brush_core_interpolate):
	"interpolate" direction too (in fact, just copy it from
	last_coords since it doesn't change along a straight line).

	* app/paint/gimppaintcore-stroke.c
	(gimp_paint_core_stroke_emulate_dynamics): emulate direction too.

	* app/tools/gimppaintoptions-gui.c: add GUI for direction dynamics.


svn path=/trunk/; revision=28001
2009-02-08 12:55:20 +00:00
Michael Natterer cb0f8d8d51 Simplify floating selection handling a bit more:
2009-02-07  Michael Natterer  <mitch@gimp.org>

	Simplify floating selection handling a bit more:

	* app/core/gimpdrawable.c
	(gimp_drawable_attach_floating_sel)
	(gimp_drawable_detach_floating_sel): call
	gimp_image_set_floating_selection() from these functions.

	* app/core/gimpfloatingselundo.c (gimp_floating_sel_undo_pop)
	* app/core/gimpimage.c (gimp_image_add,remove_layer)
	* app/core/gimplayer-floating-sel.c (floating_sel_to_layer): don't
	call it here because we already call above functions.


svn path=/trunk/; revision=28000
2009-02-07 19:23:32 +00:00
Michael Natterer bfb8e1e115 call gimp_drawable_invalidate_boundary(floating_sel). Fixes missing
2009-02-07  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpdrawable.c
	(gimp_drawable_attach_floating_sel)
	(gimp_drawable_detach_floating_sel): call
	gimp_drawable_invalidate_boundary(floating_sel). Fixes missing
	selection update after turning a floating selection into a
	layer. It's called redundantly now when adding or deleting a
	floating selection, but that doesn't hurt much.

	* app/core/gimpfloatingselundo.c (gimp_floating_sel_undo_pop):
	don't call it here because we already call above functions.


svn path=/trunk/; revision=27999
2009-02-07 19:09:55 +00:00
Martin Nordholts ce697ffb54 Introduce and use gimp_image_map_update_undo_tiles()
Move undo tiles updating into a helper function
gimp_image_map_update_undo_tiles() so the logic of
gimp_image_map_apply() becomes clearer.

svn path=/trunk/; revision=27997
2009-02-07 09:31:10 +00:00
Martin Nordholts 2fa083c720 Introduce and use gimp_image_map_kill_any_idle_processors()
Introduce and use a local helper function
gimp_image_map_kill_any_idle_processors() to get a rid of some code
duplication.

svn path=/trunk/; revision=27996
2009-02-07 09:31:06 +00:00
Martin Nordholts ccaa981b50 Introduce and use gimp_image_map_cancel_any_idle_jobs()
Introduce and use a local helper function
gimp_image_map_cancel_any_idle_jobs() to get a rid of some code
duplication.

svn path=/trunk/; revision=27995
2009-02-07 09:31:01 +00:00
Martin Nordholts 72bb1965f8 Fix misindented return statement in gimpimagemap.c
svn path=/trunk/; revision=27994
2009-02-07 09:30:56 +00:00
Sven Neumann 30c118b53c Bug 520078 – Rotate brushes
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 21:47:57 +00:00
Michael Natterer d2a716d37f app/core/gimpdrawable.h move the preview related members to the private
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 20:27:09 +00:00
Michael Natterer b0f519d591 sort the types by inheritence again, but keep the alphabetic ordering
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-05 20:24:35 +00:00
Michael Natterer 28547598be Fix last commit.
svn path=/trunk/; revision=27983
2009-02-04 00:01:15 +00:00
Michael Natterer a1fd84119c app/core/Makefile.am new file which contains struct GimpDrawablePrivate.
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-03 23:57:11 +00:00
Martin Nordholts 82636d3a30 Allow NULL as "tile-manager" on the tile_manager_source
Allow NULL as "tile-manager" on the tile_manager_source to better
handle ref-counting.

svn path=/trunk/; revision=27977
2009-02-01 19:42:03 +00:00
Martin Nordholts da9ddd3398 Add and use gimp_drawable_update_tile_source_node()
Collect logic to update the tile_source_node in a new helper function
gimp_drawable_update_tile_source_node().

svn path=/trunk/; revision=27976
2009-02-01 18:55:56 +00:00
Martin Nordholts 2716d25dd5 Rename brush stuff with 'scale' to 'transform'.
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-02-01 11:08:22 +00:00
Martin Nordholts 431cb58e85 Add const qualifier to gimp_layer_get_floating_sel_drawable().
svn path=/trunk/; revision=27974
2009-02-01 10:22:22 +00:00
Martin Nordholts 4d7a6b10d1 Added .gitignore files generated with git svn create-ignore.
svn path=/trunk/; revision=27972
2009-01-31 11:37:44 +00:00
Sven Neumann b25b979fc9 removed gimp_image_get_type_string() again.
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 21:32:30 +00:00
Sven Neumann d9bd97d02b fixed incorrect optimization that caused glitches in the rounded corners
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-29 10:02:47 +00:00
Michael Natterer 521555c439 add new accessor gimp_layer_get_floating_sel_drawable() which returns the
2009-01-26  Michael Natterer  <mitch@gimp.org>

	* app/core/gimplayer.[ch]: add new accessor
	gimp_layer_get_floating_sel_drawable() which returns the drawable
	the floating layer is attached to.

	* app/core/gimpdrawable.c
	* app/core/gimpfloatingselundo.c
	* app/core/gimpimage-duplicate.c
	* app/core/gimpimage-quick-mask.c
	* app/core/gimpimage.c
	* app/core/gimplayer.c
	* app/core/gimplayer-floating-sel.c
	* app/xcf/xcf-save.c
	* tools/pdbgen/pdb/image.pdb: use it instead of accessing
	layer->fs.drawable directly.

	* app/pdb/image-cmds.c: regenerated.


svn path=/trunk/; revision=27962
2009-01-26 22:47:16 +00:00
Michael Natterer 785eef1af9 The GEGL projection does floating selections now:
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 22:05:07 +00:00
Michael Natterer abe3230755 don't show the floating selection layer in the image graph, it will be
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 21:20:03 +00:00
Martin Nordholts 86e50ceb47 Fix typo in app/core/gimpimage.c.
svn path=/trunk/; revision=27949
2009-01-25 19:32:02 +00:00
Martin Nordholts 9609e93ca8 Format app/core/gimpimage.c a bit nicer.
svn path=/trunk/; revision=27948
2009-01-25 19:28:25 +00:00
Martin Nordholts 3b79e36d30 New method to get a string representation of the image type.
* 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 19:21:52 +00:00
Michael Natterer 6584aba5c2 app/core/Makefile.am new files implementing gimp_param_spec_duplicate()
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-25 18:01:47 +00:00