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,
58 /* MagickImageListOptions, */
60 MagickInterlaceOptions,
61 MagickInterpolateOptions,
65 MagickLineJoinOptions,
68 MagickLogEventOptions,
76 MagickMorphologyOptions,
78 MagickOrientationOptions,
80 MagickPolicyDomainOptions,
81 MagickPolicyRightsOptions,
83 MagickPrimitiveOptions,
84 MagickQuantumFormatOptions,
85 MagickResolutionOptions,
86 MagickResourceOptions,
87 MagickSparseColorOptions,
88 MagickStatisticOptions,
92 MagickThresholdOptions,
94 MagickValidateOptions,
95 MagickVirtualPixelOptions
101 NoValidate = 0x00000,
102 CompareValidate = 0x00001,
103 CompositeValidate = 0x00002,
104 ConvertValidate = 0x00004,
105 FormatsInMemoryValidate = 0x00008,
106 FormatsOnDiskValidate = 0x00010,
107 IdentifyValidate = 0x00020,
108 ImportExportValidate = 0x00040,
109 MontageValidate = 0x00080,
110 StreamValidate = 0x00100,
111 AllValidate = 0x7fffffff
114 typedef struct _OptionInfo
126 /* Flags to describe classes of Image Processing Options */
129 NumArgsOption = 0x0007, /* Number of Arguments which follows the option */
130 FireOption = 0x0008, /* Option Sequence Firing Point */
132 ImageInfoOption = 0x0010, /* Sets ImageInfo only, no image needed */
133 SimpleOption = 0x0020, /* Simple Image Processing Option */
134 ImageListOption = 0x0040, /* Multi-Image List Processing Option */
136 DepreciatedOption = 0x1000 /* Depreciated Option - Give Warning */
137 } CommandOptionFlags;
139 extern MagickExport char
140 **GetMagickOptions(const MagickOption),
141 *GetNextImageOption(const ImageInfo *),
142 *RemoveImageOption(ImageInfo *,const char *);
144 extern MagickExport const char
145 *GetImageOption(const ImageInfo *,const char *),
146 *MagickOptionToMnemonic(const MagickOption,const ssize_t);
148 extern MagickExport MagickBooleanType
149 CloneImageOptions(ImageInfo *,const ImageInfo *),
150 DefineImageOption(ImageInfo *,const char *),
151 DeleteImageOption(ImageInfo *,const char *),
152 IsMagickOption(const char *),
153 ListMagickOptions(FILE *,const MagickOption,ExceptionInfo *),
154 SetImageOption(ImageInfo *,const char *,const char *);
156 extern MagickExport ssize_t
157 ParseChannelOption(const char *),
158 ParseMagickOption(const MagickOption,const MagickBooleanType,const char *);
160 extern MagickExport void
161 DestroyImageOptions(ImageInfo *),
162 ResetImageOptions(const ImageInfo *),
163 ResetImageOptionIterator(const ImageInfo *);
165 #if defined(__cplusplus) || defined(c_plusplus)