% MagickCore Option Methods %
% %
% Software Design %
-% John Cristy %
+% Cristy %
% March 2000 %
% %
% %
-% Copyright 1999-2012 ImageMagick Studio LLC, a non-profit organization %
+% Copyright 1999-2014 ImageMagick Studio LLC, a non-profit organization %
% dedicated to making software imaging solutions freely available. %
% %
% You may not use this file except in compliance with the License. You may %
#include "MagickCore/effect.h"
#include "MagickCore/exception.h"
#include "MagickCore/exception-private.h"
+#include "MagickCore/fourier.h"
#include "MagickCore/fx.h"
#include "MagickCore/gem.h"
#include "MagickCore/geometry.h"
#include "MagickCore/montage.h"
#include "MagickCore/morphology.h"
#include "MagickCore/option.h"
+#include "MagickCore/pixel.h"
#include "MagickCore/policy.h"
#include "MagickCore/property.h"
#include "MagickCore/quantize.h"
{ "Start", LeftAlign, UndefinedOptionFlag, MagickFalse },
{ (char *) NULL, UndefinedAlign, UndefinedOptionFlag, MagickFalse }
},
- AlphaOptions[] =
+ AlphaChannelOptions[] =
{
{ "Undefined", UndefinedAlphaChannel, UndefinedOptionFlag, MagickTrue },
{ "Activate", ActivateAlphaChannel, UndefinedOptionFlag, MagickFalse },
{ "1", MagickTrue, UndefinedOptionFlag, MagickFalse },
{ (char *) NULL, MagickFalse, UndefinedOptionFlag, MagickFalse }
},
+ CacheOptions[] =
+ {
+ { "Disk", DiskCache, UndefinedOptionFlag, MagickFalse },
+ { "Distributed", DistributedCache, UndefinedOptionFlag, MagickFalse },
+ { "Map", MapCache, UndefinedOptionFlag, MagickFalse },
+ { "Memory", MemoryCache, UndefinedOptionFlag, MagickFalse },
+ { "Ping", PingCache, UndefinedOptionFlag, MagickFalse },
+ { (char *) NULL, MagickFalse, UndefinedOptionFlag, MagickFalse }
+ },
ChannelOptions[] =
{
{ "Undefined", UndefinedChannel, UndefinedOptionFlag, MagickTrue },
{ "+alpha", 1L, DeprecateOptionFlag, MagickTrue },
{ "-alpha", 1L, SimpleOperatorFlag, MagickFalse },
{ "+annotate", 0L, DeprecateOptionFlag, MagickTrue },
- { "-annotate", 2L, SimpleOperatorFlag, MagickFalse },
+ { "-annotate", 2L, SimpleOperatorFlag | AlwaysInterpretArgsFlag, MagickFalse },
{ "+antialias", 0L, ImageInfoOptionFlag | DrawInfoOptionFlag, MagickFalse },
{ "-antialias", 0L, ImageInfoOptionFlag | DrawInfoOptionFlag, MagickFalse },
{ "+append", 0L, ListOperatorFlag | FireOptionFlag, MagickFalse },
{ "-auto-orient", 0L, SimpleOperatorFlag, MagickFalse },
{ "+average", 0L, DeprecateOptionFlag, MagickTrue },
{ "-average", 0L, ReplacedOptionFlag | ListOperatorFlag | FireOptionFlag, MagickTrue },
- { "+backdrop", 0L, NonMagickOptionFlag, MagickFalse },
- { "-backdrop", 1L, NonMagickOptionFlag, MagickFalse },
+ { "+backdrop", 0L, NonMagickOptionFlag | NeverInterpretArgsFlag, MagickFalse },
+ { "-backdrop", 1L, NonMagickOptionFlag | NeverInterpretArgsFlag, MagickFalse },
{ "+background", 0L, ImageInfoOptionFlag, MagickFalse },
{ "-background", 1L, ImageInfoOptionFlag, MagickFalse },
{ "+bench", 1L, DeprecateOptionFlag, MagickTrue },
{ "-brightness-contrast", 1L, SimpleOperatorFlag, MagickFalse },
{ "+cache", 0L, GlobalOptionFlag, MagickFalse },
{ "-cache", 1L, GlobalOptionFlag, MagickFalse },
- { "+caption", 0L, ImageInfoOptionFlag, MagickFalse },
- { "-caption", 1L, ImageInfoOptionFlag, MagickFalse },
+ { "+canny", 1L, DeprecateOptionFlag, MagickTrue },
+ { "-canny", 1L, SimpleOperatorFlag, MagickTrue },
+ { "+caption", 0L, ImageInfoOptionFlag | NeverInterpretArgsFlag, MagickFalse },
+ { "-caption", 1L, ImageInfoOptionFlag | NeverInterpretArgsFlag, MagickFalse },
{ "+cdl", 1L, DeprecateOptionFlag, MagickTrue },
- { "-cdl", 1L, SimpleOperatorFlag, MagickFalse },
+ { "-cdl", 1L, SimpleOperatorFlag | NeverInterpretArgsFlag, MagickFalse },
{ "+channel", 0L, ImageInfoOptionFlag, MagickFalse },
{ "-channel", 1L, ImageInfoOptionFlag, MagickFalse },
{ "-channel-fx", 1L, ListOperatorFlag | FireOptionFlag, MagickFalse },
- { "+charcoal", 0L, DeprecateOptionFlag, MagickTrue },
- { "-charcoal", 0L, SimpleOperatorFlag, MagickFalse },
+ { "+charcoal", 1L, DeprecateOptionFlag, MagickTrue },
+ { "-charcoal", 1L, SimpleOperatorFlag, MagickFalse },
{ "+chop", 1L, DeprecateOptionFlag, MagickTrue },
{ "-chop", 1L, SimpleOperatorFlag, MagickFalse },
{ "+clamp", 0L, DeprecateOptionFlag, MagickTrue },
{ "-clamp", 0L, SimpleOperatorFlag, MagickFalse },
{ "+clip", 0L, SimpleOperatorFlag, MagickFalse },
{ "-clip", 0L, SimpleOperatorFlag, MagickFalse },
- { "+clip-mask", 0L, SimpleOperatorFlag, MagickFalse },
- { "-clip-mask", 1L, SimpleOperatorFlag, MagickFalse },
+ { "+clip-mask", 0L, SimpleOperatorFlag | NeverInterpretArgsFlag, MagickFalse },
+ { "-clip-mask", 1L, SimpleOperatorFlag | NeverInterpretArgsFlag, MagickFalse },
{ "+clip-path", 1L, SimpleOperatorFlag, MagickFalse },
{ "-clip-path", 1L, SimpleOperatorFlag, MagickFalse },
{ "+clone", 0L, NoImageOperatorFlag, MagickFalse },
{ "-colors", 1L, SimpleOperatorFlag, MagickFalse },
{ "+colorspace", 0L, ImageInfoOptionFlag | SimpleOperatorFlag, MagickFalse },
{ "-colorspace", 1L, ImageInfoOptionFlag | SimpleOperatorFlag, MagickFalse },
- { "+combine", 0L, DeprecateOptionFlag | FireOptionFlag, MagickTrue },
+ { "+combine", 1L, ListOperatorFlag | FireOptionFlag, MagickFalse },
{ "-combine", 0L, ListOperatorFlag | FireOptionFlag, MagickFalse },
- { "+comment", 0L, ImageInfoOptionFlag, MagickFalse },
- { "-comment", 1L, ImageInfoOptionFlag, MagickFalse },
+ { "+comment", 0L, ImageInfoOptionFlag | NeverInterpretArgsFlag, MagickFalse },
+ { "-comment", 1L, ImageInfoOptionFlag | NeverInterpretArgsFlag, MagickFalse },
+ { "+compare", 0L, DeprecateOptionFlag | FireOptionFlag, MagickTrue },
+ { "-compare", 0L, ListOperatorFlag | FireOptionFlag, MagickFalse },
+ { "+complex", 1L, DeprecateOptionFlag | FireOptionFlag, MagickTrue },
+ { "-complex", 1L, ListOperatorFlag | FireOptionFlag, MagickFalse },
{ "+compose", 0L, ImageInfoOptionFlag, MagickFalse },
{ "-compose", 1L, ImageInfoOptionFlag, MagickFalse },
{ "+composite", 0L, DeprecateOptionFlag | FireOptionFlag, MagickTrue },
{ "+debug", 0L, GlobalOptionFlag | FireOptionFlag, MagickFalse },
{ "-debug", 1L, GlobalOptionFlag | FireOptionFlag, MagickFalse },
{ "+decipher", 1L, DeprecateOptionFlag, MagickTrue },
- { "-decipher", 1L, SimpleOperatorFlag, MagickFalse },
+ { "-decipher", 1L, SimpleOperatorFlag | NeverInterpretArgsFlag, MagickFalse },
{ "+deconstruct", 0L, DeprecateOptionFlag, MagickTrue },
{ "-deconstruct", 0L, ReplacedOptionFlag | ListOperatorFlag | FireOptionFlag, MagickTrue },
- { "+define", 1L, ImageInfoOptionFlag, MagickFalse },
- { "-define", 1L, ImageInfoOptionFlag, MagickFalse },
+ { "+define", 1L, ImageInfoOptionFlag | NeverInterpretArgsFlag | FireOptionFlag, MagickFalse },
+ { "-define", 1L, ImageInfoOptionFlag | NeverInterpretArgsFlag | FireOptionFlag, MagickFalse },
{ "+delay", 0L, ImageInfoOptionFlag, MagickFalse },
{ "-delay", 1L, ImageInfoOptionFlag, MagickFalse },
{ "+delete", 0L, ListOperatorFlag | FireOptionFlag, MagickFalse },
{ "-dissolve", 1L, NonMagickOptionFlag, MagickFalse },
{ "+dissimilarity-threshold", 0L, NonMagickOptionFlag | ImageInfoOptionFlag, MagickFalse },
{ "-dissimilarity-threshold", 1L, NonMagickOptionFlag | ImageInfoOptionFlag, MagickFalse },
- { "+distort", 2L, SimpleOperatorFlag, MagickFalse },
- { "-distort", 2L, SimpleOperatorFlag, MagickFalse },
+ { "+distort", 2L, SimpleOperatorFlag | AlwaysInterpretArgsFlag, MagickFalse },
+ { "-distort", 2L, SimpleOperatorFlag | AlwaysInterpretArgsFlag, MagickFalse },
{ "+dither", 0L, ImageInfoOptionFlag | QuantizeInfoOptionFlag, MagickFalse },
{ "-dither", 1L, ImageInfoOptionFlag | QuantizeInfoOptionFlag, MagickFalse },
{ "+draw", 0L, DeprecateOptionFlag, MagickTrue },
{ "+emboss", 1L, DeprecateOptionFlag, MagickTrue },
{ "-emboss", 1L, SimpleOperatorFlag, MagickFalse },
{ "+encipher", 1L, DeprecateOptionFlag, MagickTrue },
- { "-encipher", 1L, SimpleOperatorFlag, MagickFalse },
+ { "-encipher", 1L, SimpleOperatorFlag | NeverInterpretArgsFlag, MagickFalse },
{ "+encoding", 0L, ImageInfoOptionFlag | DrawInfoOptionFlag, MagickFalse },
{ "-encoding", 1L, ImageInfoOptionFlag | DrawInfoOptionFlag, MagickFalse },
{ "+endian", 0L, ImageInfoOptionFlag, MagickFalse },
{ "+foreground", 0L, NonMagickOptionFlag, MagickFalse },
{ "-foreground", 1L, NonMagickOptionFlag, MagickFalse },
{ "+format", 0L, ImageInfoOptionFlag, MagickFalse },
- { "-format", 1L, ImageInfoOptionFlag, MagickFalse },
+ { "-format", 1L, ImageInfoOptionFlag | NeverInterpretArgsFlag, MagickFalse },
{ "+frame", 1L, DeprecateOptionFlag, MagickTrue },
{ "-frame", 1L, SimpleOperatorFlag, MagickFalse },
{ "+function", 2L, DeprecateOptionFlag, MagickTrue },
- { "-function", 2L,SimpleOperatorFlag, MagickFalse },
+ { "-function", 2L,SimpleOperatorFlag | AlwaysInterpretArgsFlag, MagickFalse },
{ "+fuzz", 0L, ImageInfoOptionFlag, MagickFalse },
{ "-fuzz", 1L, ImageInfoOptionFlag, MagickFalse },
{ "+fx", 1L, DeprecateOptionFlag | FireOptionFlag, MagickTrue },
{ "-fx", 1L, ListOperatorFlag | FireOptionFlag, MagickFalse },
- { "+gamma", 0L, SimpleOperatorFlag, MagickFalse },
+ { "+gamma", 1L, SimpleOperatorFlag, MagickFalse },
{ "-gamma", 1L, SimpleOperatorFlag, MagickFalse },
{ "+gaussian", 1L, DeprecateOptionFlag, MagickTrue },
{ "-gaussian", 1L, ReplacedOptionFlag | SimpleOperatorFlag, MagickTrue },
{ "-geometry", 1L, SimpleOperatorFlag, MagickFalse },
{ "+gravity", 0L, ImageInfoOptionFlag | DrawInfoOptionFlag, MagickFalse },
{ "-gravity", 1L, ImageInfoOptionFlag | DrawInfoOptionFlag, MagickFalse },
+ { "+grayscale", 1L, SimpleOperatorFlag, MagickTrue },
+ { "-grayscale", 1L, SimpleOperatorFlag, MagickFalse },
{ "+green-primary", 0L, ImageInfoOptionFlag, MagickFalse },
{ "-green-primary", 1L, ImageInfoOptionFlag, MagickFalse },
{ "+hald-clut", 0L, DeprecateOptionFlag | FireOptionFlag, MagickTrue },
{ "-hald-clut", 0L, ListOperatorFlag | FireOptionFlag, MagickFalse },
{ "+highlight-color", 0L, NonMagickOptionFlag | ImageInfoOptionFlag, MagickFalse },
{ "-highlight-color", 1L, NonMagickOptionFlag | ImageInfoOptionFlag, MagickFalse },
+ { "+hough-lines", 1L, DeprecateOptionFlag, MagickTrue },
+ { "-hough-lines", 1L, SimpleOperatorFlag, MagickTrue },
{ "+iconGeometry", 0L, NonMagickOptionFlag, MagickFalse },
{ "-iconGeometry", 1L, NonMagickOptionFlag, MagickFalse },
{ "+iconic", 0L, NonMagickOptionFlag, MagickFalse },
- { "-iconic", 1L, NonMagickOptionFlag, MagickFalse },
+ { "-iconic", 0L, NonMagickOptionFlag, MagickFalse },
{ "+identify", 0L, DeprecateOptionFlag | FireOptionFlag, MagickTrue },
{ "-identify", 0L, SimpleOperatorFlag | FireOptionFlag, MagickFalse },
{ "+ift", 0L, ListOperatorFlag | FireOptionFlag, MagickFalse },
{ "-implode", 1L, SimpleOperatorFlag, MagickFalse },
{ "+insert", 0L, ListOperatorFlag | FireOptionFlag, MagickFalse },
{ "-insert", 1L, ListOperatorFlag | FireOptionFlag, MagickFalse },
+ { "+intensity", 0L, ImageInfoOptionFlag, MagickFalse },
+ { "-intensity", 1L, ImageInfoOptionFlag, MagickFalse },
{ "+intent", 0L, ImageInfoOptionFlag, MagickFalse },
{ "-intent", 1L, ImageInfoOptionFlag, MagickFalse },
{ "+interlace", 0L, ImageInfoOptionFlag, MagickFalse },
{ "-interword-spacing", 1L, ImageInfoOptionFlag | DrawInfoOptionFlag, MagickFalse },
{ "+kerning", 0L, ImageInfoOptionFlag | DrawInfoOptionFlag, MagickFalse },
{ "-kerning", 1L, ImageInfoOptionFlag | DrawInfoOptionFlag, MagickFalse },
- { "+label", 0L, ImageInfoOptionFlag, MagickFalse },
- { "-label", 1L, ImageInfoOptionFlag, MagickFalse },
+ { "+label", 0L, ImageInfoOptionFlag | NeverInterpretArgsFlag, MagickFalse },
+ { "-label", 1L, ImageInfoOptionFlag | NeverInterpretArgsFlag, MagickFalse },
{ "+lat", 1L, DeprecateOptionFlag, MagickTrue },
{ "-lat", 1L, SimpleOperatorFlag, MagickFalse },
{ "+layers", 1L, DeprecateOptionFlag | FireOptionFlag, MagickTrue },
{ "-loop", 1L, ImageInfoOptionFlag, MagickFalse },
{ "+lowlight-color", 0L, NonMagickOptionFlag | ImageInfoOptionFlag, MagickFalse },
{ "-lowlight-color", 1L, NonMagickOptionFlag | ImageInfoOptionFlag, MagickFalse },
- { "+magnify", 0L, NonMagickOptionFlag, MagickFalse },
- { "-magnify", 1L, NonMagickOptionFlag, MagickFalse },
+ { "+magnify", 0L, DeprecateOptionFlag, MagickTrue },
+ { "-magnify", 0L, SimpleOperatorFlag, MagickFalse },
{ "+map", 0L, ReplacedOptionFlag | ListOperatorFlag | FireOptionFlag, MagickTrue },
{ "-map", 1L, ReplacedOptionFlag | SimpleOperatorFlag, MagickTrue },
- { "+mask", 0L, SimpleOperatorFlag, MagickFalse },
- { "-mask", 1L, SimpleOperatorFlag, MagickFalse },
+ { "+mask", 0L, SimpleOperatorFlag | NeverInterpretArgsFlag, MagickFalse },
+ { "-mask", 1L, SimpleOperatorFlag | NeverInterpretArgsFlag, MagickFalse },
{ "+matte", 0L, ReplacedOptionFlag | SimpleOperatorFlag, MagickTrue },
{ "-matte", 0L, ReplacedOptionFlag | SimpleOperatorFlag, MagickTrue },
{ "+mattecolor", 0L, ImageInfoOptionFlag, MagickFalse },
{ "-mattecolor", 1L, ImageInfoOptionFlag, MagickFalse },
{ "+maximum", 0L, DeprecateOptionFlag | FireOptionFlag, MagickTrue },
{ "-maximum", 0L, DeprecateOptionFlag | FireOptionFlag, MagickTrue },
+ { "+mean-shift", 1L, DeprecateOptionFlag, MagickTrue },
+ { "-mean-shift", 1L, SimpleOperatorFlag, MagickTrue },
{ "+median", 1L, DeprecateOptionFlag, MagickTrue },
{ "-median", 1L, ReplacedOptionFlag | SimpleOperatorFlag | FireOptionFlag, MagickTrue },
- { "+metric", 0L, ImageInfoOptionFlag, MagickFalse },
- { "-metric", 1L, ImageInfoOptionFlag, MagickFalse },
+ { "+metric", 0L, DeprecateOptionFlag | FireOptionFlag, MagickFalse },
+ { "-metric", 1L, ListOperatorFlag | FireOptionFlag, MagickFalse },
{ "+minimum", 0L, DeprecateOptionFlag | FireOptionFlag, MagickTrue },
{ "-minimum", 0L, DeprecateOptionFlag | FireOptionFlag, MagickTrue },
+ { "+moments", 0L, SimpleOperatorFlag | FireOptionFlag, MagickFalse },
+ { "-moments", 0L, SimpleOperatorFlag | FireOptionFlag, MagickFalse },
{ "+mode", 1L, NonMagickOptionFlag, MagickFalse },
{ "-mode", 1L, ReplacedOptionFlag | SimpleOperatorFlag, MagickTrue },
{ "+modulate", 1L, DeprecateOptionFlag, MagickTrue },
{ "-pointsize", 1L, ImageInfoOptionFlag | DrawInfoOptionFlag, MagickFalse },
{ "+polaroid", 0L, SimpleOperatorFlag, MagickFalse },
{ "-polaroid", 1L, SimpleOperatorFlag, MagickFalse },
+ { "+poly", 1L, DeprecateOptionFlag | FireOptionFlag, MagickTrue },
+ { "-poly", 1L, ListOperatorFlag | FireOptionFlag, MagickFalse },
{ "+posterize", 1L, DeprecateOptionFlag, MagickTrue },
{ "-posterize", 1L, SimpleOperatorFlag, MagickFalse },
{ "+precision", 0L, ImageInfoOptionFlag, MagickFalse },
{ "+preview", 0L, DeprecateOptionFlag, MagickTrue },
{ "-preview", 1L, GlobalOptionFlag, MagickFalse },
{ "+print", 1L, DeprecateOptionFlag | FireOptionFlag, MagickTrue },
- { "-print", 1L, ListOperatorFlag | FireOptionFlag, MagickFalse },
+ { "-print", 1L, NoImageOperatorFlag | AlwaysInterpretArgsFlag | FireOptionFlag, MagickFalse },
{ "+process", 1L, DeprecateOptionFlag | FireOptionFlag, MagickTrue },
{ "-process", 1L, ListOperatorFlag | FireOptionFlag, MagickFalse },
{ "+profile", 1L, SimpleOperatorFlag, MagickFalse },
- { "-profile", 1L, SimpleOperatorFlag, MagickFalse },
+ { "-profile", 1L, SimpleOperatorFlag | NeverInterpretArgsFlag, MagickFalse },
{ "+quality", 0L, ImageInfoOptionFlag, MagickFalse },
{ "-quality", 1L, ImageInfoOptionFlag, MagickFalse },
{ "+quantize", 0L, QuantizeInfoOptionFlag, MagickFalse },
{ "-quantize", 1L, QuantizeInfoOptionFlag, MagickFalse },
{ "+quiet", 0L, GlobalOptionFlag | FireOptionFlag, MagickFalse },
{ "-quiet", 0L, GlobalOptionFlag | FireOptionFlag, MagickFalse },
- { "+radial-blur", 1L, DeprecateOptionFlag, MagickTrue },
- { "-radial-blur", 1L, SimpleOperatorFlag, MagickFalse },
+ { "-rotational-blur", 1L, SimpleOperatorFlag, MagickFalse },
{ "+raise", 1L, SimpleOperatorFlag, MagickFalse },
{ "-raise", 1L, SimpleOperatorFlag, MagickFalse },
{ "+random-threshold", 1L, DeprecateOptionFlag, MagickTrue },
{ "-random-threshold", 1L, SimpleOperatorFlag, MagickFalse },
- { "-read", 1L, NoImageOperatorFlag, MagickFalse },
+ { "-read", 1L, NoImageOperatorFlag | NeverInterpretArgsFlag, MagickFalse },
{ "+recolor", 1L, DeprecateOptionFlag, MagickTrue },
{ "-recolor", 1L, ReplacedOptionFlag | SimpleOperatorFlag, MagickTrue },
{ "+red-primary", 0L, ImageInfoOptionFlag, MagickFalse },
{ "-regard-warnings", 0L, ImageInfoOptionFlag, MagickFalse },
{ "+region", 0L, NoImageOperatorFlag, MagickFalse },
{ "-region", 1L, NoImageOperatorFlag, MagickFalse },
- { "+remap", 0L, ListOperatorFlag | FireOptionFlag, MagickFalse },
- { "-remap", 1L, SimpleOperatorFlag, MagickFalse },
+ { "+remap", 0L, ListOperatorFlag | NeverInterpretArgsFlag | FireOptionFlag, MagickFalse },
+ { "-remap", 1L, SimpleOperatorFlag | NeverInterpretArgsFlag, MagickFalse },
{ "+remote", 0L, NonMagickOptionFlag, MagickFalse },
{ "-remote", 1L, NonMagickOptionFlag, MagickFalse },
{ "+render", 0L, DrawInfoOptionFlag, MagickFalse },
{ "-sample", 1L, SimpleOperatorFlag, MagickFalse },
{ "+sampling-factor", 0L, ImageInfoOptionFlag, MagickFalse },
{ "-sampling-factor", 1L, ImageInfoOptionFlag, MagickFalse },
- { "+sans", 1L, NoImageOperatorFlag, MagickTrue },
- { "-sans", 1L, NoImageOperatorFlag, MagickTrue },
- { "+sans0", 0L, NoImageOperatorFlag, MagickTrue }, /* equivelent to 'noop' */
- { "-sans0", 0L, NoImageOperatorFlag, MagickTrue },
- { "+sans2", 2L, NoImageOperatorFlag, MagickTrue },
- { "-sans2", 2L, NoImageOperatorFlag, MagickTrue },
+ { "+sans", 1L, NoImageOperatorFlag | NeverInterpretArgsFlag, MagickTrue },
+ { "-sans", 1L, NoImageOperatorFlag | NeverInterpretArgsFlag, MagickTrue },
+ { "+sans0", 0L, NoImageOperatorFlag | NeverInterpretArgsFlag, MagickTrue }, /* equivelent to 'noop' */
+ { "-sans0", 0L, NoImageOperatorFlag | NeverInterpretArgsFlag, MagickTrue },
+ { "+sans1", 1L, NoImageOperatorFlag | NeverInterpretArgsFlag, MagickTrue },
+ { "-sans1", 1L, NoImageOperatorFlag | NeverInterpretArgsFlag, MagickTrue }, /* equivelent to 'sans' */
+ { "+sans2", 2L, NoImageOperatorFlag | NeverInterpretArgsFlag, MagickTrue },
+ { "-sans2", 2L, NoImageOperatorFlag | NeverInterpretArgsFlag, MagickTrue },
{ "+scale", 1L, DeprecateOptionFlag, MagickTrue },
{ "-scale", 1L, SimpleOperatorFlag, MagickFalse },
{ "+scene", 0L, ImageInfoOptionFlag, MagickFalse },
{ "-scenes", 1L, NonMagickOptionFlag, MagickFalse },
{ "+screen", 0L, NonMagickOptionFlag, MagickFalse },
{ "-screen", 1L, NonMagickOptionFlag, MagickFalse },
- { "-script", 1L, SpecialOptionFlag, MagickFalse },
+ { "-script", 1L, SpecialOptionFlag | NeverInterpretArgsFlag, MagickFalse },
{ "+seed", 0L, GlobalOptionFlag, MagickFalse },
{ "-seed", 1L, GlobalOptionFlag, MagickFalse },
{ "+segment", 1L, DeprecateOptionFlag, MagickTrue },
{ "-separate", 0L, SimpleOperatorFlag | FireOptionFlag, MagickFalse },
{ "+sepia-tone", 1L, DeprecateOptionFlag, MagickTrue },
{ "-sepia-tone", 1L, SimpleOperatorFlag, MagickFalse },
- { "+set", 1L, SimpleOperatorFlag, MagickFalse },
- { "-set", 2L, SimpleOperatorFlag, MagickFalse },
+ { "+set", 1L, NoImageOperatorFlag, MagickFalse },
+ { "-set", 2L, NoImageOperatorFlag | NeverInterpretArgsFlag, MagickFalse },
{ "+shade", 0L, DeprecateOptionFlag, MagickTrue },
{ "-shade", 1L, SimpleOperatorFlag, MagickFalse },
{ "+shadow", 1L, DeprecateOptionFlag, MagickTrue },
{ "-sigmoidal-contrast", 1L, SimpleOperatorFlag, MagickFalse },
{ "+silent", 0L, NonMagickOptionFlag, MagickFalse },
{ "-silent", 1L, NonMagickOptionFlag, MagickFalse },
+ { "+similarity-threshold", 0L, NonMagickOptionFlag | ImageInfoOptionFlag, MagickFalse },
+ { "-similarity-threshold", 1L, NonMagickOptionFlag | ImageInfoOptionFlag, MagickFalse },
{ "+size", 0L, ImageInfoOptionFlag, MagickFalse },
{ "-size", 1L, ImageInfoOptionFlag, MagickFalse },
{ "+sketch", 1L, DeprecateOptionFlag, MagickTrue },
{ "+solarize", 1L, DeprecateOptionFlag, MagickTrue },
{ "-solarize", 1L, SimpleOperatorFlag, MagickFalse },
{ "+sparse-color", 1L, DeprecateOptionFlag, MagickTrue },
- { "-sparse-color", 2L, SimpleOperatorFlag, MagickFalse },
+ { "-sparse-color", 2L, SimpleOperatorFlag | AlwaysInterpretArgsFlag, MagickFalse },
{ "+splice", 1L, DeprecateOptionFlag, MagickTrue },
{ "-splice", 1L, SimpleOperatorFlag, MagickFalse },
{ "+spread", 1L, DeprecateOptionFlag, MagickTrue },
{ "+text-font", 0L, NonMagickOptionFlag, MagickFalse },
{ "-text-font", 1L, NonMagickOptionFlag, MagickFalse },
{ "+texture", 0L, ImageInfoOptionFlag, MagickFalse },
- { "-texture", 1L, ImageInfoOptionFlag, MagickFalse },
+ { "-texture", 1L, ImageInfoOptionFlag | NeverInterpretArgsFlag, MagickFalse },
{ "+threshold", 0L, SimpleOperatorFlag, MagickFalse },
{ "-threshold", 1L, SimpleOperatorFlag, MagickFalse },
{ "+thumbnail", 1L, DeprecateOptionFlag, MagickTrue },
{ "-thumbnail", 1L, SimpleOperatorFlag, MagickFalse },
- { "+tile", 0L, DrawInfoOptionFlag, MagickFalse },
- { "-tile", 1L, DrawInfoOptionFlag, MagickFalse },
+ { "+tile", 0L, DrawInfoOptionFlag | NeverInterpretArgsFlag, MagickFalse },
+ { "-tile", 1L, DrawInfoOptionFlag | NeverInterpretArgsFlag, MagickFalse },
{ "+tile-offset", 0L, ImageInfoOptionFlag, MagickFalse },
{ "-tile-offset", 1L, ImageInfoOptionFlag, MagickFalse },
{ "+tint", 1L, SimpleOperatorFlag, MagickFalse },
{ "-window", 1L, NonMagickOptionFlag, MagickFalse },
{ "+window-group", 0L, NonMagickOptionFlag, MagickFalse },
{ "-window-group", 1L, NonMagickOptionFlag, MagickFalse },
- { "+write", 1L, NoImageOperatorFlag | FireOptionFlag, MagickFalse },
- { "-write", 1L, NoImageOperatorFlag | FireOptionFlag, MagickFalse },
+ { "+write", 1L, NoImageOperatorFlag | NeverInterpretArgsFlag | FireOptionFlag, MagickFalse },
+ { "-write", 1L, NoImageOperatorFlag | NeverInterpretArgsFlag | FireOptionFlag, MagickFalse },
{ (char *) NULL, 0L, UndefinedOptionFlag, MagickFalse }
},
ComposeOptions[] =
ColorspaceOptions[] =
{
{ "Undefined", UndefinedColorspace, UndefinedOptionFlag, MagickTrue },
+ { "CIELab", LabColorspace, UndefinedOptionFlag, MagickFalse },
{ "CMY", CMYColorspace, UndefinedOptionFlag, MagickFalse },
{ "CMYK", CMYKColorspace, UndefinedOptionFlag, MagickFalse },
{ "Gray", GRAYColorspace, UndefinedOptionFlag, MagickFalse },
+ { "HCL", HCLColorspace, UndefinedOptionFlag, MagickFalse },
+ { "HCLp", HCLpColorspace, UndefinedOptionFlag, MagickFalse },
{ "HSB", HSBColorspace, UndefinedOptionFlag, MagickFalse },
+ { "HSI", HSIColorspace, UndefinedOptionFlag, MagickFalse },
{ "HSL", HSLColorspace, UndefinedOptionFlag, MagickFalse },
+ { "HSV", HSVColorspace, UndefinedOptionFlag, MagickFalse },
{ "HWB", HWBColorspace, UndefinedOptionFlag, MagickFalse },
{ "Lab", LabColorspace, UndefinedOptionFlag, MagickFalse },
+ { "LCH", LCHColorspace, UndefinedOptionFlag, MagickFalse },
+ { "LCHab", LCHabColorspace, UndefinedOptionFlag, MagickFalse },
+ { "LCHuv", LCHuvColorspace, UndefinedOptionFlag, MagickFalse },
+ { "LMS", LMSColorspace, UndefinedOptionFlag, MagickFalse },
{ "Log", LogColorspace, UndefinedOptionFlag, MagickFalse },
+ { "Luv", LuvColorspace, UndefinedOptionFlag, MagickFalse },
{ "OHTA", OHTAColorspace, UndefinedOptionFlag, MagickFalse },
- { "Rec601Luma", Rec601LumaColorspace, UndefinedOptionFlag, MagickFalse },
{ "Rec601YCbCr", Rec601YCbCrColorspace, UndefinedOptionFlag, MagickFalse },
- { "Rec709Luma", Rec709LumaColorspace, UndefinedOptionFlag, MagickFalse },
{ "Rec709YCbCr", Rec709YCbCrColorspace, UndefinedOptionFlag, MagickFalse },
{ "RGB", RGBColorspace, UndefinedOptionFlag, MagickFalse },
+ { "scRGB", scRGBColorspace, UndefinedOptionFlag, MagickFalse },
{ "sRGB", sRGBColorspace, UndefinedOptionFlag, MagickFalse },
{ "Transparent", TransparentColorspace, UndefinedOptionFlag, MagickFalse },
{ "XYZ", XYZColorspace, UndefinedOptionFlag, MagickFalse },
{ "YCbCr", YCbCrColorspace, UndefinedOptionFlag, MagickFalse },
+ { "YDbDr", YDbDrColorspace, UndefinedOptionFlag, MagickFalse },
{ "YCC", YCCColorspace, UndefinedOptionFlag, MagickFalse },
{ "YIQ", YIQColorspace, UndefinedOptionFlag, MagickFalse },
{ "YPbPr", YPbPrColorspace, UndefinedOptionFlag, MagickFalse },
{ "YUV", YUVColorspace, UndefinedOptionFlag, MagickFalse },
{ (char *) NULL, UndefinedColorspace, UndefinedOptionFlag, MagickFalse }
},
+ ComplexOptions[] =
+ {
+ { "Undefined", UndefinedComplexOperator, UndefinedOptionFlag, MagickTrue },
+ { "Add", AddComplexOperator, UndefinedOptionFlag, MagickFalse },
+ { "Conjugate", ConjugateComplexOperator, UndefinedOptionFlag, MagickFalse },
+ { "Divide", DivideComplexOperator, UndefinedOptionFlag, MagickFalse },
+ { "MagnitudePhase", MagnitudePhaseComplexOperator, UndefinedOptionFlag, MagickFalse },
+ { "Multiply", MultiplyComplexOperator, UndefinedOptionFlag, MagickFalse },
+ { "RealImaginary", RealImaginaryComplexOperator, UndefinedOptionFlag, MagickFalse },
+ { "Subtract", SubtractComplexOperator, UndefinedOptionFlag, MagickFalse },
+ { (char *) NULL, UndefinedComplexOperator, UndefinedOptionFlag, MagickFalse }
+ },
DataTypeOptions[] =
{
{ "Undefined", UndefinedData, UndefinedOptionFlag, MagickTrue },
{ "Cubic", CubicFilter, UndefinedOptionFlag, MagickFalse },
{ "Gaussian", GaussianFilter, UndefinedOptionFlag, MagickFalse },
{ "Hamming", HammingFilter, UndefinedOptionFlag, MagickFalse },
- { "Hanning", HanningFilter, UndefinedOptionFlag, MagickFalse },
+ { "Hann", HannFilter, UndefinedOptionFlag, MagickFalse },
+ { "Hanning", HannFilter, UndefinedOptionFlag, MagickTrue }, /*misspell*/
{ "Hermite", HermiteFilter, UndefinedOptionFlag, MagickFalse },
{ "Jinc", JincFilter, UndefinedOptionFlag, MagickFalse },
{ "Kaiser", KaiserFilter, UndefinedOptionFlag, MagickFalse },
{ "Lagrange", LagrangeFilter, UndefinedOptionFlag, MagickFalse },
{ "Lanczos", LanczosFilter, UndefinedOptionFlag, MagickFalse },
- { "LanczosSharp", LanczosSharpFilter, UndefinedOptionFlag, MagickFalse },
{ "Lanczos2", Lanczos2Filter, UndefinedOptionFlag, MagickFalse },
{ "Lanczos2Sharp", Lanczos2SharpFilter, UndefinedOptionFlag, MagickFalse },
+ { "LanczosRadius", LanczosRadiusFilter, UndefinedOptionFlag, MagickFalse },
+ { "LanczosSharp", LanczosSharpFilter, UndefinedOptionFlag, MagickFalse },
{ "Mitchell", MitchellFilter, UndefinedOptionFlag, MagickFalse },
{ "Parzen", ParzenFilter, UndefinedOptionFlag, MagickFalse },
{ "Point", PointFilter, UndefinedOptionFlag, MagickFalse },
{ "RobidouxSharp", RobidouxSharpFilter, UndefinedOptionFlag, MagickFalse },
{ "Sinc", SincFilter, UndefinedOptionFlag, MagickFalse },
{ "SincFast", SincFastFilter, UndefinedOptionFlag, MagickFalse },
+ { "Spline", SplineFilter, UndefinedOptionFlag, MagickFalse },
{ "Triangle", TriangleFilter, UndefinedOptionFlag, MagickFalse },
- { "Welsh", WelshFilter, UndefinedOptionFlag, MagickFalse },
+ { "Welch", WelchFilter, UndefinedOptionFlag, MagickFalse },
+ { "Welsh", WelchFilter, UndefinedOptionFlag, MagickTrue }, /*misspell*/
{ (char *) NULL, UndefinedFilter, UndefinedOptionFlag, MagickFalse }
},
FunctionOptions[] =
{
{ "Undefined", UndefinedInterpolatePixel, UndefinedOptionFlag, MagickTrue },
{ "Average", AverageInterpolatePixel, UndefinedOptionFlag, MagickFalse },
- { "Bicubic", BicubicInterpolatePixel, UndefinedOptionFlag, MagickFalse },
+ { "Average4", AverageInterpolatePixel, UndefinedOptionFlag, MagickFalse },
+ { "Average9", Average9InterpolatePixel, UndefinedOptionFlag, MagickFalse },
+ { "Average16", Average16InterpolatePixel, UndefinedOptionFlag, MagickFalse },
+ { "Background", BackgroundInterpolatePixel, UndefinedOptionFlag, MagickFalse },
{ "Bilinear", BilinearInterpolatePixel, UndefinedOptionFlag, MagickFalse },
- { "filter", FilterInterpolatePixel, UndefinedOptionFlag, MagickFalse },
+ { "Blend", BlendInterpolatePixel, UndefinedOptionFlag, MagickFalse },
+ { "Catrom", CatromInterpolatePixel, UndefinedOptionFlag, MagickFalse },
{ "Integer", IntegerInterpolatePixel, UndefinedOptionFlag, MagickFalse },
{ "Mesh", MeshInterpolatePixel, UndefinedOptionFlag, MagickFalse },
- { "Nearest", NearestNeighborInterpolatePixel, UndefinedOptionFlag, MagickFalse },
- { "NearestNeighbor", NearestNeighborInterpolatePixel, UndefinedOptionFlag, MagickFalse },
+ { "Nearest", NearestInterpolatePixel, UndefinedOptionFlag, MagickFalse },
+ { "NearestNeighbor", NearestInterpolatePixel, UndefinedOptionFlag, MagickTrue },
{ "Spline", SplineInterpolatePixel, UndefinedOptionFlag, MagickFalse },
+/* { "Filter", FilterInterpolatePixel, UndefinedOptionFlag, MagickFalse }, */
{ (char *) NULL, UndefinedInterpolatePixel, UndefinedOptionFlag, MagickFalse }
},
KernelOptions[] =
{ "LoG", LoGKernel, UndefinedOptionFlag, MagickFalse },
{ "Blur", BlurKernel, UndefinedOptionFlag, MagickFalse },
{ "Comet", CometKernel, UndefinedOptionFlag, MagickFalse },
+ { "Binomial", BinomialKernel, UndefinedOptionFlag, MagickFalse },
{ "Laplacian", LaplacianKernel, UndefinedOptionFlag, MagickFalse },
{ "Sobel", SobelKernel, UndefinedOptionFlag, MagickFalse },
{ "FreiChen", FreiChenKernel, UndefinedOptionFlag, MagickFalse },
ListOptions[] =
{
{ "Align", MagickAlignOptions, UndefinedOptionFlag, MagickFalse },
- { "Alpha", MagickAlphaOptions, UndefinedOptionFlag, MagickFalse },
+ { "Alpha", MagickAlphaChannelOptions, UndefinedOptionFlag, MagickFalse },
{ "Boolean", MagickBooleanOptions, UndefinedOptionFlag, MagickFalse },
+ { "Cache", MagickCacheOptions, UndefinedOptionFlag, MagickFalse },
{ "Channel", MagickChannelOptions, UndefinedOptionFlag, MagickFalse },
{ "Class", MagickClassOptions, UndefinedOptionFlag, MagickFalse },
{ "ClipPath", MagickClipPathOptions, UndefinedOptionFlag, MagickFalse },
{ "Color", MagickColorOptions, UndefinedOptionFlag, MagickFalse },
{ "Colorspace", MagickColorspaceOptions, UndefinedOptionFlag, MagickFalse },
{ "Command", MagickCommandOptions, UndefinedOptionFlag, MagickFalse },
+ { "Complex", MagickComplexOptions, UndefinedOptionFlag, MagickFalse },
{ "Compose", MagickComposeOptions, UndefinedOptionFlag, MagickFalse },
{ "Compress", MagickCompressOptions, UndefinedOptionFlag, MagickFalse },
{ "Configure", MagickConfigureOptions, UndefinedOptionFlag, MagickFalse },
{ "Format", MagickFormatOptions, UndefinedOptionFlag, MagickFalse },
{ "Function", MagickFunctionOptions, UndefinedOptionFlag, MagickFalse },
{ "Gravity", MagickGravityOptions, UndefinedOptionFlag, MagickFalse },
+ { "Intensity", MagickPixelIntensityOptions, UndefinedOptionFlag, MagickFalse },
{ "Intent", MagickIntentOptions, UndefinedOptionFlag, MagickFalse },
{ "Interlace", MagickInterlaceOptions, UndefinedOptionFlag, MagickFalse },
{ "Interpolate", MagickInterpolateOptions, UndefinedOptionFlag, MagickFalse },
{ "Noise", MagickNoiseOptions, UndefinedOptionFlag, MagickFalse },
{ "Orientation", MagickOrientationOptions, UndefinedOptionFlag, MagickFalse },
{ "PixelChannel", MagickPixelChannelOptions, UndefinedOptionFlag, MagickFalse },
+ { "PixelIntensity", MagickPixelIntensityOptions, UndefinedOptionFlag, MagickFalse },
+ { "PixelMask", MagickPixelMaskOptions, UndefinedOptionFlag, MagickFalse },
{ "PixelTrait", MagickPixelTraitOptions, UndefinedOptionFlag, MagickFalse },
{ "Policy", MagickPolicyOptions, UndefinedOptionFlag, MagickFalse },
{ "PolicyDomain", MagickPolicyDomainOptions, UndefinedOptionFlag, MagickFalse },
{ "Blob", BlobEvent, UndefinedOptionFlag, MagickFalse },
{ "Cache", CacheEvent, UndefinedOptionFlag, MagickFalse },
{ "Coder", CoderEvent, UndefinedOptionFlag, MagickFalse },
+ { "Command", CommandEvent, UndefinedOptionFlag, MagickFalse },
{ "Configure", ConfigureEvent, UndefinedOptionFlag, MagickFalse },
{ "Deprecate", DeprecateEvent, UndefinedOptionFlag, MagickFalse },
{ "Draw", DrawEvent, UndefinedOptionFlag, MagickFalse },
},
MetricOptions[] =
{
- { "Undefined", UndefinedMetric, UndefinedOptionFlag, MagickTrue },
+ { "Undefined", UndefinedErrorMetric, UndefinedOptionFlag, MagickTrue },
{ "AE", AbsoluteErrorMetric, UndefinedOptionFlag, MagickFalse },
{ "Fuzz", FuzzErrorMetric, UndefinedOptionFlag, MagickFalse },
{ "MAE", MeanAbsoluteErrorMetric, UndefinedOptionFlag, MagickFalse },
- { "MEPP", MeanErrorPerPixelMetric, UndefinedOptionFlag, MagickFalse },
+ { "MEPP", MeanErrorPerPixelErrorMetric, UndefinedOptionFlag, MagickFalse },
{ "MSE", MeanSquaredErrorMetric, UndefinedOptionFlag, MagickFalse },
{ "NCC", NormalizedCrossCorrelationErrorMetric, UndefinedOptionFlag, MagickFalse },
{ "PAE", PeakAbsoluteErrorMetric, UndefinedOptionFlag, MagickFalse },
- { "PSNR", PeakSignalToNoiseRatioMetric, UndefinedOptionFlag, MagickFalse },
+ { "PHASh", PerceptualHashErrorMetric, UndefinedOptionFlag, MagickFalse },
+ { "PSNR", PeakSignalToNoiseRatioErrorMetric, UndefinedOptionFlag, MagickFalse },
{ "RMSE", RootMeanSquaredErrorMetric, UndefinedOptionFlag, MagickFalse },
- { (char *) NULL, UndefinedMetric, UndefinedOptionFlag, MagickFalse }
+ { (char *) NULL, UndefinedErrorMetric, UndefinedOptionFlag, MagickFalse }
},
MethodOptions[] =
{
{ "K", BlackPixelChannel, UndefinedOptionFlag, MagickFalse },
{ "M", MagentaPixelChannel, UndefinedOptionFlag, MagickFalse },
{ "Magenta", MagentaPixelChannel, UndefinedOptionFlag, MagickFalse },
- { "Mask", MaskPixelChannel, UndefinedOptionFlag, MagickFalse },
{ "R", RedPixelChannel, UndefinedOptionFlag, MagickFalse },
+ { "ReadMask", ReadMaskPixelChannel, UndefinedOptionFlag, MagickFalse },
{ "Red", RedPixelChannel, UndefinedOptionFlag, MagickFalse },
{ "Sync", SyncPixelChannel, UndefinedOptionFlag, MagickFalse },
+ { "WriteMask", WriteMaskPixelChannel, UndefinedOptionFlag, MagickFalse },
{ "Y", YellowPixelChannel, UndefinedOptionFlag, MagickFalse },
{ "Yellow", YellowPixelChannel, UndefinedOptionFlag, MagickFalse },
{ (char *) NULL, UndefinedPixelChannel, UndefinedOptionFlag, MagickFalse }
},
+ PixelIntensityOptions[] =
+ {
+ { "Undefined", UndefinedPixelIntensityMethod, UndefinedOptionFlag, MagickTrue },
+ { "Average", AveragePixelIntensityMethod, UndefinedOptionFlag, MagickFalse },
+ { "Brightness", BrightnessPixelIntensityMethod, UndefinedOptionFlag, MagickFalse },
+ { "Lightness", LightnessPixelIntensityMethod, UndefinedOptionFlag, MagickFalse },
+ { "MS", MSPixelIntensityMethod, UndefinedOptionFlag, MagickFalse },
+ { "Rec601Luma", Rec601LumaPixelIntensityMethod, UndefinedOptionFlag, MagickFalse },
+ { "Rec601Luminance", Rec601LuminancePixelIntensityMethod, UndefinedOptionFlag, MagickFalse },
+ { "Rec709Luma", Rec709LumaPixelIntensityMethod, UndefinedOptionFlag, MagickFalse },
+ { "Rec709Luminance", Rec709LuminancePixelIntensityMethod, UndefinedOptionFlag, MagickFalse },
+ { "RMS", RMSPixelIntensityMethod, UndefinedOptionFlag, MagickFalse },
+ { (char *) NULL, UndefinedPixelIntensityMethod, UndefinedOptionFlag, MagickFalse }
+ },
+ PixelMaskOptions[] =
+ {
+ { "Undefined", UndefinedPixelMask, UndefinedOptionFlag, MagickTrue },
+ { "R", ReadPixelMask, UndefinedOptionFlag, MagickFalse },
+ { "Read", ReadPixelMask, UndefinedOptionFlag, MagickFalse },
+ { "W", WritePixelMask, UndefinedOptionFlag, MagickFalse },
+ { "Write", WritePixelMask, UndefinedOptionFlag, MagickFalse },
+ { (char *) NULL, UndefinedPixelMask, UndefinedOptionFlag, MagickFalse }
+ },
PixelTraitOptions[] =
{
{ "Undefined", UndefinedPixelTrait, UndefinedOptionFlag, MagickTrue },
{
{ "Undefined", UndefinedValidate, UndefinedOptionFlag, MagickTrue },
{ "All", AllValidate, UndefinedOptionFlag, MagickFalse },
+ { "Colorspace", ColorspaceValidate, UndefinedOptionFlag, MagickFalse },
{ "Compare", CompareValidate, UndefinedOptionFlag, MagickFalse },
{ "Composite", CompositeValidate, UndefinedOptionFlag, MagickFalse },
{ "Convert", ConvertValidate, UndefinedOptionFlag, MagickFalse },
- { "FormatsInMemory", FormatsInMemoryValidate, UndefinedOptionFlag, MagickFalse },
- { "FormatsOnDisk", FormatsOnDiskValidate, UndefinedOptionFlag, MagickFalse },
+ { "FormatsDisk", FormatsDiskValidate, UndefinedOptionFlag, MagickFalse },
+ { "FormatsMap", FormatsMapValidate, UndefinedOptionFlag, MagickFalse },
+ { "FormatsMemory", FormatsMemoryValidate, UndefinedOptionFlag, MagickFalse },
{ "Identify", IdentifyValidate, UndefinedOptionFlag, MagickFalse },
{ "ImportExport", ImportExportValidate, UndefinedOptionFlag, MagickFalse },
{ "Montage", MontageValidate, UndefinedOptionFlag, MagickFalse },
{ "HorizontalTile", HorizontalTileVirtualPixelMethod, UndefinedOptionFlag, MagickFalse },
{ "HorizontalTileEdge", HorizontalTileEdgeVirtualPixelMethod, UndefinedOptionFlag, MagickFalse },
{ "Mirror", MirrorVirtualPixelMethod, UndefinedOptionFlag, MagickFalse },
+ { "None", TransparentVirtualPixelMethod, UndefinedOptionFlag, MagickFalse },
{ "Random", RandomVirtualPixelMethod, UndefinedOptionFlag, MagickFalse },
{ "Tile", TileVirtualPixelMethod, UndefinedOptionFlag, MagickFalse },
{ "Transparent", TransparentVirtualPixelMethod, UndefinedOptionFlag, MagickFalse },
switch (option)
{
case MagickAlignOptions: return(AlignOptions);
- case MagickAlphaOptions: return(AlphaOptions);
+ case MagickAlphaChannelOptions: return(AlphaChannelOptions);
case MagickBooleanOptions: return(BooleanOptions);
+ case MagickCacheOptions: return(CacheOptions);
case MagickChannelOptions: return(ChannelOptions);
case MagickClassOptions: return(ClassOptions);
case MagickClipPathOptions: return(ClipPathOptions);
case MagickColorspaceOptions: return(ColorspaceOptions);
case MagickCommandOptions: return(CommandOptions);
+ case MagickComplexOptions: return(ComplexOptions);
case MagickComposeOptions: return(ComposeOptions);
case MagickCompressOptions: return(CompressOptions);
case MagickDataTypeOptions: return(DataTypeOptions);
case MagickNoiseOptions: return(NoiseOptions);
case MagickOrientationOptions: return(OrientationOptions);
case MagickPixelChannelOptions: return(PixelChannelOptions);
+ case MagickPixelIntensityOptions: return(PixelIntensityOptions);
+ case MagickPixelMaskOptions: return(PixelMaskOptions);
case MagickPixelTraitOptions: return(PixelTraitOptions);
case MagickPolicyDomainOptions: return(PolicyDomainOptions);
case MagickPolicyRightsOptions: return(PolicyRightsOptions);
% %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
-% CloneImageOptions() clones one or more image options.
+% CloneImageOptions() clones all global image options, to another image_info
%
% The format of the CloneImageOptions method is:
%
%
% A description of each parameter follows:
%
-% o image_info: the image info.
+% o image_info: the image info to recieve the cloned options.
%
-% o clone_info: the clone image info.
+% o clone_info: the source image info for options to clone.
%
*/
MagickExport MagickBooleanType CloneImageOptions(ImageInfo *image_info,
assert(clone_info != (const ImageInfo *) NULL);
assert(clone_info->signature == MagickSignature);
if (clone_info->options != (void *) NULL)
- image_info->options=CloneSplayTree((SplayTreeInfo *) clone_info->options,
- (void *(*)(void *)) ConstantString,(void *(*)(void *)) ConstantString);
+ {
+ if (image_info->options != (void *) NULL)
+ DestroyImageOptions(image_info);
+ image_info->options=CloneSplayTree((SplayTreeInfo *) clone_info->options,
+ (void *(*)(void *)) ConstantString,(void *(*)(void *)) ConstantString);
+ }
return(MagickTrue);
}
\f
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% DefineImageOption() associates an assignment string of the form
-% "key=value" with an image option. It is equivelent to SetImageOption().
+% "key=value" with a global image option. It is equivelent to
+% SetImageOption().
%
% The format of the DefineImageOption method is:
%
% %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
-% DeleteImageOption() deletes an key from the image map.
+% DeleteImageOption() deletes an key from the global image options.
%
% Returns MagickTrue is the option is found and deleted from the Options.
%
% %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
-% DestroyImageOptions() releases memory associated with image option values.
+% DestroyImageOptions() destroys all global options and associated memory
+% attached to the given image_info image list.
%
% The format of the DestroyDefines method is:
%
% %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
-% GetImageOption() gets a value associated with an image option.
+% GetImageOption() gets a value associated with the global image options.
+%
+% The returned string is a constant string in the tree and should NOT be
+% freed by the caller.
%
% The format of the GetImageOption method is:
%
% to speed up the lookup for that very large table, and returns both the
% type (arg count) and flags (arg type).
%
-% This search reduces linear search of over 500 options (250 tests of
+% This search reduces linear search of over 500 options (250 tests on
% average) to about 10 lookups!
%
% The format of the GetCommandOptionInfo method is:
% %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
-% GetNextImageOption() gets the next image option value.
+% GetNextImageOption() gets the next global option value.
%
% The format of the GetNextImageOption method is:
%
%
% RemoveImageOption() removes an option from the image and returns its value.
%
+% In this case the ConstantString() value returned should be freed by the
+% caller when finished.
+%
% The format of the RemoveImageOption method is:
%
% char *RemoveImageOption(ImageInfo *image_info,const char *option)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% ResetImageOptions() resets the image_info option. That is, it deletes
-% all options associated with the image_info structure.
+% all global options associated with the image_info structure.
%
% The format of the ResetImageOptions method is:
%
if (image_info->debug != MagickFalse)
(void) LogMagickEvent(TraceEvent,GetMagickModule(),"%s",
image_info->filename);
-
- /* FUTURE: This should not be here! - but others might */
- if (LocaleCompare(option,"size") == 0)
+ /*
+ Specific global option settings.
+ */
+ if (LocaleCompare(option,"size") == 0) {
(void) CloneString(&image_info->size,value);
-
- /* create tree if needed - specify how key,values are to be freed */
+ return(MagickTrue);
+ }
+ /*
+ Create tree if needed - specify how key,values are to be freed.
+ */
if (image_info->options == (void *) NULL)
image_info->options=NewSplayTree(CompareSplayTreeString,
RelinquishMagickMemory,RelinquishMagickMemory);
-
- /* Delete Option if NULL */
+ /*
+ Delete Option if NULL -- empty string values are valid!
+ */
if (value == (const char *) NULL)
return(DeleteImageOption(image_info,option));
-
- /* add option to splay-tree */
+ /*
+ Add option to splay-tree.
+ */
return(AddValueToSplayTree((SplayTreeInfo *) image_info->options,
ConstantString(option),ConstantString(value)));
}