lut_funcs.h 2.34 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
/* The GIMP -- an image manipulation program
 * Copyright (C) 1995 Spencer Kimball and Peter Mattis
 *
 * 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 __LUT_FUNCS_H__
#define __LUT_FUNCS_H__

#include "gimplutF.h"
23
#include "gimphistogramF.h"
24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62

/* brightness contrast */
void     brightness_contrast_lut_setup (GimpLut *lut,
					double brightness, double contrast,
					int nchannels);
GimpLut *brightness_contrast_lut_new   (double brightness, double contrast,
					int nchannels);

/* invert */
void     invert_lut_setup (GimpLut *lut, int nchannels);
GimpLut *invert_lut_new   (int nchannels);

/* add (or subtract) */
void     add_lut_setup (GimpLut *lut, double ammount, int nchannels);
GimpLut *add_lut_new   (double ammount, int nchannels);

/* intersect (MINIMUM(pixel, value)) */
void     intersect_lut_setup (GimpLut *lut, double value, int nchannels);
GimpLut *intersect_lut_new   (double value, int nchannels);

/* threshold */
void     threshold_lut_setup (GimpLut *lut, double value, int nchannels);
GimpLut *threshold_lut_new   (double value, int nchannels);

/* levels */
void     levels_lut_setup (GimpLut *lut, double *gamma,
			   int *low_input, int *high_input,
			   int *low_output, int *high_output, int nchannels);
GimpLut *levels_lut_new   (double *gamma, int *low_input, int *high_input,
			   int *low_output, int *high_output, int nchannels);
/* posterize */
void     posterize_lut_setup (GimpLut *lut, int levels, int nchannels);
GimpLut *posterize_lut_new   (int levels, int nchannels);

/* equalize histogram */
void     eq_histogram_lut_setup (GimpLut *lut, GimpHistogram *hist, int bytes);
GimpLut *eq_histogram_lut_new   (GimpHistogram *h, int nchannels);

#endif /* __LUT_FUNCS_H__ */