MagickCore 6.9.13
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/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)
22extern "C" {
23#endif
24
25typedef enum
26{
27 MagickUndefinedOptions = -1,
28 MagickAlignOptions = 0,
29 MagickAlphaOptions,
30 MagickBooleanOptions,
31 MagickCacheOptions,
32 MagickChannelOptions,
33 MagickClassOptions,
34 MagickClipPathOptions,
35 MagickCoderOptions,
36 MagickColorOptions,
37 MagickColorspaceOptions,
38 MagickCommandOptions,
39 MagickComposeOptions,
40 MagickCompressOptions,
41 MagickConfigureOptions,
42 MagickDataTypeOptions,
43 MagickDebugOptions,
44 MagickDecorateOptions,
45 MagickDelegateOptions,
46 MagickDirectionOptions,
47 MagickDisposeOptions,
48 MagickDistortOptions,
49 MagickDitherOptions,
50 MagickEndianOptions,
51 MagickEvaluateOptions,
52 MagickFillRuleOptions,
53 MagickFilterOptions,
54 MagickFontOptions,
55 MagickFontsOptions,
56 MagickFormatOptions,
57 MagickFunctionOptions,
58 MagickGravityOptions,
59 MagickIntentOptions,
60 MagickInterlaceOptions,
61 MagickInterpolateOptions,
62 MagickKernelOptions,
63 MagickLayerOptions,
64 MagickLineCapOptions,
65 MagickLineJoinOptions,
66 MagickListOptions,
67 MagickLocaleOptions,
68 MagickLogEventOptions,
69 MagickLogOptions,
70 MagickMagicOptions,
71 MagickMethodOptions,
72 MagickMetricOptions,
73 MagickMimeOptions,
74 MagickModeOptions,
75 MagickModuleOptions,
76 MagickMorphologyOptions,
77 MagickNoiseOptions,
78 MagickOrientationOptions,
79 MagickPixelIntensityOptions,
80 MagickPolicyOptions,
81 MagickPolicyDomainOptions,
82 MagickPolicyRightsOptions,
83 MagickPreviewOptions,
84 MagickPrimitiveOptions,
85 MagickQuantumFormatOptions,
86 MagickResolutionOptions,
87 MagickResourceOptions,
88 MagickSparseColorOptions,
89 MagickStatisticOptions,
90 MagickStorageOptions,
91 MagickStretchOptions,
92 MagickStyleOptions,
93 MagickThresholdOptions,
94 MagickTypeOptions,
95 MagickValidateOptions,
96 MagickVirtualPixelOptions,
97 MagickComplexOptions,
98 MagickIntensityOptions,
99 MagickGradientOptions,
100 MagickWeightOptions,
101 MagickComplianceOptions,
102 MagickAutoThresholdOptions,
103 MagickPagesizeOptions
104} CommandOption;
105
106typedef enum
107{
108 UndefinedValidate,
109 NoValidate = 0x00000,
110 ColorspaceValidate = 0x00001,
111 CompareValidate = 0x00002,
112 CompositeValidate = 0x00004,
113 ConvertValidate = 0x00008,
114 FormatsDiskValidate = 0x00010,
115 FormatsMapValidate = 0x00020,
116 FormatsMemoryValidate = 0x00040,
117 IdentifyValidate = 0x00080,
118 ImportExportValidate = 0x00100,
119 MontageValidate = 0x00200,
120 StreamValidate = 0x00400,
121 AllValidate = 0x7fffffff
122} ValidateType;
123
124typedef struct _OptionInfo
125{
126 const char
127 *mnemonic;
128
129 ssize_t
130 type,
131 flags;
132
133 MagickBooleanType
134 stealth;
135} OptionInfo;
136
137/*
138 Flags to describe classes of image processing options.
139*/
140typedef enum
141{
142 UndefinedOptionFlag = 0x0000,
143 FireOptionFlag = 0x0001, /* Option sequence firing point */
144 ImageInfoOptionFlag = 0x0002, /* Sets ImageInfo, no image needed */
145 DrawInfoOptionFlag = 0x0004, /* Sets DrawInfo, no image needed */
146 QuantizeInfoOptionFlag = 0x0008, /* Sets QuantizeInfo, no image needed */
147 GlobalOptionFlag = 0x0010, /* Sets Global Option, no image needed */
148 SimpleOperatorOptionFlag = 0x0100, /* Simple Image processing operator */
149 ListOperatorOptionFlag = 0x0200, /* Multi-Image List processing operator */
150 SpecialOperatorOptionFlag = 0x0400, /* Specially handled Operator Option */
151 GenesisOptionFlag = 0x0400, /* Genesis Command Wrapper Option */
152 NonConvertOptionFlag = 0x4000, /* Option not used by Convert */
153 DeprecateOptionFlag = 0x8000 /* Deprecate option, give warning */
154} CommandOptionFlags;
155
156extern MagickExport char
157 **GetCommandOptions(const CommandOption),
158 *GetNextImageOption(const ImageInfo *),
159 *RemoveImageOption(ImageInfo *,const char *);
160
161extern MagickExport const char
162 *CommandOptionToMnemonic(const CommandOption,const ssize_t),
163 *GetImageOption(const ImageInfo *,const char *);
164
165extern MagickExport MagickBooleanType
166 CloneImageOptions(ImageInfo *,const ImageInfo *),
167 DefineImageOption(ImageInfo *,const char *),
168 DeleteImageOption(ImageInfo *,const char *),
169 IsCommandOption(const char *),
170 IsOptionMember(const char *,const char *),
171 ListCommandOptions(FILE *,const CommandOption,ExceptionInfo *),
172 SetImageOption(ImageInfo *,const char *,const char *);
173
174extern MagickExport ssize_t
175 GetCommandOptionFlags(const CommandOption,const MagickBooleanType,
176 const char *),
177 ParseChannelOption(const char *),
178 ParseCommandOption(const CommandOption,const MagickBooleanType,const char *);
179
180extern MagickExport void
181 DestroyImageOptions(ImageInfo *),
182 ResetImageOptions(const ImageInfo *),
183 ResetImageOptionIterator(const ImageInfo *);
184
185#if defined(__cplusplus) || defined(c_plusplus)
186}
187#endif
188
189#endif