gimp/app/gimphistogram.h
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

61 lines
2.2 KiB
C

/* The GIMP -- an image manipulation program
* Copyright (C) 1995 Spencer Kimball and Peter Mattis
*
* gimphistogram module Copyright (C) 1999 Jay Cox <jaycox@earthlink.net>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
#ifndef __GIMP_HISTOGRAM_H__
#define __GIMP_HISTOGRAM_H__
#include "pixel_region.h"
#include "gimpdrawable.h"
#define HISTOGRAM_VALUE 0
#define HISTOGRAM_RED 1
#define HISTOGRAM_GREEN 2
#define HISTOGRAM_BLUE 3
#define HISTOGRAM_ALPHA 4
typedef struct _GimpHistogram GimpHistogram;
GimpHistogram *gimp_histogram_new ();
void gimp_histogram_free (GimpHistogram *);
void gimp_histogram_calculate (GimpHistogram *,
PixelRegion *region,
PixelRegion *mask);
void gimp_histogram_calculate_drawable (GimpHistogram *,
GimpDrawable *);
double gimp_histogram_get_maximum (GimpHistogram *, int channel);
double gimp_histogram_get_count (GimpHistogram *,
int start, int end);
double gimp_histogram_get_mean (GimpHistogram *, int chan,
int start, int end);
int gimp_histogram_get_median (GimpHistogram *, int chan,
int start, int end);
double gimp_histogram_get_std_dev (GimpHistogram *, int chan,
int start, int end);
double gimp_histogram_get_value (GimpHistogram *, int channel,
int bin);
double gimp_histogram_get_channel (GimpHistogram *, int color,
int bin);
int gimp_histogram_nchannels (GimpHistogram *);
#endif /* __GIMP_HISTOGRAM_H__ */