Commit Graph

15 Commits

Author SHA1 Message Date
Sven Neumann ef885f7691 Added an RGB histogram based on a patch by Tor Lillqvist. Fixes bug
2004-07-06  Sven Neumann  <sven@gimp.org>

	Added an RGB histogram based on a patch by Tor Lillqvist. Fixes
	bug #145401.

	* app/base/base-enums.[ch]: added GIMP_HISTOGRAM_RGB, don't export
	it to the PDB.

	* app/base/gimphistogram.c: implemented histogram functions for
	the RGB mode.

	* app/base/levels.c
	* app/tools/gimpcurvestool.c
	* app/tools/gimplevelstool.c
	* app/widgets/gimpcolorbar.c
	* app/widgets/gimphistogrameditor.c: handle the new enum value.

	* app/widgets/gimphistogramview.c: for GIMP_HISTOGRAM_RGB mode,
	draw a histogram that shows the RGB channels simultaneously
2004-07-06 16:33:30 +00:00
Michael Natterer 8394e9e0f1 removed GimpChannelLutType enum and export GimpHistogramChannel to the
2004-01-13  Michael Natterer  <mitch@gimp.org>

	* app/base/base-enums.h: removed GimpChannelLutType enum and
	export GimpHistogramChannel to the PDB. The removed enum was just
	there for libgimp compatibility.

	* tools/pdbgen/pdb/color.pdb: changed accordingly.

	* libgimp/gimpcompat.h
	* plug-ins/script-fu/siod-wrapper.c: added compat cruft.

	* app/pdb/color_cmds.c
	* libgimp/gimpcolor_pdb.[ch]
	* libgimp/gimpenums.h
	* plug-ins/pygimp/gimpenums.py
	* plug-ins/script-fu/script-fu-constants.c
	* tools/pdbgen/enums.pl: regenerated.
2004-01-13 16:19:50 +00:00
Michael Natterer dec20d8214 Enabled skipping enum values for either the PDB or GType registration
2004-01-06  Michael Natterer  <mitch@gimp.org>

	Enabled skipping enum values for either the PDB or GType
	registration (don't always skip both targets):

	* tools/gimp-mkenums: skip enum values only if there is a literal
	"skip" (don't match "pdb-skip").

	* tools/pdbgen/enumgen.pl: skip only "pdb-skip" values, not "skip"
	ones.

	* app/base/base-enums.h
	* app/core/core-enums.h
	* app/paint/paint-enums.h
	* libgimpbase/gimpbaseenums.h: use the right "pdb-skip"/"skip"
	combination to skip enum values. Changed comments accordingly.

	Cleaned up the fill functions:

	* app/core/core-enums.[ch]: added GIMP_PATTERN_FILL enum value to
	the GimpFillType enum. Don't export GIMP_NO_FILL to the PDB
	because it's completely useless to export a NOP.

	* app/core/gimp-edit.c (gimp_edit_fill, gimp_edit_fill_internal):
	handle pattern fill requests.

	* app/core/gimpdrawable.[ch] (gimp_drawable_fill): added GimpPattern
	parameter and fill with it if it's non-NULL.

	(gimp_drawable_fill_by_type): handle pattern fill and pass the
	current pattern to gimp_drawable_fill().

	* app/text/gimptextlayer.c: changed accordingly.

	* app/gui/edit-commands.c
	* app/gui/image-menu.c: use gimp_edit_fill() instead of
	gimp_drawable_bucket_fill() for FG, BG and pattern filling.

	* libgimp/gimpcompat.h
	* plug-ins/script-fu/siod-wrapper.c: removed NO_IMAGE_FILL compat
	enum value. It should have never been exported to the PDB.

	* app/pdb/drawable_cmds.c
	* app/pdb/edit_cmds.c
	* libgimp/gimpenums.h
	* plug-ins/pygimp/gimpenums.py
	* plug-ins/script-fu/script-fu-constants.c
	* tools/pdbgen/enums.pl: regenerated.
2004-01-06 14:02:08 +00:00
Sven Neumann 4ebac2e791 app/base/base-enums.h app/paint/paint-enums.h use /*< pdb-skip, skip >*/,
2003-07-01  Sven Neumann  <sven@gimp.org>

	* app/base/base-enums.h
	* app/paint/paint-enums.h
	* app/tools/tools-enums.h: use /*< pdb-skip, skip >*/, updated the
	comment that explains how to use the trigraph sequences.

	* app/tools/tools-enums.c: regenerated.
2003-07-01 10:53:38 +00:00
Sven Neumann edaab6c3b4 app/base/base-enums.[ch] changed CurvesType enum GimpCurveType and
2003-03-14  Sven Neumann  <sven@gimp.org>

	* app/base/base-enums.[ch]
	* app/base/curves.[ch]: changed CurvesType enum GimpCurveType and
	register it with the type system.

	* app/tools/gimpcurvestool.c: use an enum menu here.
2003-03-14 19:58:59 +00:00
Sven Neumann ace7acd3b4 app/base/base-enums.h app/paint-funcs/paint-funcs-generic.h
2002-11-05  Sven Neumann  <sven@gimp.org>

	* app/base/base-enums.h
	* app/paint-funcs/paint-funcs-generic.h
	* app/paint-funcs/paint-funcs.c
	* app/widgets/gimpwidgets-constructors.c: applied a patch from
	Guillermo S. Romero that adds three new layer modes (Softlight,
	Grain Extract and Grain Merge, #97686).

	* app/base/base-enums.c
	* app/pdb/brush_select_cmds.c
	* app/pdb/brushes_cmds.c
	* app/pdb/layer_cmds.c
	* app/pdb/misc_tools_cmds.c
	* app/widgets/gimpwidgets-constructors.c
	* libgimp/gimpenums.h
	* plug-ins/script-fu/script-fu-constants.c
	* tools/pdbgen/enums.pl: regenerated.
2002-11-05 19:33:59 +00:00
Michael Natterer 1186e83a28 Color correction tool chopping:
2002-08-26  Michael Natterer  <mitch@gimp.org>

	Color correction tool chopping:

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

	* app/core/Makefile.am
	* app/core/core-types.h
	* app/core/gimpimagemap.[ch]: ...and added here as object.

	* app/base/Makefile.am
	* app/base/base-types.h
	* app/base/color-balance.[ch]
	* app/base/curves.[ch]
	* app/base/hue-saturation.[ch]
	* app/base/threshold.[ch]: the lowlevel color correction functions
	plus their parameter structs cut out of the resp. tools.

	* app/core/core-enums.[ch]: removed GimpTransferMode enum...

	* app/base/base-enums.[ch]: ...added it here. Also added
	GimpHueRange for the new hue-saturation files.

	* tools/pdbgen/enums.pl
	* libgimp/gimpenums.h
	* plug-ins/script-fu/script-fu-constants.c: regenerated.

	* app/tools/Makefile.am
	* app/tools/gimpcolorbalancetool-transfer.c: removed (code went
	to base/color-balance.c).

	* app/tools/gimpimagemaptool.[ch]: added most code which was
	diplicated in subclasses. Create the dialog here with a nice title
	bar including image preview and name (fixes #66033). Added virtual
	functions map(), dialog() and reset() which need to be implemented
	by subclasses.

	* app/tools/gimpbrightnesscontrasttool.[ch]
	* app/tools/gimpcolorbalancetool.[ch]
	* app/tools/gimpcurvestool.[ch]
	* app/tools/gimphuesaturationtool.[ch]
	* app/tools/gimplevelstool.[ch]
	* app/tools/gimpposterizetool.[ch]
	* app/tools/gimpthresholdtool.[ch]: removed tons of duplicated
	code and simply implement GimpImageMapTool's virtual functions.
	Removed all dialog structs and keep the variables in the tool
	structs. The dialogs are now created on-the-fly and destroyed when
	the tool goes away, which makes all callbacks much simpler and
	safer. Lots of GUI & code cleanup in all dialogs.

	* app/tools/gimpcurvestool.c
	* app/tools/gimplevelstool.c: added separate "Reset Channel"
	buttons and let the global "Reset" buttons reset all color
	channels.

	* app/tools/tools.c: the various antique foo_free() functions
	don't exist any more.

	* app/tools/gimphistogramtool.c: removed ImageMap field from
	dialog struct (it was unused). Cleaned up dialog a bit.

	* tools/pdbgen/Makefile.am: don't scan tools/gimphuesaturationtool.h
	for enums.

	* tools/pdbgen/pdb/color.pdb: use the new stuff from base/ and
	don't include stuff from tools/ any more.

	* app/pdb/color_cmds.c
	* app/pdb/paint_tools_cmds.c: regenerated.
2002-08-26 11:35:56 +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 4d4ec70f8c allowing NULL for names was a bad idea...
2002-03-17  Sven Neumann  <sven@gimp.org>

	* tools/gimp-mkenums: allowing NULL for names was a bad idea...

	* app/base/base-enums.[ch]: added more descriptions.
2002-03-17 14:27:30 +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
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
Sven Neumann 03a6c04419 app/base/base-enums.h moved all remaining enums to base-enums.h
2001-12-11  Sven Neumann  <sven@gimp.org>

	* app/base/base-enums.h
	* app/base/base-types.h: moved all remaining enums to base-enums.h

	* app/core/core-enums.h
	* app/core/core-types.h: moved GimpImageType to core-enums.h and
	changed the values from RGB_GIMAGE to GIMP_RGB_IMAGE and the like.

	* app/core/gimpchannel.c
	* app/core/gimpdrawable-preview.c
	* app/core/gimpdrawable-transform.c
	* app/core/gimpdrawable.c
	* app/core/gimpimage-contiguous-region.c
	* app/core/gimpimage-convert.c
	* app/core/gimpimage-mask.c
	* app/core/gimpimage-merge.c
	* app/core/gimpimage-new.c
	* app/core/gimpimage-projection.c
	* app/core/gimpimage.[ch]
	* app/core/gimplayer.c
	* app/core/gimplayermask.c
	* app/core/gimppalette-import.c
	* app/display/gimpdisplayshell-dnd.c
	* app/display/gimpdisplayshell-render.c
	* app/gui/file-save-dialog.c
	* app/gui/toolbox.c
	* app/plug-in/plug-in.c
	* app/tools/gimpblendtool.c
	* app/tools/gimpcolorpickertool.c
	* app/tools/gimpdodgeburntool.c: changed accordingly.

	* tools/pdbgen/Makefile.am: no need to parse app/base/base-types.h
	any longer.

	* app/pdb/color_cmds.c
	* app/pdb/drawable_cmds.c
	* app/pdb/layer_cmds.c
	* app/pdb/paint_tools_cmds.c
	* tools/pdbgen/enums.pl: regenerated.
2001-12-11 18:11:56 +00:00
Sven Neumann 002ac38acd introduced new trigraph keyword /*< pdb-skip >*/ used to skip enums for
2001-12-08  Sven Neumann  <sven@gimp.org>

	* tools/pdbgen/enumgen.pl: introduced new trigraph keyword
	/*< pdb-skip >*/ used to skip enums for inclusion in libgimp when
	parsing headers. The keyword /*< skip >*/ is still used to skip
	enum values. This change is necessary since glib-mkenums also uses
	/*< skip >*/.

	* app/base/base-types.h * app/base/base-enums.h: moved
	GimpCheckType and GimpCheckSize to base-enums.h so they get
	registered with the type system, marked them as /*< pdb-skip >*/.

	* app/core/core-types.h * app/display/display-types.h *
	app/paint-funcs/paint-funcs-types.h * app/tools/gimppainttool.h *
	app/tools/tools-types.h: changed /*< skip >*/ to /*< pdb-skip >*/.
2001-12-09 00:15:46 +00:00
Sven Neumann a65e1a39e4 app/core/Makefile.am new file that holds enums that are registered with
2001-12-08  Sven Neumann  <sven@gimp.org>

	* app/core/Makefile.am
	* app/core/core-enums.h: new file that holds enums that are registered
	with the type system and is used to generate core-enums.c.

	* app/core/core-types.h: include core-enums.h

	* app/base/base-types.h: namespace cleanup. Prefix all enumeration
	types with Gimp and their values with GIMP. Moved GimpLayerModeEffects
	enum ...

	* app/base/base-enums.h: ... here.

	* app/image_map.c
	* app/base/temp-buf.c
	* app/core/gimpcontext.[ch]
	* app/core/gimpdrawable-transform.c
	* app/core/gimpdrawable.c
	* app/core/gimpedit.c
	* app/core/gimpimage-mask.c
	* app/core/gimpimage-merge.c
	* app/core/gimpimage-new.c
	* app/core/gimpimage-projection.c
	* app/core/gimpimage.[ch]
	* app/core/gimplayer.[ch]
	* app/display/gimpdisplayshell-dnd.c
	* app/display/gimpdisplayshell-render.c
	* app/gui/brush-select.c
	* app/gui/layers-commands.c
	* app/gui/preferences-dialog.c
	* app/gui/toolbox.c
	* app/paint-funcs/paint-funcs.[ch]
	* app/tools/gimpconvolvetool.c
	* app/tools/gimperasertool.c
	* app/tools/gimpiscissorstool.c
	* app/tools/gimppainttool.[ch]
	* app/tools/gimptexttool.c
	* app/tools/paint_options.c
	* app/widgets/gimplayerlistview.c
	* app/widgets/gimpwidgets-constructors.[ch]
	* app/xcf/xcf-load.c
	* tools/pdbgen/pdb/brush_select.pdb
	* tools/pdbgen/pdb/brushes.pdb
	* tools/pdbgen/pdb/color.pdb
	* tools/pdbgen/pdb/layer.pdb
	* tools/pdbgen/pdb/tools.pdb: changed accordingly.

	* libgimpbase/gimpbasetypes.h: no need to chop GIMP prefix off the
	enums any longer.

	* app/pdb/brush_select_cmds.c
	* app/pdb/brushes_cmds.c
	* app/pdb/color_cmds.c
	* app/pdb/layer_cmds.c
	* app/pdb/message_cmds.c
	* app/pdb/procedural_db_cmds.c
	* app/pdb/tools_cmds.c
	* libgimp/gimpenums.h
	* plug-ins/script-fu/script-fu-constants.c
	* tools/pdbgen/enums.pl: regenerated.

	* app/gimprc.c: removed code to parse for "plug_in" keyword which was
	left over from some very early gimp days.

	* app/plug-in/plug-in.[ch]: removed now unused function plug_in_add().
2001-12-08 23:12:59 +00:00
Sven Neumann d4829df4d3 removed from CVS, they are generated.
2001-12-07  Sven Neumann  <sven@gimp.org>

	* app/core/gimpmarshal.[ch]: removed from CVS, they are generated.

	* app/base/Makefile.am
	* app/base/base-enums.h: new file defining enums that are to be
	registered. Used to build app/base/base-enums.c.

	* app/base/base-types.h: include base-enums.h.

	* tools/pdbgen/Makefile.am
	* tools/pdbgen/enumcode.pl
	* tools/pdbgen/enums.pl: parse the new base-enums.h file and modified
	the perl voodoo so it doesn't prefix enums with GIMP_ that are already
	properly namespaced.

	* app/core/core-types.h: don't need to chop GIMP from enum.

	* app/pdb/color_cmds.c
	* app/pdb/tools_cmds.c
	* libgimp/gimpenums.h
	* plug-ins/script-fu/script-fu-constants.c: regenerated.

	* app/config/gimpconfig-deserialize.[ch]
	* app/config/gimpconfig-serialize.[ch]
	* app/config/gimpconfig.[ch]: made GimpConfig an interface including
	a reasonable default implementation that works on object properties.

	* app/config/Makefile.am
	* app/config/gimpbaseconfig.[ch]: new GimpBaseConfig using the
	GimpConfig interface. Yet only used for testing from app/main.c.

	* app/main.c: test the new GimpBaseConfig object.

	* app/gimprc.c
	* app/base/base-config.h
	* app/base/*.c
	* app/core/gimpdatafiles.c
	* app/core/gimpdrawable-transform.c
	* app/core/gimppreviewcache.c
	* app/gui/preferences-dialog.c
	* app/paint-funcs/paint-funcs.c
	* app/xcf/xcf-seek.c: need to include glib-object.h since base-config
	contains registered enums now. Follow name change of InterpolationType
	to GimpInterpolationType.
2001-12-07 16:10:53 +00:00