18 #ifndef MAGICKCORE_COMPOSITE_PRIVATE_H
19 #define MAGICKCORE_COMPOSITE_PRIVATE_H
28 #if defined(__cplusplus) || defined(c_plusplus)
35 static inline double MagickOver_(
const double p,
const double alpha,
36 const double q,
const double beta)
44 return(Sa*p+Da*q*(1.0-Sa));
49 return(value < 0.0 ? 0.0 : (value > 1.0) ? 1.0 : value);
53 const double alpha,
const Quantum *q,
const double beta,
Quantum *composite)
105 (
double) q[i],beta));
161 composite->
red=gamma*(Sa*p->
red+Da*q->
red);
169 const double alpha,
const PixelInfo *q,
const double beta,
const double area,
214 #if defined(__cplusplus) || defined(c_plusplus)
static double MagickOver_(const double p, const double alpha, const double q, const double beta)
Definition: composite-private.h:35
Definition: composite.h:91
Definition: composite.h:33
static void CompositePixelInfoPlus(const PixelInfo *p, const double alpha, const PixelInfo *q, const double beta, PixelInfo *composite)
Definition: composite-private.h:145
Definition: composite.h:64
MagickRealType red
Definition: pixel.h:193
static PixelTrait GetPixelChannelTraits(const Image *magick_restrict image, const PixelChannel channel)
Definition: pixel-accessor.h:131
MagickRealType alpha
Definition: pixel.h:193
static Quantum ClampToQuantum(const MagickRealType quantum)
Definition: quantum.h:85
MagickBooleanType
Definition: magick-type.h:169
static double PerceptibleReciprocal(const double x)
Definition: pixel-accessor.h:234
static void CompositePixelInfoOver(const PixelInfo *p, const double alpha, const PixelInfo *q, const double beta, PixelInfo *composite)
Definition: composite-private.h:122
Definition: magick-type.h:172
static void CompositePixelInfoAreaBlend(const PixelInfo *p, const double alpha, const PixelInfo *q, const double beta, const double area, PixelInfo *composite)
Definition: composite-private.h:168
MagickRealType blue
Definition: pixel.h:193
#define QuantumScale
Definition: magick-type.h:119
Definition: colorspace.h:29
PixelChannel
Definition: pixel.h:70
static double RoundToUnity(const double value)
Definition: composite-private.h:47
Definition: composite.h:44
static size_t GetPixelChannels(const Image *magick_restrict image)
Definition: pixel-accessor.h:137
static MagickBooleanType GetCompositeClipToSelf(const CompositeOperator compose)
Definition: composite-private.h:189
Definition: composite.h:93
static PixelChannel GetPixelChannelChannel(const Image *magick_restrict image, const ssize_t offset)
Definition: pixel-accessor.h:119
Definition: magick-type.h:171
Definition: composite.h:92
unsigned short Quantum
Definition: magick-type.h:86
Definition: composite.h:57
MagickRealType black
Definition: pixel.h:193
MagickRealType green
Definition: pixel.h:193
Definition: composite.h:55
CompositeOperator
Definition: composite.h:25
static void CompositePixelInfoBlend(const PixelInfo *p, const double alpha, const PixelInfo *q, const double beta, PixelInfo *composite)
Definition: composite-private.h:179
Definition: composite.h:80
ColorspaceType colorspace
Definition: pixel.h:178
Definition: composite.h:34
PixelTrait
Definition: pixel.h:137
#define QuantumRange
Definition: magick-type.h:87
static void CompositePixelOver(const Image *image, const PixelInfo *p, const double alpha, const Quantum *q, const double beta, Quantum *composite)
Definition: composite-private.h:52