blob: 1f5f932dd1748fed8f8340f98f6afa989c22ead8 [file] [log] [blame]
cristy3ed852e2009-09-05 21:47:34 +00001/*
2 Copyright 1999-2009 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.
6 obtain a copy of the License at
7
8 http://www.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 MagickChannelOptions,
32 MagickClassOptions,
33 MagickClipPathOptions,
34 MagickCoderOptions,
35 MagickColorOptions,
36 MagickColorspaceOptions,
37 MagickCommandOptions,
38 MagickComposeOptions,
39 MagickCompressOptions,
40 MagickConfigureOptions,
41 MagickDataTypeOptions,
42 MagickDebugOptions,
43 MagickDecorateOptions,
44 MagickDelegateOptions,
45 MagickDisposeOptions,
46 MagickDistortOptions,
47 MagickDitherOptions,
48 MagickEndianOptions,
49 MagickEvaluateOptions,
50 MagickFillRuleOptions,
51 MagickFilterOptions,
52 MagickFontOptions,
53 MagickFontsOptions,
54 MagickFormatOptions,
55 MagickFunctionOptions,
56 MagickGravityOptions,
57 MagickImageListOptions,
58 MagickIntentOptions,
59 MagickInterlaceOptions,
60 MagickInterpolateOptions,
61 MagickLayerOptions,
62 MagickLineCapOptions,
63 MagickLineJoinOptions,
64 MagickListOptions,
65 MagickLocaleOptions,
66 MagickLogEventOptions,
67 MagickLogOptions,
68 MagickMagicOptions,
69 MagickMethodOptions,
70 MagickMetricOptions,
71 MagickMimeOptions,
72 MagickModeOptions,
73 MagickModuleOptions,
74 MagickNoiseOptions,
75 MagickOrientationOptions,
76 MagickPolicyOptions,
77 MagickPolicyDomainOptions,
78 MagickPolicyRightsOptions,
79 MagickPreviewOptions,
80 MagickPrimitiveOptions,
81 MagickQuantumFormatOptions,
82 MagickResolutionOptions,
83 MagickResourceOptions,
84 MagickSparseColorOptions,
85 MagickStorageOptions,
86 MagickStretchOptions,
87 MagickStyleOptions,
88 MagickThresholdOptions,
89 MagickTypeOptions,
90 MagickValidateOptions,
91 MagickVirtualPixelOptions
92} MagickOption;
93
94typedef enum
95{
96 UndefinedValidate,
97 NoValidate = 0x00000,
98 CompareValidate = 0x00001,
99 CompositeValidate = 0x00002,
100 ConvertValidate = 0x00004,
101 FormatsInMemoryValidate = 0x00008,
102 FormatsOnDiskValidate = 0x00010,
103 IdentifyValidate = 0x00020,
104 ImportExportValidate = 0x00040,
105 MontageValidate = 0x00080,
106 StreamValidate = 0x00100,
107 AllValidate = 0x7fffffff
108} ValidateType;
109
110typedef struct _OptionInfo
111{
112 const char
113 *mnemonic;
114
115 long
116 type;
117
118 MagickBooleanType
119 stealth;
120} OptionInfo;
121
122extern MagickExport char
123 **GetMagickOptions(const MagickOption),
124 *GetNextImageOption(const ImageInfo *),
125 *RemoveImageOption(ImageInfo *,const char *);
126
127extern MagickExport const char
128 *GetImageOption(const ImageInfo *,const char *),
129 *MagickOptionToMnemonic(const MagickOption,const long);
130
131extern MagickExport long
132 ParseChannelOption(const char *),
133 ParseMagickOption(const MagickOption,const MagickBooleanType,const char *);
134
135extern MagickExport MagickBooleanType
136 CloneImageOptions(ImageInfo *,const ImageInfo *),
137 DefineImageOption(ImageInfo *,const char *),
138 DeleteImageOption(ImageInfo *,const char *),
139 IsMagickOption(const char *),
140 ListMagickOptions(FILE *,const MagickOption,ExceptionInfo *),
141 SetImageOption(ImageInfo *,const char *,const char *);
142
143extern MagickExport void
144 DestroyImageOptions(ImageInfo *),
145 ResetImageOptions(const ImageInfo *),
146 ResetImageOptionIterator(const ImageInfo *);
147
148#if defined(__cplusplus) || defined(c_plusplus)
149}
150#endif
151
152#endif