18 #ifndef MAGICKCORE_IMAGE_PRIVATE_H
19 #define MAGICKCORE_IMAGE_PRIVATE_H
21 #if defined(__cplusplus) || defined(c_plusplus)
25 #define BackgroundColor "#ffffff"
26 #define BorderColor "#dfdfdf"
27 #define DefaultResolution 72.0
28 #define DefaultTileFrame "15x15+3+3"
29 #define DefaultTileGeometry "120x120+4+3>"
30 #define DefaultTileLabel "%f\n%G\n%b"
31 #define ForegroundColor "#000"
32 #define LoadImagesTag "Load/Images"
33 #define LoadImageTag "Load/Image"
34 #define Magick2PI 6.28318530717958647692528676655900576839433879875020
35 #define MagickAbsoluteValue(x) ((x) < 0 ? -(x) : (x))
36 #define MagickMax(x,y) (((x) > (y)) ? (x) : (y))
37 #define MagickMin(x,y) (((x) < (y)) ? (x) : (y))
38 #define MagickPHI 1.61803398874989484820458683436563811772030917980576
39 #define MagickPI2 1.57079632679489661923132169163975144209858469968755
40 #define MagickPI 3.14159265358979323846264338327950288419716939937510
41 #define MagickSQ1_2 0.70710678118654752440084436210484903928483593768847
42 #define MagickSQ2 1.41421356237309504880168872420969807856967187537695
43 #define MagickSQ2PI 2.50662827463100024161235523934010416269302368164062
44 #define MatteColor "#bdbdbd"
45 #define PSDensityGeometry "72.0x72.0"
46 #define PSPageGeometry "612x792"
47 #define SaveImagesTag "Save/Images"
48 #define SaveImageTag "Save/Image"
49 #define TransparentColor "#00000000"
50 #define UndefinedCompressionQuality 0UL
51 #define UndefinedTicksPerSecond 100L
53 static inline ssize_t CastDoubleToLong(
const double x)
57 if (x > ((
double) MAGICK_SSIZE_MAX+0.5))
58 return((ssize_t) MAGICK_SSIZE_MAX);
59 if (x < ((
double) MAGICK_SSIZE_MIN-0.5))
60 return((ssize_t) MAGICK_SSIZE_MIN);
62 return((ssize_t) (x+0.5));
63 return((ssize_t) (x-0.5));
66 static inline QuantumAny CastDoubleToQuantumAny(
const double x)
70 if (x > ((
double) ((QuantumAny) ~0)))
71 return((QuantumAny) ~0);
73 return((QuantumAny) 0);
74 return((QuantumAny) (x+0.5));
77 static inline double DegreesToRadians(
const double degrees)
79 return((
double) (MagickPI*degrees/180.0));
82 static inline MagickRealType RadiansToDegrees(
const MagickRealType radians)
84 return((MagickRealType) (180.0*radians/MagickPI));
87 static inline unsigned char ScaleColor5to8(
const unsigned int color)
89 return((
unsigned char) (((color) << 3) | ((color) >> 2)));
92 static inline unsigned char ScaleColor6to8(
const unsigned int color)
94 return((
unsigned char) (((color) << 2) | ((color) >> 4)));
97 static inline unsigned int ScaleColor8to5(
const unsigned char color)
99 return((
unsigned int) (((color) & ~0x07) >> 3));
102 static inline unsigned int ScaleColor8to6(
const unsigned char color)
104 return((
unsigned int) (((color) & ~0x03) >> 2));
107 #if defined(__cplusplus) || defined(c_plusplus)