option.h

Go to the documentation of this file.
00001 /*
00002   Copyright 1999-2020 ImageMagick Studio LLC, a non-profit organization
00003   dedicated to making software imaging solutions freely available.
00004   
00005   You may not use this file except in compliance with the License.  You may
00006   obtain a copy of the License at
00007   
00008     https://imagemagick.org/script/license.php
00009   
00010   Unless required by applicable law or agreed to in writing, software
00011   distributed under the License is distributed on an "AS IS" BASIS,
00012   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00013   See the License for the specific language governing permissions and
00014   limitations under the License.
00015 
00016   MagickCore option methods.
00017 */
00018 #ifndef MAGICKCORE_OPTION_H
00019 #define MAGICKCORE_OPTION_H
00020 
00021 #if defined(__cplusplus) || defined(c_plusplus)
00022 extern "C" {
00023 #endif
00024 
00025 typedef enum
00026 {
00027   MagickUndefinedOptions = -1,
00028   MagickAlignOptions = 0,
00029   MagickAlphaOptions,
00030   MagickBooleanOptions,
00031   MagickCacheOptions,
00032   MagickChannelOptions,
00033   MagickClassOptions,
00034   MagickClipPathOptions,
00035   MagickCoderOptions,
00036   MagickColorOptions,
00037   MagickColorspaceOptions,
00038   MagickCommandOptions,
00039   MagickComposeOptions,
00040   MagickCompressOptions,
00041   MagickConfigureOptions,
00042   MagickDataTypeOptions,
00043   MagickDebugOptions,
00044   MagickDecorateOptions,
00045   MagickDelegateOptions,
00046   MagickDirectionOptions,
00047   MagickDisposeOptions,
00048   MagickDistortOptions,
00049   MagickDitherOptions,
00050   MagickEndianOptions,
00051   MagickEvaluateOptions,
00052   MagickFillRuleOptions,
00053   MagickFilterOptions,
00054   MagickFontOptions,
00055   MagickFontsOptions,
00056   MagickFormatOptions,
00057   MagickFunctionOptions,
00058   MagickGravityOptions,
00059   MagickIntentOptions,
00060   MagickInterlaceOptions,
00061   MagickInterpolateOptions,
00062   MagickKernelOptions,
00063   MagickLayerOptions,
00064   MagickLineCapOptions,
00065   MagickLineJoinOptions,
00066   MagickListOptions,
00067   MagickLocaleOptions,
00068   MagickLogEventOptions,
00069   MagickLogOptions,
00070   MagickMagicOptions,
00071   MagickMethodOptions,
00072   MagickMetricOptions,
00073   MagickMimeOptions,
00074   MagickModeOptions,
00075   MagickModuleOptions,
00076   MagickMorphologyOptions,
00077   MagickNoiseOptions,
00078   MagickOrientationOptions,
00079   MagickPixelIntensityOptions,
00080   MagickPolicyOptions,
00081   MagickPolicyDomainOptions,
00082   MagickPolicyRightsOptions,
00083   MagickPreviewOptions,
00084   MagickPrimitiveOptions,
00085   MagickQuantumFormatOptions,
00086   MagickResolutionOptions,
00087   MagickResourceOptions,
00088   MagickSparseColorOptions,
00089   MagickStatisticOptions,
00090   MagickStorageOptions,
00091   MagickStretchOptions,
00092   MagickStyleOptions,
00093   MagickThresholdOptions,
00094   MagickTypeOptions,
00095   MagickValidateOptions,
00096   MagickVirtualPixelOptions,
00097   MagickComplexOptions,
00098   MagickIntensityOptions,
00099   MagickGradientOptions,
00100   MagickWeightOptions,
00101   MagickComplianceOptions,
00102   MagickAutoThresholdOptions
00103 } CommandOption;
00104 
00105 typedef enum
00106 {
00107   UndefinedValidate,
00108   NoValidate = 0x00000,
00109   ColorspaceValidate = 0x00001,
00110   CompareValidate = 0x00002,
00111   CompositeValidate = 0x00004,
00112   ConvertValidate = 0x00008,
00113   FormatsDiskValidate = 0x00010,
00114   FormatsMapValidate = 0x00020,
00115   FormatsMemoryValidate = 0x00040,
00116   IdentifyValidate = 0x00080,
00117   ImportExportValidate = 0x00100,
00118   MontageValidate = 0x00200,
00119   StreamValidate = 0x00400,
00120   AllValidate = 0x7fffffff
00121 } ValidateType;
00122 
00123 typedef struct _OptionInfo
00124 {
00125   const char
00126     *mnemonic;
00127 
00128   ssize_t
00129     type,
00130     flags;
00131 
00132   MagickBooleanType
00133     stealth;
00134 } OptionInfo;
00135 
00136 /*
00137   Flags to describe classes of image processing options.
00138 */
00139 typedef enum
00140 {
00141   UndefinedOptionFlag       = 0x0000,
00142   FireOptionFlag            = 0x0001,  /* Option sequence firing point */
00143   ImageInfoOptionFlag       = 0x0002,  /* Sets ImageInfo, no image needed */
00144   DrawInfoOptionFlag        = 0x0004,  /* Sets DrawInfo, no image needed */
00145   QuantizeInfoOptionFlag    = 0x0008,  /* Sets QuantizeInfo, no image needed */
00146   GlobalOptionFlag          = 0x0010,  /* Sets Global Option, no image needed */
00147   SimpleOperatorOptionFlag  = 0x0100,  /* Simple Image processing operator */
00148   ListOperatorOptionFlag    = 0x0200,  /* Multi-Image List processing operator */
00149   SpecialOperatorOptionFlag = 0x0400,  /* Specially handled Operator Option */
00150   GenesisOptionFlag         = 0x0400,  /* Genesis Command Wrapper Option  */
00151   NonConvertOptionFlag      = 0x4000,  /* Option not used by Convert */
00152   DeprecateOptionFlag       = 0x8000   /* Deprecate option, give warning */
00153 } CommandOptionFlags;
00154 
00155 extern MagickExport char
00156   **GetCommandOptions(const CommandOption),
00157   *GetNextImageOption(const ImageInfo *),
00158   *RemoveImageOption(ImageInfo *,const char *);
00159 
00160 extern MagickExport const char
00161   *CommandOptionToMnemonic(const CommandOption,const ssize_t),
00162   *GetImageOption(const ImageInfo *,const char *);
00163 
00164 extern MagickExport MagickBooleanType
00165   CloneImageOptions(ImageInfo *,const ImageInfo *),
00166   DefineImageOption(ImageInfo *,const char *),
00167   DeleteImageOption(ImageInfo *,const char *),
00168   IsCommandOption(const char *),
00169   IsOptionMember(const char *,const char *),
00170   ListCommandOptions(FILE *,const CommandOption,ExceptionInfo *),
00171   SetImageOption(ImageInfo *,const char *,const char *);
00172 
00173 extern MagickExport ssize_t
00174   GetCommandOptionFlags(const CommandOption,const MagickBooleanType,
00175     const char *),
00176   ParseChannelOption(const char *),
00177   ParseCommandOption(const CommandOption,const MagickBooleanType,const char *);
00178 
00179 extern MagickExport void
00180   DestroyImageOptions(ImageInfo *),
00181   ResetImageOptions(const ImageInfo *),
00182   ResetImageOptionIterator(const ImageInfo *);
00183 
00184 #if defined(__cplusplus) || defined(c_plusplus)
00185 }
00186 #endif
00187 
00188 #endif

Generated on 2 Mar 2020 for MagickCore by  doxygen 1.6.1