blob: 847c3b1b599103022fca742a3ddb8a1a45362061 [file] [log] [blame]
cristy3ed852e2009-09-05 21:47:34 +00001/*
cristy16af1cb2009-12-11 21:38:29 +00002 Copyright 1999-2010 ImageMagick Studio LLC, a non-profit organization
cristy3ed852e2009-09-05 21:47:34 +00003 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,
cristyc9b12952010-03-28 01:12:28 +000045 MagickDirectionOptions,
cristy3ed852e2009-09-05 21:47:34 +000046 MagickDisposeOptions,
47 MagickDistortOptions,
48 MagickDitherOptions,
49 MagickEndianOptions,
50 MagickEvaluateOptions,
51 MagickFillRuleOptions,
52 MagickFilterOptions,
53 MagickFontOptions,
54 MagickFontsOptions,
55 MagickFormatOptions,
56 MagickFunctionOptions,
57 MagickGravityOptions,
58 MagickImageListOptions,
59 MagickIntentOptions,
60 MagickInterlaceOptions,
61 MagickInterpolateOptions,
anthony29188a82010-01-22 10:12:34 +000062 MagickKernelOptions,
cristy3ed852e2009-09-05 21:47:34 +000063 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,
anthony29188a82010-01-22 10:12:34 +000076 MagickMorphologyOptions,
cristy3ed852e2009-09-05 21:47:34 +000077 MagickNoiseOptions,
78 MagickOrientationOptions,
79 MagickPolicyOptions,
80 MagickPolicyDomainOptions,
81 MagickPolicyRightsOptions,
82 MagickPreviewOptions,
83 MagickPrimitiveOptions,
84 MagickQuantumFormatOptions,
85 MagickResolutionOptions,
86 MagickResourceOptions,
87 MagickSparseColorOptions,
88 MagickStorageOptions,
89 MagickStretchOptions,
90 MagickStyleOptions,
91 MagickThresholdOptions,
92 MagickTypeOptions,
93 MagickValidateOptions,
anthony29188a82010-01-22 10:12:34 +000094 MagickVirtualPixelOptions
cristy3ed852e2009-09-05 21:47:34 +000095} MagickOption;
96
97typedef enum
98{
99 UndefinedValidate,
100 NoValidate = 0x00000,
101 CompareValidate = 0x00001,
102 CompositeValidate = 0x00002,
103 ConvertValidate = 0x00004,
104 FormatsInMemoryValidate = 0x00008,
105 FormatsOnDiskValidate = 0x00010,
106 IdentifyValidate = 0x00020,
107 ImportExportValidate = 0x00040,
108 MontageValidate = 0x00080,
109 StreamValidate = 0x00100,
110 AllValidate = 0x7fffffff
111} ValidateType;
112
113typedef struct _OptionInfo
114{
115 const char
116 *mnemonic;
117
cristybb503372010-05-27 20:51:26 +0000118 ssize_t
cristy3ed852e2009-09-05 21:47:34 +0000119 type;
120
121 MagickBooleanType
122 stealth;
123} OptionInfo;
124
125extern MagickExport char
126 **GetMagickOptions(const MagickOption),
127 *GetNextImageOption(const ImageInfo *),
128 *RemoveImageOption(ImageInfo *,const char *);
129
130extern MagickExport const char
131 *GetImageOption(const ImageInfo *,const char *),
cristybb503372010-05-27 20:51:26 +0000132 *MagickOptionToMnemonic(const MagickOption,const ssize_t);
cristy3ed852e2009-09-05 21:47:34 +0000133
cristy3ed852e2009-09-05 21:47:34 +0000134extern MagickExport MagickBooleanType
135 CloneImageOptions(ImageInfo *,const ImageInfo *),
136 DefineImageOption(ImageInfo *,const char *),
137 DeleteImageOption(ImageInfo *,const char *),
138 IsMagickOption(const char *),
139 ListMagickOptions(FILE *,const MagickOption,ExceptionInfo *),
140 SetImageOption(ImageInfo *,const char *,const char *);
141
cristy5ed838e2010-05-31 00:05:35 +0000142extern MagickExport ssize_t
143 ParseChannelOption(const char *),
144 ParseMagickOption(const MagickOption,const MagickBooleanType,const char *);
145
cristy3ed852e2009-09-05 21:47:34 +0000146extern MagickExport void
147 DestroyImageOptions(ImageInfo *),
148 ResetImageOptions(const ImageInfo *),
149 ResetImageOptionIterator(const ImageInfo *);
150
151#if defined(__cplusplus) || defined(c_plusplus)
152}
153#endif
154
155#endif