MagickCore 7.1.2-35
Convert, Edit, Or Compose Bitmap Images
Loading...
Searching...
No Matches
option.h
1/*
2 Copyright @ 1999 ImageMagick Studio LLC, a non-profit organization
3 dedicated to making software imaging solutions freely available.
4
5 You may not use this file except in compliance with the License. You may
6 obtain a copy of the License at
7
8 https://imagemagick.org/license/
9
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.
15
16 MagickCore option methods.
17*/
18#ifndef MAGICKCORE_OPTION_H
19#define MAGICKCORE_OPTION_H
20
21#if defined(__cplusplus) || defined(c_plusplus)
22extern "C" {
23#endif
24
25typedef enum
26{
27 MagickUndefinedOptions = -1,
28 MagickAlignOptions = 0,
29 MagickAlphaChannelOptions,
30 MagickBooleanOptions,
31 MagickCacheOptions,
32 MagickChannelOptions,
33 MagickClassOptions,
34 MagickClipPathOptions,
35 MagickCoderOptions,
36 MagickColorOptions,
37 MagickColorspaceOptions,
38 MagickCommandOptions,
39 MagickComplexOptions,
40 MagickComplianceOptions,
41 MagickComposeOptions,
42 MagickCompressOptions,
43 MagickConfigureOptions,
44 MagickDataTypeOptions,
45 MagickDebugOptions,
46 MagickDecorateOptions,
47 MagickDelegateOptions,
48 MagickDirectionOptions,
49 MagickDisposeOptions,
50 MagickDistortOptions,
51 MagickDitherOptions,
52 MagickEndianOptions,
53 MagickEvaluateOptions,
54 MagickFillRuleOptions,
55 MagickFilterOptions,
56 MagickFontOptions,
57 MagickFontsOptions,
58 MagickFormatOptions,
59 MagickFunctionOptions,
60 MagickGradientOptions,
61 MagickGravityOptions,
62 MagickIntensityOptions,
63 MagickIntentOptions,
64 MagickInterlaceOptions,
65 MagickInterpolateOptions,
66 MagickKernelOptions,
67 MagickLayerOptions,
68 MagickLineCapOptions,
69 MagickLineJoinOptions,
70 MagickListOptions,
71 MagickLocaleOptions,
72 MagickLogEventOptions,
73 MagickLogOptions,
74 MagickMagicOptions,
75 MagickMethodOptions,
76 MagickMetricOptions,
77 MagickMimeOptions,
78 MagickModeOptions,
79 MagickModuleOptions,
80 MagickMorphologyOptions,
81 MagickNoiseOptions,
82 MagickOrientationOptions,
83 MagickPixelChannelOptions,
84 MagickPixelIntensityOptions,
85 MagickPixelMaskOptions,
86 MagickPixelTraitOptions,
87 MagickPolicyOptions,
88 MagickPolicyDomainOptions,
89 MagickPolicyRightsOptions,
90 MagickPreviewOptions,
91 MagickPrimitiveOptions,
92 MagickQuantumFormatOptions,
93 MagickResolutionOptions,
94 MagickResourceOptions,
95 MagickSparseColorOptions,
96 MagickStatisticOptions,
97 MagickStorageOptions,
98 MagickStretchOptions,
99 MagickStyleOptions,
100 MagickThresholdOptions,
101 MagickTypeOptions,
102 MagickValidateOptions,
103 MagickVirtualPixelOptions,
104 MagickWeightOptions,
105 MagickAutoThresholdOptions,
106 MagickToolOptions,
107 MagickCLIOptions,
108 MagickIlluminantOptions,
109 MagickWordBreakOptions,
110 MagickPagesizeOptions,
111 MagickShuffleOptions
112} CommandOption;
113
114typedef enum
115{
116 UndefinedValidate,
117 NoValidate = 0x00000,
118 ColorspaceValidate = 0x00001,
119 CompareValidate = 0x00002,
120 CompositeValidate = 0x00004,
121 ConvertValidate = 0x00008,
122 FormatsDiskValidate = 0x00010,
123 FormatsMapValidate = 0x00020,
124 FormatsMemoryValidate = 0x00040,
125 IdentifyValidate = 0x00080,
126 ImportExportValidate = 0x00100,
127 MontageValidate = 0x00200,
128 StreamValidate = 0x00400,
129 MagickValidate = 0x00800,
130 AllValidate = 0x7fffffff
131} ValidateType;
132
133/*
134 Flags to describe classes of image processing options.
135 These are used to determine how a option should be processed, and
136 avoid attempting to process all options in every way possible.
137*/
138typedef enum
139{
140 UndefinedOptionFlag = 0x0000, /* option flag is not in use */
141
142 ImageInfoOptionFlag = 0x0001, /* Setting stored in ImageInfo */
143 DrawInfoOptionFlag = 0x0002, /* Setting stored in DrawInfo */
144 QuantizeInfoOptionFlag = 0x0004, /* Setting stored in QuantizeInfo */
145 GlobalOptionFlag = 0x0008, /* Global Setting or Control */
146 SettingOptionFlags = 0x000F, /* mask any setting option */
147
148 NoImageOperatorFlag = 0x0010, /* Images not required operator */
149 SimpleOperatorFlag = 0x0020, /* Simple Image processing operator */
150 ListOperatorFlag = 0x0040, /* Multi-Image processing operator */
151 GenesisOptionFlag = 0x0080, /* MagickCommandGenesis() Only Option */
152
153 SpecialOptionFlag = 0x0100, /* Operator with Special Requirements */
154 /* EG: for specific CLI commands */
155
156 AlwaysInterpretArgsFlag = 0x0400, /* Always Interpret escapes in Args */
157 /* CF: "convert" compatibility mode */
158 NeverInterpretArgsFlag = 0x0800, /* Never Interpret escapes in Args */
159 /* EG: filename, or delayed escapes */
160
161 NonMagickOptionFlag = 0x1000, /* Option not used by Magick Command */
162 FireOptionFlag = 0x2000, /* Convert operation seq firing point */
163 DeprecateOptionFlag = 0x4000, /* Deprecate option (no code) */
164 ReplacedOptionFlag = 0x8800 /* Replaced Option (but still works) */
165
166} CommandOptionFlags;
167
168typedef struct _OptionInfo
169{
170 const char
171 *mnemonic;
172
173 ssize_t
174 type,
175 flags;
176
177 MagickBooleanType
178 stealth;
179} OptionInfo;
180
181
182extern MagickExport char
183 **GetCommandOptions(const CommandOption),
184 *GetNextImageOption(const ImageInfo *),
185 *RemoveImageOption(ImageInfo *,const char *);
186
187extern MagickExport const char
188 *CommandOptionToMnemonic(const CommandOption,const ssize_t),
189 *GetImageOption(const ImageInfo *,const char *);
190
191extern MagickExport MagickBooleanType
192 CloneImageOptions(ImageInfo *,const ImageInfo *),
193 DefineImageOption(ImageInfo *,const char *),
194 DeleteImageOption(ImageInfo *,const char *),
195 IsCommandOption(const char *),
196 IsOptionMember(const char *,const char *),
197 ListCommandOptions(FILE *,const CommandOption,ExceptionInfo *),
198 SetImageOption(ImageInfo *,const char *,const char *);
199
200extern MagickExport ssize_t
201 GetCommandOptionFlags(const CommandOption,const MagickBooleanType,
202 const char *),
203 ParseChannelOption(const char *),
204 ParsePixelChannelOption(const char *),
205 ParseCommandOption(const CommandOption,const MagickBooleanType,const char *);
206
207extern MagickExport void
208 DestroyImageOptions(ImageInfo *),
209 ResetImageOptions(const ImageInfo *),
210 ResetImageOptionIterator(const ImageInfo *);
211
212extern MagickExport const OptionInfo
213 *GetCommandOptionInfo(const char *value);
214
215#if defined(__cplusplus) || defined(c_plusplus)
216}
217#endif
218
219#endif