mogrify-private.h

Go to the documentation of this file.
00001 /*
00002   Copyright 1999-2008 ImageMagick Studio LLC, a non-profit organization
00003   dedicated to making software imaging solutions freely available.
00004   
00005   You may not use this file except in compliance with the License.
00006   obtain a copy of the License at
00007   
00008     http://www.imagemagick.org/script/license.php
00009   
00010   Unless required by applicable law or agreed to in writing, software
00011   distributed under the License is distributed on an "AS IS" BASIS,
00012   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00013   See the License for the specific language governing permissions and
00014   limitations under the License.
00015 
00016   MagickWand mogrify command-line private methods.
00017 */
00018 #ifndef _MAGICKWAND_MOGRIFY_PRIVATE_H
00019 #define _MAGICKWAND_MOGRIFY_PRIVATE_H
00020 
00021 #if defined(__cplusplus) || defined(c_plusplus)
00022 extern "C" {
00023 #endif
00024 
00025 #define MaxImageStackDepth  32
00026 #define MogrifyImageStack(image,advance,fire) \
00027   if ((j <= i) && (i < argc)) \
00028     { \
00029       if ((image) == (Image *) NULL) \
00030         status&=MogrifyImageInfo(image_info,(int) (i-j+1),(const char **) \
00031           argv+j,exception); \
00032       else \
00033         if ((fire) != MagickFalse) \
00034           { \
00035             status&=MogrifyImages(image_info,(int) (i-j+1),(const char **) \
00036               argv+j,&(image),exception); \
00037             if ((advance) != MagickFalse) \
00038               j=i+1; \
00039             pend=MagickFalse; \
00040           } \
00041     }
00042 #define DegreesToRadians(x)  (MagickPI*(x)/180.0)
00043 #define MagickPI  3.14159265358979323846264338327950288419716939937510
00044 #define QuantumScale  ((MagickRealType) 1.0/(MagickRealType) QuantumRange)
00045 #define QuantumTick(i,span) ((MagickBooleanType) ((((i) & ((i)-1)) == 0) || \
00046    (((i) & 0xfff) == 0) || \
00047    ((MagickOffsetType) (i) == ((MagickOffsetType) (span)-1))))
00048 #define RadiansToDegrees(x) (180.0*(x)/MagickPI)
00049 
00050 static inline MagickRealType MagickPixelIntensity(
00051   const MagickPixelPacket *pixel)
00052 {
00053   MagickRealType
00054     intensity;
00055 
00056   intensity=0.299*pixel->red+0.587*pixel->green+0.114*pixel->blue;
00057   return(intensity);
00058 }
00059 
00060 static inline Quantum MagickPixelIntensityToQuantum(
00061   const MagickPixelPacket *pixel)
00062 {
00063   MagickRealType
00064     intensity;
00065 
00066   intensity=0.299*pixel->red+0.587*pixel->green+0.114*pixel->blue;
00067   return((Quantum) (intensity+0.5));
00068 }
00069 
00070 static inline MagickRealType PixelIntensity(const PixelPacket *pixel)
00071 {
00072   MagickRealType
00073     intensity;
00074 
00075   intensity=(MagickRealType) (0.299*pixel->red+0.587*pixel->green+
00076     0.114*pixel->blue);
00077   return(intensity);
00078 }
00079 
00080 static inline Quantum PixelIntensityToQuantum(const PixelPacket *pixel)
00081 {
00082   MagickRealType
00083     intensity;
00084 
00085   intensity=(MagickRealType) (0.299*pixel->red+0.587*pixel->green+
00086     0.114*pixel->blue);
00087 #if !defined(MAGICKCORE_HDRI_SUPPORT)
00088   return((Quantum) (intensity+0.5));
00089 #else
00090   return((Quantum) intensity);
00091 #endif
00092 }
00093 
00094 static inline void SetMagickPixelPacket(const Image *image,
00095   const PixelPacket *color,const IndexPacket *index,MagickPixelPacket *pixel)
00096 {
00097   pixel->red=(MagickRealType) color->red;
00098   pixel->green=(MagickRealType) color->green;
00099   pixel->blue=(MagickRealType) color->blue;
00100   if (image->matte != MagickFalse)
00101     pixel->opacity=(MagickRealType) color->opacity;
00102   if (((image->colorspace == CMYKColorspace) ||
00103        (image->storage_class == PseudoClass)) &&
00104       (index != (const IndexPacket *) NULL))
00105     pixel->index=(MagickRealType) *index;
00106 }
00107 
00108 #if defined(__cplusplus) || defined(c_plusplus)
00109 }
00110 #endif
00111 
00112 #endif

Generated on Sat Jan 26 14:50:34 2008 for MagickWand by  doxygen 1.5.4