Changeset 7587


Ignore:
Timestamp:
04/22/12 04:51:01 (13 months ago)
Author:
anthony
Message:

Refactoring option handling.

Location:
ImageMagick/trunk
Files:
9 edited

Legend:

Unmodified
Added
Removed
  • ImageMagick/trunk/MagickCore/option.c

    r7580 r7587  
    180180       Should not show any differences... 
    181181    */ 
    182     { "(", 0L, SpecialOptionFlag, MagickTrue }, 
    183     { ")", 0L, SpecialOptionFlag, MagickTrue }, 
    184     { "{", 0L, SpecialOptionFlag, MagickTrue }, 
    185     { "}", 0L, SpecialOptionFlag, MagickTrue }, 
    186     { "--", 1L, SpecialOptionFlag, MagickTrue }, 
     182    { "(", 0L, NoImageOperatorFlag, MagickTrue }, 
     183    { ")", 0L, NoImageOperatorFlag, MagickTrue }, 
     184    { "{", 0L, NoImageOperatorFlag, MagickTrue }, 
     185    { "}", 0L, NoImageOperatorFlag, MagickTrue }, 
     186    { "--", 1L, NoImageOperatorFlag, MagickTrue }, 
    187187    { "+adaptive-blur", 1L, DeprecateOptionFlag, MagickTrue }, 
    188     { "-adaptive-blur", 1L, SimpleOperatorOptionFlag, MagickFalse }, 
     188    { "-adaptive-blur", 1L, SimpleOperatorFlag, MagickFalse }, 
    189189    { "+adaptive-resize", 1L, DeprecateOptionFlag, MagickTrue }, 
    190     { "-adaptive-resize", 1L, SimpleOperatorOptionFlag, MagickFalse }, 
     190    { "-adaptive-resize", 1L, SimpleOperatorFlag, MagickFalse }, 
    191191    { "+adaptive-sharpen", 1L, DeprecateOptionFlag, MagickTrue }, 
    192     { "-adaptive-sharpen", 1L, SimpleOperatorOptionFlag, MagickFalse }, 
     192    { "-adaptive-sharpen", 1L, SimpleOperatorFlag, MagickFalse }, 
    193193    { "+adjoin", 0L, ImageInfoOptionFlag, MagickFalse }, 
    194194    { "-adjoin", 0L, ImageInfoOptionFlag, MagickFalse }, 
     
    198198    { "-affinity", 1L, DeprecateOptionFlag | FireOptionFlag, MagickTrue }, 
    199199    { "+alpha", 1L, DeprecateOptionFlag, MagickTrue }, 
    200     { "-alpha", 1L, SimpleOperatorOptionFlag, MagickFalse }, 
     200    { "-alpha", 1L, SimpleOperatorFlag, MagickFalse }, 
    201201    { "+annotate", 0L, DeprecateOptionFlag, MagickTrue }, 
    202     { "-annotate", 2L, SimpleOperatorOptionFlag, MagickFalse }, 
     202    { "-annotate", 2L, SimpleOperatorFlag, MagickFalse }, 
    203203    { "+antialias", 0L, ImageInfoOptionFlag | DrawInfoOptionFlag, MagickFalse }, 
    204204    { "-antialias", 0L, ImageInfoOptionFlag | DrawInfoOptionFlag, MagickFalse }, 
    205     { "+append", 0L, ListOperatorOptionFlag | FireOptionFlag, MagickFalse }, 
    206     { "-append", 0L, ListOperatorOptionFlag | FireOptionFlag, MagickFalse }, 
     205    { "+append", 0L, ListOperatorFlag | FireOptionFlag, MagickFalse }, 
     206    { "-append", 0L, ListOperatorFlag | FireOptionFlag, MagickFalse }, 
    207207    { "+attenuate", 0L, ImageInfoOptionFlag, MagickFalse }, 
    208208    { "-attenuate", 1L, ImageInfoOptionFlag, MagickFalse }, 
     
    210210    { "-authenticate", 1L, ImageInfoOptionFlag, MagickFalse }, 
    211211    { "+auto-gamma", 0L, DeprecateOptionFlag, MagickTrue }, 
    212     { "-auto-gamma", 0L, SimpleOperatorOptionFlag, MagickFalse }, 
     212    { "-auto-gamma", 0L, SimpleOperatorFlag, MagickFalse }, 
    213213    { "+auto-level", 0L, DeprecateOptionFlag, MagickTrue }, 
    214     { "-auto-level", 0L, SimpleOperatorOptionFlag, MagickFalse }, 
     214    { "-auto-level", 0L, SimpleOperatorFlag, MagickFalse }, 
    215215    { "+auto-orient", 0L, DeprecateOptionFlag, MagickTrue }, 
    216     { "-auto-orient", 0L, SimpleOperatorOptionFlag, MagickFalse }, 
     216    { "-auto-orient", 0L, SimpleOperatorFlag, MagickFalse }, 
    217217    { "+average", 0L, DeprecateOptionFlag, MagickTrue }, 
    218     { "-average", 0L, ReplacedOptionFlag | ListOperatorOptionFlag | FireOptionFlag, MagickTrue }, 
     218    { "-average", 0L, ReplacedOptionFlag | ListOperatorFlag | FireOptionFlag, MagickTrue }, 
    219219    { "+backdrop", 0L, NonMagickOptionFlag, MagickFalse }, 
    220220    { "-backdrop", 1L, NonMagickOptionFlag, MagickFalse }, 
     
    228228    { "-black-point-compensation", 0L, ImageInfoOptionFlag, MagickFalse }, 
    229229    { "+black-threshold", 0L, DeprecateOptionFlag, MagickTrue }, 
    230     { "-black-threshold", 1L, SimpleOperatorOptionFlag, MagickFalse }, 
     230    { "-black-threshold", 1L, SimpleOperatorFlag, MagickFalse }, 
    231231    { "+blend", 0L, NonMagickOptionFlag, MagickFalse }, 
    232232    { "-blend", 1L, NonMagickOptionFlag, MagickFalse }, 
    233233    { "+blue-primary", 0L, ImageInfoOptionFlag, MagickFalse }, 
    234234    { "-blue-primary", 1L, ImageInfoOptionFlag, MagickFalse }, 
    235     { "+blue-shift", 1L, SimpleOperatorOptionFlag, MagickFalse }, 
    236     { "-blue-shift", 1L, SimpleOperatorOptionFlag, MagickFalse }, 
     235    { "+blue-shift", 1L, SimpleOperatorFlag, MagickFalse }, 
     236    { "-blue-shift", 1L, SimpleOperatorFlag, MagickFalse }, 
    237237    { "+blur", 0L, DeprecateOptionFlag, MagickTrue }, 
    238     { "-blur", 1L, SimpleOperatorOptionFlag, MagickFalse }, 
     238    { "-blur", 1L, SimpleOperatorFlag, MagickFalse }, 
    239239    { "+border", 1L, DeprecateOptionFlag, MagickTrue }, 
    240     { "-border", 1L, SimpleOperatorOptionFlag, MagickFalse }, 
     240    { "-border", 1L, SimpleOperatorFlag, MagickFalse }, 
    241241    { "+bordercolor", 0L, ImageInfoOptionFlag | DrawInfoOptionFlag, MagickFalse }, 
    242242    { "-bordercolor", 1L, ImageInfoOptionFlag | DrawInfoOptionFlag, MagickFalse }, 
     
    246246    { "-box", 1L, ReplacedOptionFlag | ImageInfoOptionFlag | DrawInfoOptionFlag, MagickTrue }, 
    247247    { "+brightness-contrast", 0L, DeprecateOptionFlag, MagickTrue }, 
    248     { "-brightness-contrast", 1L, SimpleOperatorOptionFlag, MagickFalse }, 
     248    { "-brightness-contrast", 1L, SimpleOperatorFlag, MagickFalse }, 
    249249    { "+cache", 0L, GlobalOptionFlag, MagickFalse }, 
    250250    { "-cache", 1L, GlobalOptionFlag, MagickFalse }, 
     
    252252    { "-caption", 1L, ImageInfoOptionFlag, MagickFalse }, 
    253253    { "+cdl", 1L, DeprecateOptionFlag, MagickTrue }, 
    254     { "-cdl", 1L, SimpleOperatorOptionFlag, MagickFalse }, 
     254    { "-cdl", 1L, SimpleOperatorFlag, MagickFalse }, 
    255255    { "+channel", 0L, ImageInfoOptionFlag, MagickFalse }, 
    256256    { "-channel", 1L, ImageInfoOptionFlag, MagickFalse }, 
    257     { "-channel-fx", 1L, ListOperatorOptionFlag | FireOptionFlag, MagickFalse }, 
     257    { "-channel-fx", 1L, ListOperatorFlag | FireOptionFlag, MagickFalse }, 
    258258    { "+charcoal", 0L, DeprecateOptionFlag, MagickTrue }, 
    259     { "-charcoal", 0L, SimpleOperatorOptionFlag, MagickFalse }, 
     259    { "-charcoal", 0L, SimpleOperatorFlag, MagickFalse }, 
    260260    { "+chop", 1L, DeprecateOptionFlag, MagickTrue }, 
    261     { "-chop", 1L, SimpleOperatorOptionFlag, MagickFalse }, 
     261    { "-chop", 1L, SimpleOperatorFlag, MagickFalse }, 
    262262    { "+clamp", 0L, DeprecateOptionFlag, MagickTrue }, 
    263     { "-clamp", 0L, SimpleOperatorOptionFlag, MagickFalse }, 
    264     { "+clip", 0L, SimpleOperatorOptionFlag, MagickFalse }, 
    265     { "-clip", 0L, SimpleOperatorOptionFlag, MagickFalse }, 
    266     { "+clip-mask", 0L, SimpleOperatorOptionFlag, MagickFalse }, 
    267     { "-clip-mask", 1L, SimpleOperatorOptionFlag, MagickFalse }, 
    268     { "+clip-path", 1L, SimpleOperatorOptionFlag, MagickFalse }, 
    269     { "-clip-path", 1L, SimpleOperatorOptionFlag, MagickFalse }, 
    270     { "+clone", 0L, SpecialOptionFlag, MagickFalse }, 
    271     { "-clone", 1L, SpecialOptionFlag, MagickFalse }, 
     263    { "-clamp", 0L, SimpleOperatorFlag, MagickFalse }, 
     264    { "+clip", 0L, SimpleOperatorFlag, MagickFalse }, 
     265    { "-clip", 0L, SimpleOperatorFlag, MagickFalse }, 
     266    { "+clip-mask", 0L, SimpleOperatorFlag, MagickFalse }, 
     267    { "-clip-mask", 1L, SimpleOperatorFlag, MagickFalse }, 
     268    { "+clip-path", 1L, SimpleOperatorFlag, MagickFalse }, 
     269    { "-clip-path", 1L, SimpleOperatorFlag, MagickFalse }, 
     270    { "+clone", 0L, NoImageOperatorFlag, MagickFalse }, 
     271    { "-clone", 1L, NoImageOperatorFlag, MagickFalse }, 
    272272    { "+clut", 0L, DeprecateOptionFlag | FireOptionFlag, MagickTrue }, 
    273     { "-clut", 0L, ListOperatorOptionFlag | FireOptionFlag, MagickFalse }, 
     273    { "-clut", 0L, ListOperatorFlag | FireOptionFlag, MagickFalse }, 
    274274    { "+coalesce", 0L, DeprecateOptionFlag | FireOptionFlag, MagickTrue }, 
    275     { "-coalesce", 0L, ListOperatorOptionFlag | FireOptionFlag, MagickFalse }, 
     275    { "-coalesce", 0L, ListOperatorFlag | FireOptionFlag, MagickFalse }, 
    276276    { "+color-matrix", 1L, DeprecateOptionFlag, MagickTrue }, 
    277     { "-color-matrix", 1L, SimpleOperatorOptionFlag, MagickFalse }, 
     277    { "-color-matrix", 1L, SimpleOperatorFlag, MagickFalse }, 
    278278    { "+colorize", 1L, DeprecateOptionFlag, MagickTrue }, 
    279     { "-colorize", 1L, SimpleOperatorOptionFlag, MagickFalse }, 
     279    { "-colorize", 1L, SimpleOperatorFlag, MagickFalse }, 
    280280    { "+colormap", 0L, NonMagickOptionFlag, MagickFalse }, 
    281281    { "-colormap", 1L, NonMagickOptionFlag, MagickFalse }, 
    282282    { "+colors", 1L, DeprecateOptionFlag, MagickTrue }, 
    283     { "-colors", 1L, SimpleOperatorOptionFlag, MagickFalse }, 
    284     { "+colorspace", 0L, ImageInfoOptionFlag | SimpleOperatorOptionFlag, MagickFalse }, 
    285     { "-colorspace", 1L, ImageInfoOptionFlag | SimpleOperatorOptionFlag, MagickFalse }, 
     283    { "-colors", 1L, SimpleOperatorFlag, MagickFalse }, 
     284    { "+colorspace", 0L, ImageInfoOptionFlag | SimpleOperatorFlag, MagickFalse }, 
     285    { "-colorspace", 1L, ImageInfoOptionFlag | SimpleOperatorFlag, MagickFalse }, 
    286286    { "+combine", 0L, DeprecateOptionFlag | FireOptionFlag, MagickTrue }, 
    287     { "-combine", 0L, ListOperatorOptionFlag | FireOptionFlag, MagickFalse }, 
     287    { "-combine", 0L, ListOperatorFlag | FireOptionFlag, MagickFalse }, 
    288288    { "+comment", 0L, ImageInfoOptionFlag, MagickFalse }, 
    289289    { "-comment", 1L, ImageInfoOptionFlag, MagickFalse }, 
     
    291291    { "-compose", 1L, ImageInfoOptionFlag, MagickFalse }, 
    292292    { "+composite", 0L, DeprecateOptionFlag | FireOptionFlag, MagickTrue }, 
    293     { "-composite", 0L, ListOperatorOptionFlag | FireOptionFlag, MagickFalse }, 
     293    { "-composite", 0L, ListOperatorFlag | FireOptionFlag, MagickFalse }, 
    294294    { "+compress", 0L, ImageInfoOptionFlag, MagickFalse }, 
    295295    { "-compress", 1L, ImageInfoOptionFlag, MagickFalse }, 
    296296    { "+concurrent", 0L, DeprecateOptionFlag, MagickTrue }, 
    297297    { "-concurrent", 0L, GenesisOptionFlag, MagickFalse }, 
    298     { "+contrast", 0L, ReplacedOptionFlag | SimpleOperatorOptionFlag, MagickTrue }, 
    299     { "-contrast", 0L, ReplacedOptionFlag | SimpleOperatorOptionFlag, MagickTrue }, 
     298    { "+contrast", 0L, ReplacedOptionFlag | SimpleOperatorFlag, MagickTrue }, 
     299    { "-contrast", 0L, ReplacedOptionFlag | SimpleOperatorFlag, MagickTrue }, 
    300300    { "+contrast-stretch", 1L, DeprecateOptionFlag, MagickTrue }, 
    301     { "-contrast-stretch", 1L, SimpleOperatorOptionFlag, MagickFalse }, 
     301    { "-contrast-stretch", 1L, SimpleOperatorFlag, MagickFalse }, 
    302302    { "+convolve", 1L, DeprecateOptionFlag, MagickTrue }, 
    303     { "-convolve", 1L, SimpleOperatorOptionFlag, MagickFalse }, 
     303    { "-convolve", 1L, SimpleOperatorFlag, MagickFalse }, 
    304304    { "+crop", 1L, DeprecateOptionFlag | FireOptionFlag, MagickTrue }, 
    305     { "-crop", 1L, SimpleOperatorOptionFlag | FireOptionFlag, MagickFalse }, 
     305    { "-crop", 1L, SimpleOperatorFlag | FireOptionFlag, MagickFalse }, 
    306306    { "+cycle", 1L, DeprecateOptionFlag, MagickTrue }, 
    307     { "-cycle", 1L, SimpleOperatorOptionFlag, MagickFalse }, 
     307    { "-cycle", 1L, SimpleOperatorFlag, MagickFalse }, 
    308308    { "+debug", 0L, GlobalOptionFlag | FireOptionFlag, MagickFalse }, 
    309309    { "-debug", 1L, GlobalOptionFlag | FireOptionFlag, MagickFalse }, 
    310310    { "+decipher", 1L, DeprecateOptionFlag, MagickTrue }, 
    311     { "-decipher", 1L, SimpleOperatorOptionFlag, MagickFalse }, 
     311    { "-decipher", 1L, SimpleOperatorFlag, MagickFalse }, 
    312312    { "+deconstruct", 0L, DeprecateOptionFlag, MagickTrue }, 
    313     { "-deconstruct", 0L, ReplacedOptionFlag | ListOperatorOptionFlag | FireOptionFlag, MagickTrue }, 
     313    { "-deconstruct", 0L, ReplacedOptionFlag | ListOperatorFlag | FireOptionFlag, MagickTrue }, 
    314314    { "+define", 1L, ImageInfoOptionFlag, MagickFalse }, 
    315315    { "-define", 1L, ImageInfoOptionFlag, MagickFalse }, 
    316316    { "+delay", 0L, ImageInfoOptionFlag, MagickFalse }, 
    317317    { "-delay", 1L, ImageInfoOptionFlag, MagickFalse }, 
    318     { "+delete", 0L, ListOperatorOptionFlag | FireOptionFlag, MagickFalse }, 
    319     { "-delete", 1L, ListOperatorOptionFlag | FireOptionFlag, MagickFalse }, 
     318    { "+delete", 0L, ListOperatorFlag | FireOptionFlag, MagickFalse }, 
     319    { "-delete", 1L, ListOperatorFlag | FireOptionFlag, MagickFalse }, 
    320320    { "+density", 0L, ImageInfoOptionFlag | DrawInfoOptionFlag, MagickFalse }, 
    321321    { "-density", 1L, ImageInfoOptionFlag | DrawInfoOptionFlag, MagickFalse }, 
    322     { "+depth", 0L, ImageInfoOptionFlag | SimpleOperatorOptionFlag, MagickFalse }, 
    323     { "-depth", 1L, ImageInfoOptionFlag | SimpleOperatorOptionFlag, MagickFalse }, 
     322    { "+depth", 0L, ImageInfoOptionFlag | SimpleOperatorFlag, MagickFalse }, 
     323    { "-depth", 1L, ImageInfoOptionFlag | SimpleOperatorFlag, MagickFalse }, 
    324324    { "+descend", 0L, NonMagickOptionFlag, MagickFalse }, 
    325325    { "-descend", 1L, NonMagickOptionFlag, MagickFalse }, 
    326     { "+deskew", 0L, SimpleOperatorOptionFlag, MagickFalse }, 
    327     { "-deskew", 1L, SimpleOperatorOptionFlag, MagickFalse }, 
     326    { "+deskew", 0L, SimpleOperatorFlag, MagickFalse }, 
     327    { "-deskew", 1L, SimpleOperatorFlag, MagickFalse }, 
    328328    { "+despeckle", 0L, DeprecateOptionFlag, MagickTrue }, 
    329     { "-despeckle", 0L, SimpleOperatorOptionFlag, MagickFalse }, 
     329    { "-despeckle", 0L, SimpleOperatorFlag, MagickFalse }, 
    330330    { "+direction", 0L, ImageInfoOptionFlag | DrawInfoOptionFlag, MagickFalse }, 
    331331    { "-direction", 1L, ImageInfoOptionFlag | DrawInfoOptionFlag, MagickFalse }, 
     
    340340    { "+dissimilarity-threshold", 0L, NonMagickOptionFlag | ImageInfoOptionFlag, MagickFalse }, 
    341341    { "-dissimilarity-threshold", 1L, NonMagickOptionFlag | ImageInfoOptionFlag, MagickFalse }, 
    342     { "+distort", 2L, SimpleOperatorOptionFlag, MagickFalse }, 
    343     { "-distort", 2L, SimpleOperatorOptionFlag, MagickFalse }, 
     342    { "+distort", 2L, SimpleOperatorFlag, MagickFalse }, 
     343    { "-distort", 2L, SimpleOperatorFlag, MagickFalse }, 
    344344    { "+dither", 0L, ImageInfoOptionFlag | QuantizeInfoOptionFlag, MagickFalse }, 
    345345    { "-dither", 1L, ImageInfoOptionFlag | QuantizeInfoOptionFlag, MagickFalse }, 
    346346    { "+draw", 0L, DeprecateOptionFlag, MagickTrue }, 
    347     { "-draw", 1L, SimpleOperatorOptionFlag, MagickFalse }, 
    348     { "+duplicate", 0L, ListOperatorOptionFlag | FireOptionFlag, MagickFalse }, 
    349     { "-duplicate", 1L, ListOperatorOptionFlag | FireOptionFlag, MagickFalse }, 
     347    { "-draw", 1L, SimpleOperatorFlag, MagickFalse }, 
     348    { "+duplicate", 0L, ListOperatorFlag | FireOptionFlag, MagickFalse }, 
     349    { "-duplicate", 1L, ListOperatorFlag | FireOptionFlag, MagickFalse }, 
    350350    { "+duration", 1L, GenesisOptionFlag, MagickFalse }, 
    351351    { "-duration", 1L, GenesisOptionFlag, MagickFalse }, 
    352352    { "+edge", 1L, DeprecateOptionFlag, MagickTrue }, 
    353     { "-edge", 1L, SimpleOperatorOptionFlag, MagickFalse }, 
     353    { "-edge", 1L, SimpleOperatorFlag, MagickFalse }, 
    354354    { "+emboss", 1L, DeprecateOptionFlag, MagickTrue }, 
    355     { "-emboss", 1L, SimpleOperatorOptionFlag, MagickFalse }, 
     355    { "-emboss", 1L, SimpleOperatorFlag, MagickFalse }, 
    356356    { "+encipher", 1L, DeprecateOptionFlag, MagickTrue }, 
    357     { "-encipher", 1L, SimpleOperatorOptionFlag, MagickFalse }, 
     357    { "-encipher", 1L, SimpleOperatorFlag, MagickFalse }, 
    358358    { "+encoding", 0L, ImageInfoOptionFlag | DrawInfoOptionFlag, MagickFalse }, 
    359359    { "-encoding", 1L, ImageInfoOptionFlag | DrawInfoOptionFlag, MagickFalse }, 
     
    361361    { "-endian", 1L, ImageInfoOptionFlag, MagickFalse }, 
    362362    { "+enhance", 0L, DeprecateOptionFlag, MagickTrue }, 
    363     { "-enhance", 0L, SimpleOperatorOptionFlag, MagickFalse }, 
     363    { "-enhance", 0L, SimpleOperatorFlag, MagickFalse }, 
    364364    { "+equalize", 0L, DeprecateOptionFlag, MagickTrue }, 
    365     { "-equalize", 0L, SimpleOperatorOptionFlag, MagickFalse }, 
     365    { "-equalize", 0L, SimpleOperatorFlag, MagickFalse }, 
    366366    { "+evaluate", 2L, DeprecateOptionFlag, MagickTrue }, 
    367     { "-evaluate", 2L, SimpleOperatorOptionFlag, MagickFalse }, 
     367    { "-evaluate", 2L, SimpleOperatorFlag, MagickFalse }, 
    368368    { "+evaluate-sequence", 1L, DeprecateOptionFlag | FireOptionFlag, MagickTrue }, 
    369     { "-evaluate-sequence", 1L, ListOperatorOptionFlag | FireOptionFlag, MagickFalse }, 
     369    { "-evaluate-sequence", 1L, ListOperatorFlag | FireOptionFlag, MagickFalse }, 
    370370    { "-exit", 0L, SpecialOptionFlag, MagickFalse }, 
    371371    { "+extent", 1L, DeprecateOptionFlag, MagickTrue }, 
    372     { "-extent", 1L, SimpleOperatorOptionFlag, MagickFalse }, 
     372    { "-extent", 1L, SimpleOperatorFlag, MagickFalse }, 
    373373    { "+extract", 0L, ImageInfoOptionFlag, MagickFalse }, 
    374374    { "-extract", 1L, ImageInfoOptionFlag, MagickFalse }, 
    375375    { "+family", 0L, DeprecateOptionFlag, MagickTrue }, 
    376376    { "-family", 1L, DrawInfoOptionFlag, MagickFalse }, 
    377     { "+features", 0L, SimpleOperatorOptionFlag | FireOptionFlag, MagickFalse }, 
    378     { "-features", 1L, SimpleOperatorOptionFlag | FireOptionFlag, MagickFalse }, 
    379     { "+fft", 0L, ListOperatorOptionFlag | FireOptionFlag, MagickFalse }, 
    380     { "-fft", 0L, ListOperatorOptionFlag | FireOptionFlag, MagickFalse }, 
     377    { "+features", 0L, SimpleOperatorFlag | FireOptionFlag, MagickFalse }, 
     378    { "-features", 1L, SimpleOperatorFlag | FireOptionFlag, MagickFalse }, 
     379    { "+fft", 0L, ListOperatorFlag | FireOptionFlag, MagickFalse }, 
     380    { "-fft", 0L, ListOperatorFlag | FireOptionFlag, MagickFalse }, 
    381381    { "+fill", 0L, ImageInfoOptionFlag | DrawInfoOptionFlag, MagickFalse }, 
    382382    { "-fill", 1L, ImageInfoOptionFlag | DrawInfoOptionFlag, MagickFalse }, 
     
    384384    { "-filter", 1L, ImageInfoOptionFlag, MagickFalse }, 
    385385    { "+flatten", 0L, DeprecateOptionFlag, MagickTrue }, 
    386     { "-flatten", 0L, ListOperatorOptionFlag | FireOptionFlag, MagickFalse }, 
     386    { "-flatten", 0L, ListOperatorFlag | FireOptionFlag, MagickFalse }, 
    387387    { "+flip", 0L, DeprecateOptionFlag, MagickTrue }, 
    388     { "-flip", 0L, SimpleOperatorOptionFlag, MagickFalse }, 
    389     { "+floodfill", 2L, SimpleOperatorOptionFlag, MagickFalse }, 
    390     { "-floodfill", 2L, SimpleOperatorOptionFlag, MagickFalse }, 
     388    { "-flip", 0L, SimpleOperatorFlag, MagickFalse }, 
     389    { "+floodfill", 2L, SimpleOperatorFlag, MagickFalse }, 
     390    { "-floodfill", 2L, SimpleOperatorFlag, MagickFalse }, 
    391391    { "+flop", 0L, DeprecateOptionFlag, MagickTrue }, 
    392     { "-flop", 0L, SimpleOperatorOptionFlag, MagickFalse }, 
     392    { "-flop", 0L, SimpleOperatorFlag, MagickFalse }, 
    393393    { "+font", 0L, ImageInfoOptionFlag | DrawInfoOptionFlag, MagickFalse }, 
    394394    { "-font", 1L, ImageInfoOptionFlag | DrawInfoOptionFlag, MagickFalse }, 
     
    398398    { "-format", 1L, ImageInfoOptionFlag, MagickFalse }, 
    399399    { "+frame", 1L, DeprecateOptionFlag, MagickTrue }, 
    400     { "-frame", 1L, SimpleOperatorOptionFlag, MagickFalse }, 
     400    { "-frame", 1L, SimpleOperatorFlag, MagickFalse }, 
    401401    { "+function", 2L, DeprecateOptionFlag, MagickTrue }, 
    402     { "-function", 2L,SimpleOperatorOptionFlag, MagickFalse }, 
     402    { "-function", 2L,SimpleOperatorFlag, MagickFalse }, 
    403403    { "+fuzz", 0L, ImageInfoOptionFlag, MagickFalse }, 
    404404    { "-fuzz", 1L, ImageInfoOptionFlag, MagickFalse }, 
    405405    { "+fx", 1L, DeprecateOptionFlag | FireOptionFlag, MagickTrue }, 
    406     { "-fx", 1L, ListOperatorOptionFlag | FireOptionFlag, MagickFalse }, 
    407     { "+gamma", 0L, SimpleOperatorOptionFlag, MagickFalse }, 
    408     { "-gamma", 1L, SimpleOperatorOptionFlag, MagickFalse }, 
     406    { "-fx", 1L, ListOperatorFlag | FireOptionFlag, MagickFalse }, 
     407    { "+gamma", 0L, SimpleOperatorFlag, MagickFalse }, 
     408    { "-gamma", 1L, SimpleOperatorFlag, MagickFalse }, 
    409409    { "+gaussian", 1L, DeprecateOptionFlag, MagickTrue }, 
    410     { "-gaussian", 1L, ReplacedOptionFlag | SimpleOperatorOptionFlag, MagickTrue }, 
     410    { "-gaussian", 1L, ReplacedOptionFlag | SimpleOperatorFlag, MagickTrue }, 
    411411    { "+gaussian-blur", 1L, DeprecateOptionFlag, MagickTrue }, 
    412     { "-gaussian-blur", 1L, SimpleOperatorOptionFlag, MagickFalse }, 
    413     { "+geometry", 0L, SimpleOperatorOptionFlag, MagickFalse }, 
    414     { "-geometry", 1L, SimpleOperatorOptionFlag, MagickFalse }, 
     412    { "-gaussian-blur", 1L, SimpleOperatorFlag, MagickFalse }, 
     413    { "+geometry", 0L, SimpleOperatorFlag, MagickFalse }, 
     414    { "-geometry", 1L, SimpleOperatorFlag, MagickFalse }, 
    415415    { "+gravity", 0L, ImageInfoOptionFlag | DrawInfoOptionFlag, MagickFalse }, 
    416416    { "-gravity", 1L, ImageInfoOptionFlag | DrawInfoOptionFlag, MagickFalse }, 
     
    418418    { "-green-primary", 1L, ImageInfoOptionFlag, MagickFalse }, 
    419419    { "+hald-clut", 0L, DeprecateOptionFlag | FireOptionFlag, MagickTrue }, 
    420     { "-hald-clut", 0L, ListOperatorOptionFlag | FireOptionFlag, MagickFalse }, 
     420    { "-hald-clut", 0L, ListOperatorFlag | FireOptionFlag, MagickFalse }, 
    421421    { "+highlight-color", 0L, NonMagickOptionFlag | ImageInfoOptionFlag, MagickFalse }, 
    422422    { "-highlight-color", 1L, NonMagickOptionFlag | ImageInfoOptionFlag, MagickFalse }, 
     
    426426    { "-iconic", 1L, NonMagickOptionFlag, MagickFalse }, 
    427427    { "+identify", 0L, DeprecateOptionFlag | FireOptionFlag, MagickTrue }, 
    428     { "-identify", 0L, SimpleOperatorOptionFlag | FireOptionFlag, MagickFalse }, 
    429     { "+ift", 0L, ListOperatorOptionFlag | FireOptionFlag, MagickFalse }, 
    430     { "-ift", 0L, ListOperatorOptionFlag | FireOptionFlag, MagickFalse }, 
     428    { "-identify", 0L, SimpleOperatorFlag | FireOptionFlag, MagickFalse }, 
     429    { "+ift", 0L, ListOperatorFlag | FireOptionFlag, MagickFalse }, 
     430    { "-ift", 0L, ListOperatorFlag | FireOptionFlag, MagickFalse }, 
    431431    { "+immutable", 0L, NonMagickOptionFlag, MagickFalse }, 
    432432    { "-immutable", 0L, NonMagickOptionFlag, MagickFalse }, 
    433433    { "+implode", 0L, DeprecateOptionFlag, MagickTrue }, 
    434     { "-implode", 1L, SimpleOperatorOptionFlag, MagickFalse }, 
    435     { "+insert", 0L, ListOperatorOptionFlag | FireOptionFlag, MagickFalse }, 
    436     { "-insert", 1L, ListOperatorOptionFlag | FireOptionFlag, MagickFalse }, 
     434    { "-implode", 1L, SimpleOperatorFlag, MagickFalse }, 
     435    { "+insert", 0L, ListOperatorFlag | FireOptionFlag, MagickFalse }, 
     436    { "-insert", 1L, ListOperatorFlag | FireOptionFlag, MagickFalse }, 
    437437    { "+intent", 0L, ImageInfoOptionFlag, MagickFalse }, 
    438438    { "-intent", 1L, ImageInfoOptionFlag, MagickFalse }, 
     
    444444    { "-interpolate", 1L, ImageInfoOptionFlag, MagickFalse }, 
    445445    { "+interpolative-resize", 1L, DeprecateOptionFlag, MagickTrue }, 
    446     { "-interpolative-resize", 1L, SimpleOperatorOptionFlag, MagickFalse }, 
     446    { "-interpolative-resize", 1L, SimpleOperatorFlag, MagickFalse }, 
    447447    { "+interword-spacing", 0L, ImageInfoOptionFlag | DrawInfoOptionFlag, MagickFalse }, 
    448448    { "-interword-spacing", 1L, ImageInfoOptionFlag | DrawInfoOptionFlag, MagickFalse }, 
     
    452452    { "-label", 1L, ImageInfoOptionFlag, MagickFalse }, 
    453453    { "+lat", 1L, DeprecateOptionFlag, MagickTrue }, 
    454     { "-lat", 1L, SimpleOperatorOptionFlag, MagickFalse }, 
     454    { "-lat", 1L, SimpleOperatorFlag, MagickFalse }, 
    455455    { "+layers", 1L, DeprecateOptionFlag | FireOptionFlag, MagickTrue }, 
    456     { "-layers", 1L, ListOperatorOptionFlag | FireOptionFlag, MagickFalse }, 
    457     { "+level", 1L, SimpleOperatorOptionFlag, MagickFalse }, 
    458     { "-level", 1L, SimpleOperatorOptionFlag, MagickFalse }, 
    459     { "+level-colors", 1L, SimpleOperatorOptionFlag, MagickFalse }, 
    460     { "-level-colors", 1L, SimpleOperatorOptionFlag, MagickFalse }, 
     456    { "-layers", 1L, ListOperatorFlag | FireOptionFlag, MagickFalse }, 
     457    { "+level", 1L, SimpleOperatorFlag, MagickFalse }, 
     458    { "-level", 1L, SimpleOperatorFlag, MagickFalse }, 
     459    { "+level-colors", 1L, SimpleOperatorFlag, MagickFalse }, 
     460    { "-level-colors", 1L, SimpleOperatorFlag, MagickFalse }, 
    461461    { "+limit", 0L, DeprecateOptionFlag, MagickTrue }, 
    462462    { "-limit", 2L, GlobalOptionFlag | FireOptionFlag, MagickFalse }, 
    463463    { "+linear-stretch", 1L, DeprecateOptionFlag, MagickTrue }, 
    464     { "-linear-stretch", 1L, SimpleOperatorOptionFlag, MagickFalse }, 
     464    { "-linear-stretch", 1L, SimpleOperatorFlag, MagickFalse }, 
    465465    { "+liquid-rescale", 1L, DeprecateOptionFlag, MagickTrue }, 
    466     { "-liquid-rescale", 1L, SimpleOperatorOptionFlag, MagickFalse }, 
     466    { "-liquid-rescale", 1L, SimpleOperatorFlag, MagickFalse }, 
    467467    { "+list", 0L, DeprecateOptionFlag, MagickTrue }, 
    468     { "-list", 1L, SpecialOptionFlag, MagickFalse }, 
     468    { "-list", 1L, NoImageOperatorFlag, MagickFalse }, 
    469469    { "+log", 0L, DeprecateOptionFlag, MagickFalse }, 
    470470    { "-log", 1L, GlobalOptionFlag, MagickFalse }, 
     
    475475    { "+magnify", 0L, NonMagickOptionFlag, MagickFalse }, 
    476476    { "-magnify", 1L, NonMagickOptionFlag, MagickFalse }, 
    477     { "+map", 0L, ReplacedOptionFlag | ListOperatorOptionFlag | FireOptionFlag, MagickTrue }, 
    478     { "-map", 1L, ReplacedOptionFlag | SimpleOperatorOptionFlag, MagickTrue }, 
    479     { "+mask", 0L, SimpleOperatorOptionFlag, MagickFalse }, 
    480     { "-mask", 1L, SimpleOperatorOptionFlag, MagickFalse }, 
    481     { "+matte", 0L, ReplacedOptionFlag | SimpleOperatorOptionFlag, MagickTrue }, 
    482     { "-matte", 0L, ReplacedOptionFlag | SimpleOperatorOptionFlag, MagickTrue }, 
     477    { "+map", 0L, ReplacedOptionFlag | ListOperatorFlag | FireOptionFlag, MagickTrue }, 
     478    { "-map", 1L, ReplacedOptionFlag | SimpleOperatorFlag, MagickTrue }, 
     479    { "+mask", 0L, SimpleOperatorFlag, MagickFalse }, 
     480    { "-mask", 1L, SimpleOperatorFlag, MagickFalse }, 
     481    { "+matte", 0L, ReplacedOptionFlag | SimpleOperatorFlag, MagickTrue }, 
     482    { "-matte", 0L, ReplacedOptionFlag | SimpleOperatorFlag, MagickTrue }, 
    483483    { "+mattecolor", 0L, ImageInfoOptionFlag, MagickFalse }, 
    484484    { "-mattecolor", 1L, ImageInfoOptionFlag, MagickFalse }, 
     
    486486    { "-maximum", 0L, DeprecateOptionFlag | FireOptionFlag, MagickTrue }, 
    487487    { "+median", 1L, DeprecateOptionFlag, MagickTrue }, 
    488     { "-median", 1L, ReplacedOptionFlag | SimpleOperatorOptionFlag | FireOptionFlag, MagickTrue }, 
     488    { "-median", 1L, ReplacedOptionFlag | SimpleOperatorFlag | FireOptionFlag, MagickTrue }, 
    489489    { "+metric", 0L, ImageInfoOptionFlag, MagickFalse }, 
    490490    { "-metric", 1L, ImageInfoOptionFlag, MagickFalse }, 
     
    492492    { "-minimum", 0L, DeprecateOptionFlag | FireOptionFlag, MagickTrue }, 
    493493    { "+mode", 1L, NonMagickOptionFlag, MagickFalse }, 
    494     { "-mode", 1L, ReplacedOptionFlag | SimpleOperatorOptionFlag, MagickTrue }, 
     494    { "-mode", 1L, ReplacedOptionFlag | SimpleOperatorFlag, MagickTrue }, 
    495495    { "+modulate", 1L, DeprecateOptionFlag, MagickTrue }, 
    496     { "-modulate", 1L, SimpleOperatorOptionFlag, MagickFalse }, 
    497     { "+monitor", 0L, ImageInfoOptionFlag | SimpleOperatorOptionFlag, MagickFalse }, 
    498     { "-monitor", 0L, ImageInfoOptionFlag | SimpleOperatorOptionFlag, MagickFalse }, 
     496    { "-modulate", 1L, SimpleOperatorFlag, MagickFalse }, 
     497    { "+monitor", 0L, ImageInfoOptionFlag | SimpleOperatorFlag, MagickFalse }, 
     498    { "-monitor", 0L, ImageInfoOptionFlag | SimpleOperatorFlag, MagickFalse }, 
    499499    { "+monochrome", 0L, ImageInfoOptionFlag, MagickFalse }, 
    500     { "-monochrome", 0L, ImageInfoOptionFlag | SimpleOperatorOptionFlag, MagickFalse }, 
     500    { "-monochrome", 0L, ImageInfoOptionFlag | SimpleOperatorFlag, MagickFalse }, 
    501501    { "+morph", 1L, DeprecateOptionFlag | FireOptionFlag, MagickTrue }, 
    502     { "-morph", 1L, ListOperatorOptionFlag | FireOptionFlag, MagickFalse }, 
     502    { "-morph", 1L, ListOperatorFlag | FireOptionFlag, MagickFalse }, 
    503503    { "+morphology", 2L, DeprecateOptionFlag, MagickTrue }, 
    504     { "-morphology", 2L, SimpleOperatorOptionFlag, MagickFalse }, 
     504    { "-morphology", 2L, SimpleOperatorFlag, MagickFalse }, 
    505505    { "+mosaic", 0L, DeprecateOptionFlag, MagickTrue }, 
    506     { "-mosaic", 0L, ListOperatorOptionFlag | FireOptionFlag, MagickFalse }, 
     506    { "-mosaic", 0L, ListOperatorFlag | FireOptionFlag, MagickFalse }, 
    507507    { "+motion-blur", 1L, DeprecateOptionFlag, MagickTrue }, 
    508     { "-motion-blur", 1L, SimpleOperatorOptionFlag, MagickFalse }, 
     508    { "-motion-blur", 1L, SimpleOperatorFlag, MagickFalse }, 
    509509    { "+name", 0L, NonMagickOptionFlag, MagickFalse }, 
    510510    { "-name", 1L, NonMagickOptionFlag, MagickFalse }, 
    511     { "+negate", 0L, SimpleOperatorOptionFlag, MagickFalse }, 
    512     { "-negate", 0L, SimpleOperatorOptionFlag, MagickFalse }, 
    513     { "+noise", 1L, SimpleOperatorOptionFlag, MagickFalse }, 
    514     { "-noise", 1L, ReplacedOptionFlag | SimpleOperatorOptionFlag, MagickFalse }, 
    515     { "-noop", 0L, SpecialOptionFlag, MagickFalse }, 
     511    { "+negate", 0L, SimpleOperatorFlag, MagickFalse }, 
     512    { "-negate", 0L, SimpleOperatorFlag, MagickFalse }, 
     513    { "+noise", 1L, SimpleOperatorFlag, MagickFalse }, 
     514    { "-noise", 1L, ReplacedOptionFlag | SimpleOperatorFlag, MagickFalse }, 
     515    { "-noop", 0L, NoImageOperatorFlag, MagickFalse }, 
    516516    { "+normalize", 0L, DeprecateOptionFlag, MagickTrue }, 
    517     { "-normalize", 0L, SimpleOperatorOptionFlag, MagickFalse }, 
    518     { "+opaque", 1L, SimpleOperatorOptionFlag, MagickFalse }, 
    519     { "-opaque", 1L, SimpleOperatorOptionFlag, MagickFalse }, 
     517    { "-normalize", 0L, SimpleOperatorFlag, MagickFalse }, 
     518    { "+opaque", 1L, SimpleOperatorFlag, MagickFalse }, 
     519    { "-opaque", 1L, SimpleOperatorFlag, MagickFalse }, 
    520520    { "+ordered-dither", 0L, DeprecateOptionFlag, MagickTrue }, 
    521     { "-ordered-dither", 1L, SimpleOperatorOptionFlag, MagickFalse }, 
     521    { "-ordered-dither", 1L, SimpleOperatorFlag, MagickFalse }, 
    522522    { "+orient", 0L, ImageInfoOptionFlag, MagickFalse }, 
    523523    { "-orient", 1L, ImageInfoOptionFlag, MagickFalse }, 
     
    525525    { "-page", 1L, ImageInfoOptionFlag, MagickFalse }, 
    526526    { "+paint", 0L, DeprecateOptionFlag, MagickTrue }, 
    527     { "-paint", 1L, SimpleOperatorOptionFlag, MagickFalse }, 
     527    { "-paint", 1L, SimpleOperatorFlag, MagickFalse }, 
    528528    { "+path", 0L, NonMagickOptionFlag, MagickFalse }, 
    529529    { "-path", 1L, NonMagickOptionFlag, MagickFalse }, 
     
    534534    { "+pointsize", 0L, ImageInfoOptionFlag | DrawInfoOptionFlag, MagickFalse }, 
    535535    { "-pointsize", 1L, ImageInfoOptionFlag | DrawInfoOptionFlag, MagickFalse }, 
    536     { "+polaroid", 0L, SimpleOperatorOptionFlag, MagickFalse }, 
    537     { "-polaroid", 1L, SimpleOperatorOptionFlag, MagickFalse }, 
     536    { "+polaroid", 0L, SimpleOperatorFlag, MagickFalse }, 
     537    { "-polaroid", 1L, SimpleOperatorFlag, MagickFalse }, 
    538538    { "+posterize", 1L, DeprecateOptionFlag, MagickTrue }, 
    539     { "-posterize", 1L, SimpleOperatorOptionFlag, MagickFalse }, 
     539    { "-posterize", 1L, SimpleOperatorFlag, MagickFalse }, 
    540540    { "+precision", 0L, ImageInfoOptionFlag, MagickFalse }, 
    541541    { "-precision", 1L, ImageInfoOptionFlag, MagickFalse }, 
     
    543543    { "-preview", 1L, GlobalOptionFlag, MagickFalse }, 
    544544    { "+print", 1L, DeprecateOptionFlag | FireOptionFlag, MagickTrue }, 
    545     { "-print", 1L, ListOperatorOptionFlag | FireOptionFlag, MagickFalse }, 
     545    { "-print", 1L, ListOperatorFlag | FireOptionFlag, MagickFalse }, 
    546546    { "+process", 1L, DeprecateOptionFlag | FireOptionFlag, MagickTrue }, 
    547     { "-process", 1L, ListOperatorOptionFlag | FireOptionFlag, MagickFalse }, 
    548     { "+profile", 1L, SimpleOperatorOptionFlag, MagickFalse }, 
    549     { "-profile", 1L, SimpleOperatorOptionFlag, MagickFalse }, 
     547    { "-process", 1L, ListOperatorFlag | FireOptionFlag, MagickFalse }, 
     548    { "+profile", 1L, SimpleOperatorFlag, MagickFalse }, 
     549    { "-profile", 1L, SimpleOperatorFlag, MagickFalse }, 
    550550    { "+quality", 0L, ImageInfoOptionFlag, MagickFalse }, 
    551551    { "-quality", 1L, ImageInfoOptionFlag, MagickFalse }, 
     
    555555    { "-quiet", 0L, GlobalOptionFlag | FireOptionFlag, MagickFalse }, 
    556556    { "+radial-blur", 1L, DeprecateOptionFlag, MagickTrue }, 
    557     { "-radial-blur", 1L, SimpleOperatorOptionFlag, MagickFalse }, 
    558     { "+raise", 1L, SimpleOperatorOptionFlag, MagickFalse }, 
    559     { "-raise", 1L, SimpleOperatorOptionFlag, MagickFalse }, 
     557    { "-radial-blur", 1L, SimpleOperatorFlag, MagickFalse }, 
     558    { "+raise", 1L, SimpleOperatorFlag, MagickFalse }, 
     559    { "-raise", 1L, SimpleOperatorFlag, MagickFalse }, 
    560560    { "+random-threshold", 1L, DeprecateOptionFlag, MagickTrue }, 
    561     { "-random-threshold", 1L, SimpleOperatorOptionFlag, MagickFalse }, 
    562     { "-read", 1L, SpecialOptionFlag, MagickFalse }, 
     561    { "-random-threshold", 1L, SimpleOperatorFlag, MagickFalse }, 
     562    { "-read", 1L, NoImageOperatorFlag, MagickFalse }, 
    563563    { "+recolor", 1L, DeprecateOptionFlag, MagickTrue }, 
    564     { "-recolor", 1L, ReplacedOptionFlag | SimpleOperatorOptionFlag, MagickTrue }, 
     564    { "-recolor", 1L, ReplacedOptionFlag | SimpleOperatorFlag, MagickTrue }, 
    565565    { "+red-primary", 0L, ImageInfoOptionFlag, MagickFalse }, 
    566566    { "-red-primary", 1L, ImageInfoOptionFlag, MagickFalse }, 
    567567    { "+regard-warnings", 0L, ImageInfoOptionFlag, MagickFalse }, 
    568568    { "-regard-warnings", 0L, ImageInfoOptionFlag, MagickFalse }, 
    569     { "+region", 0L, SpecialOptionFlag, MagickFalse }, 
    570     { "-region", 1L, SpecialOptionFlag, MagickFalse }, 
    571     { "+remap", 0L, ListOperatorOptionFlag | FireOptionFlag, MagickFalse }, 
    572     { "-remap", 1L, SimpleOperatorOptionFlag, MagickFalse }, 
     569    { "+region", 0L, NoImageOperatorFlag, MagickFalse }, 
     570    { "-region", 1L, NoImageOperatorFlag, MagickFalse }, 
     571    { "+remap", 0L, ListOperatorFlag | FireOptionFlag, MagickFalse }, 
     572    { "-remap", 1L, SimpleOperatorFlag, MagickFalse }, 
    573573    { "+remote", 0L, NonMagickOptionFlag, MagickFalse }, 
    574574    { "-remote", 1L, NonMagickOptionFlag, MagickFalse }, 
    575575    { "+render", 0L, DrawInfoOptionFlag, MagickFalse }, 
    576576    { "-render", 0L, DrawInfoOptionFlag, MagickFalse }, 
    577     { "+repage", 0L, SimpleOperatorOptionFlag, MagickFalse }, 
    578     { "-repage", 1L, SimpleOperatorOptionFlag, MagickFalse }, 
     577    { "+repage", 0L, SimpleOperatorFlag, MagickFalse }, 
     578    { "-repage", 1L, SimpleOperatorFlag, MagickFalse }, 
    579579    { "+resample", 1L, DeprecateOptionFlag, MagickTrue }, 
    580     { "-resample", 1L, SimpleOperatorOptionFlag, MagickFalse }, 
     580    { "-resample", 1L, SimpleOperatorFlag, MagickFalse }, 
    581581    { "+resize", 1L, DeprecateOptionFlag, MagickTrue }, 
    582     { "-resize", 1L, SimpleOperatorOptionFlag, MagickFalse }, 
     582    { "-resize", 1L, SimpleOperatorFlag, MagickFalse }, 
    583583    { "+respect-parenthesis", 0L, ImageInfoOptionFlag, MagickFalse }, 
    584584    { "-respect-parenthesis", 0L, ImageInfoOptionFlag, MagickFalse }, 
    585585    { "+reverse", 0L, DeprecateOptionFlag | FireOptionFlag, MagickTrue }, 
    586     { "-reverse", 0L, ListOperatorOptionFlag | FireOptionFlag, MagickFalse }, 
     586    { "-reverse", 0L, ListOperatorFlag | FireOptionFlag, MagickFalse }, 
    587587    { "+roll", 1L, DeprecateOptionFlag, MagickTrue }, 
    588     { "-roll", 1L, SimpleOperatorOptionFlag, MagickFalse }, 
     588    { "-roll", 1L, SimpleOperatorFlag, MagickFalse }, 
    589589    { "+rotate", 1L, DeprecateOptionFlag, MagickTrue }, 
    590     { "-rotate", 1L, SimpleOperatorOptionFlag, MagickFalse }, 
     590    { "-rotate", 1L, SimpleOperatorFlag, MagickFalse }, 
    591591    { "+sample", 1L, DeprecateOptionFlag, MagickTrue }, 
    592     { "-sample", 1L, SimpleOperatorOptionFlag, MagickFalse }, 
     592    { "-sample", 1L, SimpleOperatorFlag, MagickFalse }, 
    593593    { "+sampling-factor", 0L, ImageInfoOptionFlag, MagickFalse }, 
    594594    { "-sampling-factor", 1L, ImageInfoOptionFlag, MagickFalse }, 
    595     { "+sans", 1L, SpecialOptionFlag, MagickTrue }, 
    596     { "-sans", 1L, SpecialOptionFlag, MagickTrue }, 
    597     { "+sans0", 0L, SpecialOptionFlag, MagickTrue }, /* equivelent to 'noop' */ 
    598     { "-sans0", 0L, SpecialOptionFlag, MagickTrue }, 
    599     { "+sans2", 2L, SpecialOptionFlag, MagickTrue }, 
    600     { "-sans2", 2L, SpecialOptionFlag, MagickTrue }, 
     595    { "+sans", 1L, NoImageOperatorFlag, MagickTrue }, 
     596    { "-sans", 1L, NoImageOperatorFlag, MagickTrue }, 
     597    { "+sans0", 0L, NoImageOperatorFlag, MagickTrue }, /* equivelent to 'noop' */ 
     598    { "-sans0", 0L, NoImageOperatorFlag, MagickTrue }, 
     599    { "+sans2", 2L, NoImageOperatorFlag, MagickTrue }, 
     600    { "-sans2", 2L, NoImageOperatorFlag, MagickTrue }, 
    601601    { "+scale", 1L, DeprecateOptionFlag, MagickTrue }, 
    602     { "-scale", 1L, SimpleOperatorOptionFlag, MagickFalse }, 
     602    { "-scale", 1L, SimpleOperatorFlag, MagickFalse }, 
    603603    { "+scene", 0L, ImageInfoOptionFlag, MagickFalse }, 
    604604    { "-scene", 1L, ImageInfoOptionFlag, MagickFalse }, 
     
    607607    { "+screen", 0L, NonMagickOptionFlag, MagickFalse }, 
    608608    { "-screen", 1L, NonMagickOptionFlag, MagickFalse }, 
    609     { "-script", 1L, UndefinedOptionFlag, MagickFalse }, /* special handling */ 
     609    { "-script", 1L, SpecialOptionFlag, MagickFalse }, 
    610610    { "+seed", 0L, GlobalOptionFlag, MagickFalse }, 
    611611    { "-seed", 1L, GlobalOptionFlag, MagickFalse }, 
    612612    { "+segment", 1L, DeprecateOptionFlag, MagickTrue }, 
    613     { "-segment", 1L, SimpleOperatorOptionFlag, MagickFalse }, 
     613    { "-segment", 1L, SimpleOperatorFlag, MagickFalse }, 
    614614    { "+selective-blur", 1L, DeprecateOptionFlag, MagickTrue }, 
    615     { "-selective-blur", 1L, SimpleOperatorOptionFlag, MagickFalse }, 
     615    { "-selective-blur", 1L, SimpleOperatorFlag, MagickFalse }, 
    616616    { "+separate", 0L, DeprecateOptionFlag | FireOptionFlag, MagickTrue }, 
    617     { "-separate", 0L, SimpleOperatorOptionFlag | FireOptionFlag, MagickFalse }, 
     617    { "-separate", 0L, SimpleOperatorFlag | FireOptionFlag, MagickFalse }, 
    618618    { "+sepia-tone", 1L, DeprecateOptionFlag, MagickTrue }, 
    619     { "-sepia-tone", 1L, SimpleOperatorOptionFlag, MagickFalse }, 
    620     { "+set", 1L, SimpleOperatorOptionFlag, MagickFalse }, 
    621     { "-set", 2L, SimpleOperatorOptionFlag, MagickFalse }, 
     619    { "-sepia-tone", 1L, SimpleOperatorFlag, MagickFalse }, 
     620    { "+set", 1L, SimpleOperatorFlag, MagickFalse }, 
     621    { "-set", 2L, SimpleOperatorFlag, MagickFalse }, 
    622622    { "+shade", 0L, DeprecateOptionFlag, MagickTrue }, 
    623     { "-shade", 1L, SimpleOperatorOptionFlag, MagickFalse }, 
     623    { "-shade", 1L, SimpleOperatorFlag, MagickFalse }, 
    624624    { "+shadow", 1L, DeprecateOptionFlag, MagickTrue }, 
    625     { "-shadow", 1L, SimpleOperatorOptionFlag, MagickFalse }, 
     625    { "-shadow", 1L, SimpleOperatorFlag, MagickFalse }, 
    626626    { "+shared-memory", 0L, NonMagickOptionFlag, MagickFalse }, 
    627627    { "-shared-memory", 1L, NonMagickOptionFlag, MagickFalse }, 
    628628    { "+sharpen", 1L, DeprecateOptionFlag, MagickTrue }, 
    629     { "-sharpen", 1L, SimpleOperatorOptionFlag, MagickFalse }, 
     629    { "-sharpen", 1L, SimpleOperatorFlag, MagickFalse }, 
    630630    { "+shave", 1L, DeprecateOptionFlag, MagickTrue }, 
    631     { "-shave", 1L, SimpleOperatorOptionFlag, MagickFalse }, 
     631    { "-shave", 1L, SimpleOperatorFlag, MagickFalse }, 
    632632    { "+shear", 1L, DeprecateOptionFlag, MagickTrue }, 
    633     { "-shear", 1L, SimpleOperatorOptionFlag, MagickFalse }, 
    634     { "+sigmoidal-contrast", 1L, SimpleOperatorOptionFlag, MagickFalse }, 
    635     { "-sigmoidal-contrast", 1L, SimpleOperatorOptionFlag, MagickFalse }, 
     633    { "-shear", 1L, SimpleOperatorFlag, MagickFalse }, 
     634    { "+sigmoidal-contrast", 1L, SimpleOperatorFlag, MagickFalse }, 
     635    { "-sigmoidal-contrast", 1L, SimpleOperatorFlag, MagickFalse }, 
    636636    { "+silent", 0L, NonMagickOptionFlag, MagickFalse }, 
    637637    { "-silent", 1L, NonMagickOptionFlag, MagickFalse }, 
     
    639639    { "-size", 1L, ImageInfoOptionFlag, MagickFalse }, 
    640640    { "+sketch", 1L, DeprecateOptionFlag, MagickTrue }, 
    641     { "-sketch", 1L, SimpleOperatorOptionFlag, MagickFalse }, 
    642     { "+smush", 1L, ListOperatorOptionFlag | FireOptionFlag, MagickFalse }, 
    643     { "-smush", 1L, ListOperatorOptionFlag | FireOptionFlag, MagickFalse }, 
     641    { "-sketch", 1L, SimpleOperatorFlag, MagickFalse }, 
     642    { "+smush", 1L, ListOperatorFlag | FireOptionFlag, MagickFalse }, 
     643    { "-smush", 1L, ListOperatorFlag | FireOptionFlag, MagickFalse }, 
    644644    { "+snaps", 0L, NonMagickOptionFlag, MagickFalse }, 
    645645    { "-snaps", 1L, NonMagickOptionFlag, MagickFalse }, 
    646646    { "+solarize", 1L, DeprecateOptionFlag, MagickTrue }, 
    647     { "-solarize", 1L, SimpleOperatorOptionFlag, MagickFalse }, 
     647    { "-solarize", 1L, SimpleOperatorFlag, MagickFalse }, 
    648648    { "+sparse-color", 1L, DeprecateOptionFlag, MagickTrue }, 
    649     { "-sparse-color", 2L, SimpleOperatorOptionFlag, MagickFalse }, 
     649    { "-sparse-color", 2L, SimpleOperatorFlag, MagickFalse }, 
    650650    { "+splice", 1L, DeprecateOptionFlag, MagickTrue }, 
    651     { "-splice", 1L, SimpleOperatorOptionFlag, MagickFalse }, 
     651    { "-splice", 1L, SimpleOperatorFlag, MagickFalse }, 
    652652    { "+spread", 1L, DeprecateOptionFlag, MagickTrue }, 
    653     { "-spread", 1L, SimpleOperatorOptionFlag, MagickFalse }, 
     653    { "-spread", 1L, SimpleOperatorFlag, MagickFalse }, 
    654654    { "+statistic", 2L, DeprecateOptionFlag, MagickTrue }, 
    655     { "-statistic", 2L, SimpleOperatorOptionFlag, MagickFalse }, 
     655    { "-statistic", 2L, SimpleOperatorFlag, MagickFalse }, 
    656656    { "+stegano", 0L, NonMagickOptionFlag, MagickFalse }, 
    657657    { "-stegano", 1L, NonMagickOptionFlag, MagickFalse }, 
     
    659659    { "-stereo", 1L, NonMagickOptionFlag, MagickFalse }, 
    660660    { "+stretch", 1L, DeprecateOptionFlag, MagickTrue }, 
    661     { "-stretch", 1L, SimpleOperatorOptionFlag, MagickFalse }, 
     661    { "-stretch", 1L, SimpleOperatorFlag, MagickFalse }, 
    662662    { "+strip", 0L, DeprecateOptionFlag, MagickTrue }, 
    663     { "-strip", 0L, SimpleOperatorOptionFlag, MagickFalse }, 
     663    { "-strip", 0L, SimpleOperatorFlag, MagickFalse }, 
    664664    { "+stroke", 0L, ImageInfoOptionFlag | DrawInfoOptionFlag, MagickFalse }, 
    665665    { "-stroke", 1L, ImageInfoOptionFlag | DrawInfoOptionFlag, MagickFalse }, 
     
    668668    { "+style", 0L, DrawInfoOptionFlag, MagickFalse }, 
    669669    { "-style", 1L, DrawInfoOptionFlag, MagickFalse }, 
    670 //  { "+subimage-search", 0L, NonMagickOptionFlag | ImageInfoOptionFlag, MagickFalse }, 
    671 //  { "-subimage-search", 0L, NonMagickOptionFlag | ImageInfoOptionFlag, MagickFalse }, 
    672     { "-subimage", 0L, ListOperatorOptionFlag, MagickFalse }, 
    673     { "+swap", 0L, ListOperatorOptionFlag | FireOptionFlag, MagickFalse }, 
    674     { "-swap", 1L, ListOperatorOptionFlag | FireOptionFlag, MagickFalse }, 
     670    { "+subimage-search", 0L, NonMagickOptionFlag | ImageInfoOptionFlag, MagickFalse }, 
     671    { "-subimage-search", 0L, NonMagickOptionFlag | ImageInfoOptionFlag, MagickFalse }, 
     672    { "-subimage", 0L, ListOperatorFlag, MagickFalse }, 
     673    { "+swap", 0L, ListOperatorFlag | FireOptionFlag, MagickFalse }, 
     674    { "-swap", 1L, ListOperatorFlag | FireOptionFlag, MagickFalse }, 
    675675    { "+swirl", 1L, DeprecateOptionFlag, MagickTrue }, 
    676     { "-swirl", 1L, SimpleOperatorOptionFlag, MagickFalse }, 
     676    { "-swirl", 1L, SimpleOperatorFlag, MagickFalse }, 
    677677    { "+synchronize", 0L, ImageInfoOptionFlag, MagickFalse }, 
    678678    { "-synchronize", 0L, ImageInfoOptionFlag, MagickFalse }, 
     
    683683    { "+texture", 0L, ImageInfoOptionFlag, MagickFalse }, 
    684684    { "-texture", 1L, ImageInfoOptionFlag, MagickFalse }, 
    685     { "+threshold", 0L, SimpleOperatorOptionFlag, MagickFalse }, 
    686     { "-threshold", 1L, SimpleOperatorOptionFlag, MagickFalse }, 
     685    { "+threshold", 0L, SimpleOperatorFlag, MagickFalse }, 
     686    { "-threshold", 1L, SimpleOperatorFlag, MagickFalse }, 
    687687    { "+thumbnail", 1L, DeprecateOptionFlag, MagickTrue }, 
    688     { "-thumbnail", 1L, SimpleOperatorOptionFlag, MagickFalse }, 
     688    { "-thumbnail", 1L, SimpleOperatorFlag, MagickFalse }, 
    689689    { "+tile", 0L, DrawInfoOptionFlag, MagickFalse }, 
    690690    { "-tile", 1L, DrawInfoOptionFlag, MagickFalse }, 
    691691    { "+tile-offset", 0L, ImageInfoOptionFlag, MagickFalse }, 
    692692    { "-tile-offset", 1L, ImageInfoOptionFlag, MagickFalse }, 
    693     { "+tint", 1L, SimpleOperatorOptionFlag, MagickFalse }, 
    694     { "-tint", 1L, SimpleOperatorOptionFlag, MagickFalse }, 
     693    { "+tint", 1L, SimpleOperatorFlag, MagickFalse }, 
     694    { "-tint", 1L, SimpleOperatorFlag, MagickFalse }, 
    695695    { "+title", 0L, NonMagickOptionFlag, MagickFalse }, 
    696696    { "-title", 1L, NonMagickOptionFlag, MagickFalse }, 
    697697    { "+transform", 0L, DeprecateOptionFlag, MagickTrue }, 
    698     { "-transform", 0L, ReplacedOptionFlag | SimpleOperatorOptionFlag, MagickTrue }, 
    699     { "+transparent", 1L, SimpleOperatorOptionFlag, MagickFalse }, 
    700     { "-transparent", 1L, SimpleOperatorOptionFlag, MagickFalse }, 
     698    { "-transform", 0L, ReplacedOptionFlag | SimpleOperatorFlag, MagickTrue }, 
     699    { "+transparent", 1L, SimpleOperatorFlag, MagickFalse }, 
     700    { "-transparent", 1L, SimpleOperatorFlag, MagickFalse }, 
    701701    { "+transparent-color", 0L, ImageInfoOptionFlag, MagickFalse }, 
    702702    { "-transparent-color", 1L, ImageInfoOptionFlag, MagickFalse }, 
    703703    { "+transpose", 0L, DeprecateOptionFlag, MagickTrue }, 
    704     { "-transpose", 0L, SimpleOperatorOptionFlag, MagickFalse }, 
     704    { "-transpose", 0L, SimpleOperatorFlag, MagickFalse }, 
    705705    { "+transverse", 0L, DeprecateOptionFlag, MagickTrue }, 
    706     { "-transverse", 0L, SimpleOperatorOptionFlag, MagickFalse }, 
     706    { "-transverse", 0L, SimpleOperatorFlag, MagickFalse }, 
    707707    { "+treedepth", 1L, DeprecateOptionFlag, MagickTrue }, 
    708708    { "-treedepth", 1L, QuantizeInfoOptionFlag, MagickFalse }, 
    709709    { "+trim", 0L, DeprecateOptionFlag, MagickTrue }, 
    710     { "-trim", 0L, SimpleOperatorOptionFlag, MagickFalse }, 
    711     { "+type", 0L, ImageInfoOptionFlag | SimpleOperatorOptionFlag, MagickFalse }, 
    712     { "-type", 1L, ImageInfoOptionFlag | SimpleOperatorOptionFlag, MagickFalse }, 
     710    { "-trim", 0L, SimpleOperatorFlag, MagickFalse }, 
     711    { "+type", 0L, ImageInfoOptionFlag | SimpleOperatorFlag, MagickFalse }, 
     712    { "-type", 1L, ImageInfoOptionFlag | SimpleOperatorFlag, MagickFalse }, 
    713713    { "+undercolor", 0L, ImageInfoOptionFlag | DrawInfoOptionFlag, MagickFalse }, 
    714714    { "-undercolor", 1L, ImageInfoOptionFlag | DrawInfoOptionFlag, MagickFalse }, 
    715     { "+unique", 0L, SimpleOperatorOptionFlag, MagickFalse }, 
    716     { "-unique", 0L, SimpleOperatorOptionFlag, MagickFalse }, 
     715    { "+unique", 0L, SimpleOperatorFlag, MagickFalse }, 
     716    { "-unique", 0L, SimpleOperatorFlag, MagickFalse }, 
    717717    { "+unique-colors", 0L, DeprecateOptionFlag, MagickTrue }, 
    718     { "-unique-colors", 0L, SimpleOperatorOptionFlag, MagickFalse }, 
     718    { "-unique-colors", 0L, SimpleOperatorFlag, MagickFalse }, 
    719719    { "+units", 0L, ImageInfoOptionFlag, MagickFalse }, 
    720720    { "-units", 1L, ImageInfoOptionFlag, MagickFalse }, 
    721721    { "+unsharp", 1L, DeprecateOptionFlag, MagickTrue }, 
    722     { "-unsharp", 1L, SimpleOperatorOptionFlag, MagickFalse }, 
     722    { "-unsharp", 1L, SimpleOperatorFlag, MagickFalse }, 
    723723    { "+update", 0L, NonMagickOptionFlag, MagickFalse }, 
    724724    { "-update", 1L, NonMagickOptionFlag, MagickFalse }, 
     
    728728    { "-verbose", 0L, ImageInfoOptionFlag, MagickFalse }, 
    729729    { "+version", 0L, DeprecateOptionFlag, MagickTrue }, 
    730     { "-version", 0L, SpecialOptionFlag, MagickFalse }, 
     730    { "-version", 0L, NoImageOperatorFlag, MagickFalse }, 
    731731    { "+view", 0L, ImageInfoOptionFlag, MagickFalse }, 
    732732    { "-view", 1L, ImageInfoOptionFlag, MagickFalse }, 
    733733    { "+vignette", 1L, DeprecateOptionFlag, MagickTrue }, 
    734     { "-vignette", 1L, SimpleOperatorOptionFlag, MagickFalse }, 
     734    { "-vignette", 1L, SimpleOperatorFlag, MagickFalse }, 
    735735    { "+virtual-pixel", 0L, ImageInfoOptionFlag, MagickFalse }, 
    736736    { "-virtual-pixel", 1L, ImageInfoOptionFlag, MagickFalse }, 
     
    740740    { "-watermark", 1L, NonMagickOptionFlag, MagickFalse }, 
    741741    { "+wave", 1L, DeprecateOptionFlag, MagickTrue }, 
    742     { "-wave", 1L, SimpleOperatorOptionFlag, MagickFalse }, 
     742    { "-wave", 1L, SimpleOperatorFlag, MagickFalse }, 
    743743    { "+weight", 1L, DeprecateOptionFlag, MagickTrue }, 
    744744    { "-weight", 1L, DrawInfoOptionFlag, MagickFalse }, 
     
    746746    { "-white-point", 1L, ImageInfoOptionFlag, MagickFalse }, 
    747747    { "+white-threshold", 1L, DeprecateOptionFlag, MagickTrue }, 
    748     { "-white-threshold", 1L, SimpleOperatorOptionFlag, MagickFalse }, 
     748    { "-white-threshold", 1L, SimpleOperatorFlag, MagickFalse }, 
    749749    { "+window", 0L, NonMagickOptionFlag, MagickFalse }, 
    750750    { "-window", 1L, NonMagickOptionFlag, MagickFalse }, 
    751751    { "+window-group", 0L, NonMagickOptionFlag, MagickFalse }, 
    752752    { "-window-group", 1L, NonMagickOptionFlag, MagickFalse }, 
    753     { "+write", 1L, SpecialOptionFlag | FireOptionFlag, MagickFalse }, 
    754     { "-write", 1L, SpecialOptionFlag | FireOptionFlag, MagickFalse }, 
     753    { "+write", 1L, NoImageOperatorFlag | FireOptionFlag, MagickFalse }, 
     754    { "-write", 1L, NoImageOperatorFlag | FireOptionFlag, MagickFalse }, 
    755755    { (char *) NULL, 0L, UndefinedOptionFlag, MagickFalse } 
    756756  }, 
  • ImageMagick/trunk/MagickCore/option.h

    r7570 r7587  
    113113} ValidateType; 
    114114 
    115 typedef struct _OptionInfo 
    116 { 
    117   const char 
    118     *mnemonic; 
    119  
    120   ssize_t 
    121     type, 
    122     flags; 
    123  
    124   MagickBooleanType 
    125     stealth; 
    126 } OptionInfo; 
    127  
    128115/* 
    129116  Flags to describe classes of image processing options. 
     
    141128  SettingOptionFlags        = 0x000F,  /* mask for all setting options */ 
    142129 
    143   SimpleOperatorOptionFlag  = 0x0010,  /* Simple Image processing operator */ 
    144   ListOperatorOptionFlag    = 0x0020,  /* Multi-Image processing operator */ 
    145   SpecialOptionFlag         = 0x0040,  /* Special handled Option */ 
     130  NoImageOperatorFlag       = 0x0010,  /* Images not required operator */ 
     131  SimpleOperatorFlag        = 0x0020,  /* Simple Image processing operator */ 
     132  ListOperatorFlag          = 0x0040,  /* Multi-Image processing operator */ 
    146133  GenesisOptionFlag         = 0x0080,  /* MagickCommandGenesis() Only Option */ 
    147134 
    148   ImageRequiredFlags        = 0x0030,  /* Flags also means Images Required */ 
     135  SpecialOptionFlag         = 0x0100,  /* Operator with Special Requirements */ 
     136                                       /* EG: for specific CLI commands */ 
    149137 
    150138  NonMagickOptionFlag       = 0x1000,  /* Option not used by Magick Command */ 
    151139  FireOptionFlag            = 0x2000,  /* Convert operation seq firing point */ 
    152140  DeprecateOptionFlag       = 0x4000,  /* Deprecate option (no code) */ 
    153   ReplacedOptionFlag        = 0x8000   /* Replaced Option (still works) */ 
     141  ReplacedOptionFlag        = 0x8000   /* Replaced Option (but still works) */ 
    154142 
    155143} CommandOptionFlags; 
     144 
     145typedef struct _OptionInfo 
     146{ 
     147  const char 
     148    *mnemonic; 
     149 
     150  ssize_t 
     151    type, 
     152    flags; 
     153 
     154  MagickBooleanType 
     155    stealth; 
     156} OptionInfo; 
    156157 
    157158 
  • ImageMagick/trunk/MagickWand/magick-cli.c

    r7580 r7587  
    210210  while (1) { 
    211211 
    212     /* Get a option */ 
    213212    { MagickBooleanType status = GetScriptToken(token_info); 
    214213      cli_wand->line=token_info->token_line; 
     
    221220    CloneString(&option,token_info->token); 
    222221 
    223     { /* get option type and argument count */ 
    224       const OptionInfo *option_info = GetCommandOptionInfo(option); 
    225       count=option_info->type; 
    226       option_type=(CommandOptionFlags) option_info->flags; 
     222    /* get option, its argument count, and option type */ 
     223    cli_wand->command = GetCommandOptionInfo(option); 
     224    count=cli_wand->command->type; 
     225    option_type=(CommandOptionFlags) cli_wand->command->flags; 
    227226#if 0 
    228       (void) FormatLocaleFile(stderr, "Script: %u,%u: \"%s\" matched \"%s\"\n", 
    229              cli_wand->line, cli_wand->line, option, option_info->mnemonic ); 
    230 #endif 
    231     } 
     227    (void) FormatLocaleFile(stderr, "Script: %u,%u: \"%s\" matched \"%s\"\n", 
     228          cli_wand->line, cli_wand->line, option, cli_wand->command->mnemonic ); 
     229#endif 
    232230 
    233231    /* handle a undefined option - image read? */ 
     
    240238      if ( IfMagickFalse(IsCommandOption(option))) { 
    241239        /* non-option -- treat as a image read */ 
    242         CLISpecialOperator(cli_wand,"-read",option); 
     240        cli_wand->command=(const OptionInfo *)NULL; 
     241        CLIOption(cli_wand,"-read",option); 
    243242        goto next_token; 
    244243      } 
    245       if ( LocaleCompare(option,"-script") == 0 ) { 
    246         option_type=SpecialOptionFlag; 
    247         count=1; 
    248         /* fall thru - collect one argument */ 
    249       } 
    250       else { 
    251         CLIWandExceptionBreak(OptionFatalError,"UnrecognizedOption",option); 
    252         goto next_token; 
    253       } 
     244      CLIWandExceptionBreak(OptionFatalError,"UnrecognizedOption",option); 
     245      goto next_token; 
    254246    } 
    255247 
     
    269261    else 
    270262      CloneString(&arg2,(char *)NULL); 
     263 
    271264 
    272265    /* 
     
    281274    if ( (option_type & DeprecateOptionFlag) != 0 ) { 
    282275      CLIWandException(OptionError,"DeprecatedOptionNoCode",option); 
    283       if ( CLICatchException(cli_wand, MagickFalse) != MagickFalse ) 
     276      if ( IfMagickTrue(CLICatchException(cli_wand, MagickFalse)) ) 
    284277        break; 
    285278      goto next_token; 
     
    296289        break; /* forced end of script */ 
    297290      } 
    298       else if ( LocaleCompare(option,"-script") == 0 ) { 
     291      if ( LocaleCompare(option,"-script") == 0 ) { 
    299292        /* FUTURE: call new script from this script */ 
    300293        CLIWandExceptionBreak(OptionError,"InvalidUseOfOption",option); 
     
    303296      /* FUTURE: handle special script-argument options here */ 
    304297      /* handle any other special operators now */ 
    305       CLISpecialOperator(cli_wand,option,arg1); 
    306     } 
    307  
    308     if ( (option_type & SettingOptionFlags) != 0 ) { 
    309       CLISettingOptionInfo(cli_wand, option, arg1, arg2); 
    310       // FUTURE: Sync Specific Settings into Image Properities (not global) 
    311     } 
    312  
    313     /* FUTURE: The not a setting part below is a temporary hack to stop gap 
    314      * measure for options that are BOTH settings and optional 'Simple/List' 
    315      * operators.  Specifically -monitor, -depth, and  -colorspace */ 
    316     if ( cli_wand->wand.images == (Image *)NULL ) { 
    317       if (((option_type & ImageRequiredFlags) != 0 ) && 
    318           ((option_type & SettingOptionFlags) == 0 ))  /* temp hack */ 
    319         CLIWandException(OptionError,"NoImagesFound",option); 
     298      CLIWandExceptionBreak(OptionError,"InvalidUseOfOption",option); 
    320299      goto next_token; 
    321300    } 
    322301 
    323     /* FUTURE: this is temporary - get 'settings' to handle 
    324        distribution of settings to images attributes,proprieties,artifacts */ 
    325     SyncImagesSettings(cli_wand->wand.image_info,cli_wand->wand.images, 
    326           cli_wand->wand.exception); 
    327  
    328     if ( (option_type & SimpleOperatorOptionFlag) != 0) 
    329       CLISimpleOperatorImages(cli_wand, option, arg1, arg2); 
    330  
    331     if ( (option_type & ListOperatorOptionFlag) != 0 ) 
    332       CLIListOperatorImages(cli_wand, option, arg1, arg2); 
     302    /* Process non-specific Option */ 
     303    CLIOption(cli_wand, option, arg1, arg2); 
    333304 
    334305next_token: 
     
    469440    cli_wand->line=i;  /* note the argument for this option */ 
    470441 
    471     { const OptionInfo *option_info = GetCommandOptionInfo(argv[i]); 
    472       count=option_info->type; 
    473       option_type=(CommandOptionFlags) option_info->flags; 
     442    /* get option, its argument count, and option type */ 
     443    cli_wand->command = GetCommandOptionInfo(argv[i]); 
     444    count=cli_wand->command->type; 
     445    option_type=(CommandOptionFlags) cli_wand->command->flags; 
    474446#if 0 
    475       (void) FormatLocaleFile(stderr, "CLI %d: \"%s\" matched \"%s\"\n", 
    476             i, argv[i], option_info->mnemonic ); 
    477 #endif 
    478     } 
     447    (void) FormatLocaleFile(stderr, "CLI %d: \"%s\" matched \"%s\"\n", 
     448          i, argv[i], cli_wand->command->mnemonic ); 
     449#endif 
    479450 
    480451    if ( option_type == UndefinedOptionFlag || 
     
    484455#endif 
    485456      if ( IfMagickFalse(IsCommandOption(option)) ) { 
    486          if ( (cli_wand->process_flags & ProcessNonOptionImageRead) != 0 ) 
    487            /* non-option -- treat as a image read */ 
    488            CLISpecialOperator(cli_wand,"-read",option); 
    489          else 
    490            CLIWandException(OptionFatalError,"UnrecognizedOption",option); 
    491          goto next_argument; 
    492       } 
    493       if ( ((cli_wand->process_flags & ProcessScriptOption) != 0) && 
    494            (LocaleCompare(option,"-script") == 0) ) { 
    495         /* Call Script from CLI, with a filename as a zeroth argument. 
    496            NOTE: -script may need to use 'implict write filename' so it 
    497            must be handled here to prevent 'missing argument' error. 
    498         */ 
    499         ProcessScriptOptions(cli_wand,argc,argv,i+1); 
    500         return(argc);  /* Script does not return to CLI -- Yet -- FUTURE */ 
     457        if ( (cli_wand->process_flags & ProcessNonOptionImageRead) != 0 ) { 
     458          /* non-option -- treat as a image read */ 
     459          cli_wand->command=(const OptionInfo *)NULL; 
     460          CLIOption(cli_wand,"-read",option); 
     461          goto next_argument; 
     462        } 
    501463      } 
    502464      CLIWandException(OptionFatalError,"UnrecognizedOption",option); 
    503465      goto next_argument; 
     466    } 
     467 
     468    if ( ((option_type & SpecialOptionFlag) != 0 ) && 
     469         ((cli_wand->process_flags & ProcessScriptOption) != 0) && 
     470         (LocaleCompare(option,"-script") == 0) ) { 
     471      /* Call Script from CLI, with a filename as a zeroth argument. 
     472         NOTE: -script may need to use the 'implict write filename' argument 
     473         so it must be handled specially to prevent a 'missing argument' error. 
     474      */ 
     475      if ( (i+count) >= argc ) 
     476        CLIWandException(OptionFatalError,"MissingArgument",option); 
     477      ProcessScriptOptions(cli_wand,argc,argv,i+1); 
     478      return(argc);  /* Script does not return to CLI -- Yet */ 
     479                     /* FUTURE: when it does, their may be no write arg! */ 
    504480    } 
    505481 
     
    522498          i,option,count,option_type,arg1,arg2); 
    523499#endif 
    524     /* Hard Depreciated Options, no code to execute - error */ 
    525     if ( (option_type & DeprecateOptionFlag) != 0 ) { 
    526       CLIWandException(OptionError,"DeprecatedOptionNoCode",option); 
    527       goto next_argument; 
    528     } 
    529  
    530     /* Ignore MagickCommandGenesis() only option on CLI */ 
     500 
    531501    if ( (option_type & GenesisOptionFlag) != 0 ) 
    532       goto next_argument; 
     502      goto next_argument; /* ignored this from command line args */ 
    533503 
    534504    if ( (option_type & SpecialOptionFlag) != 0 ) { 
     
    536506           && LocaleCompare(option,"-exit") == 0 ) 
    537507        return(i+count); 
    538       /* handle any other special operators now */ 
    539       CLISpecialOperator(cli_wand,option,arg1); 
    540     } 
    541  
    542     if ( (option_type & SettingOptionFlags) != 0 ) { 
    543       CLISettingOptionInfo(cli_wand, option, arg1, arg2); 
    544       // FUTURE: Sync individual Settings into images (no SyncImageSettings()) 
    545     } 
    546  
    547     /* FUTURE: The not a setting part below is a temporary hack to stop gap 
    548      * measure for options that are BOTH settings and optional 'Simple/List' 
    549      * operators.  Specifically -monitor, -depth, and  -colorspace */ 
    550     if ( cli_wand->wand.images == (Image *)NULL ) { 
    551       if (((option_type & ImageRequiredFlags) != 0 ) && 
    552           ((option_type & SettingOptionFlags) == 0 )  )  /* temp hack */ 
    553         CLIWandException(OptionError,"NoImagesFound",option); 
    554508      goto next_argument; 
    555509    } 
    556510 
    557     /* FUTURE: this is temporary - get 'settings' to handle 
    558        distribution of settings to images attributes,proprieties,artifacts */ 
    559     SyncImagesSettings(cli_wand->wand.image_info,cli_wand->wand.images, 
    560           cli_wand->wand.exception); 
    561  
    562     if ( (option_type & SimpleOperatorOptionFlag) != 0) 
    563       CLISimpleOperatorImages(cli_wand, option, arg1, arg2); 
    564  
    565     if ( (option_type & ListOperatorOptionFlag) != 0 ) 
    566       CLIListOperatorImages(cli_wand, option, arg1, arg2); 
     511    /* Process non-specific Option */ 
     512    CLIOption(cli_wand, option, arg1, arg2); 
    567513 
    568514next_argument: 
     
    615561  } 
    616562 
    617   CLISpecialOperator(cli_wand,"-write",option); 
     563  cli_wand->command=(const OptionInfo *)NULL; 
     564  CLIOption(cli_wand,"-write",option); 
    618565  return(argc); 
    619566} 
     
    805752  /* Special Case: Version Information and Abort */ 
    806753  if (argc == 2) { 
    807     if (LocaleCompare("-version",argv[1]) == 0) { 
    808       CLISpecialOperator(cli_wand, "-version", (char *)NULL); 
     754    if (LocaleCompare("-version",argv[1]) == 0) { /* just version */ 
     755      CLIOption(cli_wand, "-version"); 
    809756      goto Magick_Command_Exit; 
    810757    } 
    811758    if ((LocaleCompare("-help",argv[1]) == 0)   || /* GNU standard option */ 
    812         (LocaleCompare("--help",argv[1]) == 0) ) { 
     759        (LocaleCompare("--help",argv[1]) == 0) ) { /* just a brief summary */ 
    813760      MagickUsage(MagickFalse); 
    814761      goto Magick_Command_Exit; 
    815762    } 
    816     if (LocaleCompare("-usage",argv[1]) == 0) { 
    817       CLISpecialOperator(cli_wand, "-version", (char *)NULL); 
     763    if (LocaleCompare("-usage",argv[1]) == 0) {   /* both version & usage */ 
     764      CLIOption(cli_wand, "-version"); 
    818765      MagickUsage(MagickTrue); 
    819766      goto Magick_Command_Exit; 
     
    831778  /* List Information and Abort */ 
    832779  if (LocaleCompare("-list",argv[1]) == 0) { 
    833     CLISpecialOperator(cli_wand, argv[1], argv[2]); 
     780    CLIOption(cli_wand, argv[1]); 
    834781    goto Magick_Command_Exit; 
    835782  } 
     
    862809     FUTURE: "-reset stacks" option  */ 
    863810  while (cli_wand->image_list_stack != (Stack *)NULL) 
    864     CLISpecialOperator(cli_wand,")",(const char *)NULL); 
     811    CLIOption(cli_wand,")"); 
    865812  while (cli_wand->image_info_stack != (Stack *)NULL) 
    866     CLISpecialOperator(cli_wand,"}",(const char *)NULL); 
     813    CLIOption(cli_wand,"}"); 
    867814 
    868815  /* assert we have recovered the original structures */ 
  • ImageMagick/trunk/MagickWand/operation.c

    r7577 r7587  
    367367%                                                                             % 
    368368%                                                                             % 
    369 +   C L I S e t t i n g O p t i o n I n f o                                   % 
     369%   C L I S e t t i n g O p t i o n I n f o                                   % 
    370370%                                                                             % 
    371371%                                                                             % 
     
    397397%    o arg1, arg2: optional argument strings to the operation 
    398398%        arg2 is currently only used by "-limit" 
    399 % 
    400 % Example usage... 
    401 % 
    402 %    CLISettingOptionInfo(cli_wand, "-background", "Red", NULL); // set value 
    403 %    CLISettingOptionInfo(cli_wand, "-adjoin", NULL, NULL);      // set boolean 
    404 %    CLISettingOptionInfo(cli_wand, "+adjoin", NULL, NULL);      // unset 
    405 % 
    406 % Or for handling command line arguments EG: +/-option ["arg1"] 
    407 % 
    408 %    argc,argv 
    409 %    i=index in argv 
    410 % 
    411 %    option_info = GetCommandOptionInfo(argv[i]); 
    412 %    count=option_info->type; 
    413 %    option_type=option_info->flags; 
    414 % 
    415 %    if ( (option_type & SettingOperatorOptionFlags) != 0 ) 
    416 %      CLISettingOptionInfo(cli_wand, argv[i], 
    417 %                   (count>=1) ? argv[i+1] : (char *)NULL, 
    418 %                   (count>=2) ? argv[i+2] : (char *)NULL); 
    419 %    i += count+1; 
    420399% 
    421400*/ 
     
    453432      if (LocaleCompare("affine",option+1) == 0) 
    454433        { 
    455           CLIWandWarnDepreciated("-draw 'affine ...'"); 
     434          CLIWandWarnReplaced("-draw 'affine ...'"); 
    456435          if (IfSetOption) 
    457436            (void) ParseAffineGeometry(arg1,&_draw_info->affine,_exception); 
     
    559538      if (LocaleCompare("box",option+1) == 0) 
    560539        { 
    561           CLIWandWarnDepreciated("-undercolor"); 
     540          CLIWandWarnReplaced("-undercolor"); 
    562541          CLISettingOptionInfo(cli_wand,"-undercolor",arg1, arg2); 
    563542          break; 
     
    16021581%    o arg1, arg2: optional argument strings to the operation 
    16031582% 
    1604 % Any problems will be added to the 'exception' entry of the given wand. 
    1605 % 
    1606 % Example usage... 
    1607 % 
    1608 %  CLISimpleOperatorImages(cli_wand, "-crop","100x100+20+30",NULL); 
    1609 %  CLISimpleOperatorImages(cli_wand, "+repage",NULL,NULL); 
    1610 %  CLISimpleOperatorImages(cli_wand, "+distort","SRT","45"); 
    1611 % 
    1612 % Or for handling command line arguments EG: +/-option ["arg1"] 
    1613 % 
    1614 %    cli_wand 
    1615 %    argc,argv 
    1616 %    i=index in argv 
    1617 % 
    1618 %    option_info = GetCommandOptionInfo(argv[i]); 
    1619 %    count=option_info->type; 
    1620 %    option_type=option_info->flags; 
    1621 % 
    1622 %    if ( (option_type & SimpleOperatorOptionFlag) != 0 ) 
    1623 %      CLISimpleOperatorImages(cli_wand, argv[i], 
    1624 %          count>=1 ? argv[i+1] : (char *)NULL, 
    1625 %          count>=2 ? argv[i+2] : (char *)NULL ); 
    1626 %    i += count+1; 
    1627 % 
    16281583*/ 
    16291584 
     
    16791634  if (IfMagickTrue(cli_wand->wand.debug)) 
    16801635    (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",cli_wand->wand.name); 
    1681  
    1682   (void) SyncImageSettings(_image_info,_image,_exception); 
    16831636 
    16841637  SetGeometryInfo(&geometry_info); 
     
    20712024      if (LocaleCompare("contrast",option+1) == 0) 
    20722025        { 
    2073           CLIWandWarnDepreciated(normal_op?"-level":"+level"); 
     2026          CLIWandWarnReplaced(normal_op?"-level":"+level"); 
    20742027          (void) ContrastImage(_image,normal_op,_exception); 
    20752028          break; 
     
    24412394      if (LocaleCompare("gaussian",option+1) == 0) 
    24422395        { 
    2443           CLIWandWarnDepreciated("-gaussian-blur"); 
     2396          CLIWandWarnReplaced("-gaussian-blur"); 
    24442397          CLISimpleOperatorImage(cli_wand,"-gaussian-blur",arg1,NULL); 
    24452398        } 
     
    26482601      if (LocaleCompare("map",option+1) == 0) 
    26492602        { 
    2650           CLIWandWarnDepreciated("-remap"); 
     2603          CLIWandWarnReplaced("-remap"); 
    26512604          CLISimpleOperatorImage(cli_wand,"-remap",NULL,NULL); 
    26522605          break; 
     
    26722625      if (LocaleCompare("matte",option+1) == 0) 
    26732626        { 
    2674           CLIWandWarnDepreciated(IfNormalOp?"-alpha Set":"-alpha Off"); 
     2627          CLIWandWarnReplaced(IfNormalOp?"-alpha Set":"-alpha Off"); 
    26752628          (void) SetImageAlphaChannel(_image,IfNormalOp ? SetAlphaChannel : 
    26762629                         DeactivateAlphaChannel, _exception); 
     
    26792632      if (LocaleCompare("median",option+1) == 0) 
    26802633        { 
    2681           CLIWandWarnDepreciated("-statistic Median"); 
     2634          CLIWandWarnReplaced("-statistic Median"); 
    26822635          CLISimpleOperatorImage(cli_wand,"-statistic","Median",arg1); 
    26832636          break; 
     
    26862639        { 
    26872640          /* FUTURE: note this is also a special "montage" option */ 
    2688           CLIWandWarnDepreciated("-statistic Mode"); 
     2641          CLIWandWarnReplaced("-statistic Mode"); 
    26892642          CLISimpleOperatorImage(cli_wand,"-statistic","Mode",arg1); 
    26902643          break; 
     
    27732726          if (IfNormalOp) 
    27742727            { 
    2775               CLIWandWarnDepreciated("-statistic NonPeak"); 
     2728              CLIWandWarnReplaced("-statistic NonPeak"); 
    27762729              CLISimpleOperatorImage(cli_wand,"-statistic","NonPeak",arg1); 
    27772730              break; 
     
    29652918      if (LocaleCompare("recolor",option+1) == 0) 
    29662919        { 
    2967           CLIWandWarnDepreciated("-color-matrix"); 
     2920          CLIWandWarnReplaced("-color-matrix"); 
    29682921          CLISimpleOperatorImage(cli_wand,"-color-matrix",arg1,NULL); 
    29692922        } 
     
    33223275      if (LocaleCompare("transform",option+1) == 0) 
    33233276        { 
    3324           CLIWandWarnDepreciated("+distort AffineProjection"); 
     3277          CLIWandWarnReplaced("+distort AffineProjection"); 
    33253278          new_image=AffineTransformImage(_image,&_draw_info->affine,_exception); 
    33263279          break; 
     
    35373490%        arg2 is currently not used 
    35383491% 
    3539 % Example usage... 
    3540 % 
    3541 %  CLIListOperatorImages(cli_wand,MagickFalse,"-duplicate", "3",  NULL); 
    3542 %  CLIListOperatorImages(cli_wand,MagickTrue, "+append",    NULL, NULL); 
    3543 % 
    3544 % Or for handling command line arguments EG: +/-option ["arg1"] 
    3545 % 
    3546 %    cli_wand 
    3547 %    argc,argv 
    3548 %    i=index in argv 
    3549 % 
    3550 %    option_info = GetCommandOptionInfo(argv[i]); 
    3551 %    count=option_info->type; 
    3552 %    option_type=option_info->flags; 
    3553 % 
    3554 %    if ( (option_type & ListOperatorOptionFlag) != 0 ) 
    3555 %      CLIListOperatorImages(cli_wand,argv[i], 
    3556 %          count>=1 ? argv[i+1] : (char *)NULL, 
    3557 %          count>=2 ? argv[i+2] : (char *)NULL ); 
    3558 %    i += count+1; 
    3559 % 
    35603492*/ 
    35613493WandExport void CLIListOperatorImages(MagickCLI *cli_wand, 
     
    35843516    (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",cli_wand->wand.name); 
    35853517 
    3586   (void) SyncImagesSettings(_image_info,_images,_exception); 
    3587  
    35883518  new_images=NewImageList(); 
    35893519 
     
    35993529      if (LocaleCompare("average",option+1) == 0) 
    36003530        { 
    3601           CLIWandWarnDepreciated("-evaluate-sequence Mean"); 
     3531          CLIWandWarnReplaced("-evaluate-sequence Mean"); 
    36023532          CLIListOperatorImages(cli_wand,"-evaluate-sequence","Mean",NULL); 
    36033533          break; 
     
    37233653      if (LocaleCompare("deconstruct",option+1) == 0) 
    37243654        { 
    3725           CLIWandWarnDepreciated("-layer CompareAny"); 
     3655          CLIWandWarnReplaced("-layer CompareAny"); 
    37263656          CLIListOperatorImages(cli_wand,"-layer","CompareAny",NULL); 
    37273657          break; 
     
    40213951      if (LocaleCompare("map",option+1) == 0) 
    40223952        { 
    4023           CLIWandWarnDepreciated("+remap"); 
     3953          CLIWandWarnReplaced("+remap"); 
    40243954          (void) RemapImages(_quantize_info,_images,(Image *) NULL,_exception); 
    40253955          break; 
     
    42924222%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
    42934223% 
    4294 %  CLISpecialOperator() Applies operations that may not actually need images 
     4224%  CLINoImageOperator() Applies operations that may not actually need images 
    42954225%  in an image list wen it is applied. 
    42964226% 
     
    43024232%  character prefixes, other than simply '-' or '+'. 
    43034233% 
    4304 %  The format of the CLISpecialOption method is: 
    4305 % 
    4306 %      void CLISpecialOption(MagickCLI *cli_wand,const char *option, 
    4307 %           const char *arg1) 
     4234%  The format of the CLINoImageOption method is: 
     4235% 
     4236%      void CLINoImageOption(MagickCLI *cli_wand,const char *option, 
     4237%           const char *arg1, const char *arg2) 
    43084238% 
    43094239%  A description of each parameter follows: 
     
    43134243%    o option: The special option (with any switch char) to process 
    43144244% 
    4315 %    o arg1: Argument for option, if required 
    4316 % 
    4317 % Example Usage... 
    4318 % 
    4319 %  CLISpecialOperator(cli_wand,"-read","rose:"); 
    4320 % 
    4321 % Or for handling command line arguments EG: +/-option ["arg1"] 
    4322 % 
    4323 %    cli_wand 
    4324 %    argc,argv 
    4325 %    i=index in argv 
    4326 % 
    4327 %    option_info = GetCommandOptionInfo(argv[i]); 
    4328 %    count=option_info->type; 
    4329 %    option_type=option_info->flags; 
    4330 % 
    4331 %    if ( (option_type & SpecialOptionFlag) != 0 ) 
    4332 %      CLISpecialOperator(cli_wand,argv[i], 
    4333 %          count>=1 ? argv[i+1] : (char *)NULL); 
    4334 %    i += count+1; 
     4245%    o arg1 & arg2: Argument for option, if required 
     4246%                   Currently arg2 is not used. 
    43354247% 
    43364248*/ 
    4337  
    4338 WandExport void CLISpecialOperator(MagickCLI *cli_wand, 
    4339   const char *option, const char *arg1) 
     4249WandExport void CLINoImageOperator(MagickCLI *cli_wand, 
     4250  const char *option, const char *arg1, const char *magick_unused(arg2)) 
    43404251{ 
    43414252#define _image_info     (cli_wand->wand.image_info) 
     
    43504261  if (IfMagickTrue(cli_wand->wand.debug)) 
    43514262    (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",cli_wand->wand.name); 
    4352  
    4353   if(_images != (Image *)NULL) 
    4354     (void) SyncImagesSettings(cli_wand->wand.image_info,_images,_exception); 
    43554263 
    43564264  /* 
     
    46744582#undef IfPlusOp 
    46754583} 
     4584 
     4585/* 
     4586%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
     4587%                                                                             % 
     4588%                                                                             % 
     4589%                                                                             % 
     4590+   C L I O p t i o n O p e r a t i o n s                                     % 
     4591%                                                                             % 
     4592%                                                                             % 
     4593%                                                                             % 
     4594%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
     4595% 
     4596%  CLIOption() Processes the given option using the given CLI Magick Wand. 
     4597% 
     4598%  If the cli_wand->command pointer is non-null, then it is assumed that the 
     4599%  option has already been search for up from the CommandOptions[] table in 
     4600%  "MagickCore/options.c" using  GetCommandOptionInfo(), so that any command 
     4601%  specific options (such as "magick" scripting options, or "display" settings) 
     4602%  can be handled separatally. 
     4603% 
     4604%  The format of the CLIOption method is: 
     4605% 
     4606%       void CLIOption(MagickCLI *cli_wand,const char *option, ...) 
     4607% 
     4608%  A description of each parameter follows: 
     4609% 
     4610%     o cli_wand: the main CLI Wand to use. 
     4611% 
     4612%     o option: The special option (with any switch char) to process 
     4613% 
     4614%     o args: any required arguments for an option 
     4615% 
     4616%  Example Usage... 
     4617% 
     4618%    CLIoption(cli_wand,"-read","rose:"); 
     4619%    CLIoption(cli_wand,"-virtual-pixel","transparent"); 
     4620%    CLIoption(cli_wand,"-distort","SRT:","30"); 
     4621%    CLIoption(cli_wand,"-write","rotated_rose.png"); 
     4622% 
     4623*/ 
     4624WandExport void CLIOption(MagickCLI *cli_wand,const char *option,...) 
     4625{ 
     4626  const char 
     4627    *arg1, 
     4628    *arg2; 
     4629 
     4630  CommandOptionFlags 
     4631    option_type; 
     4632 
     4633  assert(cli_wand != (MagickCLI *) NULL); 
     4634  assert(cli_wand->signature == WandSignature); 
     4635  assert(cli_wand->wand.signature == WandSignature); 
     4636  if (IfMagickTrue(cli_wand->wand.debug)) 
     4637    (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",cli_wand->wand.name); 
     4638 
     4639  if ( cli_wand->command == (const OptionInfo *) NULL ) 
     4640    cli_wand->command = GetCommandOptionInfo(option); 
     4641#if 0 
     4642    (void) FormatLocaleFile(stderr, "CLIOption \"%s\" matched \"%s\"\n", 
     4643          option, cli_wand->command->mnemonic ); 
     4644#endif 
     4645 
     4646  option_type=(CommandOptionFlags) cli_wand->command->flags; 
     4647 
     4648  if ( option_type == UndefinedOptionFlag ) 
     4649    CLIWandExceptionReturn(OptionFatalError,"UnrecognizedOption",option); 
     4650 
     4651  assert( LocaleCompare(cli_wand->command->mnemonic,option) == 0 ); 
     4652 
     4653  if ((option_type & (SpecialOptionFlag|GenesisOptionFlag)) != 0 ) 
     4654    CLIWandExceptionReturn(OptionFatalError,"InvalidUseOfOption",option); 
     4655 
     4656  if ( (option_type & DeprecateOptionFlag) != 0 ) 
     4657    CLIWandExceptionReturn(OptionError,"DeprecatedOptionNoCode",option); 
     4658 
     4659  if ( IfMagickTrue(CLICatchException(cli_wand, MagickFalse)) ) 
     4660    return; 
     4661 
     4662 
     4663  { size_t 
     4664      count = cli_wand->command->type; 
     4665 
     4666    va_list 
     4667      operands; 
     4668 
     4669    va_start(operands,option); 
     4670 
     4671    arg1=arg2=NULL; 
     4672    if ( count >= 1 ) 
     4673      arg1=(const char *) va_arg(operands, const char *); 
     4674    if ( count >= 2 ) 
     4675      arg2=(const char *) va_arg(operands, const char *); 
     4676 
     4677    va_end(operands); 
     4678 
     4679#if 1 
     4680    (void) FormatLocaleFile(stderr, 
     4681      "CLIOption: \"%s\"  Count: %d  Flags: %04x  Args: \"%s\" \"%s\"\n", 
     4682          option,count,option_type,arg1,arg2); 
     4683#endif 
     4684  } 
     4685 
     4686  cli_wand->command = (const OptionInfo *) NULL; /* prevent re-use later */ 
     4687 
     4688 
     4689  /* 
     4690     Call the appropriate option handler 
     4691  */ 
     4692 
     4693  /* FUTURE: this is temporary - get 'settings' to handle 
     4694     distribution of settings to images attributes,proprieties,artifacts */ 
     4695  if ( cli_wand->wand.images != (Image *)NULL ) 
     4696    SyncImagesSettings(cli_wand->wand.image_info,cli_wand->wand.images, 
     4697        cli_wand->wand.exception); 
     4698 
     4699  if ( (option_type & SettingOptionFlags) != 0 ) { 
     4700    CLISettingOptionInfo(cli_wand, option, arg1, arg2); 
     4701    // FUTURE: Sync Specific Settings into Image Properities (not global) 
     4702  } 
     4703 
     4704  if ( (option_type & NoImageOperatorFlag) != 0) 
     4705    CLINoImageOperator(cli_wand, option, arg1, arg2); 
     4706 
     4707  /* FUTURE: The not a setting part below is a temporary hack due to 
     4708   * some options being both a Setting and a Simple operator. 
     4709   * Specifically -monitor, -depth, and  -colorspace */ 
     4710  if ( cli_wand->wand.images == (Image *)NULL ) { 
     4711    if ( ((option_type & (SimpleOperatorFlag|ListOperatorFlag)) != 0 ) && 
     4712         ((option_type & SettingOptionFlags) == 0 ))  /* temp hack */ 
     4713      CLIWandException(OptionError,"NoImagesFound",option); 
     4714    return; /* on its own this is not an error */ 
     4715  } 
     4716 
     4717  if ( (option_type & SimpleOperatorFlag) != 0) 
     4718    CLISimpleOperatorImages(cli_wand, option, arg1, arg2); 
     4719 
     4720  if ( (option_type & ListOperatorFlag) != 0 ) 
     4721    CLIListOperatorImages(cli_wand, option, arg1, arg2); 
     4722 
     4723} 
  • ImageMagick/trunk/MagickWand/operation.h

    r7439 r7587  
    2323#endif 
    2424 
     25/* These actually private */ 
    2526extern WandExport void 
    2627  CLISettingOptionInfo(MagickCLI *,const char *,const char *, const char *), 
    2728  CLISimpleOperatorImages(MagickCLI *,const char *,const char *,const char *), 
    2829  CLIListOperatorImages(MagickCLI *, const char *,const char *,const char *), 
    29   CLISpecialOperator(MagickCLI *,const char *,const char *); 
     30  CLINoImageOperator(MagickCLI *, const char *,const char *,const char *); 
     31 
     32/* This can be used by used using WandCLI API */ 
     33extern WandExport void 
     34  CLIOption(MagickCLI *,const char *,...); 
    3035 
    3136#if defined(__cplusplus) || defined(c_plusplus) 
  • ImageMagick/trunk/MagickWand/wandcli-private.h

    r7487 r7587  
    3131       "'%s' '%s'",option, arg) 
    3232 
    33 #define CLIWandWarnDepreciated(message) \ 
     33#define CLIWandWarnReplaced(message) \ 
    3434  if ( (cli_wand->process_flags & ProcessWarnDepreciated) != 0 ) \ 
    3535    (void) CLIThrowException(cli_wand,GetMagickModule(),OptionWarning, \ 
    36        "DeprecatedOption", "'%s', use \"%s\"",option,message) 
     36       "ReplacedOption", "'%s', use \"%s\"",option,message) 
    3737 
    3838#define CLIWandExceptionFile(severity,tag,context) \ 
     
    109109    *draw_info;         /* for CLI API usage, not used by MagickWand API */ 
    110110 
     111  ProcessOptionFlags 
     112    process_flags;      /* When handling CLI, what options do we process? */ 
     113 
     114  const OptionInfo 
     115    *command;           /* The option entry that is being processed */ 
     116 
    111117  Stack 
    112118    *image_list_stack,  /* Stacks of Image Lists and Image Info settings */ 
    113119    *image_info_stack; 
    114120 
    115   ProcessOptionFlags 
    116     process_flags;      /* when handling CLI, what options do we process? */ 
    117  
    118121  const char            /* Location of option being processed for exception */ 
    119122    *location,          /* location format string for exception reports */ 
    120     *filename;          /* "CLI", "unknown", or script filename */ 
     123    *filename;          /* "CLI", "unknown", or the script filename */ 
    121124 
    122125  size_t 
  • ImageMagick/trunk/MagickWand/wandcli.c

    r7436 r7587  
    118118  cli_wand->draw_info=CloneDrawInfo(cli_wand->wand.image_info,(DrawInfo *) NULL); 
    119119  cli_wand->quantize_info=AcquireQuantizeInfo(cli_wand->wand.image_info); 
     120  cli_wand->process_flags=MagickCommandOptionFlags;  /* assume "magick" CLI */ 
     121  cli_wand->command=(const OptionInfo *)NULL;     /* no option at this time */ 
    120122  cli_wand->image_list_stack=(Stack *)NULL; 
    121123  cli_wand->image_info_stack=(Stack *)NULL; 
    122   cli_wand->process_flags=MagickCommandOptionFlags;  /* assume "magick" CLI */ 
    123124 
    124125  /* default exception location... 
    125126     EG: sprintf(locaiton, filename, line, column); 
    126127  */ 
    127   cli_wand->location="from \"%s\"";   /* location format: */ 
    128   cli_wand->filename="unknown";       /* unknown source */ 
    129   cli_wand->line=0; 
    130   cli_wand->column=0; 
     128  cli_wand->location="from \"%s\"";   /* location format using arguments: */ 
     129                                      /*      filename, line, column */ 
     130  cli_wand->filename="unknown";       /* script filename, unknown source */ 
     131  cli_wand->line=0;                   /* line from script OR CLI argument */ 
     132  cli_wand->column=0;                 /* column from script */ 
    131133 
    132134  cli_wand->signature=WandSignature; 
     
    214216%  only, or all errors, according to 'all_execeptions' boolean argument. 
    215217% 
    216 %  The function returns true is errors are fatal, in which case the caller 
     218%  The function returns true if errors are fatal, in which case the caller 
    217219%  should abort and re-call with an 'all_exceptions' argument of true before 
    218220%  quitting. 
     
    225227%    MagickBooleanType CLICatchException(MagickCLI *cli_wand, 
    226228%              const MagickBooleanType all_exceptions ); 
     229% 
     230%  Arguments are 
     231% 
     232%    o cli_wand:   The Wand CLI that holds the exception Information 
     233% 
     234%    o all_exceptions:   Report all exceptions, including the fatal one 
    227235% 
    228236*/ 
  • ImageMagick/trunk/config/english.xml

    r7583 r7587  
    931931      </fatalerror> 
    932932      <warning> 
    933         <message name="DeprecatedOption"> 
    934           option is deprecated 
     933        <message name="ReplacedOption"> 
     934          option has been replaced 
    935935        </message> 
    936936        <message name="GeometryDoesNotContainImage"> 
  • ImageMagick/trunk/config/francais.xml

    r7583 r7587  
    923923      <warning> 
    924924        <message name="DepreciatedOption"> 
    925           option est obsolÚte 
     925          Option a été remplacée 
    926926        </message> 
    927927        <message name="GeometryDoesNotContainImage"> 
Note: See TracChangeset for help on using the changeset viewer.