| cristy | 3ed852e | 2009-09-05 21:47:34 +0000 | [diff] [blame] | 1 | /* | 
| cristy | 16af1cb | 2009-12-11 21:38:29 +0000 | [diff] [blame] | 2 | Copyright 1999-2010 ImageMagick Studio LLC, a non-profit organization | 
| cristy | 3ed852e | 2009-09-05 21:47:34 +0000 | [diff] [blame] | 3 | dedicated to making software imaging solutions freely available. | 
|  | 4 |  | 
|  | 5 | You may not use this file except in compliance with the License. | 
|  | 6 | obtain a copy of the License at | 
|  | 7 |  | 
|  | 8 | http://www.imagemagick.org/script/license.php | 
|  | 9 |  | 
|  | 10 | Unless required by applicable law or agreed to in writing, software | 
|  | 11 | distributed under the License is distributed on an "AS IS" BASIS, | 
|  | 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | 
|  | 13 | See the License for the specific language governing permissions and | 
|  | 14 | limitations under the License. | 
|  | 15 |  | 
|  | 16 | MagickCore image quantization methods. | 
|  | 17 | */ | 
|  | 18 | #ifndef _MAGICKCORE_QUANTIZE_H | 
|  | 19 | #define _MAGICKCORE_QUANTIZE_H | 
|  | 20 |  | 
|  | 21 | #if defined(__cplusplus) || defined(c_plusplus) | 
|  | 22 | extern "C" { | 
|  | 23 | #endif | 
|  | 24 |  | 
|  | 25 | #include "magick/colorspace.h" | 
|  | 26 |  | 
|  | 27 | typedef enum | 
|  | 28 | { | 
|  | 29 | UndefinedDitherMethod, | 
|  | 30 | NoDitherMethod, | 
|  | 31 | RiemersmaDitherMethod, | 
|  | 32 | FloydSteinbergDitherMethod | 
|  | 33 | } DitherMethod; | 
|  | 34 |  | 
|  | 35 | typedef struct _QuantizeInfo | 
|  | 36 | { | 
|  | 37 | unsigned long | 
|  | 38 | number_colors; | 
|  | 39 |  | 
|  | 40 | unsigned long | 
|  | 41 | tree_depth; | 
|  | 42 |  | 
|  | 43 | MagickBooleanType | 
|  | 44 | dither; | 
|  | 45 |  | 
|  | 46 | ColorspaceType | 
|  | 47 | colorspace; | 
|  | 48 |  | 
|  | 49 | MagickBooleanType | 
|  | 50 | measure_error; | 
|  | 51 |  | 
|  | 52 | unsigned long | 
|  | 53 | signature; | 
|  | 54 |  | 
|  | 55 | DitherMethod | 
|  | 56 | dither_method; | 
|  | 57 | } QuantizeInfo; | 
|  | 58 |  | 
|  | 59 | extern MagickExport MagickBooleanType | 
|  | 60 | CompressImageColormap(Image *), | 
|  | 61 | GetImageQuantizeError(Image *), | 
|  | 62 | PosterizeImage(Image *,const unsigned long,const MagickBooleanType), | 
|  | 63 | QuantizeImage(const QuantizeInfo *,Image *), | 
|  | 64 | QuantizeImages(const QuantizeInfo *,Image *), | 
|  | 65 | RemapImage(const QuantizeInfo *,Image *,const Image *), | 
|  | 66 | RemapImages(const QuantizeInfo *,Image *,const Image *); | 
|  | 67 |  | 
|  | 68 | extern MagickExport QuantizeInfo | 
|  | 69 | *AcquireQuantizeInfo(const ImageInfo *), | 
|  | 70 | *CloneQuantizeInfo(const QuantizeInfo *), | 
|  | 71 | *DestroyQuantizeInfo(QuantizeInfo *); | 
|  | 72 |  | 
|  | 73 | extern MagickExport void | 
|  | 74 | GetQuantizeInfo(QuantizeInfo *); | 
|  | 75 |  | 
|  | 76 | #if defined(__cplusplus) || defined(c_plusplus) | 
|  | 77 | } | 
|  | 78 | #endif | 
|  | 79 |  | 
|  | 80 | #endif |