Commit graph

1381 commits

Author SHA1 Message Date
Sven Neumann
0e09f3e19d list what's new since the last release.
2003-09-24  Sven Neumann  <sven@gimp.org>

	* NEWS: list what's new since the last release.

	* app/core/core-enums.h: fixed a typo.
2003-09-24 19:47:59 +00:00
Simon Budig
2c212214fe Fixed vectors stroking on GRAY* and INDEXED* layers.
2003-09-23  Simon Budig  <simon@gimp.org>

	* app/core/gimpdrawable-stroke.c: Fixed vectors stroking on
	GRAY* and INDEXED* layers.

	* app/tools/gimpvectortool.c: Made the polygonal mode more
	consistent.
2003-09-22 23:19:22 +00:00
Sven Neumann
8240ef1ccc constrain popup size to GIMP_VIEWABLE_MAX_POPUP_SIZE but keep the aspect
2003-09-22  Sven Neumann  <sven@gimp.org>

	* app/core/gimpviewable.c (gimp_viewable_get_popup_size):
	constrain popup size to GIMP_VIEWABLE_MAX_POPUP_SIZE but keep the
	aspect ratio intact. Fixes bug #122923.

	* app/text/gimpfont.c: use a smaller font size for popups so we
	don't exceed the maximum size.
2003-09-22 14:23:03 +00:00
Simon Budig
460b3e84e5 Adjusted to make sure that no successive LINETOs to the same coordinate
2003-09-21  Simon Budig  <simon@gimp.org>

	* app/core/gimpscanconvert.c: Adjusted to make sure that
	no successive LINETOs to the same coordinate are in the
	path. Libart chokes on that.

	* app/core/gimpdrawable-stroke.c: Respect the offsets of the
	target drawable.

	* app/tools/gimpvectortool.c: Removed status message in
	VECTORS_FINISHED mode as requested by Ville Pätsi.

	* app/vectors/gimpvectors.c: Determine the stroke parameters
	from the current context (opacity/color/paint_mode).
	The other parameters are not yet supported.
2003-09-21 19:07:48 +00:00
Sven Neumann
3ee7c4d0e0 renamed new enums to use "style" instead of the overloaded term "type".
2003-09-21  Sven Neumann  <sven@gimp.org>

	* app/core/core-enums.[ch]: renamed new enums to use "style" instead
	of the overloaded term "type". Also renamed GimpGridType while I was
	on it.

	* app/core/gimpdrawable-stroke.[ch]
	* app/core/gimpgrid.[ch]
	* app/core/gimpscanconvert.[ch]
	* app/display/gimpdisplayshell.c
	* app/vectors/gimpvectors.c
	* app/gui/grid-dialog.c: changed accordingly.
2003-09-21 10:45:19 +00:00
Simon Budig
09630e45f9 Dave Neary <bolsh@gimp.org>
2003-09-21  Simon Budig  <simon@gimp.org>
            Dave Neary  <bolsh@gimp.org>

	* app/core/gimpdrawable-stroke.c: gimp_image_apply_image () must
	not get the pixel Region twice, use NULL for src1_tiles, which
	then defaults to the drawables tiles. Also pixel_region_init()
	does not take the offsets set by tile_manager_set_offsets into
	account. Use 0,0 instead of x1,y1. Fixes bad crashes.

	* app/core/gimpscanconvert.c: fixed crash for the same reason.

	* app/vectors/gimpvectors.c: Enabled the new stroking by default.
	Of course there should be a dialog to tweak the settings...  :-)
2003-09-21 00:58:04 +00:00
Simon Budig
ca07f5ddb2 Dave Neary <bolsh@gimp.org>
2003-09-20  Simon Budig  <simon@gimp.org>
            Dave Neary  <bolsh@gimp.org>

	First steps towards Libart stroking. Right now the code
	crashes and thus is disabled by default. If you want to
	test it, change the #define LIBART_STROKE  in
	app/vectors/gimpvectors.c. Then a click on the stroke button
	in the paths dialog invokes the new code.
	The crash is in gimpdrawable-stroke.c - apparently I did not
	yet get the TileManager stuff correctly.

	* app/core/gimpscanconvert.[ch]: Rewritten to be more clear
	and have an easier API. Now can handle open Paths and
	libart-stroke the (open/closed) polygons defined earlier.

	* app/core/core-enums.h: Added Enums for LineJoin-Type and
	EndCap-Type for stroking.

	* app/core/core-enums.c: regenerated.

	* app/core/gimpimage-mask-select.c: Use the new API of
	GimpScanConvert where appropriate.

	* app/vectors/gimpvectors.c: Added #define to enable the libart
	stroking. Disabled by default because of the crash mentioned
	above...

	* app/vectors/gimpbezierstroke.c
	* app/vectors/gimpstroke.c
	* app/vectors/gimpvectors.[ch]: Removed Libart stuff here.
	Libart usage now lives exclusively in GimpScanConvert.

	* app/core/gimpdrawable-stroke.[ch]: New files for the libart
	stroking (right now just vector objects).
	* app/core/Makefile.am: changed accordingly.

	* app/Makefile.am: Needed to tweak linking.  :-/
2003-09-20 19:58:26 +00:00
Michael Natterer
6b2ca702ad app/paint/Makefile.am removed... ...and added.
2003-09-18  Michael Natterer  <mitch@gimp.org>

	* app/paint/Makefile.am
	* app/paint/paint.[ch]: removed...
	* app/paint/gimp-paint.[ch]: ...and added.

	* app/core/gimp.c: changed accordingly.

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

	* app/tools/gimp-tools.[ch]: ...and added. Added
	gimp_tools_restore() and gimp_tools_save() and moved the entire
	tool registering and tool_options loading/saving code here. Call
	tool_manager_init() from gimp_tools_init() and tool_manager_exit()
	from gimp_tools_exit().

	* app/tools/tool_manager.[ch]: removed the code which now lives
	in gimp-tools.[ch]. The tool manager now has no knowledge about
	individual tools any more and just handles the active_tool
	and the tool part of tool <-> display interaction.
	Removed tool_manager_get_info_by_type().

	* app/tools/gimpvectortool.c (gimp_vector_tool_register): the
	tool's identifier is "gimp-vector-tool", not "gimp-path-tool".

	* app/app_procs.c
	* app/display/gimpdisplayshell-callbacks.c
	* app/gui/vectors-commands.c
	* app/tools/gimppainttool.c: changed accordingly.
2003-09-18 13:51:10 +00:00
Sven Neumann
555038debf app/composite/gimp-composite-generic.c app/composite/gimp-composite-mmx.c
2003-09-16  Sven Neumann  <sven@gimp.org>

	* app/composite/gimp-composite-generic.c
	* app/composite/gimp-composite-mmx.c
	* app/composite/gimp-composite-sse.c
	* app/composite/gimp-composite-sse2.c
	* app/config/gimpconfig-deserialize.c
	* app/config/gimpconfig-path.c
	* app/config/gimpconfig-serialize.c
	* app/core/cpercep.c
	* app/core/gimpunit.c
	* app/gui/palette-import-dialog.c
	* app/gui/plug-in-menus.c
	* app/paint-funcs/paint-funcs-generic.h
	* app/paint-funcs/paint-funcs.c
	* app/pdb/procedural_db.c
	* app/text/gimptextlayout-render.c
	* app/tools/gimpfuzzyselecttool.c
	* app/widgets/gimpcursor.c: some trivial code cleanups: avoid
	casts that discard const qualifiers and avoid useless comparisons
	on unsigned variables. Also reordered qualifiers in function
	declarations (static comes before const).
2003-09-16 13:12:50 +00:00
Michael Natterer
d620e7993d transform the channel's bounding box later so we really update the
2003-09-16  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpchannel.c (gimp_channel_translate): transform the
	channel's bounding box later so we really update the channel's new
	*and* old area.
2003-09-16 11:39:29 +00:00
Simon Budig
0e407cba35 fixed bogus gimp_item_set_image (GIMP_ITEM (vectors), NULL);
2003-09-15  Simon Budig  <simon@gimp.org>

	* app/core/gimpimage.c: fixed bogus
	gimp_item_set_image (GIMP_ITEM (vectors), NULL);

	* app/tools/gimpdrawtool.[ch]: added gimp_draw_tool_on_vectors:
	checks if the given coordinate is on any vectors object of the image.

	* app/tools/gimpvectortool.[ch]: Changed the tool modes.
	VECTORS_SELECT_VECTORS now is active when the tool does not
	have a current vectors object or the gdisplay is different
	than the one the tool is drawing on. Also the Move mode now
	uses it, when clicking outside the current vectors object.

	Factored out the sanity check of the internal state
	(gimp_vector_tool_verify_state).
2003-09-15 21:12:10 +00:00
Sven Neumann
b4cc25eb18 removed...
2003-09-15  Sven Neumann  <sven@gimp.org>

	* app/core/gimpdrawable-transform-utils.[ch]: removed...

	* app/core/gimp-transform-utils.[ch]: ...and added under new names
	because these functions are not at all related to GimpDrawable.
	Changed the function names accordingly.

	* app/tools/gimpperspectivetool.c
	* app/tools/gimprotatetool.c
	* app/tools/gimpscaletool.c
	* app/tools/gimpsheartool.c
	* app/vectors/gimpstroke.c
	* app/vectors/gimpvectors.c
	* tools/pdbgen/pdb/transform_tools.pdb: changed accordingly.

	* app/pdb/transform_tools_cmds.c: regenerated.
2003-09-15 17:41:18 +00:00
Michael Natterer
28d6f0a241 app/core/gimpedit.[ch] app/core/gimpmodules.[ch] app/core/gimpunits.[ch]
2003-09-15  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpedit.[ch]
	* app/core/gimpmodules.[ch]
	* app/core/gimpunits.[ch]
	* app/text/gimpfonts.[ch]: removed...

	* app/core/gimp-edit.[ch]
	* app/core/gimp-modules.[ch]
	* app/core/gimp-units.[ch]
	* app/text/gimp-fonts.[ch]: ...and added with new names because
	these files operate on members of a Gimp instance and are
	therefore methods of the Gimp object.

	* app/core/Makefile.am
	* app/text/Makefile.am
	* app/display/gimpdisplayshell-dnd.c
	* app/gui/edit-commands.c
	* app/gui/module-browser.c
	* app/gui/preferences-dialog.c
	* app/widgets/gimpbufferview.c
	* app/widgets/gimpdocumentview.c
	* app/widgets/gimptoolbox-dnd.c
	* app/app_procs.c
	* tools/pdbgen/pdb/edit.pdb
	* tools/pdbgen/pdb/fonts.pdb: changed accordingly.

	* app/pdb/edit_cmds.c
	* app/pdb/fonts_cmds.c: regenerated.

	* app/core/gimp.c (gimp_init): don't create gimp->fonts.
	(gimp_initialize): call gimp_fonts_init().
	(gimp_restore): call gimp_fonts_load() instead of _init().

	* app/text/gimp-fonts.c (gimp_fonts_init): don't call
	gimp_fonts_load(), just create gimp->fonts and connect to
	"notify::font-path" of gimp->config.
2003-09-15 17:26:28 +00:00
Sven Neumann
26ae4062a7 app/core/core-enums.[ch] add vectors in an undo-group.
2003-09-13  Sven Neumann  <sven@gimp.org>

	* app/core/core-enums.[ch]
	* app/vectors/gimpvectors-import.c: add vectors in an undo-group.

	* app/gui/vectors-commands.c: added simple file selection dialogs
	for vectors import and export.
2003-09-13 02:33:30 +00:00
Sven Neumann
472574986d moved the visibility toggle before the linked toggle again.
2003-09-13  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimpitemtreeview.c: moved the visibility toggle
	before the linked toggle again.

	* app/core/gimpdrawable.c (gimp_drawable_configure)
	* app/core/gimpitem.c (gimp_item_init): quick fix for bug #122153:
	don't make the item visible in gimp_drawable_configure() since that
	breaks duplicate(); instead create all items as visible.
2003-09-12 22:43:02 +00:00
Sven Neumann
3f885c7fa0 app/core/gimpselection.c app/gui/images-menus.c string fixes.
2003-09-12  Sven Neumann  <sven@gimp.org>

	* app/core/gimpselection.c
	* app/gui/images-menus.c
	* app/gui/session.c: string fixes.

	* app/gui/images-commands.[ch]: changed the function names
	accordingly..
2003-09-12 15:14:02 +00:00
Michael Natterer
9c13b724d4 app/core/gimpimage-mask-select.c (gimp_image_mask_select_vectors)
2003-09-12  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpimage-mask-select.c (gimp_image_mask_select_vectors)
	* app/paint/gimppaintcore-stroke.c (gimp_paint_core_stroke_vectors)
	* app/display/gimpdisplayshell.c (gimp_display_shell_draw_vector)
	* app/tools/gimpdrawtool.c (gimp_draw_tool_real_draw)
	* app/tools/gimptransformtool.c (gimp_transform_tool_draw)
	* app/tools/gimpvectortool.c (gimp_vector_tool_vectors_visible)
	(gimp_vector_tool_draw): all callers of gimp_stroke_interpolate():
	don't leak the returned GimpCoords array and don't crash if it's
	NULL.

	* app/tools/gimpvectortool.[ch]: added VECTORS_SELECT_VECTOR state
	which enables activating any visible GimpVectors on any display.

	(gimp_vector_tool_on_handle)
	(gimp_vector_tool_on_curve): added a GimpVectors parameter so we
	can check for vectors which are not vector_tool->vectors.

	(gimp_vector_tool_oper_update): iterate gdisp->gimage->vectors
	to figure if we are hovering any visible vectors and set
	VECTORS_SELECT_VECTOR.

	(gimp_vector_tool_button_press): catch VECTORS_SELECT_VECTOR and
	start editing the selected vectors. Also make it the image's
	active_vectors.

	(gimp_vector_tool_button_release): removed unneeded call to
	gimp_viewable_invalidate_preview(vectors).

	Random cleanup all over the place.
2003-09-12 10:04:37 +00:00
Michael Natterer
7cf4eb467a removed "visible" and all its API...
2003-09-11  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpdrawable.[ch]: removed "visible" and all its API...

	* app/core/gimpitem.[ch]: ...and added it here.

	* app/core/core-enums.[ch]
	* app/core/gimpimage-undo-push.[ch]: changed the drawable
	visibility undo to be an item visibility undo.

	* app/xcf/xcf-load.c
	* app/xcf/xcf-save.c: save it in PROP_VECTORS and changed channel
	and layer loading/saving accordingly.

	* app/core/gimpimage-merge.c
	* app/core/gimpimage-preview.c
	* app/core/gimpimage-projection.c
	* app/core/gimpimage.c
	* app/core/gimplayer-floating-sel.c
	* app/core/gimplayer.c
	* app/core/gimpselection.c
	* app/text/gimptextlayer.c
	* app/gui/channels-commands.c
	* tools/pdbgen/pdb/channel.pdb
	* tools/pdbgen/pdb/layer.pdb: changed accordingly.

	* app/pdb/channel_cmds.c
	* app/pdb/layer_cmds.c: regenerated.

	* app/widgets/gimpdrawabletreeview.[ch]: removed the eye icon...

	* app/widgets/gimpitemtreeview.[ch]: ...and added it here.
2003-09-11 19:52:29 +00:00
Michael Natterer
c7414c12a0 made gimp_item_linked_get_list() and the GimpItemLinkedMask enum public.
2003-09-11  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpitem-linked.[ch]: made gimp_item_linked_get_list()
	and the GimpItemLinkedMask enum public. Hiding them just causes
	code duplication.

	* app/tools/gimpdrawtool.[ch]: added a GList of GimpVectors and a
	GimpMatrix3 transformation matrix for them. Just set them with
	gimp_draw_tool_set_vectors() and gimp_draw_tool_set_transform()
	and chain up in your tools's GimpdrawTool::draw() implementation
	to get the vectors drawn.

	* app/tools/gimpeditselectiontool.c: use
	gimp_item_linked_get_list() instead of traversing image->layers,
	->channels and ->vectors manually to find the linked items.
	Use gimp_draw_tool_set_vectors() and _set_transform() to show
	the linked vectors while moving.

	(gimp_edit_selection_tool_arrow_key): transform all linked items,
	not just the linked layers.
2003-09-11 18:02:39 +00:00
Sven Neumann
8bd0ec7685 added new function gimp_drawable_transform_matrix_flip().
2003-09-11  Sven Neumann  <sven@gimp.org>

	* app/core/gimpdrawable-transform-utils.[ch]: added new function
	gimp_drawable_transform_matrix_flip().

	* app/vectors/gimpstroke.[ch]
	* app/vectors/gimpvectors.c: don't push the complex GimpItem
	transformation API down to GimpStroke. Instead setup the matrices
	in GimpVectors and use a simpler API for GimpStroke.

	* app/vectors/gimpvectors-import.c: changed accordingly.

	* app/vectors/gimpvectors-export.c: close the <path> element.
2003-09-11 01:23:58 +00:00
Michael Natterer
268c4fb1ce added lots more "GimpFooFunc gui_foo_func" vtable entries to the Gimp
2003-09-10  Michael Natterer  <mitch@gimp.org>

	* app/core/gimp.[ch]: added lots more "GimpFooFunc gui_foo_func"
	vtable entries to the Gimp struct and wrapper function for them.
	They cover plug-in menu creation and plug-in progress utilities.

	* app/gui/gui.c: fill in the funtion pointers and dispatch
	to the actual functions.

	* app/pdb/Makefile.am (libapppdb_a_LIBADD): removed most hacks
	since the symbols are referenced within libappgui.a now.

	Removed any GTK+ dependency from the plug-ins/ directory:

	* app/plug-in/Makefile.am (INCLUDES): replaces GTK_CFLAGS by
	GDK_PIXBUF_CFLAGS.

	* app/plug-in/plug-in-progress.c
	* app/plug-in/plug-ins.c: replaced gui function calls to create
	menus and progress bars by calls to the wrappers.

	* app/plug-in/plug-in.c (plug_in_close): check dangling PDB
	dialogs using the new wrapper.

	* app/plug-in/plug-in-def.c
	* app/plug-in/plug-in-rc.c
	* app/plug-in/plug-in-run.c: removed trailing whitespace.
2003-09-10 22:06:45 +00:00
Michael Natterer
b202fb8555 require fontconfig >= 2.2.0 (bug #121752), check for gdk-pixbuf-2.0
2003-09-10  Michael Natterer  <mitch@gimp.org>

	* configure.in: require fontconfig >= 2.2.0 (bug #121752), check
	for gdk-pixbuf-2.0 explicitly, added --enable-gimp-console
	configure option, bumped version number to 1.3.21.

	* app/core/Makefile.am: replaced GTK_CFLAGS by GDK_PIXBUF_CFLAGS.

	* app/Makefile.am: removed -export-dynamic from LDFLAGS since we
	don't export symbols to modules or libraries any more. Reordered
	SUBDIRS a bit.

	If --enable-gimp-console is given, try to build a second binary
	called gimp-console-1.3 which does not link against GTK+.
	Of course this fails badly since core/ui separation is not
	complete yet, but the output of the failing linker is a nice list
	of what needs to be done.
2003-09-10 02:56:01 +00:00
Michael Natterer
284b8f91d7 added "gboolean console_messages" to the Gimp struct and to gimp_new()
2003-09-09  Michael Natterer  <mitch@gimp.org>

	* app/core/gimp.[ch]: added "gboolean console_messages" to the
	Gimp struct and to gimp_new() since plug-in messages go directly
	through gimp_message() now and need to honor "console_messages"
	too.

	* app/app_procs.[ch]: added "gboolean console_messages" to
	app_init() and pass it to gimp_new().

	* app/appenv.h: removed global variable "console_messages".

	* app/main.c: added it to main()'s scope and pass it to app_init().

	* app/errors.c: changed accordingly.
2003-09-09 10:54:20 +00:00
Sven Neumann
9981bdc874 app/core/gimpdrawable-preview.c got rid of compiler warnings.
2003-09-07  Sven Neumann  <sven@gimp.org>

	* app/core/gimpdrawable-preview.c
	* plug-ins/fp/fp_gtk.c: got rid of compiler warnings.
2003-09-07 21:07:29 +00:00
Michael Natterer
aa553d1fa1 image_desaturate() does not exist.
2003-09-07  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpdrawable-desaturate.h: image_desaturate() does not
	exist.
2003-09-07 19:39:10 +00:00
Michael Natterer
7a5f914866 To optimize duplicate and/or wrong image updates away, introduced new
2003-09-06  Michael Natterer  <mitch@gimp.org>

	To optimize duplicate and/or wrong image updates away, introduced
	new policy that a child object must never explicitly update or
	invalidate its parent object (just like the GUI is not updated
	explicitly by the core):

	* app/core/gimpdrawable.[ch]: added new signal
	GimpDrawable::update(). Never update or invalidate the image when
	the drawable is updated or invalidated.

	(gimp_drawable_set_visible): don't gimp_drawable_update() the
	drawable since its pixels have not changed.

	* app/core/gimpimage.[ch]: connect to the "add" and "remove"
	signals of the layers and channels containers. Also connect to the
	"update" and "visibility_changed" signals of all drawables in
	these containers (optimizes away updates issued by drawables which
	are not yet added to the image and updates of the selection
	mask). Also, don't propagate updates to the image if the emitting
	drawable is invisible (optimizes away updates issued by invisible
	drawables).

	(gimp_image_add_layer,channel)
	(gimp_image_remove_layer,channel): don't update the image since
	that's done by our "add" and "remove" handlers now.

	(gimp_image_position_layer,channel): update just the image, not
	the drawable since its pixels have not changed.

	(gimp_image_real_colormap_changed)
	(gimp_image_set_component_visible): always call
	gimp_image_update() *and* gimp_viewable_invalidate_preview() to
	get everything updated, since update and invalidate of images are
	not connected.

	* app/core/gimpimage-undo-push.c (undo_pop_layer,channel): don't
	update the drawable since (a) its pixels don't change and (b) the
	image updates itself upon adding/removing now.

	(undo_pop_layer_mod): replaced gimp_image_update() by
	gimp_drawable_update() (just for consistency with other similar
	functions).

	* app/core/gimplayer.c: connect to "update" of the layer mask and
	issue updates on the layer if the mask update has any effect on
	the projection.
	(gimp_layer_create_mask): don't set the mask's offsets here since
	they may be different when we later add the mask to the layer.

	* app/core/gimplayermask.c (gimp_layer_mask_set_layer): set the
	mask offsets here instead.

	* app/core/gimpchannel.c (gimp_channel_translate): update the
	channel even if push_undo == FALSE.

	* app/paint/gimppaintcore.c (gimp_paint_core_finish)
	* app/tools/gimpinktool.c (ink_finish): invalidate both the
	drawable and the image preview since invalidating the drawable
	doesn't invalidate the image any more.

	* app/text/gimptextlayer.c (gimp_text_layer_render_now): also
	update the new extents of the text layer, not only the old one.

	(gimp_text_layer_render_layout): don't update the drawable since
	gimp_drawable_fill() already updated it.
2003-09-06 20:06:53 +00:00
Michael Natterer
27ad396d10 made my last commit compile. Sorry.
2003-09-06  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpdrawable.c (gimp_drawable_fill): made my last
	commit compile. Sorry.
2003-09-06 15:20:46 +00:00
Michael Natterer
31b754df21 code cleanup. (gimp_drawable_fill): use the INTENSITY() of the passed
2003-09-06  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpdrawable.c: code cleanup.
	(gimp_drawable_fill): use the INTENSITY() of the passed GimpRGB to
	fill GIMP_GRAY drawables, not just the RED_PIX. Cleanup.

	* app/core/gimpimage.c (gimp_image_transform_color):
	added assertion for src_type != GIMP_INDEXED.
2003-09-06 13:41:58 +00:00
Michael Natterer
aaf84a73d2 removed function map_to_color() since it does not belong here and the two
2003-09-05  Michael Natterer  <mitch@gimp.org>

	* app/paint-funcs/paint-funcs.[ch]: removed function map_to_color()
	since it does not belong here and the two places using it look much
	cleaner when doing that stuff themselves.

	* app/core/gimpdrawable-preview.c: cleanup.
	(gimp_drawable_preview_scale): do the indexed palette lookup here
	instead of calling map_to_color().

	* app/core/gimpimage.c (gimp_image_get_color): transform the
	colors here instead of calling map_to_color().

	* app/core/gimpimage.[ch] (gimp_image_get_color): reordered
	parameters src parameters are before dest parameters.
	Made the src color const.

	(gimp_image_transform_color): reordered so src parameters are
	*after* dest parameters (since this function operates on the dest
	image and it makes sense to have the dest parameters
	together). Made the src color const here, too.

	* app/core/gimpdrawable-bucket-fill.c
	* app/core/gimpdrawable.c
	* app/core/gimpimage-contiguous-region.c
	* app/core/gimpimage-projection.c
	* app/core/gimpimagemap.c
	* app/core/gimplayer.c
	* app/core/gimppalette-import.c
	* app/paint/gimpclone.c
	* app/paint/gimppaintcore.c: changed accordingly.

	* app/core/gimpedit.c (gimp_edit_cut,copy): simplified by
	moving the "cropped" variable to a local scope.

	* app/core/gimpimage-mask.c: calling gimp_image_update() followed
	by gimp_viewable_imvalidate_preview(drawable) is equal to calling
	gimp_drawable_update() directly.
2003-09-05 17:44:39 +00:00
Sven Neumann
3a3a57014b code cleanup. Removed the PreviewCache struct that used to wrap TempBuf
2003-09-05  Sven Neumann  <sven@gimp.org>

	* app/core/gimppreviewcache.[ch]: code cleanup. Removed the
	PreviewCache struct that used to wrap TempBuf but didn't add any
	additional information. Actually free the cached temp_buf when
	removing an entry from cache. Free the GSList when invalidating
	the preview cache.
2003-09-05 16:51:51 +00:00
Sven Neumann
5cfcf0486a unref the parasite list before assigning a copy.
2003-09-05  Sven Neumann  <sven@gimp.org>

	* app/core/gimpimage-merge.c (gimp_image_merge_layers): unref
	the parasite list before assigning a copy.
2003-09-05 11:53:04 +00:00
Sven Neumann
8e38f70b96 free the memory allocated for the GimpLut structure. Removed trailing
2003-09-05  Sven Neumann  <sven@gimp.org>

	* app/base/gimplut.[ch] (gimp_lut_free): free the memory allocated
	for the GimpLut structure. Removed trailing whitespace.

	* app/core/gimpbuffer.c: cosmetics.

	* app/core/gimpedit.[ch]: let gimp_edit_cut() and gimp_edit_copy()
	return a pointer to the global cut buffer instead of creating a
	GimpBuffer which was leaked by most callers.

	* app/gui/edit-commands.c: changed accordingly.

	* libgimpwidgets/gimpquerybox.[ch] (string_query_box_ok_callback):
	removed a superfluous g_strdup(); made GimpQueryStringCallback take
	a const gchar* pointer.

	* app/gui/edit-commands.c
	* app/gui/file-commands.c
	* app/gui/palettes-commands.c: changed accordingly.
2003-09-05 01:40:29 +00:00
Michael Natterer
e2e049080b removed gimp_channel_load().
2003-09-04  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpchannel.[ch]: removed gimp_channel_load().

	* app/core/gimpimage-mask.[ch]: removed gimp_image_mask_load()
	and _save().

	* app/core/gimpselection.[ch]: added gimp_selection_load() and
	_save() since these functions are specific to the selection.

	* app/core/gimpimage-qmask.c
	* app/gui/select-commands.c
	* app/widgets/gimpselectioneditor.c
	* tools/pdbgen/pdb/selection.pdb: changed accordingly.

	* app/pdb/selection_cmds.c: regenerated.
2003-09-04 20:18:08 +00:00
Sven Neumann
85adefe7ba app/core/Makefile.am app/core/core-types.h added filter functionality for
2003-09-04  Sven Neumann  <sven@gimp.org>

	* app/core/Makefile.am
	* app/core/core-types.h
	* app/core/gimpcontainer-filter.[ch]: added filter functionality
	for GimpContainers.

	* tools/pdbgen/pdb/brushes.pdb
	* tools/pdbgen/pdb/fonts.pdb
	* tools/pdbgen/pdb/gradients.pdb
	* tools/pdbgen/pdb/palettes.pdb
	* tools/pdbgen/pdb/patterns.pdb: made the gimp_foo_get_list()
	PDB function somewhat useful by adding a filter parameter that
	allows to specify a regular expression to be used on the list.

	* app/pdb/Makefile.am: had to uglify the ugly hack even more :(

	* app/pdb/brushes_cmds.c
	* app/pdb/fonts_cmds.c
	* app/pdb/gradients_cmds.c
	* app/pdb/palettes_cmds.c
	* app/pdb/patterns_cmds.c
	* libgimp/gimpbrushes_pdb.[ch]
	* libgimp/gimpfonts_pdb.[ch]
	* libgimp/gimpgradients_pdb.[ch]
	* libgimp/gimppalettes_pdb.[ch]
	* libgimp/gimppatterns_pdb.[ch]: regenerated.

	* plug-ins/gflare/gflare.c
	* plug-ins/pygimp/gimpmodule.c: changed accordingly.

	* plug-ins/script-fu/scripts/font-map.scm: replaced the font list
	parameter with a more useful regexp filter on the available fonts.
2003-09-04 17:04:36 +00:00
Sven Neumann
e6ab31060c fixed a bug in the implementation. Changed gimp_container_foreach() to
2003-09-04  Sven Neumann  <sven@gimp.org>

	* app/core/gimpcontainer.[ch] (gimp_container_get_name_array):
	fixed a bug in the implementation.
	Changed gimp_container_foreach() to take a const container.
2003-09-04 15:56:11 +00:00
Michael Natterer
ce437b5870 app/core/gimpchannel.[ch] reordered GimpChannel::is_empty() after
2003-09-04  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpchannel.[ch]
	* app/core/gimpselection.c: reordered GimpChannel::is_empty()
	after GimpChannel::boudary() and GimpChannel::bounds() because it
	belongs to that group of functions.
2003-09-04 13:45:31 +00:00
Michael Natterer
3911d511cf app/core/Makefile.am new files split out of gimpchannel.[ch].
2003-09-04  Michael Natterer  <mitch@gimp.org>

	* app/core/Makefile.am
	* app/core/gimpchannel-combine.[ch]: new files split out of
	gimpchannel.[ch].

	* app/core/gimpchannel.[ch]: removed the combine functions here.

	* app/core/gimpdrawable-bucket-fill.c
	* app/core/gimpimage-mask-select.c
	* tools/pdbgen/pdb/channel.pdb: changed #includes accordingly.

	* app/pdb/channel_cmds.c: regenerated.
2003-09-04 12:18:40 +00:00
Sven Neumann
0acc96d9f1 added new function gimp_container_get_name_array().
2003-09-04  Sven Neumann  <sven@gimp.org>

	* app/core/gimpcontainer.[ch]: added new function
	gimp_container_get_name_array().

	* tools/pdbgen/pdb/brushes.pdb
	* tools/pdbgen/pdb/gradients.pdb
	* tools/pdbgen/pdb/palettes.pdb
	* tools/pdbgen/pdb/paths.pdb
	* tools/pdbgen/pdb/patterns.pdb: use the new GimpContainer function
	instead of duplicating this code over and over again.

	* app/pdb/brushes_cmds.c
	* app/pdb/gradients_cmds.c
	* app/pdb/palettes_cmds.c
	* app/pdb/paths_cmds.c
	* app/pdb/patterns_cmds.c
	* libgimp/gimpgradients_pdb.c: regenerated.

	* tools/pdbgen/Makefile.am
	* tools/pdbgen/pdb/fonts.pdb: added new file that defines a simple
	PDB API for fonts.

	* tools/pdbgen/groups.pl
	* app/pdb/Makefile.am
	* app/pdb/fonts_cmds.c
	* app/pdb/internal_procs.c
	* libgimp/gimp_pdb.h
	* libgimp/gimpfonts_pdb.[ch]: (re)generated.
2003-09-04 12:02:31 +00:00
Michael Natterer
a33f06e7e5 removed the _push_undo() and _invalidate() wrappers.
2003-09-04  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpimage-mask.[ch]: removed the _push_undo() and
	_invalidate() wrappers.

	* app/core/gimpimage-mask-select.c
	* app/core/gimpimage-undo-push.c
	* app/core/gimplayer-floating-sel.c
	* app/tools/gimptransformtool.c: changed accordingly.
2003-09-04 11:44:57 +00:00
Michael Natterer
f9f5089f91 added new pure virtual function GimpDrawable::invalidate_boundary().
2003-09-04  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpdrawable.[ch]: added new pure virtual function
	GimpDrawable::invalidate_boundary().

	* app/core/gimplayer.[ch]: implement it and removed public
	function gimp_layer_invalidate_boundary().

	* app/core/gimpchannel.[ch]: implement it.

	* app/core/gimpselection.[ch]: implement it and removed public
	function gimp_selection_invalidate().

	* app/core/gimpimage-mask.c (gimp_image_mask_invalidate)
	* app/core/gimpimage-undo-push.c
	* app/core/gimpimage.c
	* app/core/gimplayer-floating-sel.c
	* app/text/gimptextlayer.c: changed accordingly.

	* app/core/gimpchannel.[ch]: made gimp_channel_push_undo() a
	public function and made it call
	gimp_drawable_invalidate_boundary(). Added undo_desc strings for
	all undo pushing functions to GimpChannelClass.

	* app/core/gimpselection.[ch]: removed gimp_selection_push_undo()
	since after the change above it was identical to
	gimp_channel_push_undo().  Don't push any undo here since
	upchaining does the right thing now.  Override GimpChannelClass'
	undo_desc strings to say "Selection".

	* app/core/gimpimage-mask.c (gimp_image_mask_push_undo): changed
	accordingly.
2003-09-04 11:33:06 +00:00
Sven Neumann
2f6b6b5886 lookup the vectors by name instead of always using the active path (bug
2003-09-04  Sven Neumann  <sven@gimp.org>

	* tools/pdbgen/pdb/paths.pdb (path_get_points): lookup the vectors
	by name instead of always using the active path (bug #121401).
	Made all functions use the convenience function
	gimp_image_get_vectors_by_name() instead of the GimpContainer API.

	* app/pdb/paths_cmds.c: regenerated.

	* app/core/gimpimage.c: simplified the gimp_image_get_foo_by_name
	functions by making use of gimp_container_get_child_by_name().
2003-09-04 10:42:21 +00:00
Michael Natterer
008e3e208c removed the _bounds() and _boundary() wrappers.
2003-09-03  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpimage-mask.[ch]: removed the _bounds() and
	_boundary() wrappers.

	* app/core/gimpdrawable.c
	* app/display/gimpdisplayshell-selection.c
	* app/gui/image-commands.c
	* app/gui/layers-commands.c
	* app/tools/gimpcroptool.c
	* app/tools/gimpeditselectiontool.c
	* app/tools/gimptransformtool.c
	* app/xcf/xcf-save.c: changed accordingly.
2003-09-03 17:17:18 +00:00
Michael Natterer
e837849934 removed the _value() and _is_empty() wrappers.
2003-09-03  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpimage-mask.[ch]: removed the _value() and
	_is_empty() wrappers.

	* app/display/gimpdisplayshell.[ch]: removed
	gimp_display_shell_mask_value() since it is not used.

	* app/core/gimpdrawable-blend.c
	* app/core/gimpdrawable-transform.c
	* app/core/gimpedit.c
	* app/core/gimpimage.c
	* app/core/gimplayer.c
	* app/gui/image-menu.c
	* app/gui/vectors-menu.c
	* app/tools/gimpclonetool.c
	* app/tools/gimpfliptool.c
	* app/tools/gimpinktool.c
	* app/tools/gimpmovetool.c
	* app/tools/gimpselectiontool.c
	* app/tools/gimptransformtool.c
	* tools/pdbgen/pdb/misc_tools.pdb: changed accordingly.

	* app/pdb/misc_tools_cmds.c: regenerated.
2003-09-03 15:13:19 +00:00
Michael Natterer
1c04c3f601 removed the _clear() wrapper.
2003-09-03  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpimage-mask-select.[ch]: removed the _clear() wrapper.

	* app/core/gimpimage-mask.[ch]: changed accordingly. Added
	"const gchar *undo desc" parameter to
	gimp_image_mask_select_vectors().

	* app/core/gimpimage-qmask.c
	* app/gui/vectors-commands.c
	* app/text/gimptext-compat.c
	* app/tools/gimpbucketfilltool.c
	* app/tools/gimpfreeselecttool.c
	* app/tools/gimpfuzzyselecttool.c
	* app/tools/gimprectselecttool.c
	* app/widgets/gimpvectorstreeview.c
	* tools/pdbgen/pdb/paths.pdb
	* tools/pdbgen/pdb/selection.pdb: changed accordingly. Also
	replaced some wrappers which still exist.

	* tools/pdbgen/pdb/paths.pdb: stroke using gimp_item_stroke().

	* app/pdb/paths_cmds.c
	* app/pdb/selection_cmds.c: regenerated.
2003-09-03 14:22:38 +00:00
Michael Natterer
6ce4e7102c removed the feather(), sharpen(), all(), invert(), border(), grow() and
2003-09-03  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpimage-mask.[ch]: removed the feather(), sharpen(),
	all(), invert(), border(), grow() and shrink() wrappers.

	* app/core/gimpselection.[ch]: changed gimp_selection_invalidate()
	and gimp_selection_push_undo() to take GimpChannel parameters, not
	GimpSelection ones. They will be made virtual GimpChannel
	functions anyway.

	* app/core/gimpedit.c
	* app/gui/select-commands.c
	* app/widgets/gimpselectioneditor.c
	* tools/pdbgen/pdb/selection.pdb: changed accordingly.

	* app/pdb/selection_cmds.c: regenerated.
2003-09-03 13:37:49 +00:00
Michael Natterer
f47b758f32 removed the _translate() and _stroke() wrappers.
2003-09-03  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpimage-mask.[ch]: removed the _translate()
	and _stroke() wrappers.

	* app/gui/edit-commands.c
	* app/tools/gimpeditselectiontool.c
	* app/widgets/gimpselectioneditor.c
	* tools/pdbgen/pdb/edit.pdb
	* tools/pdbgen/pdb/selection.pdb: changed accordingly.

	* app/pdb/edit_cmds.c
	* app/pdb/selection_cmds.c: regenerated.

	* app/core/gimpselection.c: implement GimpItem::scale(), resize(),
	flip() and rotate().

	* app/core/gimpimage-crop.c
	* app/core/gimpimage-flip.c
	* app/core/gimpimage-resize.c
	* app/core/gimpimage-rotate.c
	* app/core/gimpimage-scale.c: no need to call
	gimp_image_mask_invalidate() and/or gimp_image_mask_changed()
	manually after scale, resize, flip and rotate, since GimpSelection
	updates itself correctly.
2003-09-03 10:19:47 +00:00
Michael Natterer
420d17d286 made all functions which push an undo step virtual and added them all as
2003-09-03  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpchannel.[ch]: made all functions which push an
	undo step virtual and added them all as default implementations.

	* app/core/Makefile.am
	* app/core/core-types.h
	* app/core/gimpselection.[ch]: new object which is a GimpChannel
	subclass and implements all of its virtual functions, pushes
	an image_mask undo and chains up with "push_undo = FALSE".

	* app/core/gimpimage-mask.[ch]: made most functions simple
	wrappers like gimp_channel_invert(gimp_image_get_mask(gimage));
	so the API stays the same for now.

	* app/core/gimpimage.[ch]: create a GimpSelection object
	as gimage->selection_mask. Removed "gboolean mask_stroking"
	since it is in GimpSelection now.

	* app/xcf/xcf-load.c (xcf_load_channel_props): added an evil hack
	which turns a GimpChannel into a GimpSelection once we figured the
	loaded channel is the selection.

	* app/core/gimplayer.c (gimp_layer_create_mask):
	gimp_channel_clear() takes an additional "const gchar *undo_desc"
	parameter now.

	* app/core/gimpscanconvert.c (gimp_scan_convert_to_channel): set
	mask->bounds_known to FALSE before returning the new channel

	* app/tools/gimpiscissorstool.c (iscissors_convert): no need to
	call gimp_channel_invalidate_boundary() on the channel returned by
	the above function.

	* app/core/gimpchannel.[ch]: removed
	gimp_channel_invalidate_boundary() since it is no longer needed.
2003-09-02 23:07:40 +00:00
Sven Neumann
e924a1372b app/text/gimptextlayout-render.c (gimp_text_layout_render)
2003-09-02  Sven Neumann  <sven@gimp.org>

	* app/text/gimptextlayout-render.c (gimp_text_layout_render)
	* app/widgets/gimpfontselection.c (gimp_font_selection_set_fontname)
	* app/widgets/gimptexteditor.c (gimp_text_editor_new)
	* app/gui/file-save-dialog.c (file_save_ok_callback): plugged
	some memleaks found using memprof.

	* app/vectors/gimpvectors.c: implemented the finalize method.

	* app/vectors/gimpstroke.c: minor code cleanup.

	* app/core/gimpdrawable.c (gimp_drawable_finalize)
	* app/core/gimplayer.c (gimp_layer_finalize)
	* app/core/gimpparasitelist.c (gimp_parasite_list_finalize):
	removed useless assertions.
2003-09-02 13:43:26 +00:00
Michael Natterer
9dcece1416 silently ignore a non-existing modulerc.
2003-09-02  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpmodules.c (gimp_modules_load): silently ignore a
	non-existing modulerc.
2003-09-02 13:24:43 +00:00
Michael Natterer
73b1ed03c6 app/config/gimpcoreconfig.[ch] removed "module-load-inhibit" property
2003-09-02  Michael Natterer  <mitch@gimp.org>

	* app/config/gimpcoreconfig.[ch]
	* app/config/gimprc-blurbs.h: removed "module-load-inhibit"
	property since the GimpModuleDB stores this value.

	* app/config/gimpconfigwriter.[ch] (gimp_config_writer_new):
	renamed parameter "gboolean safe" to "gboolean atomic".

	* app/core/gimpmodules.c: ported modulerc parsing/writing to
	GimpScanner and GimpConfigWriter (apparently it was forgotten
	during gimprc cleanup). Makes keeping modules from being loaded
	work again. Reported by Michael Schumacher on #gimp.
2003-09-02 12:55:38 +00:00