Commit graph

2726 commits

Author SHA1 Message Date
Manish Singh 193ff9d32b add a -DGIMP_COMPILATION so cpercep can optionally include glib.h. This
2001-02-17  Manish Singh  <yosh@gimp.org>

        * app/core/Makefile.am: add a -DGIMP_COMPILATION so cpercep can
        optionally include glib.h. This needs to be done in the makefile.msc
        too, but I'm unsure on the right way to do that.

        * app/core/cpercep.c: guard #include <glib.h> in GIMP_COMPILATION.
        cbrt() is a GNU extension, so define in terms of pow if we aren't
        on glibc. Guard CLAMP against redefinition.

        * plug-ins/gfig/gfig.c
        * plug-ins/gflare/gflare.c
        * plug-ins/gimpressionist/gimpressionist.c: make them build again
2002-02-17 18:28:47 +00:00
Hans Breuer 6cb914db84 from now on use make.msc from $(TOP)/glib/build/win32; all occurences of
2001-02-17  Hans Breuer  <hans@breuer.org>

	* */*/makefile.msc */makefile.msc : from now on use
	make.msc from $(TOP)/glib/build/win32; all occurences
	of DIRENT removed and general update

	* app/config/makefile.msc app/paint/makefile.msc
	  app/plug-in/makefile.msc themes/Default/makefile.msc :
	new files

	* app/base/base.c : ported to GDir usage

	* app/config/gimpconfig-serialize.c :
	  app/config/gimpconfig-deserialize.c : HAVE_UNISTD_H
	* app/config/gimpconfig.c :
	  app/config/gimprc.c : HAVE_UNISTD_H, use <io.h> for
	open() prototype and merged pmode parameter
	(_S_IREAD | _S_IWRITE)

	* app/core/cpercep.c : msvc doesn't have cbrt(), provide
	it via pow(). Also include <glib.h> for painless 'inline'
	definition.

	* app/core/gimpdatafiles.c : ported to GDir usage

	* app/core/gimpimage-convert.c : work around a msvc compiler
	limitation (can't convert from uint64 to double)

	* app/file/file-open.c app/file/file-save.c :
	access() -> _access() for G_OS_WIN32

	* app/plug-in/plug-in.c : HAVE_UNISTD_H and <io.h>

	* libgimpbase/gimpbase.def : updated externals

	* libgimpbase/gimpenv.c : define WIN32_LEAN_AND_MEAN to
	avoid clashes with incompatible DATADIR definitions

	* libgimpcolor/gimpcolor.def : updated externals

	* lingimpmath/gimpmath.def : updated externals

	* libgimpwidgets/gimpwidgets.def : updated externals

	* libgimpwidgets/libgimp-glue.c : adapt to const changes
	of some prototypes

	* plug-ins/makefile.msc : disabled gdyntext

	* plug-ins/gap/iter_ALT/*/*.inc : GimpRunModeType -> GimpRunMode

	* plug-ins/FractalExplorer/FractalExplorer.c :
	* plug-ins/gap/gap_lib.c :
	* plug-ins/gfig/gfig.c :
	* plug-ins/gflare/gflare.c :
	* plug-ins/gimpressionist/gimpressionist.c :
	replaced DIRENT usage with GDir

	* plug-ins/script-fu/script-fu-scripts.c : #include <windows.h>
	to get the Sleep() prototype
2002-02-17 15:55:54 +00:00
Michael Natterer 91ada34484 made gimp_display_shell_update_icon() public, removed the update_icon
2002-02-17  Michael Natterer  <mitch@gimp.org>

	* app/display/gimpdisplayshell.[ch]: made
	gimp_display_shell_update_icon() public, removed the update_icon
	signal handler and idle function.

	* app/display/gimpdisplayshell-handlers.c: added the update_icon
	stuff here so it get's properly dis- and reconnected.
2002-02-17 13:12:16 +00:00
Michael Natterer 2ccbf2a43d Fixed #34633 (wheel mouse zooming leaves straigth-line helpline on image)
2002-02-17  Michael Natterer  <mitch@gimp.org>

	Fixed #34633 (wheel mouse zooming leaves straigth-line helpline on
	image) and maybe some other stuff caused by the misbehaviour
	described below:

	* app/tools/tools-types.h
	* app/tools/tool_manager.c (tool_manager_control_active):

	Removed the "PAUSED" ToolState.

	The possible state transitions were INACTIVE <-> ACTIVE <-> PAUSED,
	where the ACTIVE <-> PAUSED transition was done only in the
	tool_manager, causing the tools's control() never to be called
	when the tool was INACTIVE.

	The GimpPaintTool however wants to draw on the display when it's
	INACTIVE, and of course wants to be suspended/resumed correctly
	while fiddling with display repainting/scaling/...

	The PAUSED state was also redundant information, since
	(tool->paused_count > 0) is the same information (only more
	correct and independent of tool activity).

	* app/display/gimpdisplayshell-scale.[ch]: suspend/resume the
	active tool around _all_ changes to the display's "scale" and
	"offset" fields.  Added new function
	gimp_display_shell_scale_by_values() which does that and is called
	from all places which need to change these values.

	* app/tools/gimpmagnifytool.c: changed accordingly.

	Unrelated stuff:

	* app/paint/gimpairbrush.c: added a #warning FIXME.

	* app/tools/gimpdrawtool.c: made a warning more verbose.

	* app/tools/gimppainttool.c: put one more drawable offset
	calculation in { .. }, will make a utility function out of it...
2002-02-17 11:46:39 +00:00
Manish Singh ee2cbb44fc use new GtkFileSelection multiselect API.
2002-02-16  Manish Singh  <yosh@gimp.org>

        * app/gui/file-open-dialog.c: use new GtkFileSelection multiselect
        API.
2002-02-17 00:46:56 +00:00
Michael Natterer 72284d3835 added back the handler which invalidates the display_title on dirty/clean.
2002-02-15  Michael Natterer  <mitch@gimp.org>

	* app/display/gimpdisplayshell-handlers.c: added back the handler
	which invalidates the display_title on dirty/clean. Removing it
	was simply wrong.

	* app/display/gimpdisplayshell-scale.c: don't call
	gimp_display_shell_update_title() directly but set
	shell->title_dirty to TRUE before calling gdisplays_flush().

	* app/paint/gimppaintcore.[ch]: added gimp_paint_core_constrain()
	which does the "snap to 15 degrees" stuff formerly done in
	GimpPaintTool. Call gimp_brush_select_brush() in
	gimp_paint_core_paint() if paint_state == MOTION, not in several
	other places.  Reordered functions, added some comments and
	documentation.

	* app/paint/gimpairbrush.c
	* app/paint/gimpclone.c
	* app/paint/gimpconvolve.c
	* app/paint/gimpdodgeburn.c
	* app/paint/gimperaser.c
	* app/paint/gimppaintbrush.c
	* app/paint/gimppencil.c
	* app/paint/gimpsmudge.c:
	s/CORE_CAN_HANDLE_CHANGING_BRUSH/CORE_HANDLES_CHANGING_BRUSH/g,
	minor cleanup.

	* app/pdb/pdb-types.h: include "paint/paint-types.h"

	* app/tools/gimppainttool.[ch]: use gimp_paint_core_constrain(),
	removed paint_tool->state because it's not needed any more,
	lots of cleanup.

	* tools/pdbgen/app.pl: another eeky special case for "paint/".

	* tools/pdbgen/pdb/paint_tools.pdb: include stuff from "paint/",
	not "tools/".

	* app/pdb/paint_tools_cmds.c: regenerated.
2002-02-15 17:44:05 +00:00
Michael Natterer dca988f74d Core/UI separation for the paint tools:
2002-02-14  Michael Natterer  <mitch@gimp.org>

	Core/UI separation for the paint tools:

	* configure.in
	* app/Makefile.am
	* app/paint/.cvsignore
	* app/paint/Makefile.am: added new directory for the paint methods
	without GUI and tools around them.

	* app/paint/paint-types.h: typedefs for this module.

	* app/paint/gimppaintcore-kernels.h
	* app/paint/gimppaintcore.[ch]: the general paint logic taken
	from GimpPaintTool.

	* app/paint/gimpairbrush.[ch]
	* app/paint/gimpclone.[ch]
	* app/paint/gimpconvolve.[ch]
	* app/paint/gimpdodgeburn.[ch]
	* app/paint/gimperaser.[ch]
	* app/paint/gimppaintbrush.[ch]
	* app/paint/gimppencil.[ch]
	* app/paint/gimpsmudge.[ch]: subclasses of GimpPaintCore,
	implementing their own paint() methods.  Needs more hacking
	to get the GtkWidget pointers out of the options structs.

	* app/tools/gimppainttool_kernels.h: removed.

	* app/tools/tools-types.h: removed the paint tool enums.

	* app/tools/gimpairbrushtool.[ch]
	* app/tools/gimpclonetool.[ch]
	* app/tools/gimpconvolvetool.[ch]
	* app/tools/gimpdodgeburntool.[ch]
	* app/tools/gimperasertool.[ch]
	* app/tools/gimppaintbrushtool.[ch]
	* app/tools/gimppainttool.[ch]
	* app/tools/gimppenciltool.[ch]
	* app/tools/gimpsmudgetool.[ch]: all paint tools are pure GUI
	things now.  PaintOptions and friends still need to be chopped up
	though...

	* app/undo.c: changed PaintUndo to GimpPaintCoreUndo, some minor
	cleanup.

	* tools/kernelgen.c: changed accordingly.

	* tools/pdbgen/Makefile.am: scan paint/paint-types.h for enums.

	* tools/pdbgen/pdb/paint_tools.pdb: hardcode "success = FALSE" for
	all paint PDB wrappers.  The non-gui stuff is completely broken.
	More commits to come...

	* app/pdb/paint_tools_cmds.c
	* tools/pdbgen/enums.pl: regenerated.
2002-02-14 19:31:16 +00:00
Michael Natterer dac875d3f2 moved all global variables into the GimpPaintTool structure so they have a
2002-02-13  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimppainttool.[ch]: moved all global variables into
	the GimpPaintTool structure so they have a proper lifecycle and
	it's easier to move them to the upcoming GimpPaintCore (??)
	object.

	* app/tools/gimppainttool_kernels.h
	* tools/kernelgen.c: s/SUBSAMPLE/KERNEL_SUBSAMPLE/
2002-02-13 14:50:37 +00:00
Michael Natterer 1e9c264a3a moved "Merge Layers" and "Flatten Image" from "Layer/" to "Image/",
2002-02-13  Michael Natterer  <mitch@gimp.org>

	* app/gui/menus.c: moved "Merge Layers" and "Flatten Image" from
	"Layer/" to "Image/", removed them from the "<Layers>" menu
	entirely, moved "Merge Down" after "Anchor Layer" in both menus.

	* app/gui/image-commands.[ch]: moved callbacks from here...

	* app/gui/layers-commands.[ch]: ...to here.

	* app/gui/layers-commands.[ch]
	* app/display/gimpdisplayshell.c: changed menu_update functions
	accordingly.
2002-02-13 14:41:35 +00:00
Michael Natterer e41ea36313 merged partial fix for #62592 from stable branch.
2002-02-12  Michael Natterer  <mitch@gimp.org>

	* app/gui/edit-commands.c: merged partial fix for #62592 from
	stable branch.
2002-02-12 17:03:41 +00:00
Michael Natterer fd30019aef merged fix for #63741 from stable branch, minor cleanup.
2002-02-12  Michael Natterer  <mitch@gimp.org>

	* app/gui/resize-dialog.c: merged fix for #63741 from stable
	branch, minor cleanup.
2002-02-12 16:27:33 +00:00
Sven Neumann bc6fd092c1 app/gui/preferences-dialog.c changed "Nearest Neighbor" interpolation to
2002-02-12  Sven Neumann  <sven@gimp.org>

	* app/gui/preferences-dialog.c
	* app/gui/resize-dialog.c: changed "Nearest Neighbor" interpolation
	to "None".
2002-02-12 16:01:57 +00:00
Michael Natterer 12796f2d91 scale_region_no_resample() no longer needs to be public, as we can call
2002-02-12  Michael Natterer  <mitch@gimp.org>

	* app/paint-funcs/paint-funcs.[ch]: scale_region_no_resample() no
	longer needs to be public, as we can call
	scale_region(src, dest, GIMP_INTERPOLATION_NONE).
2002-02-12 11:32:56 +00:00
Nate Summers e1db698bfd implement a new pluginrc flag, "has-init", so that only plug-ins with init
* app/plug-in/plug-in-rc.c: implement a new pluginrc flag,
 	"has-init", so that only plug-ins with init functions are
 	initialized.

	* app/plug-in/plug-in.ch
 	* libgimp/gimp.c
 	* libgimpbase/gimpprotocol.ch: send a new gimpwire message,
 	GP_HAS_INIT during the query stage if the plug-in needs to be
 	initialized.  Only invoke the plug-in in init mode if the plug-in
 	has an init function.
2002-02-12 07:59:16 +00:00
Sven Neumann 04c995fb70 renamed GimpInterpolationType values to something sane and unexported it
2002-02-12  Sven Neumann  <sven@gimp.org>

	* app/base/base-enums.h: renamed GimpInterpolationType values to
	something sane and unexported it from the PDB since it was never
	used in any PDB calls.

	* app/gimprc.c
	* app/config/gimpcoreconfig.c
	* app/core/gimpcoreconfig.c
	* app/core/gimpdrawable-transform.c
	* app/core/gimplayer.c
	* app/gui/preferences-dialog.c
	* app/gui/resize-dialog.c
	* app/paint-funcs/paint-funcs.c
	* app/pdb/transform_tools_cmds.c
	* app/tools/transform_options.c
	* tools/pdbgen/pdb/transform_tools.pdb: changed accordingly.

	* libgimp/gimpenums.h
	* plug-ins/script-fu/script-fu-constants.c
	* tools/pdbgen/enums.pl: regenerated.
2002-02-12 03:30:52 +00:00
Nate Summers 3d5548b50b app/plug-in/plug-in.[ch] added support for the init function in plug-ins.
* app/plug-in/plug-in.[ch]
	* libgimp/gimp.c: added support for the init function in plug-ins.
2002-02-12 02:41:01 +00:00
Michael Natterer 733d6335fe Made the interpolation type configurable in the scale and transform
2002-02-12  Michael Natterer  <mitch@gimp.org>

	Made the interpolation type configurable in the scale and
	transform options dialogs (#69251):

	* app/base/base-config.[ch]
	* app/config/gimpbaseconfig.[ch]: removed interpolation_type here...

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

	* app/gimprc.c
	* app/gui/preferences-dialog.c: changed accordingly.

	* app/paint-funcs/paint-funcs.[ch]: scale_region: take an
	interpolation_type parameter.

	* app/core/gimpchannel.[ch]
	* app/core/gimpdrawable-transform.[ch]
	* app/core/gimpimage-scale.[ch]
	* app/core/gimplayer.[ch]: pass interpolation_type parameters to all
	scale and transform functions.

	* tools/pdbgen/pdb/image.pdb
	* tools/pdbgen/pdb/layer.pdb
	* tools/pdbgen/pdb/transform_tools.pdb: changed accordingly.

	* app/gui/resize-dialog.[ch]
	* app/tools/transform_options.[ch]: added an interpolation_type menu.

	* app/gui/image-commands.c
	* app/gui/layers-commands.c
	* app/tools/gimptransformtool.c: changed accordingly.

	* app/pdb/image_cmds.c
	* app/pdb/layer_cmds.c
	* app/pdb/transform_tools_cmds.c: regenerated.
2002-02-12 02:31:45 +00:00
Michael Natterer 9e2f662a6d app/gimprc.[ch] app/config/gimpdisplayconfig.[ch] made the string which
2002-02-11  Michael Natterer  <mitch@gimp.org>

	* app/gimprc.[ch]
	* app/config/gimpdisplayconfig.[ch]
	* app/gui/preferences-dialog.c: made the string which appears in
	the display's statusbar configurable separately from the title
	string. They still both have the same default value.

	* app/display/gimpdisplayshell.c: changed accordingly.

	Also added lots of new % expansions which implement all stuff
	mentioned in #5843. Didn't apply the original patch because it is
	overly complicated (the same can be acheived using %D and %C).
	Instead, applied a changed version of gimp-quinet-000618-0.patch.
	Added %Cx, which expands to 'x' if the image is clean.

	* docs/gimprc-1.3.5.in
	* etc/gimprc.in
	* etc/gimprc.win32: added documentation for the new stuff.
2002-02-11 22:39:08 +00:00
Nate Summers fd276bef63 s/directory/folder/ and other bex-approved proofreads
* gui/preferences-dialog.c: s/directory/folder/ and other
 	bex-approved proofreads
2002-02-11 22:30:45 +00:00
Michael Natterer 793f7b3bb3 app/tools/gimpbucketfilltool.c added missing tooltips, enabled "reset" for
2002-02-11  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimpbucketfilltool.c
	* app/tools/selection_options.c: added missing tooltips, enabled
	"reset" for the new select/fill transparent toggles.
2002-02-11 16:22:26 +00:00
Michael Natterer 12ef22e0c0 small hack that strips the ellipses from the "Repeat" and "Re-Show" menu
2002-02-11  Michael Natterer  <mitch@gimp.org>

	* app/plug-in/plug-in.c: small hack that strips the ellipses
	from the "Repeat" and "Re-Show" menu entries.

	* plug-ins/mosaic/mosaic.c: register under "Filters/Distorts", not
	"Filters/Render" because this plug-in changes the image and
	doesn't render something from scratch.
2002-02-11 13:16:38 +00:00
Sven Neumann bda6939cd0 app/batch.c app/general.c app/core/gimpbrushgenerated.c
2002-02-10  Sven Neumann  <sven@gimp.org>

	* app/batch.c
	* app/general.c
	* app/core/gimpbrushgenerated.c
	* app/core/gimpbrushpipe.c
	* app/core/gimpdata.c
	* app/file/file-open.c
	* app/file/file-save.c
	* app/file/file-utils.c: don't include ctype.h, use g_ascii_*
	functions from GLib instead.

	* app/gui/file-open-dialog.c: disabled multiple selection in the
	file open dialog until this is fixed in GTK+.
2002-02-10 19:51:20 +00:00
Adam D. Moss 859829d48b minor function renaming. 2002-02-10 19:01:44 +00:00
Adam D. Moss ee4115a86e RGB->Indexed quantizer version 3.0 (the rest of the commit started a year
2002-02-10  Adam D. Moss  <adam@gimp.org>

	* app/core/gimpimage-convert.[ch]:
	RGB->Indexed quantizer version 3.0 (the rest of the commit started
	a year ago -- whoops).  Divide colours within CIE L*a*b* space using
	CPercep module (cpercep.[ch]), colour-match and dither likewise,
	change the underlying box selection criteria and division point
	logic, bump luminance precision upwards, etc. etc.

	* app/core/cpercep.[ch] (new files): utility module used by
	quantizer for quantifying perceptual colour distances

	* app/core/gimpimage-convert-data.h (new file): move the big
	static data arrays out of gimpimage-convert.c

	* app/core/gimpimage-convert-fsdither.h: static-ify data

	* app/core/Makefile.am: add cpercep.[ch] and gimpimage-convert-data.h
2002-02-10 18:33:16 +00:00
Michael Natterer ceed8eae4e removed #if 0'ed old display update hackery. Don't flush the displays here
2002-02-10  Michael Natterer  <mitch@gimp.org>

	* app/undo.c: removed #if 0'ed old display update hackery. Don't
	flush the displays here at all and include nothing from
	"display/".

	* app/undo_history.c
	* app/gui/edit-commands.c: call gdisplays_flush() if undo_pop() or
	undo_redo() return TRUE.

	* app/core/gimpimage-contiguous-region.[ch]: allow a contiguous
	transparent region to be selected/filled (#71058).

	* app/core/gimpdrawable-bucket-fill.[ch]
	* app/core/gimpimage-mask-select.[ch]: take a boolean
	fill_transparent/select_transparent parameter and pass it to the
	contiguous region funcion.

	* app/display/gimpdisplayshell-dnd.c: pass
	fill_transparent == FALSE to bucket_fill_full because we fill the
	whole drawable anyway here.

	* app/tools/gimpbucketfilltool.c
	* app/tools/gimpbycolorselecttool.c
	* app/tools/gimpfuzzyselecttool.c
	* app/tools/selection_options.[ch]: added toggle buttons to the
	tool options and pass the value to the fill and select core
	functions.

	* tools/pdbgen/pdb/misc_tools.pdb
	* tools/pdbgen/pdb/selection_tools.pdb: hardcode
	"select_transparent" to FALSE to get the old behaviour. Should
	export the new feature to plug-ins however.

	* app/pdb/misc_tools_cmds.c
	* app/pdb/selection_tools_cmds.c: regenerated.
2002-02-10 15:18:08 +00:00
Sven Neumann 00f90747ed app/tools/gimptoolmodule.[ch] app/tools/tools-types.h code cleanup, no
2002-02-09  Sven Neumann  <sven@gimp.org>

	* app/tools/gimptoolmodule.[ch]
	* app/tools/tools-types.h
	* app/tools/tools.c: code cleanup, no real changes.
2002-02-09 18:51:17 +00:00
Nate Summers 751c2cb27f split registering classes and registering tools into separate functions.
* app/tools/gimptoolmodule.[ch]: split registering classes and
 	registering tools into separate functions. Makes tool plug-ins
 	actually work!

 	* app/tools/tools.c: replaced extremely ugly temporary hack for
 	loading tool modules with ugly temporary hack for loading tool
 	modules.
2002-02-09 00:11:11 +00:00
Sven Neumann 310e0e9855 app/gui/tips-dialog.c app/gui/user-install-dialog.c
2002-02-08  Sven Neumann  <sven@gimp.org>

	* app/gui/tips-dialog.c
	* app/gui/user-install-dialog.c
	* libgimpwidgets/gimpfileselection.c
	* plug-ins/FractalExplorer/Dialogs.c
	* plug-ins/FractalExplorer/FractalExplorer.c
	* plug-ins/gfig/gfig.c
	* plug-ins/gflare/gflare.c
	* plug-ins/gimpressionist/presets.c
	* plug-ins/script-fu/script-fu-scripts.c: use the term Folder instead
	of Directory (bug #56194).

	* etc/gimprc.in
	* etc/gimprc.win32: added global palettes folder to the palettes
	search path.

	* data/misc/user_install: don't copy palettes into users ~/.gimp-1.3.
2002-02-08 17:59:40 +00:00
Sven Neumann 34bc220787 added gimp_rc_duplicate() and started to add inline documentation.
2002-02-08  Sven Neumann  <sven@gimp.org>

	* app/config/gimprc.[ch]: added gimp_rc_duplicate() and started to
	add inline documentation.

	* app/config/test-config.c: test the new functionality.
2002-02-08 14:05:10 +00:00
Sven Neumann 403cb3499e app/config/gimpbaseconfig.c app/config/gimpcoreconfig.c
2002-02-08  Sven Neumann  <sven@gimp.org>

	* app/config/gimpbaseconfig.c
	* app/config/gimpcoreconfig.c
	* app/config/gimpdisplayconfig.c
	* app/config/gimpguiconfig.c: added missing finalizers.
2002-02-08 12:35:38 +00:00
Nate Summers e03ba1bd85 New class that uses GTypeModule to dynamically load tool plugins. Does not
* app/tools/gimptoolmodule.[ch]: New class that uses GTypeModule to
 	dynamically load tool plugins.  Does not quite work yet, but builds
 	correctly.

	* app/tools/tools.c: added some code to test the GimpToolModule code.

 	* app/tools/Makefile.am: added gimptoolmodule to the build.
2002-02-08 07:51:16 +00:00
Nate Summers 561eebcdeb app/gimprc.c app/config/gimpcoreconfig.[ch] app/core/gimpcoreconfig.[ch]
* app/gimprc.c
 	* app/config/gimpcoreconfig.[ch]
 	* app/core/gimpcoreconfig.[ch]
 	* app/gui/preferences-dialog.[ch]
 	* etc/gimprc.in:
 	add a preferences option for tool plug-ins. Tool plug-ins should
 	be in a separate directory so that the plug-in code can distinguish
 	them.
2002-02-08 02:27:49 +00:00
Michael Natterer 72ca4d3e16 renamed the image size utility functions from foo_size_bar() to
2002-02-07  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpimage-new.[ch]: renamed the image size utility
	functions from foo_size_bar() to foo_memsize_bar(), use "gsize"
	instead of "gdouble". Also take the selection mask into account
	for the initial image size.

	* app/display/gimpdisplayshell.c
	* app/gui/file-new-dialog.c: changed accordingly.

	* app/display/gimpdisplayshell-handlers.c: connect to "undo_event",
	not "dirty" and "clean" to dirty the image title.

	* app/tools/gimpmovetool.c: factored common code out to
	gimp_move_tool_start_guide(), also set a useful cursor there.
2002-02-07 17:37:34 +00:00
Sven Neumann 619a072447 changed the message dialog icon to WARNING since we mostly use this for
2002-02-07  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimpwidgets-utils.c (gimp_message_box): changed the
	message dialog icon to WARNING since we mostly use this for
	warnings. We should change the API so that gimp_message knows
	about the severity of the message it displays.

	* themes/Default/images/stock-wilber-16x16.png
	* themes/Default/images/stock-wilber-32x32.png
	* themes/Default/images/stock-wilber-48x48.png
	* themes/Default/images/stock-wilber-64x64.png: slightly better icons.

	* themes/Default/Makefile.am
	* themes/Default/images/Makefile.am
	* themes/Default/images/stock-wilber-eek.png: added a new eek wilber
	based on suggestions made in bug-report #65194. Actually I'd like it
	be more eeeky, so feel free to submit a better one.

	* libgimpwidgets/gimpstock.[ch]: register the new stock icon.

	* app/gui/gui.c (gui_really_quit_dialog): use STOCK_WILBER_EEK.
2002-02-07 14:21:23 +00:00
Sven Neumann c51c98d911 app/gui/file-new-dialog.c app/gui/resize-dialog.c
2002-02-07  Sven Neumann  <sven@gimp.org>

	* app/gui/file-new-dialog.c
	* app/gui/resize-dialog.c
	* app/tools/gimpbrightnesscontrasttool.c
	* app/tools/gimpcolorbalancetool.c
	* app/tools/gimpcroptool.c
	* app/tools/gimphuesaturationtool.c
	* app/tools/gimpposterizetool.c
	* app/tools/gimpthresholdtool.c
	* app/tools/gimptransformtool.c: moved Cancel button to the left.

	* data/images/Makefile.am
	* data/images/tips_wilber.png: removed ...
	* data/images/wilber-tips.png: ... and readded under a new name.

	* app/gui/tips-dialog.c: changed accordingly.

	* data/images/wilber-wizard.png: new wilber for the user installation
	dialog.

	* app/gui/user-install-dialog.c: use the new wilber icon. We still
	need a good new eeek wilber.

	* themes/Default/gtkrc: don't change the default font size.
2002-02-07 11:50:16 +00:00
Michael Natterer 758de05b72 made the gimp_object_get_memsize() debugging output configurable by a
2002-02-06  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpobject.c: made the gimp_object_get_memsize()
	debugging output configurable by a global "gimp_debug_memsize"
	boolean.

	* app/display/gimpdisplay.c: removed duplicated prototype.

	* app/display/gimpdisplayshell.[ch]: renamed the various cursor
	functions to be more consistent and shorter. Compress window title
	updates by adding a "gboolean title_dirty" and updating the title
	in gimp_display_shell_flush().  Added "%m" (memory size) to the
	possible title string substitutions.

	* app/display/gimpdisplay-foreach.c
	* app/display/gimpdisplayshell-handlers.c
	* app/tools/gimpfuzzyselecttool.c
	* app/tools/gimptool.c: changed accordingly.

	* app/display/gimpdisplayshell-callbacks.c: forgot to grab the
	pointer when dragging guides from the rulers. Coincidentially,
	this also fixes the buggy offset between guide and mouse
	pointer...
	Cleaned up the main tool event callback a but more.

	* app/widgets/gimppreview.c
	* app/gui/commands.c: set the new global "gimp_debug_memsize"
	toggle to TRUE while calling gimp_object_get_memsize().

	* app/gui/preferences-dialog.c: added a image title example
	containing the new "%m" feature.

	* docs/gimprc-1.3.5.in: document "%m" in the manpage.

	* app/tools/gimpbezierselecttool.c: reordered some statements.

	* app/tools/gimpdrawtool.[ch]: store the GimpDisplay passed to
	gimp_draw_tool_start() in draw_tool->gdisp and use it for
	coordinate transfomration. This way we can paint on a display
	which is not tool->gdisp.

	* app/tools/gimppainttool.c: changed the gimp_draw_tool_foo()
	calls needed to make the straight_line preview work in a way
	that does not interfere with paint_tool subclasses which want
	to do their own drawing (like the clone tool).

	Also changed the paint_tools PRETRACE_PAINT and POSTTRACE_PAINT
	flags usage in a way that subclasses can use them without major
	hackery: don't simply wrap gimp_display_flush_now() with
	PRETRACE/POSTTRACE calls, but wrap the actual painting calls, so
	subclasses are able to do useful things with paint_tool->*_coords.

	* app/tools/gimpclonetool.c: removed poking around in draw_tool
	internals and simply suspend()/resume() it in
	PRETRACE_PAINT/POSTTRACE_PAINT to get the clone_src indicator
	drawn correctly.
2002-02-07 11:33:01 +00:00
Michael Natterer 967d3e4ef1 Removed pointer grabbing from all tools:
2002-02-05  Michael Natterer  <mitch@gimp.org>

	Removed pointer grabbing from all tools:

	* app/tools/gimptool.[ch]: added "gboolean perfectmouse" which
	defaults to FALSE but can be set to TRUE in a tool's instance_init
	function.

	* app/display/gimpdisplayshell-callbacks.c: look at
	active_tool->perfectmouse and gimprc.perfectmouse and do the
	pointer grab/ungrab here. The pointer is now grabbed right before
	dispatching the button_press to the tool and ungrabbed after
	the tool's button_release has returned. It is also grabbed
	*always*, not only if tool->state got ACTIVE by button_press,
	which makes it all much simpler...

	* app/tools/gimpbezierselecttool.c
	* app/tools/gimpblendtool.c
	* app/tools/gimpbucketfilltool.c
	* app/tools/gimpbycolorselecttool.c
	* app/tools/gimpclonetool.c
	* app/tools/gimpcolorpickertool.c
	* app/tools/gimpcroptool.c
	* app/tools/gimpeditselectiontool.c
	* app/tools/gimpfliptool.c
	* app/tools/gimpfreeselecttool.c
	* app/tools/gimpfuzzyselecttool.c
	* app/tools/gimpinktool.c
	* app/tools/gimpiscissorstool.c
	* app/tools/gimpmagnifytool.c
	* app/tools/gimpmeasuretool.c
	* app/tools/gimpmovetool.c
	* app/tools/gimppainttool.c
	* app/tools/gimppathtool.c
	* app/tools/gimprectselecttool.c
	* app/tools/gimpselectiontool.c
	* app/tools/gimptexttool.c
	* app/tools/gimptransformtool.c: removed
	gdk_pointer_grab()/ungrab() calls all over the place. Also removed
	inclusion of "display/gimpdisplayshell.h" from most of them.
2002-02-05 11:35:03 +00:00
Michael Natterer 989d80e79e added fields for both the tool's toggled and untoggled GdkCursorType,
2002-02-04  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimptool.[ch]: added fields for both the tool's
	toggled and untoggled GdkCursorType, GimpToolCursorType and
	GimpCursorModifier. Added a default implementation of
	gimp_tool_cursor_update() which uses the new fields. Added
	gimp_tool_set_cursor() as simple wrapper around the resp.
	GimpDisplayShell functions so tools don't need to know them.

	Tool implementations can either set the new fields in their
	cursor_update() function and chain up or call the new wrapper.

	* app/tools/gimpbezierselecttool.c
	* app/tools/gimpblendtool.c
	* app/tools/gimpbucketfilltool.c
	* app/tools/gimpbycolorselecttool.c
	* app/tools/gimpclonetool.c
	* app/tools/gimpcolorpickertool.c
	* app/tools/gimpconvolvetool.c
	* app/tools/gimpcroptool.c
	* app/tools/gimpdodgeburntool.c
	* app/tools/gimperasertool.c
	* app/tools/gimpfliptool.c
	* app/tools/gimpinktool.c
	* app/tools/gimpiscissorstool.c
	* app/tools/gimpmagnifytool.c
	* app/tools/gimpmeasuretool.c
	* app/tools/gimpmovetool.c
	* app/tools/gimppainttool.[ch]
	* app/tools/gimppathtool.c
	* app/tools/gimpselectiontool.c
	* app/tools/gimpsmudgetool.c
	* app/tools/gimptexttool.c
	* app/tools/gimptransformtool.c: changed accordingly:

	- set default values in the tools' instance_init functions.
	- changed the cursor_update() stuff.
	- removed inclusion of subclasses in gimppainttool.c
	- the cursor_update() functions are better than before but still evil.
	- i probably broke some of them...
2002-02-04 17:43:01 +00:00
Sven Neumann bdd47b1652 merged fix from stable branch (#70344).
2002-02-03  Sven Neumann  <sven@gimp.org>

	* app/core/gimpimage-convert.c: merged fix from stable branch (#70344).

	* plug-ins/common/smooth_palette.c: merged fix from stable branch
	(#70333).
2002-02-03 19:59:20 +00:00
Michael Natterer 0440bbbf5a app/display/Makefile.am app/display/display-types.h new widget derived
2002-02-03  Michael Natterer  <mitch@gimp.org>

	* app/display/Makefile.am
	* app/display/display-types.h
	* app/display/gimpstatusbar.[ch]: new widget derived from
	GtkStatusbar.  Contains the coordinates display, a progress bar
	which is also used for status message display and a cancel button.
	Added a simplified API for pushing/popping messages which takes a
	string as context_id and does the conversion to guint internally
	on each call.

	* app/display/gimpdisplayshell.[ch]: removed the status bar code.

	* app/display/gimpdisplayshell-callbacks.c
	* app/display/gimpdisplayshell-handlers.c
	* app/display/gimpdisplayshell-scale.c
	* app/gui/view-commands.c
	* app/gimpprogress.c: changed accordingly.

	Removed knowledge about GimpDisplayShell from tools:

	* app/tools/gimptool.[ch]: added gimp_tool_push_status() and
	gimp_tool_pop_status() so tools don't need to fiddle with
	display details.

	* app/tools/gimpdrawtool.[ch]: pass a GimpDisplay instead of
	a GdkWindow to gimp_draw_tool_start() (the window passed was
	always gdisp->shell->canvas->window).

	* app/tools/gimpbezierselecttool.c
	* app/tools/gimpblendtool.[ch]
	* app/tools/gimpclonetool.c
	* app/tools/gimpcolorpickertool.c
	* app/tools/gimpcroptool.[ch]
	* app/tools/gimpeditselectiontool.c
	* app/tools/gimpfreeselecttool.c
	* app/tools/gimpfuzzyselecttool.c
	* app/tools/gimpiscissorstool.c
	* app/tools/gimpmagnifytool.c
	* app/tools/gimpmeasuretool.[ch]
	* app/tools/gimpmovetool.c
	* app/tools/gimppainttool.[ch]
	* app/tools/gimppathtool.c
	* app/tools/gimprectselecttool.[ch]
	* app/tools/gimptransformtool.c: changed accordingly:

	- pass GimpDisplay to gimp_draw_tool_start().
	- use GimpTool's new status push/pop functions.
	- removed the statusbar context_id from all tool structs.

	* app/gui/dialogs-constructors.[ch]: a bit cleanup in preparation
	of dockable editor dialogs.
2002-02-03 12:10:23 +00:00
Manish Singh 701d759a4d configure.in Makefile.am app/Makefile.am docs/Makefile.am
2002-02-02  Manish Singh  <yosh@gimp.org>

        * configure.in
        * Makefile.am
        * app/Makefile.am
        * docs/Makefile.am
        * plug-ins/print/Makefile.am
        * tools/Makefile.am
        * (the various manpages): versioned the binaries and manpages.
        Added an --enable-default-binary switch to configure to make
        symlinks for unversioned things (defaults to no for 1.3). The
        perl stuff isn't touched, but that's disabled in the build here
        anyway.
2002-02-03 08:03:21 +00:00
Michael Natterer 4ecccfe916 app/core/gimp.c app/core/gimpdocuments.c app/core/gimpmodules.c fixed some
2002-01-31  Michael Natterer  <mitch@gimp.org>

	* app/core/gimp.c
	* app/core/gimpdocuments.c
	* app/core/gimpmodules.c
	* app/core/gimppalette.c: fixed some get_memsize()
	implementations, give useful names to some global objects so the
	new mem profile of "the_gimp" looks nicer.

	* app/gui/menus.c
	* app/gui/commands.[ch]: added a "Debug" menu to the toolbox,
	offer a mem profile of the global "Gimp" instance.
2002-01-31 20:08:08 +00:00
Michael Natterer c1f00274b4 app/core/gimp.c app/core/gimpdocuments.c app/core/gimpmodules.c fixed some
2002-01-31  Michael Natterer  <mitch@gimp.org>

	* app/core/gimp.c
	* app/core/gimpdocuments.c
	* app/core/gimpmodules.c
	* app/core/gimppalette.c: fixed some get_memsize()
	implementations, give useful names to some global objects so the
	new mem profile of "the_gimp" looks nicer.

	* app/gui/menus.c
	* app/gui/commands.[ch]: added a "Debug" menu to the toolbox,
	offer a mem profile of the global "Gimp" instance.
2002-01-31 18:02:38 +00:00
Michael Natterer 65d3b34d15 removed gimp_layer_has_alpha(), use gimp_drawable_has_alpha() instead.
2002-01-31  Michael Natterer  <mitch@gimp.org>

	* app/core/gimplayer.[ch]: removed gimp_layer_has_alpha(), use
	gimp_drawable_has_alpha() instead.

	* app/core/gimpimage-convert.c
	* app/core/gimpimage-merge.c
	* app/core/gimpimage-projection.c
	* app/display/gimpdisplayshell.c
	* app/gui/layers-commands.c: changed accordingly.

	* app/core/gimpimage.[ch]: added gimp_image_has_alphe(), made some
	variable names more verbose and use enum types instead of "gint"
	in functions calling initial_region() and combine_regions().

	* app/widgets/gimpchannellistview.c: show an alpha channel preview
	only if the image has alpha.

	* app/widgets/gimppreview.c: reordered functions,
	gimp_preview_render_and_flush(): fixed channel preview rendering,
	calculate the component byte offsets before entering the render
	loop instead of duplicating the render code for the gray/alpha
	case.
2002-01-31 16:47:20 +00:00
Sven Neumann 4f033e6837 use GtkTreeViews instead of deprecated GtkCLists.
2002-01-31  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimpfontselection-dialog.c: use GtkTreeViews instead of
	deprecated GtkCLists.

	* app/widgets/gimpfontselection.c: use a proper size for the eeky hack.
2002-01-31 13:40:46 +00:00
Manish Singh 85854aa76a fixed up so it works with the patch I posted to gtk-devel-list. Real fix
2002-01-31  Manish Singh  <yosh@gimp.org>

        * app/gui/file-open-dialog.c: fixed up so it works with the patch
        I posted to gtk-devel-list. Real fix pending discussion there.
2002-01-31 08:50:14 +00:00
Sven Neumann 251fe649fe GDK_RGB_DITHER_NORMAL should be good enough.
2002-01-30  Sven Neumann  <sven@gimp.org>

	* app/gui/about-dialog.c: GDK_RGB_DITHER_NORMAL should be good enough.

	* app/gui/preferences-dialog.c: undef GTK_DISABLE_DEPRECATED for
	GtkListItem.

	* app/widgets/gimpcomponentlistitem.c: don't use GtkPreview methods
	on a GimpPreview. The component views are still broken but at least
	the warnings are gone.

	* app/widgets/gimpfontselection.c: fixed warnings by hardcoding a
	font size when validating a font name :-(

	* app/widgets/gimppreview.c: set allocation to desired size.

	* libgimpwidgets/gimpcolorarea.c: flipped so it looks like before
	the port to GtkDrawingArea. Use GDK_RGB_DITHER_MAX to render.
2002-01-30 20:19:10 +00:00
Michael Natterer 074b1cda76 derive from GtkDrawingArea instead of deprecated GtkPreview.
2002-01-30  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimppreview.[ch]: derive from GtkDrawingArea
	instead of deprecated GtkPreview.

	* app/gui/buffers-commands.c
	* app/gui/device-status-dialog.c
	* app/gui/dialogs-constructors.c
	* app/gui/indicator-area.c
	* app/gui/info-window.c
	* app/gui/palette-import-dialog.c
	* app/gui/palettes-commands.c
	* app/gui/test-commands.c
	* app/gui/tool-options-dialog.c
	* app/gui/toolbox.c
	* app/widgets/gimpdnd.c
	* app/widgets/gimpimagedock.c
	* app/widgets/gimpmenuitem.c: removed #undef GTK_DISABLE_DEPRECATED.
2002-01-30 17:39:56 +00:00
Michael Natterer be87dfb5fb pass a GdkGC to gdk_draw_rgb_image(), fixed dither offsets.
2002-01-30  Michael Natterer  <mitch@gimp.org>

	* libgimpwidgets/gimpcolorarea.c: pass a GdkGC to
	gdk_draw_rgb_image(), fixed dither offsets.

	* app/core/gimpobject.[ch]: new virtual function
	gimp_object_get_memsize().

	* app/base/temp-buf.[ch]
	* app/base/tile-manager.[ch]: added *_get_memsize() methods.

	* app/core/gimp.c
	* app/core/gimpbrush.c
	* app/core/gimpbrushpipe.c
	* app/core/gimpbuffer.c
	* app/core/gimpchannel.c
	* app/core/gimpcontainer.c
	* app/core/gimpcontext.c
	* app/core/gimpdata.c
	* app/core/gimpdatafactory.c
	* app/core/gimpdrawable.c
	* app/core/gimpgradient.c
	* app/core/gimpimage.c
	* app/core/gimplayer.c
	* app/core/gimplist.c
	* app/core/gimpmoduleinfo.c
	* app/core/gimppalette.c
	* app/core/gimpparasitelist.c
	* app/core/gimppattern.c
	* app/core/gimppreviewcache.[ch]
	* app/core/gimpundo.[ch]
	* app/core/gimpundostack.c
	* app/core/gimpviewable.c: added get_memsize() implementations.

	* app/widgets/gimppreview.c
	* app/core/gimpobject.[ch]: some #ifdef DEBUG_MEMSIZE code to
	test the new memsize stuff (middle click any preview to get
	it's viewable's memory footprint).
2002-01-30 16:14:26 +00:00
Sven Neumann b8fcfd9af1 derive from GtkDrawingArea instead of deprecated GtkPreview.
2002-01-30  Sven Neumann  <sven@gimp.org>

	* libgimpwidgets/gimpcolorarea.[ch]: derive from GtkDrawingArea
	instead of deprecated GtkPreview.

	* app/nav_window.c
	* app/gui/brush-editor.c
	* app/gui/buffers-commands.c
	* app/gui/color-select.c
	* app/gui/colormap-dialog.c
	* app/gui/device-status-dialog.c
	* app/gui/dialogs-constructors.c
	* app/gui/file-open-dialog.c
	* app/gui/gradient-editor.c
	* app/gui/indicator-area.c
	* app/gui/info-window.c
	* app/gui/palette-editor.c
	* app/gui/palette-import-dialog.c
	* app/gui/palettes-commands.c
	* app/gui/test-commands.c
	* app/gui/tool-options-dialog.c
	* app/gui/toolbox.c
	* app/tools/gimpbycolorselecttool.c
	* app/tools/gimpcurvestool.c
	* app/tools/gimphistogramtool.c
	* app/tools/gimphuesaturationtool.c
	* app/tools/gimplevelstool.c
	* app/widgets/gimpchannellistview.c
	* app/widgets/gimpcomponentlistitem.c
	* app/widgets/gimpdnd.c
	* app/widgets/gimpdrawablelistitem.c
	* app/widgets/gimpdrawablelistview.c
	* app/widgets/gimpimagedock.c
	* app/widgets/gimpitemfactory.c
	* app/widgets/gimplayerlistitem.c
	* app/widgets/gimplistitem.c
	* app/widgets/gimpmenuitem.c
	* app/widgets/gimppreview.c
	* libgimp/gimpbrushmenu.c
	* libgimp/gimpgradientmenu.c
	* libgimp/gimpmenu.c
	* libgimp/gimppatternmenu.c
	* plug-ins/FractalExplorer/Dialogs.c
	* plug-ins/common/AlienMap.c
	* plug-ins/common/AlienMap2.c
	* plug-ins/common/CML_explorer.c
	* plug-ins/common/blinds.c
	* plug-ins/common/curve_bend.c
	* plug-ins/common/depthmerge.c
	* plug-ins/common/despeckle.c
	* plug-ins/common/destripe.c
	* plug-ins/common/diffraction.c
	* plug-ins/common/emboss.c
	* plug-ins/common/exchange.c
	* plug-ins/common/flarefx.c
	* plug-ins/common/fractaltrace.c
	* plug-ins/common/glasstile.c
	* plug-ins/common/gqbist.c
	* plug-ins/common/grid.c
	* plug-ins/common/illusion.c
	* plug-ins/common/iwarp.c
	* plug-ins/common/jigsaw.c
	* plug-ins/common/mapcolor.c
	* plug-ins/common/max_rgb.c
	* plug-ins/common/newsprint.c
	* plug-ins/common/nlfilt.c
	* plug-ins/common/noisify.c
	* plug-ins/common/nova.c
	* plug-ins/common/plasma.c
	* plug-ins/common/polar.c
	* plug-ins/common/sample_colorize.c
	* plug-ins/common/scatter_hsv.c
	* plug-ins/common/sharpen.c
	* plug-ins/common/sinus.c
	* plug-ins/common/tileit.c
	* plug-ins/common/video.c
	* plug-ins/common/waves.c
	* plug-ins/common/whirlpinch.c
	* plug-ins/common/wind.c
	* plug-ins/flame/flame.c
	* plug-ins/fp/fp_gtk.c
	* plug-ins/gimpressionist/brush.c
	* plug-ins/mosaic/mosaic.c
	* plug-ins/rcm/rcm_dialog.c: define GTK_DISABLE_DEPRECATED to make
	it compile.

	We really need a generic plug-in preview system that doesn't use
	GtkPreview.
2002-01-30 14:54:27 +00:00