1999-04-09 14:00:11 +08:00
|
|
|
/* 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__
|
|
|
|
|
|
|
|
|
1999-07-29 07:00:08 +08:00
|
|
|
typedef enum
|
1999-04-11 05:51:25 +08:00
|
|
|
{
|
1999-07-29 07:00:08 +08:00
|
|
|
VALUE_LUT,
|
1999-04-11 05:51:25 +08:00
|
|
|
RED_LUT,
|
|
|
|
GREEN_LUT,
|
|
|
|
BLUE_LUT,
|
moved a bunch of PDB stuff here
* app/color_cmds.c: moved a bunch of PDB stuff here
* app/color_balance.[ch]: removed PDB proc, exported TransferMode
enum, ColorBalanceDialog, color_balance_create_lookup_tables, and
color_balance
* app/curves.[ch]: removed PDB procs, exported SMOOTH and GFREE
#defines, CurvesDialog, curves_lut_func and curves_calculate_curve
* app/desaturate.[ch]: removed PDB proc, exported desaturate
* app/equalize.[ch]: removed PDB proc, exported equalize
* app/histogram_tool.[ch]: removed PDB proc, exported HISTOGRAM_WIDTH
and HISTOGRAM_HEIGHT #defines, HistogramToolDialog,
histogram_tool_histogram_range
* app/hue_saturation.[ch]: removed PDB proc, exported HueRange enum,
HueSaturationDialog, hue_saturation_calculate_transfers,
hue_saturation
* app/invert.[ch]: remove PDB proc, export invert
* app/threshold.[ch]: remove PDB proc, export ThresholdDialog and
threshold_2
* internal_procs.c: changes for pdbgen
* app/gimprc.c: removed leftover declaration
* app/image_map.h: add #include "gimpdrawableF.h"
* app/lut_funcs.h: add ALPHA_LUT to ChannelLutType
-Yosh
1999-04-21 13:39:57 +08:00
|
|
|
ALPHA_LUT,
|
1999-04-11 05:51:25 +08:00
|
|
|
GRAY_LUT = 0 /*< skip >*/
|
|
|
|
} ChannelLutType;
|
|
|
|
|
1999-04-09 14:00:11 +08:00
|
|
|
/* 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);
|
|
|
|
|
2000-01-26 07:06:12 +08:00
|
|
|
/* intersect (MIN (pixel, value)) */
|
1999-04-09 14:00:11 +08:00
|
|
|
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__ */
|