2 Copyright 1999-2014 ImageMagick Studio LLC, a non-profit organization
3 dedicated to making software imaging solutions freely available.
5 You may not use this file except in compliance with the License.
6 obtain a copy of the License at
8 http://www.imagemagick.org/script/license.php
10 Unless required by applicable law or agreed to in writing, software
11 distributed under the License is distributed on an "AS IS" BASIS,
12 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 See the License for the specific language governing permissions and
14 limitations under the License.
16 MagickCore option methods.
18 #ifndef _MAGICKCORE_OPTION_H
19 #define _MAGICKCORE_OPTION_H
21 #if defined(__cplusplus) || defined(c_plusplus)
27 MagickUndefinedOptions = -1,
28 MagickAlignOptions = 0,
29 MagickAlphaChannelOptions,
34 MagickClipPathOptions,
37 MagickColorspaceOptions,
41 MagickCompressOptions,
42 MagickConfigureOptions,
43 MagickDataTypeOptions,
45 MagickDecorateOptions,
46 MagickDelegateOptions,
47 MagickDirectionOptions,
52 MagickEvaluateOptions,
53 MagickFillRuleOptions,
58 MagickFunctionOptions,
60 MagickIntensityOptions,
62 MagickInterlaceOptions,
63 MagickInterpolateOptions,
67 MagickLineJoinOptions,
70 MagickLogEventOptions,
78 MagickMorphologyOptions,
80 MagickOrientationOptions,
81 MagickPixelChannelOptions,
82 MagickPixelIntensityOptions,
83 MagickPixelMaskOptions,
84 MagickPixelTraitOptions,
86 MagickPolicyDomainOptions,
87 MagickPolicyRightsOptions,
89 MagickPrimitiveOptions,
90 MagickQuantumFormatOptions,
91 MagickResolutionOptions,
92 MagickResourceOptions,
93 MagickSparseColorOptions,
94 MagickStatisticOptions,
98 MagickThresholdOptions,
100 MagickValidateOptions,
101 MagickVirtualPixelOptions
107 NoValidate = 0x00000,
108 ColorspaceValidate = 0x00001,
109 CompareValidate = 0x00002,
110 CompositeValidate = 0x00004,
111 ConvertValidate = 0x00008,
112 FormatsDiskValidate = 0x00010,
113 FormatsMapValidate = 0x00020,
114 FormatsMemoryValidate = 0x00040,
115 IdentifyValidate = 0x00080,
116 ImportExportValidate = 0x00100,
117 MontageValidate = 0x00200,
118 StreamValidate = 0x00400,
119 AllValidate = 0x7fffffff
123 Flags to describe classes of image processing options.
124 These are used to determine how a option should be processed, and
125 avoid attempting to process all options in every way posible.
129 UndefinedOptionFlag = 0x0000, /* option flag is not in use */
131 ImageInfoOptionFlag = 0x0001, /* Setting stored in ImageInfo */
132 DrawInfoOptionFlag = 0x0002, /* Setting stored in DrawInfo */
133 QuantizeInfoOptionFlag = 0x0004, /* Setting stored in QuantizeInfo */
134 GlobalOptionFlag = 0x0008, /* Global Setting or Control */
135 SettingOptionFlags = 0x000F, /* mask any setting option */
137 NoImageOperatorFlag = 0x0010, /* Images not required operator */
138 SimpleOperatorFlag = 0x0020, /* Simple Image processing operator */
139 ListOperatorFlag = 0x0040, /* Multi-Image processing operator */
140 GenesisOptionFlag = 0x0080, /* MagickCommandGenesis() Only Option */
142 SpecialOptionFlag = 0x0100, /* Operator with Special Requirements */
143 /* EG: for specific CLI commands */
145 AlwaysInterpretArgsFlag = 0x0400, /* Always Interpret escapes in Args */
146 /* CF: "convert" compatibility mode */
147 NeverInterpretArgsFlag = 0x0800, /* Never Interpret escapes in Args */
148 /* EG: filename, or delayed escapes */
150 NonMagickOptionFlag = 0x1000, /* Option not used by Magick Command */
151 FireOptionFlag = 0x2000, /* Convert operation seq firing point */
152 DeprecateOptionFlag = 0x4000, /* Deprecate option (no code) */
153 ReplacedOptionFlag = 0x8800 /* Replaced Option (but still works) */
155 } CommandOptionFlags;
157 typedef struct _OptionInfo
171 extern MagickExport char
172 **GetCommandOptions(const CommandOption),
173 *GetNextImageOption(const ImageInfo *),
174 *RemoveImageOption(ImageInfo *,const char *);
176 extern MagickExport const char
177 *CommandOptionToMnemonic(const CommandOption,const ssize_t),
178 *GetImageOption(const ImageInfo *,const char *);
180 extern MagickExport MagickBooleanType
181 CloneImageOptions(ImageInfo *,const ImageInfo *),
182 DefineImageOption(ImageInfo *,const char *),
183 DeleteImageOption(ImageInfo *,const char *),
184 IsCommandOption(const char *),
185 ListCommandOptions(FILE *,const CommandOption,ExceptionInfo *),
186 SetImageOption(ImageInfo *,const char *,const char *);
188 extern MagickExport ssize_t
189 GetCommandOptionFlags(const CommandOption,const MagickBooleanType,
191 ParseChannelOption(const char *),
192 ParsePixelChannelOption(const char *),
193 ParseCommandOption(const CommandOption,const MagickBooleanType,const char *);
195 extern MagickExport void
196 DestroyImageOptions(ImageInfo *),
197 ResetImageOptions(const ImageInfo *),
198 ResetImageOptionIterator(const ImageInfo *);
200 extern MagickExport const OptionInfo
201 *GetCommandOptionInfo(const char *value);
203 #if defined(__cplusplus) || defined(c_plusplus)