Commit graph

952 commits

Author SHA1 Message Date
Sven Neumann bba46560ba app/core/core-enums.h moved some more enums into the right place and
2002-03-18  Sven Neumann  <sven@gimp.org>

	* app/core/core-enums.h
	* app/core/core-types.h: moved some more enums into the right place
	and namespacified them.

	* app/undo.c
	* app/core/gimpdrawable-bucket-fill.[ch]
	* app/core/gimpdrawable.c
	* app/core/gimpedit.c
	* app/core/gimpimage-mask.c
	* app/core/gimpimage-new.c
	* app/core/gimpimage-qmask.c
	* app/core/gimplayer.[ch]
	* app/display/gimpdisplayshell-dnd.c
	* app/gui/channels-commands.c
	* app/gui/file-new-dialog.c
	* app/gui/layers-commands.c
	* app/gui/menus.c
	* app/paint-funcs/paint-funcs.c
	* app/tools/gimpbucketfilltool.c
	* tools/pdbgen/pdb/image.pdb
	* tools/pdbgen/pdb/layer.pdb
	* tools/pdbgen/pdb/misc_tools.pdb: changed accordingly.

	* libgimp/gimpcompat.h
	* plug-ins/script-fu/siod-wrapper.c: added compat defines for changed
	GimpMaskApplyMode enum.

	* tools/pdbgen/enums.pl
	* app/pdb/drawable_cmds.c
	* app/pdb/edit_cmds.c
	* app/pdb/image_cmds.c
	* app/pdb/layer_cmds.c
	* app/pdb/misc_tools_cmds.c
	* libgimp/gimpenums.h
	* plug-ins/script-fu/script-fu-constants.c: regenerated.
2002-03-18 11:07:34 +00:00
Manish Singh 96f78088b0 tools/pdbgen/app.pl tools/pdbgen/enumcode-py.pl tools/pdbgen/enumcode.pl
2002-03-17  Manish Singh  <yosh@gimp.org>

        * tools/pdbgen/app.pl
        * tools/pdbgen/enumcode-py.pl
        * tools/pdbgen/enumcode.pl
        * tools/pdbgen/enumgen.pl: removed enum nick support, best to keep
        internal and external names consistent

        * app/core/core-enums.h: remove chops from enums. Change TRANS to
        TRANSPARENT in GimpBlendMode

        * app/core/core-types.h: remove chops and nicks from enums. Change INV
        to INVERSE and SUB to SUBTRACT to make things more clear

        * app/core/gimpchannel.c
        * app/gui/channels-commands.c
        * app/gui/vectors-commands.c
        * app/tools/gimpbezierselecttool.c
        * app/tools/gimpbycolorselecttool.c
        * app/tools/gimprectselecttool.c
        * app/tools/gimpselectiontool.c
        * app/tools/selection_options.c
        * app/tools/tools-types.h
        * app/widgets/gimpchannellistview.c
        * app/widgets/gimpvectorslistview.c: reflect SUB -> SUBTRACT change

        * app/core/gimpdrawable-blend.c: reflect TRANS -> TRANSPARENT change

        * app/core/gimplayer.c
        * app/gui/layers-commands.c: reflect INV -> INVERSE change

        * app/paint/paint-types.h: remove nick from PaintApplicationMode

        * app/tools/gimperasertool.c: fix tooltip

        * app/widgets/gimpenummenu.c: #include "libgimp/gimpintl.h" for
        gettext

        * libgimp/gimpcompat.h: compatibility enums here, since we removed
        the nicks

        * tools/pdbgen/enums.pl
        * libgimp/gimpenums.h
        * plug-ins/script-fu/script-fu-constants.c
        * app/core/core-enums.c
        * app/pdb/channel_cmds.c
        * app/pdb/drawable_cmds.c
        * app/pdb/edit_cmds.c
        * app/pdb/layer_cmds.c
        * app/pdb/misc_tools_cmds.c
        * app/pdb/paint_tools_cmds.c
        * app/pdb/selection_cmds.c
        * app/pdb/selection_tools_cmds.c: regenerated, enum changes

        * plug-ins/common/hot.c: GIMP_TRANS_IMAGE_FILL -> GIMP_TRANSPARENT_FILL

        * plug-ins/common/warp.c: GIMP_BG_IMAGE_FILL -> GIMP_BACKGROUND_FILL

        * plug-ins/script-fu/siod-wrapper.c: compat constant definitions
2002-03-17 22:54:26 +00:00
Sven Neumann 9d8b1ec926 registered more enums.
2002-03-17  Sven Neumann  <sven@gimp.org>

	* app/core/core-enums.[ch]: registered more enums.

	* app/tools/gimpblendtool.c: use GimpEnumMenus.
2002-03-17 18:36:52 +00:00
Sven Neumann 7aaa80ef06 new function to set the sensitivity of an option_menu.
2002-03-17  Sven Neumann  <sven@gimp.org>

	* libgimpwidgets/gimpwidgets.[ch]: new function to set the sensitivity
	of an option_menu.

	* app/base/base-enums.[ch]: register and describe GimpHistogramChannel.

	* app/core/Makefile.am
	* app/core/core-enums.[ch]: build with gimp-mkenums, added core-enums.c
	to CVS, added descriptions for GimpPreviewSize.

	* app/display/Makefile.am
	* app/display/display-enums.[ch]: build with gimp-mkenums, added
	display-enums.c to CVS, added descriptions for GimpCursorMode.

	* app/gui/preferences-dialog.c: more GimpEnumMenus.

	* app/tools/gimpcurvestool.c
	* app/tools/gimphistogramtool.c
	* app/tools/gimplevelstool.c: use a GimpEnumMenu for the Channel menu.
	Allow alpha channel in HistogramView. These tools needs more work...
2002-03-17 16:35:05 +00:00
Sven Neumann 26578e757c define GIMP_MKENUMS for use in Makefile.am.
2002-03-17  Sven Neumann  <sven@gimp.org>

	* configure.in: define GIMP_MKENUMS for use in Makefile.am.

	* tools/Makefile.am
	* tools/gimp-mkenums: a modified version of glib-mkenums that parses
	literal descriptions for enum values out of the header file.

	* app/base/Makefile.am
	* app/base/base-enums.h: added descriptions for the InterpolationType.

	* app/base/base-enums.c: added to CVS although it is generated since
	translatable messages are extracted from this file and translators
	shouldn't need to build stuff.

	* app/widgets/Makefile.am
	* app/widgets/widgets-types.h
	* app/widgets/gimpenummenu.[ch]: new widget to create a GtkMenu or a
	GtkOptionMenu directly from a registered enum.

	* app/gui/preferences-dialog.c
	* app/gui/resize-dialog.c
	* app/tools/transform_options.c: use gimp_enum_option_menu_new() for
	the Interpolation menus.
2002-03-17 14:07:54 +00:00
Manish Singh abc66990b3 add missing support for anchoring a selection (bugfix ported from stable
2002-03-14  Manish Singh  <yosh@gimp.org>

        * app/tools/gimpfuzzyselecttool.c: add missing support for
        anchoring a selection (bugfix ported from stable branch)
2002-03-15 08:01:07 +00:00
Michael Natterer 5e17408c84 Re-enabled the display filters. They work exactly the same way as before
2002-03-14  Michael Natterer  <mitch@gimp.org>

	Re-enabled the display filters. They work exactly the same way
	as before except for the color_area pseudo-display. More stuff
	to come...

	* app/display/Makefile.am: build them again.

	* app/display/gimpdisplayshell-filter-dialog.[ch]
	* app/display/gimpdisplayshell-filter.[ch]: changed to the new
	namespace, work on GimpDisplayShell instead of GimpDisplay.

	* app/display/gimpdisplayshell-render.c
	* app/display/gimpdisplayshell.[ch]: changed accordingly.

	* app/gui/dialogs-constructors.c: enabled the dialog constructor.

	* app/gui/gui.c: call the init() function.

	* app/gui/menus.c: enabled the menu entry, but moved it to
	<Image>/View. Moved "Undo History..." to <Image>/Image.

	* modules/Makefile.am: build and install the modules.

	* modules/cdisplay_gamma.c
	* modules/cdisplay_highcontrast.c: made them compile with minimal
	changes.

	Unrelated:

	* app/undo_history.c: connect to the image's "disconnect", not
	"destroy" signal.

	* app/tools/gimpselectiontool.c: mask out the irrelevant parts of
	the "state" passed to the modifier_key() func, so tool_options
	button toggling works with other modifiers (e.g. num_lock)
	pressed.
2002-03-14 22:42:50 +00:00
Michael Natterer ce569349d3 oops, including removed files is a bad idea...
2002-03-14  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimpcolorpickertool.c: oops, including removed files
	is a bad idea...
2002-03-14 17:19:25 +00:00
Michael Natterer 17d655c1c3 app/gimprc.[ch] app/gui/preferences-dialog.c
2002-03-12  Michael Natterer  <mitch@gimp.org>

	* app/gimprc.[ch]
	* app/gui/preferences-dialog.c
	* app/paint/gimppaintoptions.[ch]
	* app/tools/paint_options.[ch]
	* app/tools/tool_manager.[ch]: removed the "global_paint_options"
	gimprc option because it doesn't quite fit the new dockable dialog
	architecture.

	* app/gui/brush-select.[ch]
	* app/gui/gradient-select.[ch]
	* app/gui/palette-select.[ch]
	* app/gui/pattern-select.[ch]: removed the "Global Brush/Pattern/...
	Selection" part of them. They are now only used for temp popup
	selections and the PDB. *Lots* of cleanup.

	* app/gui/convert-dialog.c
	* app/gui/dialogs-constructors.[ch]
	* app/gui/dialogs.c
	* app/gui/gui.c
	* app/gui/menus.c
	* app/gui/palette-import-dialog.c
	* app/plug-in/plug-in.c: changed accordingly.

	Cleaned up the palette and other data PDB stuff:

	* tools/pdbgen/Makefile.am
	* tools/pdbgen/groups.pl: added "palette_select" and "palettes".

	* tools/pdbgen/pdb/palette_select.pdb: new file. Makes the palette
	selection PDB controllable.

	* tools/pdbgen/pdb/palettes.pdb: new file cut out of palette.pdb
	because of API symmetry with brushes, patterns, ...

	* tools/pdbgen/pdb/palette.pdb: removed from here.

	* tools/pdbgen/pdb/brush_select.pdb
	* tools/pdbgen/pdb/brushes.pdb
	* tools/pdbgen/pdb/gradient_select.pdb
	* tools/pdbgen/pdb/gradients.pdb
	* tools/pdbgen/pdb/palette.pdb
	* tools/pdbgen/pdb/pattern_select.pdb
	* tools/pdbgen/pdb/patterns.pdb: lots of cleanup.

	Autogenerated stuff:

	* app/pdb/Makefile.am
	* app/pdb/palette_select_cmds.c
	* app/pdb/palettes_cmds.c: new files.

	* app/pdb/brush_select_cmds.c
	* app/pdb/brushes_cmds.c
	* app/pdb/gradient_select_cmds.c
	* app/pdb/gradients_cmds.c
	* app/pdb/internal_procs.c
	* app/pdb/palette_cmds.c
	* app/pdb/pattern_select_cmds.c
	* app/pdb/patterns_cmds.c: regenerated.

	* libgimp/Makefile.am
	* libgimp/gimp_pdb.h
	* libgimp/gimppalettes_pdb.[ch]
	* libgimp/gimppaletteselect_pdb.[ch]: new files.

	* libgimp/gimpgradientselect_pdb.[ch]
	* libgimp/gimppalette_pdb.[ch]
	* libgimp/gimppatterns_pdb.c: regenerated.

	* devel-docs/libgimp/tmpl/gimpgradients.sgml
	* devel-docs/libgimp/tmpl/gimppalette.sgml: regenerated.
2002-03-12 21:02:10 +00:00
Michael Natterer 1f08f9d9d0 removed type checking casts from macros which return parts of
2002-03-10  Michael Natterer  <mitch@gimp.org>

	* libgimpwidgets/gimpwidgets.h: removed type checking casts from
	macros which return parts of pseudo-widgets.

	* app/widgets/gimpbrushfactoryview.c: changed accordingly.

	* app/widgets/gimpdialogfactory.c: added a "dispose"
	implementation used to destroy all dialogs the factory has
	created.

	* app/gui/toolbox.[ch]: removed toolbox_free(), removed the static
	"toolbox_shell" variable, set the active tool correctly on
	creation, don't show the window here (fixes session menagement),
	take the vbox' spacing into account when calculating the window's
	resize hints.

	* app/gui/gui.c: don't include "toolbox.h", don't call
	toolbox_free().

	* app/widgets/gimpfontselection.c: set the width of the entry to
	16 chars on creation so it doesn't fall back to it's insanely
	large default width, minor stuff.

	* app/tools/gimptexttool.c
	* app/tools/selection_options.c: some more scale_entries.
2002-03-10 18:31:42 +00:00
Michael Natterer 8b8442e9f4 app/gui/dialogs-constructors.[ch] app/gui/dialogs.c made the tool options
2002-03-10  Michael Natterer  <mitch@gimp.org>

	* app/gui/dialogs-constructors.[ch]
	* app/gui/dialogs.c
	* app/gui/tool-options-dialog.[ch]: made the tool options dialog
	dockable. Create a fancy tab for it which looks like the old
	dialog header.

	* app/gui/gui.c
	* app/gui/menus.c
	* app/gui/toolbox.c: changed accordingly.

	* app/tools/gimpbucketfilltool.c
	* app/tools/gimpcroptool.c
	* app/tools/gimperasertool.c: moved the tool toggling widgets to
	the top.

	* app/tools/paint_options.c: show the paint mode menu for all
	paint tools but set it insensitive where it makes no sense.
	Reduces flickering and makes the tools' similarity more obvious.

	* app/widgets/gimpdataeditor.c: fixed segfault in
	gimp_data_editor_set_data() (data may be NULL), don't pass NULL to
	gtk_entry_set_text(), make the name entry insensitive if data ==
	NULL.

	* app/widgets/gimpdialogfactory.c: fixed longstanding bug which
	made newly created docks steal the first session entry with a NULL
	widget instead of the first _dock_ session entry with a NULL
	widget. Added even more debugging output. Cleanup.

	* app/widgets/gimpdockbook.c: made the tab/menu widget code more
	general to cover the tool options tab.
2002-03-10 15:05:58 +00:00
Michael Natterer c9c025c8d9 return the crated label from gimp_table_attach_aligned(), doc fixes.
2002-03-08  Michael Natterer  <mitch@gimp.org>

	* libgimpwidgets/gimpwidgets.[ch]: return the crated label from
	gimp_table_attach_aligned(), doc fixes.

	* app/gui/channels-commands.c
	* app/tools/gimpairbrushtool.c
	* app/tools/gimpblendtool.c
	* app/tools/gimpbucketfilltool.c
	* app/tools/gimpcolorpickertool.c
	* app/tools/gimpconvolvetool.c
	* app/tools/gimpdodgeburntool.c
	* app/tools/gimpinktool.c
	* app/tools/gimpmagnifytool.c
	* app/tools/gimpsmudgetool.c
	* app/tools/paint_options.c
	* app/tools/selection_options.c
	* app/widgets/gimpbrushfactoryview.c
	* app/widgets/gimplayerlistview.c: use gimp_scale_entries instead
	of just hscales in lots of places, so the values are keyboard
	input-able.
2002-03-08 18:30:40 +00:00
Michael Natterer b0e05cda4a added GimpPaletteEntry typedef.
2002-03-08  Michael Natterer  <mitch@gimp.org>

	* app/core/core-types.h: added GimpPaletteEntry typedef.

	* app/core/gimppalette.h: removed it here.

	* app/widgets/Makefile.am
	* app/widgets/widgets-types.h
	* app/widgets/gimpeditor.[ch]: new widget which is the base class
	for everything which is a vbox and has a button area at the
	bottom.

	* app/widgets/gimpcontainerview.[ch]: derived from GimpEditor now.

	* app/widgets/gimpdataeditor.[ch]: a GimpEditor subclass which is
	the base class for the new data editors below.

	* app/widgets/gimpbrushfactoryview.c
	* app/widgets/gimpbufferview.c
	* app/widgets/gimpchannellistview.c
	* app/widgets/gimpdatafactoryview.c
	* app/widgets/gimpdocumentview.c
	* app/widgets/gimpitemlistview.c
	* app/widgets/gimplayerlistview.c
	* app/widgets/gimpvectorslistview.c
	* themes/Default/gtkrc: chagec accordingly.

	* app/gui/Makefile.am
	* app/gui/brush-editor.[ch]
	* app/gui/gradient-editor.[ch]
	* app/gui/palette-editor.[ch]: removed...

	* app/widgets/gimpbrusheditor.[ch]
	* app/widgets/gimpgradienteditor.[ch]
	* app/widgets/gimppaletteeditor.[ch]: ...and added back as
	GimpDataEditor subclasses. Lots of cleanup and stuff...

	* app/gui/dialogs-constructors.[ch]
	* app/gui/dialogs.c
	* app/gui/gradient-editor-commands.c
	* app/gui/gui-types.h
	* app/gui/palette-select.c
	* app/tools/gimpcolorpickertool.c: changed accordingly.
2002-03-08 00:27:45 +00:00
Michael Natterer 952353698f Forgot some gint opacity values:
2002-03-04  Michael Natterer  <mitch@gimp.org>

	Forgot some gint opacity values:

	* app/core/gimplayer.[ch]: layer->opacity, gimp_layer_new(),
	gimp_layer_new_from_tiles()

	* app/core/gimpimage-projection.[ch]: gimp_image_projection_opacity()

	* app/core/gimpdrawable-transform.c
	* app/core/gimpedit.c
	* app/core/gimpimage-mask.c
	* app/core/gimpimage-merge.c
	* app/core/gimpimage-new.c
	* app/core/gimpimage.c
	* app/core/gimplayer-floating-sel.c
	* app/gui/layers-commands.c
	* app/tools/gimptexttool.c
	* app/widgets/gimplayerlistview.c
	* app/xcf/xcf-load.c
	* app/xcf/xcf-save.c
	* tools/pdbgen/pdb/layer.pdb: changed accordingly.

	* app/pdb/layer_cmds.c
	* libgimp/gimplayer_pdb.c: regenerated.
2002-03-04 14:52:54 +00:00
Michael Natterer ce643d2722 Use gdouble in a [0.0..1.0] range for opacity values in the whole core's
2002-03-03  Michael Natterer  <mitch@gimp.org>

	Use gdouble in a [0.0..1.0] range for opacity values in the whole
	core's API. Convert them using (opacity * 255.999) when passing
	them to base/ and paint-funcs/

	Affected functions:

	* app/core/gimpchannel.[ch]: gimp_channel_[set|get]_opacity()
	* app/core/gimpimage.[ch]: gimp_image_[apply|replace]_image()
	* app/paint/gimppaintcore.[ch]: gimp_paint_core_[paste|replace]_canvas()

	* app/core/core-types.h: added defines GIMP_OPACITY_TRANSPARENT
	and GIMP_OPACITY_OPAQUE, just like the ones from
	paint-funcs/paint-funcs-types.h

	* app/gimprc.c
	* app/image_map.c
	* app/core/gimpcontext.c
	* app/core/gimpdrawable-blend.c
	* app/core/gimpdrawable-bucket-fill.c
	* app/core/gimpdrawable.c
	* app/core/gimpedit.c
	* app/core/gimplayer.c
	* app/core/gimplayer-floating-sel.c
	* app/core/gimppalette.c
	* 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/gimpsmudge.c
	* app/tools/gimpinktool.c
	* app/widgets/gimpcolorpanel.c
	* app/widgets/gimplayerlistitem.c
	* app/widgets/gimppreview.c
	* app/xcf/xcf-load.c: changed accordingly, use the new constants.
2002-03-03 17:38:12 +00:00
Michael Natterer affc31007e changed gimp_image_mask_select_channel() to not take "drawable" and
2002-03-03  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpimage-mask-select.[ch]: changed
	gimp_image_mask_select_channel() to not take "drawable" and
	"sample_merged" parameters (which are silly in some contexts) but
	simply the offsets of the passed channel.

	* app/gui/channels-commands.c
	* app/tools/gimpbezierselecttool.c
	* app/tools/gimpfuzzyselecttool.c
	* app/tools/gimpiscissorstool.c: changed accordingly.

	* app/tools/gimpdrawtool.[ch]: chaged gimp_draw_tool_draw_lines()
	and _draw_strokes() to take an additional "use_offsets" parameter
	like the other drawing functions.

	* app/path_curves.c
	* app/tools/gimpvectortool.c: changed accordingly.

	* app/paint/gimppaintcore.c: removed #if 0'ed code which was
	identical to other functions.

	* app/tools/gimpselectiontool.c: use the GimpEditSelectionTool's
	"arrow_key_func" so it's now possible to keyboad-move the current
	layer and selection with all selection tool. Needs some more
	tweaking...

	* app/tools/gimpiscissorstool.[ch]
	* app/tools/gimpvectortool.[ch]: derive them from GimpSelectionTool
	to make the modifier key <-> tool options interaction work. Ported
	IScissors to the new way the draw_tool works.
2002-03-03 10:38:37 +00:00
Michael Natterer 6086f832c9 app/core/Makefile.am new object for registering GimpPaintCore subclasses,
2002-02-27  Michael Natterer  <mitch@gimp.org>

	* app/core/Makefile.am
	* app/core/gimppaintinfo.[ch]: new object for registering
	GimpPaintCore subclasses, just like GimpToolInfo for tools.

	* app/core/gimp.h: added gimp->paint_info_list to hold them.

	* app/core/gimptoolinfo.[ch]: removed the "pdb_string" and
	"paint_core_name" pointers and added a GimpPaintInfo pointer
	instead.

	* app/core/gimpimage-mask.c
	* app/gui/vectors-commands.c
	* app/tools/gimpbezierselecttool.c
	* app/tools/tool_manager.c: changed accordingly.

	* app/paint/paint-types.h
	* app/paint/paint.c: added paint class registration stuff like
	the tool_manager does.

	* 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]: added register functions which are
	called from paint_init().

	The core object system lives not only in "core/", but in
	core, paint, vectors, file, plug-in and xcf, so I had to hack
	a bit to keep the deps working:

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

	* app/core/core-types.h: ...because it's included here. Moved
	the inclusions of the core's subsystems' "foo/foo-types.h"
	files to the end of the file.

	* app/paint/Makefile.am: Some slimy radioactive uglyness.

	* app/gui/drawable-commands.c
	* app/tools/gimpblendtool.c: removed calling core functions via
	the PDB because it makes no sense to do it manually in only a few
	places.  This needs to be done generically using generated
	wrappers living in "app/commands/" or something...
2002-02-27 13:57:49 +00:00
Michael Natterer 5aa1c92f6d added gimp_paint_core_stroke_vectors() which strokes the whole vector
2002-02-26  Michael Natterer  <mitch@gimp.org>

	* app/paint/gimppaintcore-stroke.[ch]: added
	gimp_paint_core_stroke_vectors() which strokes the whole vector
	using one undo step.

	* app/gui/vectors-commands.c: use the new function.

	* app/tools/gimpvectortool.c: changed to do evil voodoo in
	gimp_vectors_tool_set_vectors() and thus to always find a
	display to show the vectors.
2002-02-26 03:19:47 +00:00
Simon Budig 8b59fe87f8 app/gui/vectors-commands.c app/tools/gimpvectortool.c fixed a name of a
2002-02-26  Simon Budig  <simon@gimp.org>

        * app/gui/vectors-commands.c
        * app/tools/gimpvectortool.c
        * app/tools/gimpvectortool.h: fixed a name of a function
        and corrected gimp_vector_tool_set_vectors.
2002-02-26 02:14:11 +00:00
Michael Natterer a2bd2ac28c Added some kind of paint core registry. It's ugly and will change...
2002-02-26  Michael Natterer  <mitch@gimp.org>

	Added some kind of paint core registry. It's ugly and will change...

	* app/core/gimp.c: call paint_init() and paint_exit().

	* app/core/gimptoolinfo.[ch]: added "gchar *paint_core_name" to
	the GimpToolInfo structure and the contstructor.

	* app/tools/tool_manager.c: pass the class names of the
	GimpPaintCore subclasses to gimp_tool_info_new().

	* app/paint/Makefile.am
	* app/paint/paint.[ch]: new files. Simlply ref/unref all paint
	core classes so we can find them using g_type_from_name().

	* app/paint/gimppaintcore-stroke.[ch]: changed to take an array
	of GimpCoords, not just gdouble.

	* tools/pdbgen/pdb/paint_tools.pdb: convert the stroke array here.

	* app/gui/vectors-commands.c: ad-hoc implementation of vectors
	stroking.  Double click now sets the active vectors in the vectors
	tool.

	* app/pdb/paint_tools_cmds.c: regenerated.
2002-02-26 02:00:02 +00:00
Sven Neumann 9c9b152cc6 some documentation can't hurt.
2002-02-26  Sven Neumann  <sven@gimp.org>

	* app/gui/tips-parser.c: some documentation can't hurt.

	* app/tools/Makefile.am
	* app/paint/Makfile.am
	* app/vectors/Makfile.am
	* plug-ins/tools/Makefile.am: fixed dist target.
2002-02-26 01:06:26 +00:00
Simon Budig 7f706974e8 app/tools/gimpdrawtool.c Added function gimp_draw_tool_draw_strokes to be
2002-02-26  Simon Budig  <simon@gimp.org>

        * app/tools/gimpdrawtool.c
        * app/tools/gimpdrawtool.h: Added function gimp_draw_tool_draw_strokes
        to be able to draw lines from a GimpCoords array.

        * app/vectors/gimpanchor.h: removed "active", since this should
        be a GUI thing.

        * app/vectors/gimpstroke.c
        * app/vectors/gimpstroke.h
        * app/vectors/gimpbezierstroke.c
        * app/vectors/gimpbezierstroke.h: Implemented (and fixed API) for
        interpolation.

        * app/tools/gimpvectortool.c
        * app/tools/gimpvectortool.h: Changed accordingly, we can actually
        draw polylines now.
2002-02-26 00:58:04 +00:00
Michael Natterer cdf2a90b03 app/core/Makefile.am app/core/core-types.h new base class for something
2002-02-25  Michael Natterer  <mitch@gimp.org>

	* app/core/Makefile.am
	* app/core/core-types.h
	* app/core/gimpitem.[ch]: new base class for something which is a
	child of an image, has a PDB ID, a tattoo, parasites and emits
	a "removed" signal.

	* app/core/gimpdrawable.[ch]
	* app/vectors/gimpvectors.[ch]: derive from GimpItem. Removed
	lots of stuff from GimpDrawable.

	* app/core/gimp.[ch]: changed gimp->drawable_table and
	gimp->next_drawable_ID to gimp->item_table and gimp->next_item_id.

	* app/undo.[ch]: s/undo_push_drawable_parasite/undo_push_item_parasite/,
	minor cleanups.

	* app/core/gimplayer.[ch]: changed gimp_layer_new_from_tiles() and
	gimp_layer_new_from_drawable() to take the "dest_gimage" as
	second, not first parameter.

	* app/image_map.c
	* app/core/gimpchannel.c
	* app/core/gimpdrawable-blend.c
	* app/core/gimpdrawable-bucket-fill.c
	* app/core/gimpdrawable-histogram.c
	* app/core/gimpdrawable-offset.c
	* app/core/gimpdrawable-preview.c
	* app/core/gimpdrawable-transform.c
	* app/core/gimpedit.c
	* app/core/gimpimage-duplicate.c
	* app/core/gimpimage-mask.c
	* app/core/gimpimage-merge.c
	* app/core/gimpimage-pick-color.c
	* app/core/gimpimage.c
	* app/core/gimplayer-floating-sel.c
	* app/display/gimpdisplayshell-dnd.c
	* app/file/file-save.c
	* app/gui/channels-commands.c
	* app/gui/file-save-dialog.c
	* app/gui/layers-commands.c
	* app/gui/offset-dialog.c
	* app/gui/paths-dialog.c
	* app/gui/toolbox.c
	* 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/gimppaintcore.c
	* app/paint/gimppencil.c
	* app/paint/gimpsmudge.c
	* app/plug-in/plug-in.c
	* app/tools/gimpbezierselecttool.c
	* app/tools/gimpbycolorselecttool.c
	* app/tools/gimpinktool.c
	* app/tools/gimppainttool.c
	* app/xcf/xcf-load.c
	* app/xcf/xcf-save.c
	* app/widgets/gimpdrawablepreview.c: changed accordingly.

	* app/widgets/Makefile.am
	* app/widgets/widgets-types.h
	* app/widgets/gimpitemlistview.[ch]: new widget implementing most
	of the stuff formerly done by GimpDrawableListView.

	* app/widgets/gimpchannellistview.c
	* app/widgets/gimpdrawablelistitem.c
	* app/widgets/gimpdrawablelistview.[ch]
	* app/widgets/gimplayerlistview.c: changed accordingly.

	* app/widgets/gimpdnd.[ch]: added a vectors DND type.

	* app/gui/menus.c
	* app/gui/dialogs.c
	* app/gui/dialogs-constructors.[ch]: added a vectors dialog and
	a vectors item_factory.

	* app/gui/Makefile.am
	* app/gui/vectors-commands.[ch]: new files implementing the
	callbacks for the new vectors dialog and item_factory.

	* app/pdb/pdb_glue.h: some more ugly hacks to keep intermediate
	perl code working...

	* tools/pdbgen/pdb.pl: added a vectors type, use GimpItem for all
	ID lookups.

	* tools/pdbgen/pdb/channel.pdb
	* tools/pdbgen/pdb/color.pdb
	* tools/pdbgen/pdb/drawable.pdb
	* tools/pdbgen/pdb/edit.pdb
	* tools/pdbgen/pdb/image.pdb
	* tools/pdbgen/pdb/layer.pdb
	* tools/pdbgen/pdb/misc_tools.pdb
	* tools/pdbgen/pdb/parasite.pdb
	* tools/pdbgen/pdb/selection.pdb
	* tools/pdbgen/pdb/selection_tools.pdb: misc changes according to
	stuff above.

	* app/pdb/channel_cmds.c
	* app/pdb/color_cmds.c
	* app/pdb/drawable_cmds.c
	* app/pdb/edit_cmds.c
	* app/pdb/floating_sel_cmds.c
	* app/pdb/image_cmds.c
	* app/pdb/layer_cmds.c
	* app/pdb/misc_tools_cmds.c
	* app/pdb/paint_tools_cmds.c
	* app/pdb/parasite_cmds.c
	* app/pdb/selection_cmds.c
	* app/pdb/selection_tools_cmds.c
	* app/pdb/text_tool_cmds.c
	* app/pdb/transform_tools_cmds.c: regenerated.
2002-02-25 17:58:50 +00:00
Simon Budig 7112b2068f app/vectors/gimpbezierstroke.c app/tools/gimpvectortool.[ch]
2002-02-25  Simon Budig  <simon@gimp.org>

        * app/vectors/gimpbezierstroke.c
        * app/tools/gimpvectortool.[ch]
        * app/vectors/gimpstroke.[ch]
        * app/vectors/gimpvectors.[ch]: Fixed various bugs, *including*
        the nasty one from this morning (thanks Mitch).
2002-02-25 16:57:19 +00:00
Simon Budig 29b8063356 app/vectors/gimpvectors.c Changed to a container of GimpStrokes. This will
2002-02-25  Simon Budig  <simon@gimp.org>

        * app/vectors/gimpvectors.c
        * app/vectors/gimpvectors.h: Changed to a container of
        GimpStrokes. This will enable it to contain different
        Stroke-types in one Vectors-Object (think Entry in path
        dialog)

        * app/vectors/gimpstroke.c
        * app/vectors/gimpstroke.h
        * app/vectors/gimpbezierstroke.c
        * app/vectors/gimpbezierstroke.h: New Objects: A connected
        component in a vector.

        * app/vectors/gimpbezier.c
        * app/vectors/gimpbezier.h: Removed, obsoleted by gimpstroke
        and gimpbezierstroke.

        * app/tools/gimpvectortool.c
        * app/vectors/Makefile.am
        * app/vectors/vectors-types.h
        * app/vectors/gimpanchor.h: Changed accordingly.

        There is a nasty bug I am yet unable to find in the tool.
        Don't use it. For some reason a wrong function instead of
        gimp_stroke_real_anchor_get_next gets called. I have *no*
        idea, whats wrong here. I stared at the code for hours.

        If somebody has an idea I'd appreciate a hint.
2002-02-25 03:16:41 +00:00
Michael Natterer a3c3e7d3a6 General undo cleanup:
2002-02-23  Michael Natterer  <mitch@gimp.org>

	General undo cleanup:

	* app/undo.[ch]: made all undo structs private. Changed all
	undo_push_foo() functions to take useful parameters instead of
	"gpointer foo_ptr" and create the undo structs internally.
	Renamed lots of functions so they are more self-explanatory
	(like undo_push_gimage_mod -> undo_push_image_size). Added some
	undo functions (channel reordering is undoable now).  Never pass
	in a UndoType, as they are reseved for groups now (see below).
	Lots of cleanup and stuff...

	* app/undo_types.h: is a private header now which defines "enum
	UndoImplType" which is reserved for actual undo operations.
	All enum values are named "FOO_UNDO".

	* app/core/core-types.h: added the "UndoType" enum here and don't
	include "undo_types.h" any more. The UndoType values are all
	named "FOO_UNDO_GROUP" and are reserved for undo groups.

	The ID space of actual undo operations and undo groups
	is now strictly disjunct.

	* app/core/gimpchannel.h
	* app/core/gimpimage.h
	* app/core/gimplayer.h
	* app/core/gimplayermask.h
	* app/paint/gimppaintcore.h
	* app/tools/gimptransformtool.h: removed undo stuct definitions.

	* app/undo_history.c
	* app/path_transform.h
	* app/core/gimpchannel.c
	* app/core/gimpdrawable-transform.c
	* app/core/gimpedit.c
	* app/core/gimpimage-convert.c
	* app/core/gimpimage-crop.c
	* app/core/gimpimage-mask.c
	* app/core/gimpimage-merge.c
	* app/core/gimpimage-qmask.c
	* app/core/gimpimage-resize.c
	* app/core/gimpimage-scale.c
	* app/core/gimpimage.c
	* app/core/gimplayer-floating-sel.c
	* app/core/gimplayer.c
	* app/display/gimpdisplayshell-dnd.c
	* app/gui/channels-commands.c
	* app/gui/image-commands.c
	* app/gui/layers-commands.c
	* app/gui/paths-dialog.c
	* app/paint/gimppaintcore.c
	* app/tools/gimpbezierselecttool.c
	* app/tools/gimpeditselectiontool.c
	* app/tools/gimpmeasuretool.c
	* app/tools/gimpmovetool.c
	* app/tools/gimptexttool.c
	* app/tools/gimptransformtool.c
	* tools/pdbgen/pdb/guides.pdb
	* tools/pdbgen/pdb/layer.pdb
	* tools/pdbgen/pdb/undo.pdb: changed accordingly.

	* app/pdb/guides_cmds.c
	* app/pdb/layer_cmds.c
	* app/pdb/undo_cmds.c: regenerated.

	* app/core/gimpimage.[ch]: added infrastructure for holding a
	GimpList of GimpVectors objects. The API is the same as for layers
	and channels. Not used yet.
2002-02-23 17:29:19 +00:00
Michael Natterer ac0c4af07a app/Makefile.am removed...
2002-02-22  Michael Natterer  <mitch@gimp.org>

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

	* app/display/Makefile.am
	* app/display/gimpprogress.[ch]: ...and added here. Prefixed
	everything with "gimp_".

	* app/gui/image-commands.c
	* app/plug-in/plug-in.c
	* app/tools/gimpblendtool.c
	* app/tools/gimptransformtool.c: changed accordingly.
2002-02-22 15:08:47 +00:00
Simon Budig a7fcc25f10 app/vectors/Makefile app/vectors/Makefile.am app/vectors/Makefile.in
2002-02-22  Simon Budig  <simon@gimp.org>

        * app/vectors/Makefile
        * app/vectors/Makefile.am
        * app/vectors/Makefile.in
        * app/vectors/gimpanchor.h
        * app/vectors/gimpbezier.c
        * app/vectors/gimpbezier.h
        * app/vectors/gimpvectors.c
        * app/vectors/gimpvectors.h
        * app/vectors/vectors-types.h: new files, the beginning
        of a new vector infrastructure for gimp.

        * configure.in
        * app/Makefile.am
        * app/core/core-types.h: changed accordingly.

        * app/tools/Makefile.am
        * app/tools/gimpvectortool.c
        * app/tools/gimpvectortool.h
        * app/tools/tools.c: New tool without practical use (yet),
        using the new infrastructure.

        to be continued...
2002-02-22 00:11:37 +00:00
Michael Natterer 9f9fa587ec app/Makefile.am removed...
2002-02-21  Michael Natterer  <mitch@gimp.org>

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

	* app/core/Makefile.am
	* app/core/gimplayer-floating-sel.[ch]: ...and added here.

	* app/undo.c
	* app/core/gimpdrawable-transform.c
	* app/core/gimpedit.c
	* app/core/gimpimage-convert.c
	* app/core/gimpimage-crop.c
	* app/core/gimpimage-duplicate.c
	* app/core/gimpimage-mask.c
	* app/core/gimpimage-merge.c
	* app/core/gimpimage-projection.c
	* app/core/gimpimage-qmask.c
	* app/core/gimpimage-resize.c
	* app/core/gimpimage-scale.c
	* app/core/gimpimage.c
	* app/core/gimplayer.c
	* app/gui/layers-commands.c
	* app/tools/gimpeditselectiontool.c
	* app/tools/gimpfreeselecttool.c
	* app/tools/gimpmovetool.c
	* app/tools/gimprectselecttool.c
	* app/tools/gimptexttool.c
	* app/tools/gimptransformtool.c
	* app/xcf/xcf-load.c
	* app/xcf/xcf-save.c
	* plug-ins/tools/common/gimpbrushselecttool.c
	* tools/pdbgen/pdb/floating_sel.pdb
	* tools/pdbgen/pdb/layer.pdb: changed includes accordingly.

	* app/pdb/floating_sel_cmds.c
	* app/pdb/layer_cmds.c: regenerated.
2002-02-21 22:19:45 +00:00
Michael Natterer 9c510759c5 Made the paint tool PDB wrappers work again (a bit at least...)
2002-02-21  Michael Natterer  <mitch@gimp.org>

	Made the paint tool PDB wrappers work again (a bit at least...)

	* app/Makefile.am: changed linking order. libtool sucks.

	* app/undo.c: check if active_tool is a GimpPaintTool before
	casting it.

	* app/paint/Makefile.am
	* app/paint/paint-types.h: added new files/types.

	* app/paint/gimppaintoptions.[ch]: new files cut out of
	tools/paint_options.h. Prefixed everything with "Gimp". There is
	still GtkWidget* cruft hanging around in the structs...

	* app/paint/gimppaintcore-stroke.[ch]: utility function
	which paints a stroke array. Needed for the PDB wrappers.

	* app/paint/gimpairbrush.[ch]
	* app/paint/gimpclone.[ch]
	* app/paint/gimpconvolve.[ch]
	* app/paint/gimpdodgeburn.[ch]
	* app/paint/gimperaser.[ch]
	* app/paint/gimppaintbrush.c
	* app/paint/gimppaintcore.[ch]
	* app/paint/gimppencil.c
	* app/paint/gimpsmudge.[ch]: added *_options_new() functions which
	create correctly initialized options structures without widgets.

	* app/tools/paint_options.[ch]: removed the options struct
	definitions and value initialisations.

	* app/tools/gimpairbrushtool.c
	* app/tools/gimpblendtool.c
	* app/tools/gimpbucketfilltool.c
	* app/tools/gimpclonetool.c
	* app/tools/gimpconvolvetool.c
	* app/tools/gimpdodgeburntool.c
	* app/tools/gimperasertool.c
	* app/tools/gimpinktool.c
	* app/tools/gimppaintbrushtool.c
	* app/tools/gimppainttool.c
	* app/tools/gimppenciltool.c
	* app/tools/gimpsmudgetool.c: changed all paint_options functions
	accordingly, s/PaintOptions/GimpPaintOptions/g etc., removed all
	#if 0'ed non_gui functions.

	* tools/pdbgen/pdb/paint_tools.pdb: use gimp_paint_core_stroke().
	We currently leak all paint_options structs created by the PDB
	wrappers, more stuff to come...

	* app/pdb/paint_tools_cmds.c: regenerated.
2002-02-21 16:02:30 +00:00
Michael Natterer 5153abafa6 return the corrent value in g_retuen_val_if_fail().
2002-02-21  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimpdrawtool.c: return the corrent value in
	g_retuen_val_if_fail().

	* app/tools/gimppainttool.c: removed some more painting logic...

	* app/paint/gimppaintcore.[ch]: ...and added it here so the PDB
	wrappers can use it too. Added "gboolean use_pressure" which needs
	to be set by GimpPaintTool so we don't need access to GdkDevices.
2002-02-21 11:01:12 +00:00
Michael Natterer a49635e235 Implemented #10125 ("quick" colour picker does not honour "sample merged")
2002-02-20  Michael Natterer  <mitch@gimp.org>

	Implemented #10125 ("quick" colour picker does not honour
	"sample merged")

	* app/tools/gimpcolorpickertool.[ch]: made definition of
	GimpColorPickerToolOptions public.

	* app/tools/gimppainttool.c: get the color picker's tool_options
	and pick colors accordingly. Also draw a rectangle for
	"sample_average".
2002-02-20 11:37:20 +00:00
Michael Natterer ad067c73f5 Oops, yesterday's "fix" for #10466 made it even worse :)
2002-02-20  Michael Natterer  <mitch@gimp.org>

	Oops, yesterday's "fix" for #10466 made it even worse :)

	* app/core/gimpdrawable-transform.c: need the 0.5 offset to
	the pixel's center only for INTERPOLATION_NONE, as the LINEAR
	and CUBIC algorithms already know about their errors.

	* app/tools/gimpperspectivetool.c
	* app/tools/gimpscaletool.c
	* app/tools/gimpsheartool.c: some more s/gint/gdouble/ so the
	tools can detect pointer motions again...
2002-02-20 09:59:50 +00:00
Michael Natterer 8d0af04c3a Fixed #10466 (disappearing pixels when rotating by 90 deg):
2002-02-19  Michael Natterer  <mitch@gimp.org>

	Fixed #10466 (disappearing pixels when rotating by 90 deg):

	* app/core/gimpdrawable-transform.c: when transforming backwards
	to find the destination line's sub-pixel source coordinates, we
	need to transform the pixels _center_, not it's upper left corner.

	* app/core/gimpdrawable-transform-utils.[ch]: added
	gimp_drawable_transform_matrix_rotate_center() which takes double
	center coordinates instead of an integer pixel bounding box.

	* app/tools/gimptransformtool.[ch]: use double instead of int for
	all coordinates except the original bounding box.

	* app/tools/gimprotatetool.c: use double whenever touching the
	"center" value, so it can be sub-pixel positioned.
2002-02-19 16:35:13 +00:00
Michael Natterer bec4c72534 app/tools/tools-types.h chain up unconditionally in control(),
2002-02-18  Michael Natterer  <mitch@gimp.org>

	* app/tools/tools-types.h
	* app/tools/*.[ch]: chain up unconditionally in control(),
	s/ToolAction/GimpToolAction/g, s/ToolState/GimpToolState/g.

	* app/tools/gimpbezierselecttool.c
	* app/tools/gimpinktool.c
	* app/tools/gimppainttool.c: don't touch tool->paused_count
	(setting it to 0 was a hack which should no longer be needed).

	* app/tools/gimpdrawtool.c: check if the draw tool has actually
	been started (draw_tool->gdisp != NULL) before calling it's
	draw() function.

	* app/tools/tool_manager.c: simplified tool_manager_control_active():
	simply call gimp_tool_control() if gdisp == tool->gdisp.

	* app/tools/gimptool.[ch]: gimp_tool_control(): do all the PAUSE,
	RESUME and HALT voodoo here.

	* app/tools/gimppainttool.c: implemented #9902 (Drawing straight
	lines does not work between different views). It's an evil hack,
	but clearly marked in the source.
2002-02-18 17:00:09 +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 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
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
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
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 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 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
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
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 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