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,
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
115 typedef struct _OptionInfo
129 Flags to describe classes of image processing options.
133 UndefinedOptionFlag = 0x0000,
134 FireOptionFlag = 0x0001, /* Option sequence firing point */
135 ImageInfoOptionFlag = 0x0002, /* Sets ImageInfo, no image needed */
136 DrawInfoOptionFlag = 0x0004, /* Sets DrawInfo, no image needed */
137 QuantizeInfoOptionFlag = 0x0008, /* Sets QuantizeInfo, no image needed */
138 GlobalOptionFlag = 0x0010, /* Sets Global Option, no image needed */
139 SimpleOperatorOptionFlag = 0x0100, /* Simple Image processing operator */
140 ListOperatorOptionFlag = 0x0200, /* Multi-Image processing operator */
141 SpecialOperatorOptionFlag = 0x0400, /* Specially handled Operator Option */
142 GenesisOptionFlag = 0x0400, /* Genesis Command Wrapper Option */
143 NonConvertOptionFlag = 0x4000, /* Option not used by Convert */
144 DeprecateOptionFlag = 0x8000, /* Deprecate option, give warning */
146 SettingInfoOption = 0x001F /* one of the setting options */
147 } CommandOptionFlags;
149 extern MagickExport char
150 **GetCommandOptions(const CommandOption),
151 *GetNextImageOption(const ImageInfo *),
152 *RemoveImageOption(ImageInfo *,const char *);
154 extern MagickExport const char
155 *CommandOptionToMnemonic(const CommandOption,const ssize_t),
156 *GetImageOption(const ImageInfo *,const char *);
158 extern MagickExport MagickBooleanType
159 CloneImageOptions(ImageInfo *,const ImageInfo *),
160 DefineImageOption(ImageInfo *,const char *),
161 DeleteImageOption(ImageInfo *,const char *),
162 IsCommandOption(const char *),
163 ListCommandOptions(FILE *,const CommandOption,ExceptionInfo *),
164 SetImageOption(ImageInfo *,const char *,const char *);
166 extern MagickExport ssize_t
167 GetCommandOptionFlags(const CommandOption,const MagickBooleanType,
169 ParseChannelOption(const char *),
170 ParseCommandOption(const CommandOption,const MagickBooleanType,const char *);
172 extern MagickExport void
173 DestroyImageOptions(ImageInfo *),
174 ResetImageOptions(const ImageInfo *),
175 ResetImageOptionIterator(const ImageInfo *);
177 #if defined(__cplusplus) || defined(c_plusplus)