MagickCore  7.1.1-43
Convert, Edit, Or Compose Bitmap Images
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/script/license.php
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)
22 extern "C" {
23 #endif
24 
25 typedef 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 } CommandOption;
112 
113 typedef enum
114 {
115  UndefinedValidate,
116  NoValidate = 0x00000,
117  ColorspaceValidate = 0x00001,
118  CompareValidate = 0x00002,
119  CompositeValidate = 0x00004,
120  ConvertValidate = 0x00008,
121  FormatsDiskValidate = 0x00010,
122  FormatsMapValidate = 0x00020,
123  FormatsMemoryValidate = 0x00040,
124  IdentifyValidate = 0x00080,
125  ImportExportValidate = 0x00100,
126  MontageValidate = 0x00200,
127  StreamValidate = 0x00400,
128  MagickValidate = 0x00800,
129  AllValidate = 0x7fffffff
130 } ValidateType;
131 
132 /*
133  Flags to describe classes of image processing options.
134  These are used to determine how a option should be processed, and
135  avoid attempting to process all options in every way possible.
136 */
137 typedef enum
138 {
139  UndefinedOptionFlag = 0x0000, /* option flag is not in use */
140 
141  ImageInfoOptionFlag = 0x0001, /* Setting stored in ImageInfo */
142  DrawInfoOptionFlag = 0x0002, /* Setting stored in DrawInfo */
143  QuantizeInfoOptionFlag = 0x0004, /* Setting stored in QuantizeInfo */
144  GlobalOptionFlag = 0x0008, /* Global Setting or Control */
145  SettingOptionFlags = 0x000F, /* mask any setting option */
146 
147  NoImageOperatorFlag = 0x0010, /* Images not required operator */
148  SimpleOperatorFlag = 0x0020, /* Simple Image processing operator */
149  ListOperatorFlag = 0x0040, /* Multi-Image processing operator */
150  GenesisOptionFlag = 0x0080, /* MagickCommandGenesis() Only Option */
151 
152  SpecialOptionFlag = 0x0100, /* Operator with Special Requirements */
153  /* EG: for specific CLI commands */
154 
155  AlwaysInterpretArgsFlag = 0x0400, /* Always Interpret escapes in Args */
156  /* CF: "convert" compatibility mode */
157  NeverInterpretArgsFlag = 0x0800, /* Never Interpret escapes in Args */
158  /* EG: filename, or delayed escapes */
159 
160  NonMagickOptionFlag = 0x1000, /* Option not used by Magick Command */
161  FireOptionFlag = 0x2000, /* Convert operation seq firing point */
162  DeprecateOptionFlag = 0x4000, /* Deprecate option (no code) */
163  ReplacedOptionFlag = 0x8800 /* Replaced Option (but still works) */
164 
165 } CommandOptionFlags;
166 
167 typedef struct _OptionInfo
168 {
169  const char
170  *mnemonic;
171 
172  ssize_t
173  type,
174  flags;
175 
176  MagickBooleanType
177  stealth;
178 } OptionInfo;
179 
180 
181 extern MagickExport char
182  **GetCommandOptions(const CommandOption),
183  *GetNextImageOption(const ImageInfo *),
184  *RemoveImageOption(ImageInfo *,const char *);
185 
186 extern MagickExport const char
187  *CommandOptionToMnemonic(const CommandOption,const ssize_t),
188  *GetImageOption(const ImageInfo *,const char *);
189 
190 extern MagickExport MagickBooleanType
191  CloneImageOptions(ImageInfo *,const ImageInfo *),
192  DefineImageOption(ImageInfo *,const char *),
193  DeleteImageOption(ImageInfo *,const char *),
194  IsCommandOption(const char *),
195  IsOptionMember(const char *,const char *),
196  ListCommandOptions(FILE *,const CommandOption,ExceptionInfo *),
197  SetImageOption(ImageInfo *,const char *,const char *);
198 
199 extern MagickExport ssize_t
200  GetCommandOptionFlags(const CommandOption,const MagickBooleanType,
201  const char *),
202  ParseChannelOption(const char *),
203  ParsePixelChannelOption(const char *),
204  ParseCommandOption(const CommandOption,const MagickBooleanType,const char *);
205 
206 extern MagickExport void
207  DestroyImageOptions(ImageInfo *),
208  ResetImageOptions(const ImageInfo *),
209  ResetImageOptionIterator(const ImageInfo *);
210 
211 extern MagickExport const OptionInfo
212  *GetCommandOptionInfo(const char *value);
213 
214 #if defined(__cplusplus) || defined(c_plusplus)
215 }
216 #endif
217 
218 #endif
_OptionInfo
Definition: option.h:167
_ImageInfo
Definition: image.h:358
_ExceptionInfo
Definition: exception.h:101