18#ifndef MAGICKCORE_COLOR_PRIVATE_H
19#define MAGICKCORE_COLOR_PRIVATE_H
21#include "MagickCore/image.h"
22#include "MagickCore/image-private.h"
24#if defined(__cplusplus) || defined(c_plusplus)
28extern MagickPrivate MagickBooleanType
29 ColorComponentGenesis(
void),
30 IsEquivalentAlpha(
const Image *,
const PixelInfo *,
const PixelInfo *),
31 IsEquivalentIntensity(
const Image *,
const PixelInfo *,
const PixelInfo *);
33extern MagickPrivate
void
34 ColorComponentTerminus(
void);
36static inline MagickBooleanType GetColorRange(
const char *color,
37 PixelInfo *start,PixelInfo *stop,ExceptionInfo *exception)
40 start_color[MagickPathExtent] =
"white",
41 stop_color[MagickPathExtent] =
"black";
46 if (color == (
const char *) NULL)
53 (void) CopyMagickString(start_color,color,MagickPathExtent);
54 for (p=start_color; (*p !=
'-') && (*p !=
'\0'); p++)
57 for (p++; (*p !=
')') && (*p !=
'\0'); p++);
62 (void) CopyMagickString(stop_color,p+1,MagickPathExtent);
65 status=QueryColorCompliance(start_color,AllCompliance,start,exception);
66 if (status == MagickFalse)
68 return(QueryColorCompliance(stop_color,AllCompliance,stop,exception));
71static inline double GetFuzzyColorDistance(
const Image *p,
const Image *q)
76 if (q == (
const Image *) NULL)
77 return(p->fuzz*p->fuzz);
78 return(p->fuzz*p->fuzz+q->fuzz*q->fuzz);
81#if defined(__cplusplus) || defined(c_plusplus)