2 Copyright 1999-2012 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,
33 MagickClipPathOptions,
36 MagickColorspaceOptions,
39 MagickCompressOptions,
40 MagickConfigureOptions,
41 MagickDataTypeOptions,
43 MagickDecorateOptions,
44 MagickDelegateOptions,
45 MagickDirectionOptions,
50 MagickEvaluateOptions,
51 MagickFillRuleOptions,
56 MagickFunctionOptions,
59 MagickInterlaceOptions,
60 MagickInterpolateOptions,
64 MagickLineJoinOptions,
67 MagickLogEventOptions,
75 MagickMorphologyOptions,
77 MagickOrientationOptions,
78 MagickPixelChannelOptions,
79 MagickPixelTraitOptions,
81 MagickPolicyDomainOptions,
82 MagickPolicyRightsOptions,
84 MagickPrimitiveOptions,
85 MagickQuantumFormatOptions,
86 MagickResolutionOptions,
87 MagickResourceOptions,
88 MagickSparseColorOptions,
89 MagickStatisticOptions,
93 MagickThresholdOptions,
95 MagickValidateOptions,
96 MagickVirtualPixelOptions
102 NoValidate = 0x00000,
103 CompareValidate = 0x00001,
104 CompositeValidate = 0x00002,
105 ConvertValidate = 0x00004,
106 FormatsInMemoryValidate = 0x00008,
107 FormatsOnDiskValidate = 0x00010,
108 IdentifyValidate = 0x00020,
109 ImportExportValidate = 0x00040,
110 MontageValidate = 0x00080,
111 StreamValidate = 0x00100,
112 AllValidate = 0x7fffffff
116 Flags to describe classes of image processing options.
117 These are used to determine how a option should be processed, and
118 allow use to avoid attempting to process each option in every way posible.
122 UndefinedOptionFlag = 0x0000, /* option flag is not in use */
124 ImageInfoOptionFlag = 0x0001, /* Setting stored in ImageInfo */
125 DrawInfoOptionFlag = 0x0002, /* Setting stored in DrawInfo */
126 QuantizeInfoOptionFlag = 0x0004, /* Setting stored in QuantizeInfo */
127 GlobalOptionFlag = 0x0008, /* Global Setting or Control */
128 SettingOptionFlags = 0x000F, /* mask any setting option */
130 NoImageOperatorFlag = 0x0010, /* Images not required operator */
131 SimpleOperatorFlag = 0x0020, /* Simple Image processing operator */
132 ListOperatorFlag = 0x0040, /* Multi-Image processing operator */
133 GenesisOptionFlag = 0x0080, /* MagickCommandGenesis() Only Option */
135 SpecialOptionFlag = 0x0100, /* Operator with Special Requirements */
136 /* EG: for specific CLI commands */
138 AlwaysInterpretArgsFlag = 0x0400, /* Always Interpret escapes in Args */
139 /* CF: "convert" compatibility mode */
140 NeverInterpretArgsFlag = 0x0800, /* Never Interpret escapes in Args */
141 /* Typical because it's a filename */
143 NonMagickOptionFlag = 0x1000, /* Option not used by Magick Command */
144 FireOptionFlag = 0x2000, /* Convert operation seq firing point */
145 DeprecateOptionFlag = 0x4000, /* Deprecate option (no code) */
146 ReplacedOptionFlag = 0x8800 /* Replaced Option (but still works) */
148 } CommandOptionFlags;
150 typedef struct _OptionInfo
164 extern MagickExport char
165 **GetCommandOptions(const CommandOption),
166 *GetNextImageOption(const ImageInfo *),
167 *RemoveImageOption(ImageInfo *,const char *);
169 extern MagickExport const char
170 *CommandOptionToMnemonic(const CommandOption,const ssize_t),
171 *GetImageOption(const ImageInfo *,const char *);
173 extern MagickExport MagickBooleanType
174 CloneImageOptions(ImageInfo *,const ImageInfo *),
175 DefineImageOption(ImageInfo *,const char *),
176 DeleteImageOption(ImageInfo *,const char *),
177 IsCommandOption(const char *),
178 ListCommandOptions(FILE *,const CommandOption,ExceptionInfo *),
179 SetImageOption(ImageInfo *,const char *,const char *);
181 extern MagickExport ssize_t
182 GetCommandOptionFlags(const CommandOption,const MagickBooleanType,
184 ParseChannelOption(const char *),
185 ParsePixelChannelOption(const char *),
186 ParseCommandOption(const CommandOption,const MagickBooleanType,const char *);
188 extern MagickExport void
189 DestroyImageOptions(ImageInfo *),
190 ResetImageOptions(const ImageInfo *),
191 ResetImageOptionIterator(const ImageInfo *);
193 extern MagickExport const OptionInfo
194 *GetCommandOptionInfo(const char *value);
196 #if defined(__cplusplus) || defined(c_plusplus)