See the License for the specific language governing permissions and
limitations under the License.
- MagickCore image constitute methods.
+ MagickCore image pixel methods.
*/
#ifndef _MAGICKCORE_PIXEL_H
#define _MAGICKCORE_PIXEL_H
#endif
#include <MagickCore/colorspace.h>
-#include <MagickCore/constitute.h>
#define MaxPixelChannels 32
#undef index
+typedef enum
+{
+ UndefinedChannel = 0x0000,
+ RedChannel = 0x0001,
+ GrayChannel = 0x0001,
+ CyanChannel = 0x0001,
+ GreenChannel = 0x0002,
+ MagentaChannel = 0x0002,
+ BlueChannel = 0x0004,
+ YellowChannel = 0x0004,
+ BlackChannel = 0x0008,
+ AlphaChannel = 0x0010,
+ OpacityChannel = 0x0010,
+ IndexChannel = 0x0020,
+ MaskChannel = 0x0040,
+ MetaChannel = 0x0080,
+ CompositeChannels = 0x002F,
+ AllChannels = 0x7ffffff,
+ /*
+ Special purpose channel types.
+ FUTURE: are these needed any more - they are more like hacks
+ SyncChannels for example is NOT a real channel but a 'flag'
+ It really says -- "User has not defined channels"
+ */
+ TrueAlphaChannel = 0x0100, /* extract actual alpha channel from opacity */
+ RGBChannels = 0x0200, /* set alpha from grayscale mask in RGB */
+ GrayChannels = 0x0400,
+ SyncChannels = 0x20000, /* channels modified as a single unit */
+ DefaultChannels = ((AllChannels | SyncChannels) &~ AlphaChannel)
+} ChannelType; /* must correspond to PixelChannel */
+
typedef enum
{
UndefinedInterpolatePixel,
BlackPixelChannel = 3,
AlphaPixelChannel = 4,
IndexPixelChannel = 5,
- MaskPixelChannel = 6,
- MetaPixelChannel = 7,
- IntensityPixelChannel = MaxPixelChannels,
+ MaskPixelChannel = 6, /* Image Write Mask */
+ MetaPixelChannel = 7, /* ??? */
+ IntensityPixelChannel = MaxPixelChannels, /* what are these ??? */
CompositePixelChannel = MaxPixelChannels,
SyncPixelChannel = MaxPixelChannels+1
-} PixelChannel;
+} PixelChannel; /* must correspond to ChannelType */
typedef enum
{
black;
} PixelPacket;
+typedef enum
+{
+ UndefinedPixel,
+ CharPixel,
+ DoublePixel,
+ FloatPixel,
+ LongPixel,
+ LongLongPixel,
+ QuantumPixel,
+ ShortPixel
+} StorageType;
+
typedef struct _CacheView
CacheView_;
ExceptionInfo *),
IsFuzzyEquivalencePixel(const Image *,const Quantum *,const Image *,
const Quantum *),
- IsFuzzyEquivalencePixelInfo(const PixelInfo *,const PixelInfo *);
+ IsFuzzyEquivalencePixelInfo(const PixelInfo *,const PixelInfo *),
+ SetPixelMetaChannels(Image *,const size_t,ExceptionInfo *);
extern MagickExport PixelChannelMap
*AcquirePixelChannelMap(void),