home *** CD-ROM | disk | FTP | other *** search
/ PC Pro 2002 April / pcpro0402.iso / essentials / graphics / Gimp / gimp-src-20001226.exe / src / gimp / app / lut_funcs.h < prev    next >
Encoding:
C/C++ Source or Header  |  2000-12-17  |  2.5 KB  |  71 lines

  1. /* The GIMP -- an image manipulation program
  2.  * Copyright (C) 1995 Spencer Kimball and Peter Mattis
  3.  *
  4.  * This program is free software; you can redistribute it and/or modify
  5.  * it under the terms of the GNU General Public License as published by
  6.  * the Free Software Foundation; either version 2 of the License, or
  7.  * (at your option) any later version.
  8.  *
  9.  * This program is distributed in the hope that it will be useful,
  10.  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  11.  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  12.  * GNU General Public License for more details.
  13.  *
  14.  * You should have received a copy of the GNU General Public License
  15.  * along with this program; if not, write to the Free Software
  16.  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
  17.  */
  18.  
  19. #ifndef __LUT_FUNCS_H__
  20. #define __LUT_FUNCS_H__
  21.  
  22.  
  23. typedef enum
  24. {
  25.   VALUE_LUT,
  26.   RED_LUT,
  27.   GREEN_LUT,
  28.   BLUE_LUT,
  29.   ALPHA_LUT,
  30.   GRAY_LUT = 0  /*< skip >*/
  31. } ChannelLutType;
  32.  
  33. /* brightness contrast */
  34. void     brightness_contrast_lut_setup (GimpLut *lut,
  35.                     double brightness, double contrast,
  36.                     int nchannels);
  37. GimpLut *brightness_contrast_lut_new   (double brightness, double contrast,
  38.                     int nchannels);
  39.  
  40. /* invert */
  41. void     invert_lut_setup (GimpLut *lut, int nchannels);
  42. GimpLut *invert_lut_new   (int nchannels);
  43.  
  44. /* add (or subtract) */
  45. void     add_lut_setup (GimpLut *lut, double ammount, int nchannels);
  46. GimpLut *add_lut_new   (double ammount, int nchannels);
  47.  
  48. /* intersect (MIN (pixel, value)) */
  49. void     intersect_lut_setup (GimpLut *lut, double value, int nchannels);
  50. GimpLut *intersect_lut_new   (double value, int nchannels);
  51.  
  52. /* threshold */
  53. void     threshold_lut_setup (GimpLut *lut, double value, int nchannels);
  54. GimpLut *threshold_lut_new   (double value, int nchannels);
  55.  
  56. /* levels */
  57. void     levels_lut_setup (GimpLut *lut, double *gamma,
  58.                int *low_input, int *high_input,
  59.                int *low_output, int *high_output, int nchannels);
  60. GimpLut *levels_lut_new   (double *gamma, int *low_input, int *high_input,
  61.                int *low_output, int *high_output, int nchannels);
  62. /* posterize */
  63. void     posterize_lut_setup (GimpLut *lut, int levels, int nchannels);
  64. GimpLut *posterize_lut_new   (int levels, int nchannels);
  65.  
  66. /* equalize histogram */
  67. void     eq_histogram_lut_setup (GimpLut *lut, GimpHistogram *hist, int bytes);
  68. GimpLut *eq_histogram_lut_new   (GimpHistogram *h, int nchannels);
  69.  
  70. #endif /* __LUT_FUNCS_H__ */
  71.