Commit graph

2311 commits

Author SHA1 Message Date
Sven Neumann
64e893e62f there's no need to make GTypeInfo and GInterfaceInfo structs static.
2006-10-18  Sven Neumann  <sven@gimp.org>

        * [lots of files]: there's no need to make GTypeInfo and
        GInterfaceInfo structs static.
2006-10-18 13:17:50 +00:00
Michael Natterer
b72ffb8b49 removed the "floating" flag and the floating/sink API.
2006-10-16  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpitem.[ch]: removed the "floating" flag and the
	floating/sink API.

	(gimp_item_init): call g_object_force_floating() instead.

	* app/core/gimpimage.c
	* app/core/gimplayer.c
	* app/xcf/xcf-load.c
	* tools/pdbgen/pdb/drawable.pdb
	* tools/pdbgen/pdb/image.pdb: use combinations of
	g_object_ref_sink() and g_object_unref() instead of
	gimp_item_sink(). Use g_object_is_floating() instead of
	gimp_item_is_floating().

	* app/pdb/drawable_cmds.c
	* app/pdb/image_cmds.c: regenerated.
2006-10-16 17:09:17 +00:00
Michael Natterer
1e5f8625a4 don't include "libgimpbase/gimplimits.h"
2006-10-14  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpgrid.c: don't include "libgimpbase/gimplimits.h"

	* app/core/gimpimage-undo-push.c: one more g_message() converted
	to gimp_message().
2006-10-14 16:20:46 +00:00
Michael Natterer
1ed8dd4f53 app/actions/data-commands.c app/actions/documents-commands.c
2006-10-09  Michael Natterer  <mitch@gimp.org>

	* app/actions/data-commands.c
	* app/actions/documents-commands.c
	* app/actions/drawable-commands.c
	* app/actions/gradients-commands.c
	* app/actions/image-commands.c
	* app/actions/layers-commands.c
	* app/actions/palettes-commands.c
	* app/actions/select-commands.c
	* app/actions/vectors-commands.c
	* app/core/gimp-contexts.c
	* app/core/gimp-documents.c
	* app/core/gimp-edit.c
	* app/core/gimp-modules.c
	* app/core/gimp-parasites.c
	* app/core/gimp-templates.c
	* app/core/gimp-units.c
	* app/core/gimpchannel.c
	* app/core/gimpdatafactory.[ch]
	* app/core/gimpdrawable-bucket-fill.c
	* app/core/gimpimage-merge.c
	* app/core/gimpimagefile.c
	* app/core/gimplayer-floating-sel.c
	* app/core/gimppdbprogress.c
	* app/core/gimpselection.c
	* app/dialogs/palette-import-dialog.c
	* app/display/gimpdisplayshell-dnd.c
	* app/gui/session.c
	* app/gui/themes.c
	* app/pdb/gimpprocedure.c
	* app/plug-in/gimpplugin-message.c
	* app/plug-in/gimpplugin.c
	* app/plug-in/gimppluginmanager-file.c
	* app/plug-in/gimppluginmanager.c
	* app/text/gimptextlayer-xcf.c
	* app/text/gimptextlayer.c
	* app/widgets/gimpcontrollers.c
	* app/widgets/gimpdataeditor.c
	* app/widgets/gimpdevices.c
	* app/widgets/gimpdnd-xds.c
	* app/widgets/gimplayertreeview.c
	* app/widgets/gimptoolbox-dnd.c
	* app/widgets/gimptoolbox.c
	* app/widgets/gimpuimanager.c
	* app/widgets/gimpvectorstreeview.c
	* tools/pdbgen/pdb/brush.pdb
	* tools/pdbgen/pdb/gradient.pdb
	* tools/pdbgen/pdb/palette.pdb: convert lots of g_message() to
	gimp_message(). Make sure we never pass unknown strings (like
	error->message) to printf-like functions directly; run them
	thorugh "%s" instead. Don't translate some messages which should
	never happen.

	* app/pdb/brush_cmds.c
	* app/pdb/gradient_cmds.c
	* app/pdb/palette_cmds.c: regenerated.
2006-10-09 18:49:15 +00:00
Michael Natterer
f5afb754a5 Added message severities and make sure all messages are routed through a
2006-10-09  Michael Natterer  <mitch@gimp.org>

	Added message severities and make sure all messages are routed
	through a central function, so redirecting to the error console or
	stderr work again:

	* app/core/core-enums.[ch]: added enum GimpMessageSeverity { INFO,
	WARNING, ERROR }.

	* app/core/gimp.[ch] (gimp_message)
	(gimp_message_valist): added severity parameter. Changed
	"GimpProgress *progress" parameter to "GObject *handler", where
	"handler" can be either a GimpProgress, a GtkWidget or NULL.

	* app/core/gimp-gui.[ch] (gimp_show_message): ditto. Honor
	--console-messages again. Always dispatch to the GUI message
	handler first if it exists.

	* app/gui/gui-message.[ch]: pass severity parameters around.

	(gui_message_error_dialog): if "handler" is a progress, dispatch
	the message to it first. If it is a widget (and *not* a progress),
	use a GtkMessageDialog on top of that widget's toplevel. Fall
	back to the usual GimpErrorDialog otherwise.

	* app/core/gimpprogress.[ch] (gimp_progress_message): added
	severity parameter. Also added boolean return value to the virtual
	function so it can decide to fail if it can't handle the message.

	* app/display/gimpdisplay.c: implement GimpProgress::message() and
	redirect the message to GimpDisplayShell.

	* app/display/gimpdisplayshell-progress.c: implement
	GimpProgress::message() and redirect the message to GimpStatusbar
	if it is not an error and if the status bar is visible.

	* app/display/gimpstatusbar.[ch]: implement GimpProgress::message(),
	but fail on messages that contain a newline. Show the right icons
	for the message severities (work in progress).

	* app/display/gimpdisplayshell.[ch]: removed
	gimp_display_shell_message() and its _valist() variant.

	* app/widgets/gimperrorconsole.[ch]: show the right icons for the
	message severities.

	* app/widgets/gimpthumbbox.c (gimp_thumb_box_progress_message):
	return TRUE to swallow all messages.

	* app/widgets/gimpwidgets-utils.[ch]: removed
	gimp_show_message_dialog(). Added gimp_get_message_stock_id().

	* app/errors.c
	* app/actions/edit-commands.c
	* app/actions/error-console-commands.c
	* app/actions/file-commands.c
	* app/actions/select-commands.c
	* app/actions/text-editor-commands.c
	* app/actions/vectors-commands.c
	* app/core/gimpimage-convert.c
	* app/core/gimpimagefile.c
	* app/dialogs/convert-dialog.c
	* app/dialogs/file-open-dialog.c
	* app/dialogs/file-open-location-dialog.c
	* app/dialogs/file-save-dialog.c
	* app/dialogs/palette-import-dialog.c
	* app/dialogs/stroke-dialog.c
	* app/display/gimpdisplayshell-dnd.c
	* app/pdb/gimppdb.c
	* app/plug-in/gimpplugin.c
	* app/tools/gimpimagemaptool.c
	* app/tools/gimptool.c
	* app/tools/gimpvectortool.c
	* app/widgets/gimpactionview.c
	* app/widgets/gimpcontrollerlist.c
	* app/widgets/gimppdbdialog.c
	* app/widgets/gimpvectorstreeview.c
	* app/xcf/xcf-load.c
	* app/xcf/xcf-save.c
	* app/xcf/xcf.c
	* tools/pdbgen/pdb/brush.pdb
	* tools/pdbgen/pdb/gradient.pdb
	* tools/pdbgen/pdb/image.pdb
	* tools/pdbgen/pdb/message.pdb
	* tools/pdbgen/pdb/palette.pdb: added severity parameter to
	gimp_message() calls. Convert all calls to
	gimp_show_message_dialog() and gimp_display_shell_message() to
	gimp_message(). Also converted some more g_message() calls.

	* app/pdb/brush_cmds.c
	* app/pdb/gradient_cmds.c
	* app/pdb/image_cmds.c
	* app/pdb/message_cmds.c
	* app/pdb/palette_cmds.c: regenerated.
2006-10-09 08:17:22 +00:00
Michael Natterer
544d679e55 app/core/gimpbrushgenerated-load.c app/core/gimpgradient-load.c
2006-10-04  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpbrushgenerated-load.c
	* app/core/gimpgradient-load.c
	* app/core/gimppalette-load.c
	* app/core/gimppalette-save.c: read and write all files in binary
	mode. Improved parser error messages (added line numbers). Minor
	changes to simply read DOS files instead of barfing on them.
2006-10-04 17:50:35 +00:00
William Skaggs
0a17546354 Bill Skaggs <weskaggs@primate.ucdavis.edu>
* app/core/gimpimage-convert.c
	(median_cut_pass2_nodestruct_dither_rgb): adjust alpha-dithering
	and make code more readable; fixes bug #358851 as suggested
	by Tor Lillqvist.
2006-10-03 19:07:48 +00:00
Michael Natterer
c6ae0a7918 added gimp_palette_load_detect_format().
2006-10-03  Michael Natterer  <mitch@gimp.org>

	* app/core/gimppalette-load.[ch]: added
	gimp_palette_load_detect_format().

	* app/core/gimppalette-import.c: removed it here. Also removed all
	file I/O related includes.
2006-10-03 14:54:07 +00:00
Michael Natterer
92f21409b0 added functions to load ACT, RIFF and PSP palette files but don't use them
2006-10-03  Michael Natterer  <mitch@gimp.org>

	* app/core/gimppalette-load.[ch]: added functions to load ACT,
	RIFF and PSP palette files but don't use them as data file
	loaders (yet?)

	* app/core/gimppalette-import.c (gimp_palette_import_from_file):
	use the functions instead of implementing all formats inline.
2006-10-03 14:31:31 +00:00
Michael Natterer
75eed97620 app/core/Makefile.am app/core/gimppalette-load.[ch] new files.
2006-10-03  Michael Natterer  <mitch@gimp.org>

	* app/core/Makefile.am
	* app/core/gimppalette-load.[ch]
	* app/core/gimppalette-save.[ch]: new files.

	* app/core/gimppalette.[ch]: removed loading and saving code here.

	* app/core/gimp.c
	* app/core/gimppalette-import.c: changed accordingly.
2006-10-03 13:22:12 +00:00
Michael Natterer
843b55537e renamed gimp_gradient_save_as_pov() to gimp_gradient_save_pov().
2006-10-03  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpgradient-save.[ch]: renamed
	gimp_gradient_save_as_pov() to gimp_gradient_save_pov().

	* app/actions/gradients-commands.c
	(gradients_save_as_pov_ray_response): changed accordingly.
2006-10-03 12:38:36 +00:00
Michael Natterer
c42e814794 app/core/Makefile.am app/core/gimpbrushgenerated-load.[ch]
2006-10-03  Michael Natterer  <mitch@gimp.org>

	* app/core/Makefile.am
	* app/core/gimpbrushgenerated-load.[ch]
	* app/core/gimpbrushgenerated-save.[ch]
	* app/core/gimpbrushpipe-load.[ch]: new files.

	* app/core/gimpbrushgenerated.[ch]
	* app/core/gimpbrushpipe.[ch]: removed loading and saving code here.

	* app/core/gimp.c: changed accordingly.
2006-10-03 12:29:07 +00:00
Michael Natterer
d9cf806b61 app/core/Makefile.am new files.
2006-10-03  Michael Natterer  <mitch@gimp.org>

	* app/core/Makefile.am
	* app/core/gimppattern-load.[ch]: new files.

	* app/core/gimppattern.[ch]: removed the loading stuff here.

	* app/core/gimp.c: changed accordingly.
2006-10-03 11:37:37 +00:00
Michael Natterer
3df625b7ff keep the file extension defines here, just as we do it for brushes.
2006-10-03  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpgradient-load.h: keep the file extension defines
	here, just as we do it for brushes.

	* app/core/gimpgradient.h: removed them here.

	* app/core/gimpgradient.c: changed accordingly.
2006-10-03 11:10:20 +00:00
Sven Neumann
bd0ddb5b40 applied patch from David Gowers (bug #359175) and did some further
2006-10-03  Sven Neumann  <sven@gimp.org>

	* app/core/gimpimage-convert.[ch]
	(gimp_image_convert_set_dither_matrix): applied patch from David
	Gowers (bug #359175) and did some further cleanup.
2006-10-03 09:29:30 +00:00
Sven Neumann
afd2ab683f added gimp_message_valist().
2006-09-28  Sven Neumann  <sven@gimp.org>

	* app/core/gimp.[ch]: added gimp_message_valist().
2006-09-28 10:47:44 +00:00
Sven Neumann
947fa0fa8c formatting.
2006-09-28  Sven Neumann  <sven@gimp.org>

	* app/core/gimp.h: formatting.

	* app/tools/gimptool.c (gimp_tool_message): use gimp_message() if
	the statusbar is not visible.
2006-09-28 10:11:17 +00:00
Sven Neumann
81a5ae7d83 reverted previous change; copy_region() is needed here.
2006-09-28  Sven Neumann  <sven@gimp.org>

	* app/core/gimpimagemap.c (gimp_image_map_do): reverted previous
	change; copy_region() is needed here.
2006-09-27 22:24:56 +00:00
Sven Neumann
f8ac7e7876 removed a redundant call to copy_region().
2006-09-27  Sven Neumann  <sven@gimp.org>

        * app/core/gimpimagemap.c (gimp_image_map_do): removed a
redundant
        call to copy_region().
2006-09-27 21:27:27 +00:00
William Skaggs
364e1ba227 Bill Skaggs <weskaggs@primate.ucdavis.edu>
* app/core/gimpdrawable-transform.c: apply patch from
	Geert Jordaens to improve Lanczos performance;
	probably fixes bug #355178.
2006-09-24 16:45:12 +00:00
Michael Natterer
8e04fb1b82 Some more proper typing instead of using pointers:
2006-09-24  Michael Natterer  <mitch@gimp.org>

	Some more proper typing instead of using pointers:

	* libgimpconfig/gimpconfig-params.h: added macro
	GIMP_CONFIG_INSTALL_PROP_BOXED().

	* app/core/gimpcontainer.c: made "children-type" a GParamSpecGType.

	* app/widgets/gimpcontrollerinfo.c: made "mapping" a
	GParamSpecBoxed and use g_hash_table_unref() instead of destroy().

	* app/widgets/gimppdbdialog.c: made "select-type" a GParamSpecGType.

	* app/dialogs/module-dialog.c
	* app/widgets/gimpcolordisplayeditor.c
	* app/widgets/gimpcontrollerlist.c
	* app/widgets/gimpfileprocview.c
	* app/widgets/gimppluginaction.c: use proper object types, boxed
	types and G_TYPE_GTYPE instead of G_TYPE_POINTER for various list
	stores and signal signatues.
2006-09-24 12:20:22 +00:00
Michael Natterer
4f415c13e4 don't restore the entire affected area of the drawable here (it can take
2006-09-24  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpimagemap.c (gimp_image_map_apply): don't restore
	the entire affected area of the drawable here (it can take *long*
	on large selections).

	(gimp_image_map_do): do it here instead, as we idle-process the
	chunks. Slightly reduces overall speed but improves responsiveness
	*massively*

	(gimp_image_map_get_color_at): fixed to honor undo tiles offset
	and be readable.

	(gimp_image_map_commit)
	(gimp_image_map_clear)
	(gimp_image_map_clear): don't unref the image_map here. Objects
	don't memory manage themselves.

	Cleaned up the entire file and got rid of all sorts of uglyness.

	* app/tools/gimpimagemaptool.c: unref the image_map here.

	* app/tools/gimpcurvestool.c (curves_graph_events): update the
	preview on button_press when we are dragging a free curve.
2006-09-24 10:29:21 +00:00
Sven Neumann
a69c1ff174 app/gui/gui-message.c moved utility function to gimpwidgets-utils.
2006-09-22  Sven Neumann  <sven@gimp.org>

	* app/gui/gui-message.c
	* app/widgets/gimpwidgets-utils.[ch]: moved utility function to
	gimpwidgets-utils.

	* app/core/gimp-gui.[ch]
	* app/gui/gui-vtable.c: added a progress parameter to
	gimp_pdb_dialog_new() and make the dialog transient to the progress
	window.

	* tools/pdbgen/pdb/brush_select.pdb
	* tools/pdbgen/pdb/font_select.pdb
	* tools/pdbgen/pdb/gradient_select.pdb
	* tools/pdbgen/pdb/palette_select.pdb
	* tools/pdbgen/pdb/pattern_select.pdb: pass progress to
	gimp_pdb_dialog_new().

	* app/pdb/brush_select_cmds.c
	* app/pdb/font_select_cmds.c
	* app/pdb/gradient_select_cmds.c
	* app/pdb/palette_select_cmds.c
	* app/pdb/pattern_select_cmds.c: regenerated.

	* libgimp/gimpselectbutton.c: cosmetics.
2006-09-22 09:24:41 +00:00
Michael Natterer
ca6afdf530 added gimp_gradient_flatten() which creates a copy of a gradient with all
2006-09-20  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpgradient.[ch]: added gimp_gradient_flatten() which
	creates a copy of a gradient with all colors that refer to FG or
	BG turned into constant colors.

	* app/core/gimpdrawable-blend.c (gradient_fill_region): create a
	flat copy of the gradient if it contains FG/BG colors. Avoids
	gazillions of context color lookups while rendering, depending on
	gradient and blend complexity.
2006-09-19 22:17:06 +00:00
Sven Neumann
3dc50859a7 don't leak the message.
2006-09-19  Sven Neumann  <sven@gimp.org>

	* app/core/gimp.c (gimp_message): don't leak the message.

	* app/file/file-utils.c (file_utils_find_proc): clear the error
	if we found a file procedure by matching the file extension.

	* plug-ins/common/png.c (load_image): don't call gimp_quit() if
	opening the file fails but return with GIMP_PDB_EXECUTION_ERROR.
2006-09-19 14:26:48 +00:00
Sven Neumann
152af52bfe do not migrate toolrc and the tool-options folder.
2006-09-17  Sven Neumann  <sven@gimp.org>

	* app/core/gimp-user-install.c (user_install_migrate_files):
	do not migrate toolrc and the tool-options folder.
2006-09-17 19:29:07 +00:00
Sven Neumann
a03e14af1a app/composite/gimp-composite-generic.c app/core/gimpimage-convert.c
2006-09-12  Sven Neumann  <sven@gimp.org>

	* app/composite/gimp-composite-generic.c
	* app/core/gimpimage-convert.c
	* app/actions/view-actions.c
	* app/dialogs/grid-dialog.c
	* app/dialogs/offset-dialog.c
	* app/dialogs/palette-import-dialog.c
	* app/display/gimpnavigationeditor.c
	* app/tools/gimpiscissorstool.c
	* app/widgets/gimptoolbox-image-area.c
	* plug-ins/common/CML_explorer.c
	* plug-ins/common/apply_lens.c
	* plug-ins/common/cubism.c
	* plug-ins/common/curve_bend.c
	* plug-ins/common/exchange.c
	* plug-ins/common/fp.c
	* plug-ins/common/gif.c
	* plug-ins/common/iwarp.c
	* plug-ins/common/laplace.c
	* plug-ins/common/mapcolor.c
	* plug-ins/common/nlfilt.c
	* plug-ins/common/nova.c
	* plug-ins/common/psp.c
	* plug-ins/common/randomize.c
	* plug-ins/common/sparkle.c
	* plug-ins/common/tga.c
	* plug-ins/common/threshold_alpha.c
	* plug-ins/common/unsharp.c
	* plug-ins/common/vpropagate.c
	* plug-ins/gfig/gfig-dialog.c
	* plug-ins/gflare/gflare.c
	* plug-ins/ifscompose/ifscompose.c: removed unused macros.
2006-09-12 11:46:10 +00:00
Sven Neumann
b22ab6693e use "Solid color" as description for GIMP_STROKE_STYLE_SOLID.
2006-09-11  Sven Neumann  <sven@gimp.org>

	* app/core/core-enums.[ch]: use "Solid color" as description for
	GIMP_STROKE_STYLE_SOLID.

	* app/widgets/gimpstrokeeditor.c: moved "style" control further up
	to make it less ambiguous (bug #309740).

	* app/dialogs/stroke-dialog.c (stroke_dialog_new): pass the context
	to gimp_container_combo_box_new().
2006-09-11 14:17:43 +00:00
Sven Neumann
188bbe5d37 app/app_procs.[ch] initialize the error subsystem after the gimp object
2006-09-09  Sven Neumann  <sven@gimp.org>

	* app/app_procs.[ch]
	* app/main.c: initialize the error subsystem after the gimp
object
	has been created.

	* app/errors.[ch]: store a reference to the gimp object (eek)
and
	use it to call gimp_gui_ungrab() before g_on_error_query().

	* app/core/gimp-gui.[ch]
	* app/gui/gui-vtable.c: added gimp_gui_ungrab().
2006-09-09 16:36:15 +00:00
Sven Neumann
2426755ba9 added function gimp_get_tool_info().
2006-09-08  Sven Neumann  <sven@gimp.org>

	* app/core/gimp.[ch]: added function gimp_get_tool_info().

	* app/actions/tools-commands.c
	* app/actions/vectors-commands.c
	* app/tools/gimppainttool.c
	* app/widgets/gimpdrawabletreeview.c
	* app/widgets/gimpselectioneditor.c
	* app/widgets/gimptoolbox.c: use the new function instead of poking
	into gimp->tool_info_list.

	* app/display/gimpdisplayshell-callbacks.c
	* app/display/gimpdisplayshell.[ch]: moved code that deals with
	the space key into separate functions. Added space_shaded_tool
	to GimpDisplayShell instead of using a static variable for it.

	* app/tools/tool_manager.c: removed unused include.
2006-09-08 13:42:00 +00:00
Hans Breuer
ccb25e3798 updated
2006-09-08  Hans Breuer  <hans@breuer.org>

	* **/makefile.msc app/gimpcore.def : updated

	* app/paint/gimpperspectiveclone.c : error C2057: expected constant
	expression. Stack allocation of dynamic sized arrays is afaik a GCC
	extension, use g_alloca() instead.
2006-09-08 11:45:06 +00:00
Hans Breuer
ad6829dde0 include "gimpcontext.h" for gimp_context_set_gradient()
2006-09-03  Hans Breuer  <hans@breuer.org>

	* app/core/gimp-gradients.c : include "gimpcontext.h" for
	gimp_context_set_gradient()

	* **/makefile.msc app/gimpcore.def : updated
2006-09-03 12:39:24 +00:00
Michael Natterer
d999499640 This commit *should* fix the remaining missing contexts for preview
2006-09-01  Michael Natterer  <mitch@gimp.org>

	This commit *should* fix the remaining missing contexts for
	preview creation. Eek at me if it doesn't.

	* app/core/gimpundo.c: pass a struct containing a context to
	gimp_undo_create_preview_idle().

	* app/widgets/gimpundoeditor.[ch]: implement
	GimpDocked::set_context(), remember the context and use it for the
	undo treeview.

	* app/widgets/gimpviewrenderergradient.c: disable debugging output.
2006-09-01 21:18:03 +00:00
Sven Neumann
f596bb1a1b disallow NULL context and removed code that used to deal with this case.
2006-09-01  Sven Neumann  <sven@gimp.org>

	* app/core/gimpgradient.c: disallow NULL context and removed code
	that used to deal with this case.
2006-09-01 13:17:55 +00:00
Sven Neumann
b43b5be15c use sizeof() instead of hardcoding the buffer size.
2006-09-01  Sven Neumann  <sven@gimp.org>

	* app/core/gimpgradient-load.c (gimp_gradient_load): use sizeof()
	instead of hardcoding the buffer size.
2006-09-01 08:34:08 +00:00
Michael Natterer
80f3e5ac6b Extended the GIMP Gradient file format to contain the endpoint color types
2006-09-01  Michael Natterer  <mitch@gimp.org>

	Extended the GIMP Gradient file format to contain the endpoint
	color types for each segment (this is backward compatible because
	old parsers just ignore excess fields at the end of segment
	lines). Fixes bug #128367.

	* app/core/gimpgradient-load.c: optionally load two more fields
	per segment line which contain the color types.

	* app/core/gimpgradient-save.c: save the color types at the end of
	the segment lines.
2006-08-31 23:57:47 +00:00
Michael Natterer
663b44c988 new funtion which returns TRUE if any of the gradient's segments refer to
2006-08-31  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpgradient.[ch] (gimp_gradient_has_fg_bg_segments):
	new funtion which returns TRUE if any of the gradient's segments
	refer to FG of BG.

	(gimp_gradient_segment_get_left_color_type)
	(gimp_gradient_segment_set_left_color_type)
	(gimp_gradient_segment_get_right_color_type)
	(gimp_gradient_segment_set_right_color_type): new accessors for
	the new GimpGradientColor stuff.

	(gimp_gradient_segment_split_midpoint)
	(gimp_gradient_segment_range_flip)
	(gimp_gradient_segment_range_replicate): split, flip and replicate
	the segments' color_types too.

	* app/widgets/gimpviewrenderer.[ch]: added virtual functions
	::set_context() and ::invalidate() and call them.

	* app/widgets/gimpviewrenderergradient.[ch]: implement the virtual
	functions. Connect to the context's "foreground-changed" and
	"background-changed" signals if the gradient contains FG or BG
	colors and invalidate the renderer whenever they change.

	* app/core/gimp-gradients.c: removed signal connections which
	invalidated the gradients on FG/BG changes of the user context.
2006-08-31 18:47:13 +00:00
Michael Natterer
b53aa45a76 Changed GimpViewable preview rendering to have a context to get
2006-08-29  Michael Natterer  <mitch@gimp.org>

	Changed GimpViewable preview rendering to have a context to get
	FG/BG/whatever from. Use the context to enable dynamic FG/BG
	colors in gradients. Fixes bug #127676 and bug #352214. Addresses
	bug #128367 (doesn't fix it because there's no loading/saving and
	no GUI yet).

	* app/core/core-enums.[ch]: added enum GimpGradientColor to enable
	specifying gradient colors in terms of foreground and background.

	* app/core/gimpgradient.[ch]: added color_type members to the
	GimpGradientSegment struct and honor them in
	gimp_gradient_get_color_at(). Added GimpContext parameters to all
	functions which finally call get_color_at().

	* app/core/gimp-gradients.c: use the new method to implement the
	builtin gradients.

	* app/core/gimpviewable.[ch]: added GimpContext parameters to all
	get_preview() and get_pixbuf() functions.

	* app/core/gimpbrush.c
	* app/core/gimpbuffer.c
	* app/core/gimpdrawable-preview.[ch]
	* app/core/gimpgradient.c
	* app/core/gimpimage-preview.[ch]
	* app/core/gimpimagefile.c
	* app/core/gimppalette.c
	* app/core/gimppattern.c
	* app/core/gimpundo.[ch]
	* app/text/gimpfont.c
	* app/vectors/gimpvectors-preview.[ch]: changed ::get_preview()
	and ::get_pixbuf() implementations accordingly.

	* app/core/gimpdrawable-blend.c
	* app/core/gimppalette-import.[ch]
	* app/dialogs/dialogs-constructors.c
	* app/dialogs/palette-import-dialog.c
	* app/dialogs/resize-dialog.c
	* app/display/gimpdisplayshell-layer-select.c
	* app/display/gimpdisplayshell.c
	* app/display/gimpnavigationeditor.c
	* app/paint/gimppaintoptions.c
	* app/tools/gimpeditselectiontool.c
	* app/tools/gimptexttool.c
	* app/actions/gradient-editor-commands.c
	* app/widgets/gimpaction.c
	* app/widgets/gimpbrusheditor.[ch]
	* app/widgets/gimpbufferview.c
	* app/widgets/gimpcellrendererviewable.c
	* app/widgets/gimpchanneltreeview.c
	* app/widgets/gimpclipboard.c
	* app/widgets/gimpcoloreditor.c
	* app/widgets/gimpcomponenteditor.c
	* app/widgets/gimpcontainerbox.c
	* app/widgets/gimpcontainercombobox.c
	* app/widgets/gimpcontainereditor.c
	* app/widgets/gimpcontainerentry.c
	* app/widgets/gimpcontainergridview.c
	* app/widgets/gimpcontainertreeview.[ch]
	* app/widgets/gimpdataeditor.[ch]
	* app/widgets/gimpdevicestatus.c
	* app/widgets/gimpdnd.[ch]
	* app/widgets/gimpdrawabletreeview.c
	* app/widgets/gimpfiledialog.c
	* app/widgets/gimpgradienteditor.[ch]
	* app/widgets/gimpgradientselect.c
	* app/widgets/gimpitemtreeview.c
	* app/widgets/gimplayertreeview.c
	* app/widgets/gimppaletteeditor.[ch]
	* app/widgets/gimppropwidgets.[ch]
	* app/widgets/gimpselectioneditor.c
	* app/widgets/gimpthumbbox.[ch]
	* app/widgets/gimptoolbox-image-area.c
	* app/widgets/gimptoolbox-indicator-area.c
	* app/widgets/gimptooloptionseditor.c
	* app/widgets/gimpundoeditor.c
	* app/widgets/gimpvectorstreeview.c
	* app/widgets/gimpview-popup.[ch]
	* app/widgets/gimpview.[ch]
	* app/widgets/gimpviewablebutton.c
	* app/widgets/gimpviewabledialog.c
	* app/widgets/gimpviewrenderer.[ch]
	* app/widgets/gimpviewrenderer-frame.c
	* app/widgets/gimpviewrendererbrush.c
	* app/widgets/gimpviewrendererbuffer.c
	* app/widgets/gimpviewrendererdrawable.c
	* app/widgets/gimpviewrenderergradient.c
	* app/widgets/gimpviewrendererimage.c
	* tools/pdbgen/pdb/drawable.pdb
	* tools/pdbgen/pdb/gradient.pdb
	* tools/pdbgen/pdb/gradients.pdb
	* tools/pdbgen/pdb/image.pdb: added tons of GimpContext members
	and parameters, implement GimpDocked::set_context() in many
	widgets. Pass these locally remembered contexts to GimpViewable
	functions. Did some minor cleanups on the way. There are still
	some minor FIXMEs around where the code uses a NULL context (which
	is allowed by the APIs)

	* app/pdb/drawable_cmds.c
	* app/pdb/gradient_cmds.c
	* app/pdb/gradients_cmds.c
	* app/pdb/image_cmds.c: regenerated.
2006-08-29 21:44:51 +00:00
Sven Neumann
d34ff5537d libgimpbase/Makefile.am libgimpbase/gimpbase.h added new files that hold
2006-08-29  Sven Neumann  <sven@gimp.org>

	* libgimpbase/Makefile.am
	* libgimpbase/gimpbase.h
	* libgimpbase/gimprectangle.[ch]: added new files that hold
	gimp_rectangle_intersect(), factored out of the core.

	* libgimpbase/gimpbase.def: updated.

	* app/core/gimp-edit.c
	* app/core/gimp-utils.c
	* app/core/gimp-utils.h
	* app/core/gimpchannel-combine.c
	* app/core/gimpdrawable-foreground-extract.c
	* app/core/gimpdrawable-transform.c
	* app/core/gimpdrawable.c
	* app/core/gimpimage-preview.c
	* app/core/gimplayer.c
	* app/core/gimpscanconvert.c
	* app/display/gimpdisplayshell-draw.c: changed includes accordingly.

	* libgimp/gimpdrawablepreview.c: don't duplicate
	gimp_rectangle_intersect() here, use the function in libgimpbase.

	* app/base/siox.c: use gimp_rectangle_intersect() to reduce the
	working area to the region of interest. Fixes bug #340422.
2006-08-29 14:46:32 +00:00
Sven Neumann
e6350b15dd app/core/gimpimage-duplicate.c (gimp_image_duplicate) a somewhat hackish
2006-08-29  Sven Neumann  <sven@gimp.org>

	* app/core/gimpimage-duplicate.c (gimp_image_duplicate)
	* app/widgets/gimpfiledialog.c (gimp_file_dialog_set_image): a
	somewhat hackish implementation of what's suggested in bug #353246.
	Let the save dialog default to the folder of the duplicated image.
2006-08-29 09:55:34 +00:00
William Skaggs
1d03a22c3f Bill Skaggs <weskaggs@primate.ucdavis.edu>
* app/core/gimpchannel-select.[ch]: add push_undo arguments
	to several gimp_channel_select_foo functions.

	* app/actions/vectors-commands.c
	* app/core/gimpchannel-select.c
	* app/core/gimpchannel-select.h
	* app/pdb/paths_cmds.c
	* app/pdb/selection_tools_cmds.c
	* app/pdb/vectors_cmds.c
	* app/tools/gimpellipseselecttool.c
	* app/tools/gimpfreeselecttool.c
	* app/tools/gimprectangleselecttool.c
	* app/tools/gimpvectortool.c
	* tools/pdbgen/pdb/paths.pdb
	* tools/pdbgen/pdb/selection_tools.pdb
	* tools/pdbgen/pdb/vectors.pdb:  add push_undo argument
	to function calls where needed.
2006-08-25 17:19:36 +00:00
Sven Neumann
9f57869393 increased GIMP_VIEWABLE_MAX_PREVIEW_SIZE to 2048 to workaround bug
2006-08-15  Sven Neumann  <sven@gimp.org>

	* app/core/gimpviewable.h: increased GIMP_VIEWABLE_MAX_PREVIEW_SIZE
	to 2048 to workaround bug #307314.
2006-08-15 17:10:41 +00:00
Sven Neumann
0b5a30d13c app/core/core-enums.h tools/pdbgen/pdb/edit.pdb applied patch from David
2006-08-15  Sven Neumann  <sven@gimp.org>

	* app/core/core-enums.h
	* tools/pdbgen/pdb/edit.pdb
	* tools/pdbgen/pdb/selection_tools.pdb: applied patch from David
	Gowers that adds extended PDB interface for gimp-edit-bucket-fill,
	gimp-by-color-select and gimp-fuzzy-select. Fixes bugs #348291 and
	#347499.

	* app/pdb/edit_cmds.c
	* app/pdb/internal_procs.c
	* app/pdb/selection_tools_cmds.c
	* libgimp/gimpedit_pdb.[ch]
	* libgimp/gimpenums.c.tail
	* libgimp/gimpenums.h
	* libgimp/gimpselectiontools_pdb.[ch]
	* tools/pdbgen/enums.pl: regenerated.

	* libgimp/gimp.def: updated.
2006-08-15 16:20:46 +00:00
Hans Breuer
37e4b80204 updated
2006-08-15  Hans Breuer  <hans@breuer.org>

	* **/makefile.msc app/gimpcore.def : updated

	* app/xcf/xcf-save.c(1464) : error C2036: 'void *' : unknown size
	pointer arithmetics on void a pointer looks like a GCC extension
	* app/tools/gimpbrightnesscontrasttool.c
	  app/tools/gimpcolorbalancetool.c
	  app/tools/gimphuesaturationtool.c
	  app/tools/gimpcolorizetool.c : #include "core/gimp.h" for gimp_message
	* app/tools/gimpiscissorstool.c : use RINT() rather than rint()
	* app/widgets/gimpcontrollerlist.c : #include "gimpwidgets-utils.h"
	for gimp_show_message_dialog
	* app/core/gimpprogress.c(229) : 'gimp_progress_message' must
	return a value
2006-08-15 15:13:08 +00:00
Sven Neumann
086d1b8bff app/actions/context-commands.c (context_brush_radius_cmd_callback)
2006-08-14  Sven Neumann  <sven@gimp.org>

	* app/actions/context-commands.c (context_brush_radius_cmd_callback)
	(context_actions_update)
	* app/core/gimpbrushgenerated.c (gimp_brush_generated_class_init):
	set upper brush size limit to 4000 pixels. Fixes bug #351175.
2006-08-14 12:45:33 +00:00
Sven Neumann
740f56c6b9 do not autocrop the buffer contents, always keep the selection size (bug
2006-08-14  Sven Neumann  <sven@gimp.org>

	* app/core/gimp-edit.c (gimp_edit_make_buffer): do not autocrop
	the buffer contents, always keep the selection size (bug #350897).
2006-08-14 08:21:26 +00:00
Sven Neumann
48d054e8d4 added new function gimp_message() as a replacement for g_message(). Part
2006-08-08  Sven Neumann  <sven@gimp.org>

	* app/core/gimp.[ch]: added new function gimp_message() as a
	replacement for g_message(). Part of the fix for bug #347214.

	* app/actions/data-commands.c
	* app/actions/documents-commands.c
	* app/actions/file-commands.c
	* app/actions/layers-commands.c
	* app/core/gimpimage-convert.c
	* app/core/gimpimagefile.c
	* app/core/gimpitem.c
	* app/core/gimplayer.c
	* app/dialogs/file-open-dialog.c
	* app/dialogs/file-open-location-dialog.c
	* app/dialogs/file-save-dialog.c
	* app/display/gimpdisplayshell-dnd.c
	* app/pdb/gimppdb.c
	* app/tools/gimpblendtool.c
	* 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
	* app/widgets/gimpwidgets-utils.c
	* app/xcf/xcf-load.c
	* app/xcf/xcf-private.h
	* app/xcf/xcf-save.c
	* app/xcf/xcf.c
	* tools/pdbgen/pdb/brush.pdb
	* tools/pdbgen/pdb/gradient.pdb
	* tools/pdbgen/pdb/image.pdb
	* tools/pdbgen/pdb/palette.pdb: use gimp_message() instead of
	gimp_message() whenever we have a GimpProgress.

	* app/pdb/brush_cmds.c
	* app/pdb/gradient_cmds.c
	* app/pdb/image_cmds.c
	* app/pdb/palette_cmds.c: regenerated.
2006-08-08 21:06:36 +00:00
Sven Neumann
504fe2ccac app/core/gimp-gui.[ch] renamed gimp_message() to gimp_show_message()
2006-08-08  Sven Neumann  <sven@gimp.org>

	* app/core/gimp-gui.[ch]
	* app/gui/gui-vtable.c: renamed gimp_message() to
gimp_show_message()

	* app/errors.c
	* tools/pdbgen/pdb/message.pdb: changed accordingly.

	* app/pdb/message_cmds.c: regenerated.
2006-08-08 18:18:40 +00:00
Michael Natterer
ad019d6093 added gimp_pdb_compat_procs_register().
2006-08-05  Michael Natterer  <mitch@gimp.org>

	* app/pdb/gimp-pdb-compat.[ch]: added
	gimp_pdb_compat_procs_register().

	* app/pdb/gimp-pdb.[ch]: removed these files.

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

	* app/pdb/Makefile.am: build a separate libappinternal-procs.a

	* app/Makefile.am: link it.
2006-08-05 18:27:56 +00:00
Michael Natterer
9dabd23e2d Applied (modified and enhanced) patch from Chris Moller which allows tools
2006-08-05  Michael Natterer  <mitch@gimp.org>

	Applied (modified and enhanced) patch from Chris Moller which allows
	tools to distinguish similar colors not only by composite, but also
	by R, G, B, H, S and V. Fixes bug #348291.

	* app/core/core-enums.[ch]: added new enum GimpSelectCriterion
	which can be one of { COMPOSITE, R, G, B, H, S, V }.

	* app/core/gimpimage-contiguous-region.[ch]: added
	select_criterion params and create the region based on difference
	by the selected criterion.

	* app/core/gimpchannel-select.[ch]
	* app/core/gimpdrawable-bucket-fill.[ch]: take criterion params and
	pass them through to the contiguous region functions.

	* app/tools/gimpbucketfilloptions.[ch]
	* app/tools/gimpselectionoptions.[ch]: added criterion properties
	and GUI to select it.

	* app/tools/gimpbucketfilltool.c
	* app/tools/gimpbycolorselecttool.c
	* app/tools/gimpfuzzyselecttool.c: pass the selected criterion to
	the resp. core functions.

	* app/widgets/gimpdrawabletreeview.c
	* app/widgets/gimpselectioneditor.c
	* app/display/gimpdisplayshell-dnd.c
	* tools/pdbgen/pdb/edit.pdb
	* tools/pdbgen/pdb/selection_tools.pdb: changed accordingly
	(simply pass GIMP_SELECT_CRITERION_COMPOSITE in most cases).

	* app/pdb/edit_cmds.c
	* app/pdb/selection_tools_cmds.c: regenerated.
2006-08-05 13:02:47 +00:00