Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-18 10:01:20

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 image distortion methods.
0017 */
0018 #ifndef MAGICKCORE_DISTORT_H
0019 #define MAGICKCORE_DISTORT_H
0020 
0021 #if defined(__cplusplus) || defined(c_plusplus)
0022 extern "C" {
0023 #endif
0024 
0025 /*
0026   These two enum are linked, with common enumerated values.  Both
0027   DistortImages() and SparseColor() often share code to determine functional
0028   coefficients for common methods.
0029 
0030   Caution should be taken to ensure that only the common methods contain the
0031   same enumerated value, while all others remain unique across both
0032   enumerations.
0033 */
0034 typedef enum
0035 {
0036   UndefinedDistortion,
0037   AffineDistortion,
0038   AffineProjectionDistortion,
0039   ScaleRotateTranslateDistortion,
0040   PerspectiveDistortion,
0041   PerspectiveProjectionDistortion,
0042   BilinearForwardDistortion,
0043   BilinearDistortion = BilinearForwardDistortion,
0044   BilinearReverseDistortion,
0045   PolynomialDistortion,
0046   ArcDistortion,
0047   PolarDistortion,
0048   DePolarDistortion,
0049   Cylinder2PlaneDistortion,
0050   Plane2CylinderDistortion,
0051   BarrelDistortion,
0052   BarrelInverseDistortion,
0053   ShepardsDistortion,
0054   ResizeDistortion,
0055   SentinelDistortion,
0056   RigidAffineDistortion
0057 } DistortMethod;
0058 
0059 typedef enum
0060 {
0061   UndefinedColorInterpolate = UndefinedDistortion,
0062   BarycentricColorInterpolate = AffineDistortion,
0063   BilinearColorInterpolate = BilinearReverseDistortion,
0064   PolynomialColorInterpolate = PolynomialDistortion,
0065   ShepardsColorInterpolate = ShepardsDistortion,
0066   /*
0067     Methods unique to SparseColor().
0068   */
0069   VoronoiColorInterpolate = SentinelDistortion,
0070   InverseColorInterpolate,
0071   ManhattanColorInterpolate
0072 } SparseColorMethod;
0073 
0074 extern MagickExport Image
0075   *AffineTransformImage(const Image *,const AffineMatrix *,ExceptionInfo *),
0076   *DistortImage(const Image *,const DistortMethod,const size_t,
0077     const double *,MagickBooleanType,ExceptionInfo *exception),
0078   *DistortResizeImage(const Image *,const size_t,const size_t,ExceptionInfo *),
0079   *RotateImage(const Image *,const double,ExceptionInfo *),
0080   *SparseColorImage(const Image *,const SparseColorMethod,const size_t,
0081     const double *,ExceptionInfo *);
0082 
0083 #if defined(__cplusplus) || defined(c_plusplus)
0084 }
0085 #endif
0086 
0087 #endif