Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-30 10:11:44

0001 /*
0002   Copyright @ 2007 ImageMagick Studio LLC, a non-profit organization
0003   dedicated to making software imaging solutions freely available.
0004   
0005   You may not use this file except in compliance with the License.  You may
0006   obtain a copy of the License at
0007   
0008     https://imagemagick.org/script/license.php
0009   
0010   Unless required by applicable law or agreed to in writing, software
0011   distributed under the License is distributed on an "AS IS" BASIS,
0012   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
0013   See the License for the specific language governing permissions and
0014   limitations under the License.
0015 
0016   MagickCore graphic resample methods.
0017 */
0018 #ifndef MAGICKCORE_RESAMPLE_H
0019 #define MAGICKCORE_RESAMPLE_H
0020 
0021 #include "MagickCore/cache-view.h"
0022 
0023 #if defined(__cplusplus) || defined(c_plusplus)
0024 extern "C" {
0025 #endif
0026 
0027 /*
0028   WARNING:  The order of this table must also match the order of a table
0029   located in AcquireResizeFilter() in "resize.c" otherwise the users filter
0030   will not match the actual filter that is setup.
0031 */
0032 typedef enum
0033 {
0034   UndefinedFilter,
0035   PointFilter,
0036   BoxFilter,
0037   TriangleFilter,
0038   HermiteFilter,
0039   HannFilter,
0040   HammingFilter,
0041   BlackmanFilter,
0042   GaussianFilter,
0043   QuadraticFilter,
0044   CubicFilter,
0045   CatromFilter,
0046   MitchellFilter,
0047   JincFilter,
0048   SincFilter,
0049   SincFastFilter,
0050   KaiserFilter,
0051   WelchFilter,
0052   ParzenFilter,
0053   BohmanFilter,
0054   BartlettFilter,
0055   LagrangeFilter,
0056   LanczosFilter,
0057   LanczosSharpFilter,
0058   Lanczos2Filter,
0059   Lanczos2SharpFilter,
0060   RobidouxFilter,
0061   RobidouxSharpFilter,
0062   CosineFilter,
0063   SplineFilter,
0064   LanczosRadiusFilter,
0065   CubicSplineFilter,
0066   SentinelFilter  /* a count of all the filters, not a real filter */
0067 } FilterType;
0068 
0069 /*
0070   Backward compatibility for the more correctly named Jinc Filter.  Original
0071   source of this filter is from "zoom" but it refers to a reference by Pratt,
0072   who does not actually name the filter.
0073 
0074   also miss-spellings of common filters
0075 */
0076 #define BesselFilter  JincFilter
0077 #define WelshFilter   WelchFilter
0078 #define HanningFilter HannFilter
0079 
0080 typedef struct _ResampleFilter
0081   ResampleFilter;
0082 
0083 extern MagickExport MagickBooleanType
0084   ResamplePixelColor(ResampleFilter *,const double,const double,
0085     PixelInfo *,ExceptionInfo *),
0086   SetResampleFilterInterpolateMethod(ResampleFilter *,
0087     const PixelInterpolateMethod),
0088   SetResampleFilterVirtualPixelMethod(ResampleFilter *,
0089     const VirtualPixelMethod);
0090 
0091 extern MagickExport ResampleFilter
0092   *AcquireResampleFilter(const Image *,ExceptionInfo *),
0093   *DestroyResampleFilter(ResampleFilter *);
0094 
0095 extern MagickExport void
0096   ScaleResampleFilter(ResampleFilter *,const double,const double,const double,
0097     const double),
0098   SetResampleFilter(ResampleFilter *,const FilterType);
0099 
0100 #if defined(__cplusplus) || defined(c_plusplus)
0101 }
0102 #endif
0103 
0104 #endif