Commit Graph

46 Commits

Author SHA1 Message Date
Michael Natterer 50ad5cfd32 add refcounting and replace free() API by ref() and unref().
2008-02-04  Michael Natterer  <mitch@gimp.org>

	* app/base/gimphistogram.[ch]: add refcounting and replace free()
	API by ref() and unref().

	* app/core/gimpdrawable-equalize.c
	* app/core/gimpdrawable-levels.c
	* app/widgets/gimphistogrameditor.c
	* tools/pdbgen/pdb/color.pdb: replace calls to
	gimp_histogram_free() by gimp_histogram_unref().

	* app/pdb/color_cmds.c: regenerated.

	* app/widgets/gimphistogramview.c: reference the histograms so we
	don't need the widget's users to keep them around while the widget
	exists.

	* app/tools/gimpcurvestool.[ch]: remove the histogram from the
	tool struct and just create one locally to set it on the histogram
	view widget.

	Unrelated:

	* app/tools/gimplevelstool.[ch]
	* app/tools/gimpthresholdtool.[ch]: renamed "hist" members to
	"histogram" plus some cleanup.


svn path=/trunk/; revision=24792
2008-02-04 21:41:57 +00:00
Sven Neumann 05afe3edc1 weight pixels by their alpha value (bug #477689).
2007-09-19  Sven Neumann  <sven@gimp.org>

	* app/base/gimphistogram.c: weight pixels by their alpha value
	(bug #477689).


svn path=/trunk/; revision=23591
2007-09-19 17:21:41 +00:00
Sven Neumann 2d1c0dddc5 corrected caluclation for the histogram in RGB mode (bug #466189).
2007-08-13  Sven Neumann  <sven@gimp.org>

	* app/base/gimphistogram.c (gimp_histogram_get_std_dev): corrected
	caluclation for the histogram in RGB mode (bug #466189).

svn path=/trunk/; revision=23232
2007-08-13 10:34:35 +00:00
Michael Natterer ada79e533a app/actions/data-commands.c app/base/boundary.c app/base/gimphistogram.c
2007-05-22  Michael Natterer  <mitch@gimp.org>

	* app/actions/data-commands.c
	* app/base/boundary.c
	* app/base/gimphistogram.c
	* app/base/gimplut.c
	* app/base/temp-buf.c
	* app/core/gimpcontainer.c
	* app/core/gimpgradient.c
	* app/core/gimpparamspecs.c
	* app/core/gimpundo.c
	* app/plug-in/gimpplugin-cleanup.c
	* app/plug-in/gimppluginmanager-data.c
	* app/plug-in/gimppluginmanager-help-domain.c
	* app/plug-in/gimppluginmanager-locale-domain.c
	* app/plug-in/gimppluginmanager-menu-branch.c
	* app/plug-in/gimppluginprocframe.c
	* app/vectors/gimpanchor.c
	* app/widgets/gimpsessioninfo.c: use GSlice instead of g_new/g_free
	for structs of fixed size.


svn path=/trunk/; revision=22558
2007-05-22 10:43:48 +00:00
Sven Neumann 41237259c9 In all files, changed the standard copyright notice to say "GIMP - The GNU
2006-12-09  Sven Neumann  <sven@gimp.org>

        * In all files, changed the standard copyright notice to say
        "GIMP - The GNU Image Manipulation Program".
2006-12-09 21:33:38 +00:00
Sven Neumann 6a4981c82a Applied a slightly modified version of a patch from Lode Leroy (bug
2006-04-21  Sven Neumann  <sven@gimp.org>

	Applied a slightly modified version of a patch from Lode Leroy
	(bug #336183):

	* app/base/gimphistogram.[ch]: added new function
	gimp_histogram_get_threshold() that returns an optimal
	binarization threshold.

	* app/tools/gimpthresholdtool.c: use the new function to
	initialize the Threshold tool.
2006-04-21 09:40:27 +00:00
Sven Neumann 049872b361 app/*.[ch] converted tabs to spaces.
2006-04-12  Sven Neumann  <sven@gimp.org>

	* app/*.[ch]
	* app/*/*.[ch]: converted tabs to spaces.
2006-04-12 12:49:29 +00:00
jaycox b8752cd251 Fixed my email address in a dozen or so source files:
Fixed my email address in a dozen or so source files:
  modules/cdisplay_highcontrast.c
  libgimpbase/gimpparasite.c
  libgimpbase/gimpparasite.h
  libgimpmath/gimpmatrix.h
  libgimpmath/gimpmatrix.c
  app/core/gimpparasitelist.h
  app/core/gimpparasitelist.c
  app/base/gimphistogram.c
  app/base/gimphistogram.h
  app/base/gimplut.c
  app/base/gimplut.h
  app/base/pixel-processor.c
  app/base/pixel-processor.h
  app/core/gimp-parasites.c
  app/core/gimp-parasites.h
  app/core/gimpdrawable-histogram.c
  app/core/gimpdrawable-histogram.h
  app/core/gimpparasitelist.c
  app/core/gimpparasitelist.h
2006-01-12 00:50:44 +00:00
Sven Neumann 26eecddbdc loop unrolling.
2005-07-30  Sven Neumann  <sven@gimp.org>

	* app/base/gimphistogram.c (gimp_histogram_calculate_sub_region):
	loop unrolling.

	* app/dialogs/about-dialog.c
	* app/widgets/gimpselectiondata.c
	* plug-ins/bmp/bmpread.c (ReadBMP)
	* plug-ins/gfig/gfig.c (gfig_load)
	* plug-ins/imagemap/imap_preview.c
	* plug-ins/imagemap/imap_selection.c
	* plug-ins/jpeg/jpeg-exif.c
	* plug-ins/common/dicom.c: fixed signedness warnings.
2005-07-30 14:05:57 +00:00
Sven Neumann 2c9a2505e5 fixed checks for uncalculated histogram. Fixes bug #170570.
2005-03-16  Sven Neumann  <sven@gimp.org>

	* app/base/gimphistogram.c: fixed checks for uncalculated histogram.
	Fixes bug #170570.
2005-03-16 15:52:13 +00:00
Sven Neumann 8c245456f2 allocate histogram slots in one large block instead of multiple smaller
2005-02-14  Sven Neumann  <sven@gimp.org>

	* app/base/gimphistogram.c: allocate histogram slots in one large
	block instead of multiple smaller chunks. Hide pointer arithmetic
	in macros.
2005-02-14 17:45:35 +00:00
Sven Neumann 569dc824cc simplified the code and avoid excessive memory allocations for the
2005-02-14  Sven Neumann  <sven@gimp.org>

	* app/base/gimphistogram.c: simplified the code and avoid
	excessive memory allocations for the threaded case.
2005-02-14 01:33:14 +00:00
Sven Neumann 1cb9714f02 allocate temporary histogram slots on demand and provide an array with
2005-02-14  Sven Neumann  <sven@gimp.org>

	* app/base/gimphistogram.[ch]: allocate temporary histogram slots
	on demand and provide an array with enough slots for the maximum
	number of threads. gimp_histogram_new() doesn't need a
	GimpBaseConfig parameter any longer.

	* app/core/gimpdrawable-equalize.c
	* app/core/gimpdrawable-levels.c
	* app/tools/gimpcurvestool.c
	* app/tools/gimplevelstool.c
	* app/tools/gimpthresholdtool.c
	* app/widgets/gimphistogrameditor.c
	* tools/pdbgen/pdb/color.pdb: changed accordingly.

	* app/pdb/color_cmds.c: regenerated.
2005-02-14 01:05:34 +00:00
Sven Neumann 0e1077d61d app/base/gimphistogram.c use static mutexes.
2005-02-14  Sven Neumann  <sven@gimp.org>

	* app/base/gimphistogram.c
	* app/base/pixel-processor.c: use static mutexes.
2005-02-13 23:50:18 +00:00
Sven Neumann 50f9c145b2 port this code to gthread as well.
2005-02-13  Sven Neumann  <sven@gimp.org>

	* app/base/gimphistogram.c: port this code to gthread as well.
2005-02-13 22:31:31 +00:00
Sven Neumann adff5aeb09 code cleanup. Removed unsued code, renamed variables and types.
2005-02-11  Sven Neumann  <sven@gimp.org>

	* app/base/pixel-processor.[ch]: code cleanup. Removed unsued code,
	renamed variables and types.

	* app/base/gimphistogram.c
	* app/core/gimpchannel-combine.c
	* app/core/gimpchannel.c
	* app/core/gimpdrawable-equalize.c
	* app/core/gimpdrawable-invert.c
	* app/core/gimpdrawable-levels.c
	* app/paint-funcs/paint-funcs.c
	* tools/pdbgen/pdb/color.pdb: changed accordingly.

	* app/pdb/color_cmds.c: regenerated.
2005-02-11 17:03:56 +00:00
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 ebc1bf8cca added GimpHistogramChannel index fiddling hacks for GRAYA images to all
2004-01-13  Michael Natterer  <mitch@gimp.org>

	* app/base/gimphistogram.c: added GimpHistogramChannel index
	fiddling hacks for GRAYA images to all gimp_histogram_get_*()
	functions. The public API now does what their enum values pretend
	to do.

	(gimp_histogram_calculate): restructured to reduce indentation depth.

	* app/widgets/gimphistogrameditor.c
	* app/widgets/gimphistogramview.c
	* tools/pdbgen/pdb/color.pdb: removed hacks here and always use
	the unchanged enum values.

	* app/pdb/color_cmds.c: regenerated.
2004-01-13 13:35:58 +00:00
Michael Natterer 9eaace417f renamed gimp_histogram_nchannels() to gimp_histogram_n_channels().
2004-01-13  Michael Natterer  <mitch@gimp.org>

	* app/base/gimphistogram.[ch]: renamed gimp_histogram_nchannels()
	to gimp_histogram_n_channels().

	* app/core/gimpdrawable-histogram.c: removed silly double negation
	logic. Cleanup.

	* app/widgets/gimphistogrameditor.c
	* app/widgets/gimphistogramview.c: adjust the GimpHistogramChannel
	for GRAYA images to make sure we pick alpha from the right slot.

	* app/tools/gimpcurvestool.c
	* app/tools/gimplevelstool.c: removed the same hack here and call
	gimp_histogram_view_set_channel() with the correct enum value.

	* tools/pdbgen/pdb/color.pdb (levels, curves, histogram): fiddle
	with enum values here too so GRAY* drawables produce the correct
	results.

	Fixed precondition checks and set "success" in a uniform way all
	over the place.

	Use gimp_drawable_calculate_histogram() instead of duplicating its
	code here.

	(started with a patch from Pedro Gimeno. Fixes bug #109078)

	* app/pdb/color_cmds.c: regenerated.
2004-01-13 11:51:45 +00:00
Michael Natterer 768ce436e1 advance the source pointer by 4, not 3 bytes for regions with 4 bytes
2004-01-12  Michael Natterer  <mitch@gimp.org>

	* app/base/gimphistogram.c (gimp_histogram_calculate_sub_region):
	advance the source pointer by 4, not 3 bytes for regions with
	4 bytes (ouch). Cosmetics.
2004-01-12 22:35:17 +00:00
Sven Neumann b90be2fe66 forgot to also add a range check here.
2003-11-01  Sven Neumann  <sven@gimp.org>

	* app/base/gimphistogram.c (gimp_histogram_get_mean): forgot to
	also add a range check here.

	* app/widgets/gimphistogrameditor.c: update the channel menu when
	the image mode changes or an alpha channel is added/removed.
2003-11-01 13:16:02 +00:00
Sven Neumann dcf50dc2a9 Replaced the histogram tool by a histogram dialog:
2003-11-01  Sven Neumann  <sven@gimp.org>

	Replaced the histogram tool by a histogram dialog:

	* themes/Default/images/Makefile.am
	* themes/Default/images/tools/stock-tool-histogram-[16|22].png:
	removed here ...

	* themes/Default/images/stock-histogram-[16|22].png: ,,, and added
	under these new names.

	* libgimpwidgets/gimpstock.[ch]: register the icons as
	GIMP_STOCK_HISTOGRAM and removed the histogram tool stock icons.

	* app/base/gimphistogram.c: don't crash when uncalculated values
	are requested from a GimpHistogram. Allow to reset the histogram
	by calling gimp_histogram_calculate() with a NULL region.

	* app/widgets/gimphistogrambox.[ch]: renamed the GimpHistogramView
	struct member to "view".

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

	* app/widgets/gimphistogramview.[ch] (gimp_histogram_view_events):
	return TRUE when events were handled.

	* app/tools/Makefile.am
	* app/tools/gimp-tools.c
	* app/tools/gimphistogramtool.[ch]: removed the histogram tool.

	* app/widgets/Makefile.am
	* app/widgets/gimphelp-ids.h
	* app/widgets/widgets-types.h
	* app/widgets/gimphistogrameditor.[ch]: added GimpHistogramEditor.
	Has some rough edges still...

	* app/gui/dialogs-constructors.[ch]
	* app/gui/dialogs.c
	* app/gui/image-menu.c: register the new dialog instead of the
	histogram tool.
2003-11-01 02:39:34 +00:00
Sven Neumann d4b49c0c38 added a missing GimpHistogramChannel parameter. Fixes wrong values in the
2003-10-30  Sven Neumann  <sven@gimp.org>

	* app/base/gimphistogram.[ch] (gimp_histogram_get_count): added a
	missing GimpHistogramChannel parameter. Fixes wrong values in the
	histogram tool.

	* app/base/levels.c
	* app/base/lut-funcs.c
	* app/pdb/color_cmds.c
	* tools/pdbgen/pdb/color.pdb: changed accordingly.

	* app/tools/gimphistogramtool.c: update the histogram statistics
	on channel changes.
2003-10-30 17:48:16 +00:00
Sven Neumann bb9a49ab08 Fixed bug #103561:
2003-01-15  Sven Neumann  <sven@gimp.org>

	Fixed bug #103561:

	* app/base/gimphistogram.[ch]: cleaned up multi-processor code,
	added a GimpBaseConfig parameter to gimp_histogram_new().

	* app/core/gimpdrawable-equalize.c
	* app/pdb/color_cmds.c
	* app/tools/gimphistogramtool.c
	* app/tools/gimplevelstool.c
	* app/tools/gimpthresholdtool.c
	* tools/pdbgen/pdb/color.pdb: changed accordingly.

	* app/base/pixel-processor.c: some cleanup to the multi-processor
	code; use the global base_config variable :(
2003-01-15 13:40:44 +00:00
Sven Neumann 073e533a8a Finally landed the new GimpConfig based gimprc parser. It's not finished
2002-11-18  Sven Neumann  <sven@gimp.org>

	Finally landed the new GimpConfig based gimprc parser. It's not
	finished yet but we need to start somewhere. This release removes
	the old gimprc.[ch] files. The gimprc format changes slightly, but
	the changes are minimal. The Preferences dialog is temporarily
	disabled since it still needs to be ported. If you are are afraid,
	stay away from CVS for a few days ;-)

	* app/Makefile.am
	* app/gimprc.[ch]: removed the old gimprc system.

	* app/base/Makefile.am
	* app/base/base-config.[ch]: removed these files in favor of
	config/gimpbaseconfig.[ch].

	* app/core/Makefile.am
	* app/core/gimpcoreconfig.[ch]: removed these files in favor of
	config/gimpcoreconfig.[ch].

	* app/config/Makefile.am
	* app/config/config-types.h: moved typedefs into this new file.

	* app/config/gimpbaseconfig.[ch]
	* app/config/gimpcoreconfig.[ch]
	* app/config/gimpdisplayconfig.[ch]
	* app/config/gimpguiconfig.[ch]
	* app/config/gimprc.[ch]
	* app/config/test-config.c: brought into shape for real use.

	* app/base/base-types.h: include config/config-types.h here. Added
	a global GimpBaseConfig *base_config variable to ease migration.

	* app/gui/Makefile.am: temporarily disabled the preferences dialog.

	* app/app_procs.c
	* app/undo.c
	* app/undo_history.c
	* app/base/base.[ch]
	* app/base/gimphistogram.c
	* app/base/pixel-processor.c
	* app/base/temp-buf.c
	* app/base/tile-cache.c
	* app/core/core-types.h
	* app/core/gimp-documents.c
	* app/core/gimp.c
	* app/core/gimpbrush.c
	* app/core/gimpbrushgenerated.c
	* app/core/gimpcontext.c
	* app/core/gimpdrawable-transform.c
	* app/core/gimpimage-new.c
	* app/core/gimpimage.c
	* app/core/gimpimagefile.c
	* app/core/gimpmodules.c
	* app/core/gimppattern.c
	* app/display/Makefile.am
	* app/display/gimpdisplay-handlers.c
	* app/display/gimpdisplay.[ch]
	* app/display/gimpdisplayshell-callbacks.c
	* app/display/gimpdisplayshell-handlers.c
	* app/display/gimpdisplayshell-layer-select.c
	* app/display/gimpdisplayshell-render.c
	* app/display/gimpdisplayshell-scale.c
	* app/display/gimpdisplayshell-scroll.c
	* app/display/gimpdisplayshell-selection.c
	* app/display/gimpdisplayshell.[ch]
	* app/display/gimpnavigationview.c
	* app/file/file-save.c
	* app/gui/device-status-dialog.c
	* app/gui/dialogs-constructors.c
	* app/gui/file-commands.c
	* app/gui/file-new-dialog.c
	* app/gui/file-open-dialog.c
	* app/gui/file-save-dialog.c
	* app/gui/gui.c
	* app/gui/menus.c
	* app/gui/paths-dialog.c
	* app/gui/resize-dialog.c
	* app/gui/session.c
	* app/gui/test-commands.c
	* app/gui/tips-dialog.c
	* app/gui/tips-dialog.h
	* app/gui/user-install-dialog.c
	* app/gui/view-commands.c
	* app/paint/gimppaintcore.c
	* app/plug-in/plug-in.c
	* app/plug-in/plug-ins.c
	* app/tools/gimpbezierselecttool.c
	* app/tools/gimpbucketfilltool.c
	* app/tools/gimpcolorpickertool.c
	* app/tools/gimpcroptool.c
	* app/tools/gimpeditselectiontool.c
	* app/tools/gimpfuzzyselecttool.c
	* app/tools/gimpinktool.c
	* app/tools/gimpmagnifytool.c
	* app/tools/gimpmeasuretool.c
	* app/tools/gimppainttool.c
	* app/tools/gimppathtool.c
	* app/tools/gimptexttool.[ch]
	* app/tools/selection_options.c
	* app/tools/tools.c
	* app/tools/transform_options.c
	* app/widgets/gimphelp.c
	* app/widgets/gimpitemfactory.c
	* app/widgets/gimpselectioneditor.c
	* app/xcf/xcf-load.c
	* tools/pdbgen/pdb/fileops.pdb
	* tools/pdbgen/pdb/gimprc.pdb
	* tools/pdbgen/pdb/image.pdb
	* tools/pdbgen/pdb/layer.pdb
	* tools/pdbgen/pdb/transform_tools.pdb: use the new config system
	instead of the old gimprc stuff.

	* etc/gimprc.in
	* etc/gimprc_user.in: adapted to the new gimprc format. Will update
	the man-page later...

	* app/pdb/fileops_cmds.c
	* app/pdb/gimprc_cmds.c
	* app/pdb/image_cmds.c
	* app/pdb/layer_cmds.c
	* app/pdb/transform_tools_cmds.c
	* libgimp/gimpgimprc_pdb.c: regenerated.
2002-11-18 20:50:31 +00:00
Michael Natterer f54912e108 Histogram cleanup:
2002-09-07  Michael Natterer  <mitch@gimp.org>

	Histogram cleanup:

	* app/base/gimphistogram.c: Added g_return_if_fail() to all public
	functions, reordered stuff, cleanup (no logic changed).

	* app/widgets/Makefile.am
	* app/widgets/widgets-types.h
	* app/widgets/gimphistogrambox.[ch]: new widget containing a
	GimpHistogramView and two range spinbuttons (as known from the
	threshold tool). Users only need to connect to the histogram
	view's "range_changed" signal. The spinbuttons are handled
	internally.

	* app/widgets/gimphistogramview.[ch]: define it's default size in
	the header. Make sure "start" is always smaller than "end". Emit
	"range_changed" in gimp_histogram_view_set_range().

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

	* app/tools/gimpthresholdtool.[ch]: removed the code which
	did the same and use the new widget.

	* app/tools/gimphistogramtool.[ch]: ditto. Removed the "intensity"
	info label. Cleanup.
2002-09-07 17:27:32 +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
Michael Natterer 654aa93ef5 removed "num_processors".
2001-05-25  Michael Natterer  <mitch@gimp.org>

	* app/gimprc.[ch]: removed "num_processors".

	* app/base/base-config.[ch]: and added it here.

	* app/base/gimphistogram.c
	* app/base/pixel-processor.c
	* app/gui/preferences-dialog.c: changed accordingly.
2001-05-25 16:24:44 +00:00
Michael Natterer 0196e83f8d app/gimphistogram.[ch] removed.
2001-05-23  Michael Natterer  <mitch@gimp.org>

	* app/gimphistogram.[ch]
	* app/lut_funcs.[ch]: removed.

	* app/base/gimphistogram.[ch]
	* app/base/lut-funcs.[ch]
	* app/core/gimpdrawable-histogram.[ch]: added, cleanup.

	* app/Makefile.am
	* app/appenums.h
	* app/apptypes.h
	* app/base/Makefile.am
	* app/base/base-types.h
	* app/core/Makefile.am
	* app/core/gimpchannel.c
	* app/core/gimpdrawable-equalize.c
	* app/core/gimpdrawable-invert.c
	* app/pdb/color_cmds.c
	* app/widgets/gimphistogramview.c
	* tools/pdbgen/Makefile.am
	* tools/pdbgen/enums.pl
	* tools/pdbgen/pdb/color.pdb: changed accordingly.
2001-05-22 23:05:35 +00:00
Michael Natterer d240f623f1 new directory app/base/
2001-05-15  Michael Natterer  <mitch@gimp.org>

	* configure.in: new directory app/base/

	* app/Makefile.am
	* app/boundary.[ch]
	* app/brush_scale.[ch]
	* app/gimpchecks.h
	* app/gimplut.[ch]
	* app/pixel_processor.[ch]
	* app/pixel_region.[ch]
	* app/pixel_surround.[ch]
	* app/temp_buf.[ch]
	* app/tile.[ch]
	* app/tile_cache.[ch]
	* app/tile_manager.[ch]
	* app/tile_manager_pvt.h
	* app/tile_pvt.h
	* app/tile_swap.[ch]: moved to base/

	* app/base/Makefile.am
	* app/base/base-types.h
	* app/base/*: new directory for the sub-object pixel maniplation
	and storage stuff. Does not include Gtk+ or anything outside
	base/. Did some cleanup in all files.

	* app/appenums.h
	* app/apptypes.h
	* app/core/gimpimage.h: removed types which are now in
	base/base-types.h.

	* app/base/base-config.[ch]
	* app/gimprc.[ch]: put the config variables for base/ to their own
	file so base/ doesn not have to include gimprc.h (does not yet
	work, i.e. the variables are un-configurable right now)

	* app/main.c: set a log handler for "Gimp-Base".

	* app/paint-funcs/Makefile.am
	* app/paint-funcs/paint-funcs.[ch]: removed the color hash which
	maps RGB to color indices because it's a totally standalone system
	which has nothing to do with the paint-funcs and introduced a
	GimpImage dependency.

	paint-funcs/ should be considered on the same sub-object
	(glib-only) level as base/, only in a different directory.

	* app/core/Makefile.am
	* app/core/gimpimage-colorhash.[ch]: put the color hash here.

	* app/gimage.c: don't invalidate the color hash here...

	* app/core/gimpimage.c: ... but in the colormap_changed() default
	inplementation. Initialize the hash in class_init().

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

	* tools/pdbgen/enums.pl: regenerated.

	* app/[lots]
	* app/core/[of]
	* app/gui/[files]
	* app/pdb/[all]
	* app/tools/[over]
	* app/widgets/[the]
	* tools/pdbgen/pdb/[place]: changed #includes accordingly. And use
	base_config->value instead of the stuff from gimprc.h.
2001-05-15 11:25:25 +00:00
Michael Natterer d1022c34b6 app/Makefile.am removed.
2001-05-10  Michael Natterer  <mitch@gimp.org>

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

	* app/core/Makefile.am
	* app/core/core-types.h
	* app/tools/Makefile.am
	* app/tools/tools-types.h: new files.

	* app/tools/gimptoolinfo.[ch]: removed.
	* app/core/gimptoolinfo.[ch]: added here.

	* libgimp/Makefile.am
	* libgimp/gimp.h
	* libgimp/gimpadaptivesupersample.[ch]
	* libgimp/gimpbilinear.[ch]: removed here...

	* libgimpcolor/Makefile.am
	* libgimpcolor/gimpcolortypes.h
	* libgimpcolor/gimpadaptivesupersample.[ch]
	* libgimpcolor/gimpbilinear.[ch]: ..and added here.

	* tools/pdbgen/app.pl
	* tools/pdbgen/pdb/paths.pdb

	* app/*.c: changed tons of #include's
2001-05-09 22:34:59 +00:00
Michael Natterer 8985b107c3 configure.in added new directory app/core/ for the core object system.
2001-05-09  Michael Natterer  <mitch@gimp.org>

	* configure.in
	* app/Makefile.am: added new directory app/core/ for the core
	object system.

	* app/gimage_mask.[ch]
	* app/gimpbrush-header.h
	* app/gimpbrush.[ch]
	* app/gimpbrushgenerated.[ch]
	* app/gimpbrushpipe.[ch]
	* app/gimpchannel.[ch]
	* app/gimpcontainer.[ch]
	* app/gimpcontext.[ch]
	* app/gimpdata.[ch]
	* app/gimpdatafactory.[ch]
	* app/gimpdatalist.h
	* app/gimpdrawable-desaturate.[ch]
	* app/gimpdrawable-equalize.[ch]
	* app/gimpdrawable-invert.[ch]
	* app/gimpdrawable-offset.[ch]
	* app/gimpdrawable-preview.[ch]
	* app/gimpdrawable.[ch]
	* app/gimpgradient.[ch]
	* app/gimpimage-convert.[ch]
	* app/gimpimage-duplicate.[ch]
	* app/gimpimage-undo.[ch]
	* app/gimpimage.[ch]
	* app/gimplayer.[ch]
	* app/gimplayermask.[ch]
	* app/gimplist.[ch]
	* app/gimpmarshal.[ch]
	* app/gimpobject.[ch]
	* app/gimppalette-import.[ch]
	* app/gimppalette.[ch]
	* app/gimppattern-header.h
	* app/gimppattern.[ch]
	* app/gimpundo.[ch]
	* app/gimpundostack.[ch]
	* app/gimpviewable.[ch]: removed these files...

	* app/core/*: ...and added them here.

	* app/*.c
	* app/gui/*.c
	* app/pdb/*.c
	* app/tools/*.c
	* app/widgets/*.c
	* plug-ins/common/gbr.c
	* plug-ins/common/gih.c
	* plug-ins/common/pat.c
	* po/POTFILES.in
	* tools/pdbgen/Makefile.am
	* tools/pdbgen/enums.pl
	* tools/pdbgen/pdb.pl
	* tools/pdbgen/pdb/*.pdb: changed accordingly.
2001-05-09 02:32:03 +00:00
jaycox 38b9f207fc Applied patches by Roel Schroeven <rschroev@yahoo.com> that fix histogram
* app/gimphistogram.c: Applied patches by Roel Schroeven
	<rschroev@yahoo.com> that fix histogram with mask calculation bug and
	median calculation bug.
2001-02-06 07:15:22 +00:00
Michael Natterer dde74f9735 app/Makefile.am app/gimpchannel.[ch] new files moved here by Yosh.
2001-02-01  Michael Natterer  <mitch@gimp.org>

	* app/Makefile.am
	* app/gimpchannel.[ch]
	* app/gimplayer.[ch]: new files moved here by Yosh.

	* app/channel.[ch]
	* app/layer.[ch]: removed.

	* app/gdisplay.c: cleanup stuff.

	* app/[lotsa files].c
	* tools/pdbgen/Makefile.am
	* tools/pdbgen/pdb.pl
	* tools/pdbgen/pdb/channel.pdb
	* tools/pdbgen/pdb/drawable.pdb
	* tools/pdbgen/pdb/floating_sel.pdb
	* tools/pdbgen/pdb/layer.pdb: changed includes accordingly.
2001-02-01 18:44:22 +00:00
Michael Natterer df0bbb26fb removed channel_update() because channel.c should not call
2001-01-29  Michael Natterer  <mitch@gimp.org>

	* app/channel.[ch]: removed channel_update() because channel.c
	should not call gdisplays_update(). Use drawable_update() and
	a subsequent gdisplays_update() instead.

	* app/qmask.c: do as described above.

	* app/channel_ops.c
	* app/channels_dialog.c
	* app/commands.c
	* app/convert.c
	* app/disp_callbacks.c
	* app/equalize.c
	* app/fileops.c
	* app/floating_sel.c
	* app/gdisplay.c
	* app/gimage.c
	* app/gimage_mask.c
	* app/gimpdnd.c
	* app/gimpdrawablepreview.c
	* app/gimphistogram.c
	* app/gimplayermask.c
	* app/global_edit.c
	* app/histogramwidget.c
	* app/histogramwidget.h
	* app/image_map.c
	* app/image_new.c
	* app/invert.c
	* app/layer.c
	* app/layer_select.c
	* app/paths_dialog.c
	* app/plug_in.c
	* app/scan_convert.c
	* app/undo_history.c
	* app/xcf.c: include gimpdrawable.h instead of drawable.h where
	possible, removed useless includes, minor other cleanups.
2001-01-29 17:54:02 +00:00
Michael Natterer 227eea67cb app/Makefile.am new file.
2001-01-29  Michael Natterer  <mitch@gimp.org>

	* app/Makefile.am
	* app/undo_history.h: new file.

	* app/apptypes.h: removed the "Channel" typedef.

	* app/channel.[ch]: renamed all functions to gimp_channel_*()

	* app/channel_ops.c
	* app/channels_dialog.c
	* app/commands.c
	* app/disp_callbacks.c
	* app/gdisplay.c
	* app/gimage_mask.[ch]
	* app/gimpdnd.c
	* app/gimphistogram.c
	* app/gimpimage.[ch]
	* app/global_edit.c
	* app/layer.c
	* app/layers_dialog.c
	* app/qmask.c
	* app/scan_convert.c
	* app/scan_convert.h
	* app/toolbox.c
	* app/undo.[ch]
	* app/undo_history.c
	* app/xcf.[ch]
	* app/pdb/channel_cmds.c
	* app/pdb/color_cmds.c
	* app/pdb/drawable_cmds.c
	* app/pdb/image_cmds.c
	* app/pdb/pdb_glue.h
	* app/pdb/selection_cmds.c
	* app/pdb/tools_cmds.c
	* app/tools/bezier_select.c
	* app/tools/bezier_selectP.h
	* app/tools/blend.c
	* app/tools/bucket_fill.c
	* app/tools/by_color_select.c
	* app/tools/crop.c
	* app/tools/ellipse_select.c
	* app/tools/free_select.c
	* app/tools/fuzzy_select.c
	* app/tools/fuzzy_select.h
	* app/tools/iscissors.c
	* app/tools/rect_select.c
	* app/tools/text_tool.c
	* app/tools/transform_core.c
	* tools/pdbgen/pdb.pl
	* tools/pdbgen/pdb/channel.pdb
	* tools/pdbgen/pdb/color.pdb
	* tools/pdbgen/pdb/drawable.pdb
	* tools/pdbgen/pdb/selection.pdb
	* tools/pdbgen/pdb/tools.pdb: changed accordingly.
2001-01-29 02:45:02 +00:00
Michael Natterer 7a4260da70 Makefile.am configure.in added the new library below.
2001-01-24  Michael Natterer  <mitch@gimp.org>

	* Makefile.am
	* configure.in
	* gimptool.in: added the new library below.

	* libgimpwidgets/Makefile.am
	* libgimpwidgets/gimpchainbutton.[ch]
	* libgimpwidgets/gimpcolorarea.[ch]
	* libgimpwidgets/gimpcolorbutton.[ch]
	* libgimpwidgets/gimpdialog.[ch]
	* libgimpwidgets/gimpfileselection.[ch]
	* libgimpwidgets/gimphelpui.[ch]
	* libgimpwidgets/gimppatheditor.[ch]
	* libgimpwidgets/gimppixmap.[ch]
	* libgimpwidgets/gimpquerybox.[ch]
	* libgimpwidgets/gimpsizeentry.[ch]
	* libgimpwidgets/gimpunitmenu.[ch]
	* libgimpwidgets/gimpwidgets.[ch]
	* libgimpwidgets/gimpwidgets.def
	* libgimpwidgets/gimpwidgetstypes.h: new shared library.

	Currently there are some ugly dependencies into libgimp. These
	will be removed and go to a "libgimpglue" library which will be
	a library for functions which share a common interface between
	plug-ins and the app but have different implementations.

	Include "libgimp/gimpunit.h" from "libgimpwidgets/gimpwidgetstypes.h"
	to simulate this upcoming separation.

	* libgimp/Makefile.am
	* libgimp/gimpchainbutton.[ch]
	* libgimp/gimpcolorarea.[ch]
	* libgimp/gimpcolorbutton.[ch]
	* libgimp/gimpdialog.[ch]
	* libgimp/gimpfileselection.[ch]
	* libgimp/gimphelpui.[ch]
	* libgimp/gimppatheditor.[ch]
	* libgimp/gimppixmap.[ch]
	* libgimp/gimpquerybox.[ch]
	* libgimp/gimpsizeentry.[ch]
	* libgimp/gimpunitmenu.[ch]
	* libgimp/gimpwidgets.[ch]: removed from here.

	* libgimp/gimpui.h
	* libgimp/gimpuitypes.h
	* libgimp/makefile.mingw.in
	* libgimp/makefile.msc: changed accordingly.

	* app/[all ui files]
	* app/pdb/palette_cmds.c
	* app/pdb/tools_cmds.c
	* tools/pdbgen/pdb/palette.pdb
	* tools/pdbgen/pdb/tools.pdb: #include "libgimpwidgets/gimpwidgets.h"
	and removed useless includes.

	* app/apptypes.h: #include "libgimpwidgets/gimpwidgetstypes.h"

	* app/Makefile.am
	* plug-ins/[all makefiles which link against libgimpui]:
	link against libgimpwidgets.la

	* po-libgimp/POTFILES.in: changed file locations.
2001-01-24 22:36:18 +00:00
Michael Natterer cb16697229 Makefile.am configure.in added stuff for the new library below.
2001-01-24  Michael Natterer  <mitch@gimp.org>

	* Makefile.am
	* configure.in
	* gimptool.in: added stuff for the new library below.

	* libgimpmath/.cvsignore
	* libgimpmath/Makefile.am
	* libgimpmath/gimpmath.def
	* libgimpmath/gimpmath.h
	* libgimpmath/gimpmathtypes.h
	* libgimpmath/gimpmatrix.c
	* libgimpmath/gimpmatrix.h
	* libgimpmath/gimpvector.c
	* libgimpmath/gimpvector.h
	* libgimpmath/makefile.mingw.in
	* libgimpmath/makefile.msc: new shared library. Depends on glib only.

	* libgimp/Makefile.am
	* libgimp/gimp.def
	* libgimp/gimp.h: removed the math stuff.

	* libgimp/gimpmath.h
	* libgimp/gimpmatrix.[ch]
	* libgimp/gimpvector.[ch]: removed.

	* app/Makefile.am
	* plug-ins/Lighting/Makefile.am
	* plug-ins/MapObject/Makefile.am
	* plug-ins/pagecurl/Makefile.am: link against libgimpmath.la

	* app/[many files]
	* libgimpcolor/gimpcolorspace.c
	* libgimpcolor/gimprgb.c
	* libgimp/gimpadaptivesupersample.c
	* libgimp/gimpbilinear.c
	* libgimp/gimpwidgets.c
	* modules/colorsel_gtk.c
	* modules/colorsel_triangle.c
	* modules/colorsel_water.c
	* plug-ins/libgck/gck/gckcolor.c
	* tools/pdbgen/pdb/channel.pdb
	* tools/pdbgen/pdb/image.pdb: include "libgimpmath/gimpmath.h",
	removed the remaining includes of the old color stuff.
2001-01-23 23:56:18 +00:00
Michael Natterer 3220f9ec94 app/channel.[ch] app/drawable.[ch] app/gdisplay.[ch] app/gimpdrawable.[ch]
2001-01-14  Michael Natterer  <mitch@gimp.org>

	* app/channel.[ch]
	* app/drawable.[ch]
	* app/gdisplay.[ch]
	* app/gimpdrawable.[ch]
	* app/layer.[ch]:

	- Removed all "typedef drawable_function gimp_drawable_function".
	- Renamed all *_get_ID() functions to *_get_by_ID().
	- For symmetry reasons, renamed drawable_ID() to gimp_drawable_get_ID().
	- Removed the *_get_ID() functions of GimpLayer, GimpLayerMask
	  and GimpChannel.

	* app/airbrush.c
	* app/bezier_select.c
	* app/blend.c
	* app/brightness_contrast.c
	* app/bucket_fill.c
	* app/by_color_select.c
	* app/clone.c
	* app/color_balance.c
	* app/color_picker.c
	* app/convert.c
	* app/convolve.c
	* app/crop.c
	* app/curves.c
	* app/desaturate.c
	* app/dodgeburn.c
	* app/edit_selection.c
	* app/eraser.c
	* app/fileops.c
	* app/flip_tool.c
	* app/floating_sel.c
	* app/fuzzy_select.c
	* app/gimage.c
	* app/gimage_mask.c
	* app/gimphistogram.c
	* app/gimpimage.c
	* app/global_edit.c
	* app/histogram_tool.c
	* app/hue_saturation.c
	* app/image_map.c
	* app/ink.c
	* app/invert.c
	* app/layer_select.c
	* app/layers_dialog.c
	* app/levels.c
	* app/paint_core.c
	* app/paintbrush.c
	* app/pencil.c
	* app/plug_in.c
	* app/posterize.c
	* app/scan_convert.c
	* app/smudge.c
	* app/text_tool.c
	* app/threshold.c
	* app/transform_core.c
	* app/undo.c
	* app/undo_history.c

	* app/channel_cmds.c
	* app/channel_ops_cmds.c
	* app/color_cmds.c
	* app/display_cmds.c
	* app/drawable_cmds.c
	* app/edit_cmds.c
	* app/floating_sel_cmds.c
	* app/image_cmds.c
	* app/layer_cmds.c
	* app/parasite_cmds.c
	* app/selection_cmds.c
	* app/text_tool_cmds.c
	* app/tools_cmds.c
	* libgimp/gimpdrawable_pdb.c
	* tools/pdbgen/pdb.pl
	* tools/pdbgen/pdb/channel_ops.pdb
	* tools/pdbgen/pdb/color.pdb
	* tools/pdbgen/pdb/drawable.pdb
	* tools/pdbgen/pdb/edit.pdb
	* tools/pdbgen/pdb/image.pdb
	* tools/pdbgen/pdb/selection.pdb
	* tools/pdbgen/pdb/tools.pdb: changed accordingly.
2001-01-14 21:11:52 +00:00
Michael Natterer 8d6c335f8f app/Makefile.am app/channel_pvt.h app/drawable_pvt.h app/gdisplayF.h
2000-12-29  Michael Natterer  <mitch@gimp.org>

	* app/Makefile.am
	* app/channel_pvt.h
	* app/drawable_pvt.h
	* app/gdisplayF.h
	* app/gimpdrawableP.h
	* app/gimpimageP.h
	* app/layer_pvt.h
	* app/toolsF.h: removed these files.

	* app/apptypes.h
	* tools/pdbgen/enums.pl: added tons of opaque typedefs and enums.

	* tools/pdbgen/pdb/brush_select.pdb
	* tools/pdbgen/pdb/brushes.pdb
	* tools/pdbgen/pdb/channel.pdb
	* tools/pdbgen/pdb/color.pdb
	* tools/pdbgen/pdb/convert.pdb
	* tools/pdbgen/pdb/display.pdb
	* tools/pdbgen/pdb/drawable.pdb
	* tools/pdbgen/pdb/fileops.pdb
	* tools/pdbgen/pdb/gradient_select.pdb
	* tools/pdbgen/pdb/gradients.pdb
	* tools/pdbgen/pdb/help.pdb
	* tools/pdbgen/pdb/image.pdb
	* tools/pdbgen/pdb/layer.pdb
	* tools/pdbgen/pdb/pattern_select.pdb
	* tools/pdbgen/pdb/patterns.pdb
	* tools/pdbgen/pdb/selection.pdb
	* tools/pdbgen/pdb/tools.pdb
	* app/*: chainsaw #include cleanup:

	- Never (never!!) include stuff in header files except where we
	  need access to structures' contents (like derived objects).
	- Added prototypes and proper formating in many files.
	- The #include order in *all* *.c files is as follows:

	#include "config.h"

	#include <system stuff>

	#include <gtk/gtk.h>

	#include "apptypes.h"

	#include "gimp stuff"

	#include "libgimp stuff"

	#include "libgimp/gimpintl.h"

	By following this scheme we can easily see a file's dependencies
	from it's #include's and can grep for the inclusion to find out
	where a file is used.

	* tools/pdbgen/app.pl: changed to follow the include scheme above.

	* libgimp/Makefile.am
	* libgimp/gimpuitypes.h: new file, included from libgimp/gimpui.h
	and from app/apptypes.h.

	* libgimp/gimpcolorbutton.[ch]
	* libgimp/gimpdialog.[ch]
	* libgimp/gimphelpui.[ch]
	* libgimp/gimpparasite.[ch]
	* libgimp/gimppatheditor.[ch]
	* libgimp/gimpprotocol.c
	* libgimp/gimpquerybox.[ch]
	* libgimp/gimpsizeentry.[ch]
	* libgimp/gimptypes.h
	* libgimp/gimpui.h
	* libgimp/gimpunit.h
	* libgimp/gimpunitmenu.[ch]
	* libgimp/gimpwidgets.[ch]: changed accordingly.

	* plug-ins/FractalExplorer/Dialogs.c
	* plug-ins/gdyntext/message_window.c
	* plug-ins/imagemap/imap_default_dialog.c
	* plug-ins/imagemap/imap_file.c: these files used to include
	"libgimp/gimpui.h" without including "libgimp/gimp.h". This is
	no longer possible because the libgimpui headers don't inlcude
	"libgimp/gimpunit.h" any more.
2000-12-29 15:22:01 +00:00
Michael Natterer 886acce136 plonk, my "cleanup" yesterday broke ENABLE_MP. Fixes #35668.
2000-12-20  Michael Natterer  <mitch@gimp.org>

	* app/gimphistogram.c: plonk, my "cleanup" yesterday
	broke ENABLE_MP. Fixes #35668.
2000-12-20 10:33:53 +00:00
Michael Natterer 3c85607e6a app/Makefile.am removed.
2000-12-19  Michael Natterer  <mitch@gimp.org>

	* app/Makefile.am
	* app/gimphistogramP.h: removed.

	* app/gimphistogram.[ch]
	* app/histogramwidget.[ch]: Histogram cleanup: replaced the
	channel #define's by a properly named enum and use this enum
	type as parameter in functions instead of "int".

	* app/curves.c
	* app/histogram_tool.c
	* app/levels.c: changed accordingly.
2000-12-19 14:43:54 +00:00
Sven Neumann b755f5751a corrected incrementor for the bpp == 4 case. Fixes bug #34738.
2000-12-11  Sven Neumann  <sven@gimp.org>

	* app/gimphistogram.c (gimp_histogram_calculate_sub_region):
	corrected incrementor for the bpp == 4 case. Fixes bug #34738.
2000-12-11 16:31:07 +00:00
Sven Neumann 2ad8a17e7e app/gdisplay.c app/gimage_cmds.c fixed typos
* app/gdisplay.c
 * app/gimage_cmds.c
 * tools/pdbgen/pdb/gimage.pdb: fixed typos

 * app/gimphistogram.c: indentation

 * app/histogramwidget.c: grab the pointer in the histogramwidget,
   so a button_release outside the widget is noticed correctly

 * app/levels.c: instead of undoing the user action, simply don't
   allow the user to set the range in the histogram_widget


--Sven
2000-01-09 12:40:10 +00:00
Manish Singh 395cdc5b53 #include <gtk/gtk.h>
* tools.h: #include <gtk/gtk.h>

* toolsF.h: #include <gdk/gdk.h>

* perspective_tool.c: #include <stdio.h>

* gimphistogram.c: #ifdefed a var for threads

* gimpimage.h: added chop hint to GimpImageType enum

* paint_funcs.h: made layer mode #defines an enum

* palette.c
* gimpunit.c: removed PDB stuff

* gimpunit_cmds.h: removed

* convert_cmds.c
* paths_cmds.c: pdbgen updates

* palette_cmds.c
* unit_cmds.c: new files

* app/internal_procs.c: use the pdbgen register_foo functions

* app/Makefile.am: changes for the above

-Yosh
1999-04-04 07:12:22 +00:00
jaycox 6ae2a9bc9f added gimphistogram*, histogramwidget*, removed histogram.[ch]
* app/Makefile.am: added gimphistogram*, histogramwidget*,
	removed histogram.[ch]

	* app/histogram.[ch]: removed.  replaced with histogramwidget.[ch].

	* app/{gimphistogramP.h, gimphistogram.h, gimphistogram.c}: new
 	functions that calculate histograms in parallel and perform
 	calculations on them.

	* app/histogramwidget.[ch]: Same as old histogram.[ch], only it is
 	now a real widget, and it uses GimpHistograms instead of arrays of
 	values.

	* app/curves.c: #include gimphistogram.h instead of histogram.h.

	* app/equalize.c: use GimpHistogram and GimpLut.

	* app/gimpbrush.c, app/gimpimage.c, app/gimpset.c: use
	GTK_RUN_FIRST in calls to gimp_signal_new.

	* app/histogram_tool.c, app/levels.c, app/threshold.c: modified to
 	use the new HistogramWidget.

	* app/paint_funcs.c: removed some unused variables.

	* app/preferences_dialog.c: only display the num-processor field
 	if we are configured --with-mp

	* plug-ins/gee/gee.c: removed a couple of c++ style comments.
1999-03-01 05:11:19 +00:00