2 Copyright 1999-2011 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,
79 MagickPolicyDomainOptions,
80 MagickPolicyRightsOptions,
82 MagickPrimitiveOptions,
83 MagickQuantumFormatOptions,
84 MagickResolutionOptions,
85 MagickResourceOptions,
86 MagickSparseColorOptions,
87 MagickStatisticOptions,
91 MagickThresholdOptions,
93 MagickValidateOptions,
94 MagickVirtualPixelOptions
100 NoValidate = 0x00000,
101 CompareValidate = 0x00001,
102 CompositeValidate = 0x00002,
103 ConvertValidate = 0x00004,
104 FormatsInMemoryValidate = 0x00008,
105 FormatsOnDiskValidate = 0x00010,
106 IdentifyValidate = 0x00020,
107 ImportExportValidate = 0x00040,
108 MontageValidate = 0x00080,
109 StreamValidate = 0x00100,
110 AllValidate = 0x7fffffff
113 typedef struct _OptionInfo
127 Flags to describe classes of image processing options.
131 UndefinedOptionFlag = 0x0000,
132 FireOptionFlag = 0x0001, /* Option sequence firing point */
133 ImageInfoOptionFlag = 0x0002, /* Sets ImageInfo, no image needed */
134 DrawInfoOptionFlag = 0x0004, /* Sets DrawInfo, no image needed */
135 QuantizeInfoOptionFlag = 0x0008, /* Sets QuantizeInfo, no image needed */
136 GlobalOptionFlag = 0x0010, /* Sets Global Option, no image needed */
137 SimpleOperatorOptionFlag = 0x0100, /* Simple Image processing operator */
138 ListOperatorOptionFlag = 0x0200, /* Multi-Image List processing operator */
139 SpecialOperatorOptionFlag = 0x0400, /* Specially handled Operator Option */
140 GenesisOptionFlag = 0x0400, /* Genesis Command Wrapper Option */
141 NonConvertOptionFlag = 0x4000, /* Option not used by Convert */
142 DeprecateOptionFlag = 0x8000 /* Deprecate option, give warning */
143 } CommandOptionFlags;
145 extern MagickExport char
146 **GetCommandOptions(const CommandOption),
147 *GetNextImageOption(const ImageInfo *),
148 *RemoveImageOption(ImageInfo *,const char *);
150 extern MagickExport const char
151 *CommandOptionToMnemonic(const CommandOption,const ssize_t),
152 *GetImageOption(const ImageInfo *,const char *);
154 extern MagickExport MagickBooleanType
155 CloneImageOptions(ImageInfo *,const ImageInfo *),
156 DefineImageOption(ImageInfo *,const char *),
157 DeleteImageOption(ImageInfo *,const char *),
158 IsCommandOption(const char *),
159 ListCommandOptions(FILE *,const CommandOption,ExceptionInfo *),
160 SetImageOption(ImageInfo *,const char *,const char *);
162 extern MagickExport ssize_t
163 GetCommandOptionFlags(const CommandOption,const MagickBooleanType,
165 ParseChannelOption(const char *),
166 ParseCommandOption(const CommandOption,const MagickBooleanType,const char *);
168 extern MagickExport void
169 DestroyImageOptions(ImageInfo *),
170 ResetImageOptions(const ImageInfo *),
171 ResetImageOptionIterator(const ImageInfo *);
173 #if defined(__cplusplus) || defined(c_plusplus)