home *** CD-ROM | disk | FTP | other *** search
/ Australian Personal Computer 2004 July / APC0407D2.iso / workshop / onlineco / files / ImageMagick-6.0.1-Q16-windows-dll.exe / {app} / include / magick / ImageMagick.h < prev    next >
Encoding:
C/C++ Source or Header  |  2004-03-27  |  15.9 KB  |  898 lines

  1. /*
  2.   ImageMagick Structure Members.
  3. */
  4. #ifndef _IMAGEMAGICK_H
  5. #define _IMAGEMAGICK_H
  6.  
  7. #if defined(__cplusplus) || defined(c_plusplus)
  8. extern "C" {
  9. #endif
  10.  
  11. #if !defined(QuantumDepth)
  12. #define QuantumDepth  16
  13. #define QuantumLeap
  14. #endif
  15.  
  16. #if (QuantumDepth == 8)
  17. #define MagickEpsilon  1.0e-6
  18. #define MaxColormapSize  256
  19. #define MaxMap  MaxRGB
  20. #define MaxRGB  255
  21. #define ScaleCharToQuantum(value)  ((Quantum) (value))
  22. #define ScaleLongToQuantum(value)  ((Quantum) ((value)/16843009UL))
  23. #define ScaleMapToQuantum(value) ((Quantum) (value))
  24. #define ScaleQuantum(quantum)  ((unsigned long) (quantum))
  25. #define ScaleQuantumToChar(quantum)  ((unsigned char) (quantum))
  26. #define ScaleQuantumToIndex(value)   ((unsigned char) (value))
  27. #define ScaleQuantumToLong(quantum)  ((unsigned long) (16843009UL*(quantum)))
  28. #define ScaleQuantumToMap(quantum)  ((unsigned char) (quantum))
  29. #define ScaleQuantumToShort(quantum)  ((unsigned short) (257*(quantum)))
  30. #define ScaleShortToQuantum(value)  ((Quantum) ((value)/257))
  31. #define ScaleToQuantum(value)  ((unsigned long) (value))
  32.  
  33. typedef float MagickRealType;
  34. typedef unsigned char Quantum;
  35. #elif (QuantumDepth == 16)
  36. #define MagickEpsilon  1.0e-10
  37. #define MaxColormapSize  65536
  38. #define MaxMap  MaxRGB
  39. #define MaxRGB  65535
  40. #define ScaleCharToQuantum(value)  ((Quantum) (257*(value)))
  41. #define ScaleLongToQuantum(value)  ((Quantum) ((value)/65537UL))
  42. #define ScaleMapToQuantum(value)  ((Quantum) (value))
  43. #define ScaleQuantum(quantum)  ((unsigned long) ((quantum)/257))
  44. #define ScaleQuantumToChar(quantum)  ((unsigned char) ((quantum)/257))
  45. #define ScaleQuantumToIndex(value)   ((unsigned short) (value))
  46. #define ScaleQuantumToLong(quantum)  ((unsigned long) (65537UL*(quantum)))
  47. #define ScaleQuantumToMap(quantum)  ((unsigned short) (quantum))
  48. #define ScaleQuantumToShort(quantum)  ((unsigned short) (quantum))
  49. #define ScaleShortToQuantum(value)  ((Quantum) (value))
  50. #define ScaleToQuantum(value)  ((unsigned long) (257*(value)))
  51.  
  52. typedef double MagickRealType;
  53. typedef unsigned short Quantum;
  54. #elif (QuantumDepth == 32)
  55. #define MagickEpsilon  1.0e-10
  56. #define MaxColormapSize  65536
  57. #define MaxMap  65535
  58. #define MaxRGB  4294967295UL
  59. #define ScaleCharToQuantum(value)  ((Quantum) (16843009UL*value))
  60. #define ScaleLongToQuantum(value)  ((Quantum) (value))
  61. #define ScaleMapToQuantum(value)  ((Quantum) (65537UL*value))
  62. #define ScaleQuantum(quantum)  ((unsigned long) ((quantum)/16843009UL))
  63. #define ScaleQuantumToChar(quantum)  ((unsigned char) ((quantum)/16843009UL))
  64. #define ScaleQuantumToIndex(value)   ((unsigned short) ((value)/65537UL))
  65. #define ScaleQuantumToLong(quantum)  ((unsigned long) (quantum))
  66. #define ScaleQuantumToMap(quantum)  ((unsigned short) ((quantum)/65537UL))
  67. #define ScaleQuantumToShort(quantum)  ((unsigned short) ((quantum)/65537UL))
  68. #define ScaleShortToQuantum(value)  ((Quantum) (65537UL*(value)))
  69. #define ScaleToQuantum(value)  ((unsigned long) (16843009UL*(value)))
  70.  
  71. #if defined(HAVE_LONG_DOUBLE)
  72. typedef long double MagickRealType;
  73. #else
  74. typedef double MagickRealType;
  75. #endif
  76. typedef unsigned int Quantum;
  77. #else
  78. # error "Specified value of QuantumDepth is not supported"
  79. #endif
  80. #define QuantumScale  ((MagickRealType) 1.0/(MagickRealType) MaxRGB)
  81. #define RoundToQuantum(value) ((Quantum) ((value) < 0.0 ? 0.0 : \
  82.   ((value) > (MagickRealType) MaxRGB) ? (MagickRealType) MaxRGB : (value)+0.5))
  83. #define RoundToMap(value) ((unsigned long) (value < 0.0 ? 0.0 : \
  84.   ((value) > (MagickRealType) MaxMap) ? (MagickRealType) MaxMap : (value)+0.5))
  85. #define ScaleXToQuantum(x,scale) ((Quantum) \
  86.   (((MagickRealType) MaxRGB*(x))/(scale)+0.5))
  87.  
  88. #if !defined(__WINDOWS__)
  89. #if (SIZEOF_LONG_LONG == 8)
  90. typedef long long MagickOffsetType;
  91. typedef unsigned long long MagickSizeType;
  92. #else
  93. typedef long MagickOffsetType;
  94. typedef unsigned long MagickSizeType;
  95. #endif
  96. #else
  97. typedef __int64 MagickOffsetType;
  98. typedef unsigned __int64 MagickSizeType;
  99. #endif
  100.  
  101. #if defined(macintosh)
  102. #define ExceptionInfo MagickExceptionInfo
  103. #endif
  104.  
  105. typedef enum
  106. {
  107.   UndefinedChannel,
  108.   RedChannel = 0x0001,
  109.   CyanChannel = 0x0001,
  110.   GreenChannel = 0x0002,
  111.   MagentaChannel = 0x0002,
  112.   BlueChannel = 0x0004,
  113.   YellowChannel = 0x0004,
  114.   AlphaChannel = 0x0008,
  115.   OpacityChannel = 0x0008,
  116.   MatteChannel = 0x0008,  /* deprecated */
  117.   BlackChannel = 0x0020,
  118.   IndexChannel = 0x0020,
  119.   AllChannels = 0x7fffffff
  120. } ChannelType;
  121.  
  122. typedef enum
  123. {
  124.   UndefinedClass,
  125.   DirectClass,
  126.   PseudoClass
  127. } ClassType;
  128.  
  129. typedef enum
  130. {
  131.   UndefinedColorspace,
  132.   RGBColorspace,
  133.   GRAYColorspace,
  134.   TransparentColorspace,
  135.   OHTAColorspace,
  136.   LABColorspace,
  137.   XYZColorspace,
  138.   YCbCrColorspace,
  139.   YCCColorspace,
  140.   YIQColorspace,
  141.   YPbPrColorspace,
  142.   YUVColorspace,
  143.   CMYKColorspace,
  144.   sRGBColorspace,
  145.   HSBColorspace,
  146.   HSLColorspace,
  147.   HWBColorspace
  148. } ColorspaceType;
  149.  
  150. typedef enum
  151. {
  152.   UndefinedCompositeOp,
  153.   NoCompositeOp,
  154.   AddCompositeOp,
  155.   AtopCompositeOp,
  156.   BlendCompositeOp,
  157.   BumpmapCompositeOp,
  158.   ClearCompositeOp,
  159.   ColorBurnCompositeOp,
  160.   ColorDodgeCompositeOp,
  161.   ColorizeCompositeOp,
  162.   CopyBlackCompositeOp,
  163.   CopyBlueCompositeOp,
  164.   CopyCompositeOp,
  165.   CopyCyanCompositeOp,
  166.   CopyGreenCompositeOp,
  167.   CopyMagentaCompositeOp,
  168.   CopyOpacityCompositeOp,
  169.   CopyRedCompositeOp,
  170.   CopyYellowCompositeOp,
  171.   DarkenCompositeOp,
  172.   DstAtopCompositeOp,
  173.   DstCompositeOp,
  174.   DstInCompositeOp,
  175.   DstOutCompositeOp,
  176.   DstOverCompositeOp,
  177.   DifferenceCompositeOp,
  178.   DisplaceCompositeOp,
  179.   DissolveCompositeOp,
  180.   ExclusionCompositeOp,
  181.   HardLightCompositeOp,
  182.   HueCompositeOp,
  183.   InCompositeOp,
  184.   LightenCompositeOp,
  185.   LuminizeCompositeOp,
  186.   MinusCompositeOp,
  187.   ModulateCompositeOp,
  188.   MultiplyCompositeOp,
  189.   OutCompositeOp,
  190.   OverCompositeOp,
  191.   OverlayCompositeOp,
  192.   PlusCompositeOp,
  193.   ReplaceCompositeOp,
  194.   SaturateCompositeOp,
  195.   ScreenCompositeOp,
  196.   SoftLightCompositeOp,
  197.   SrcAtopCompositeOp,
  198.   SrcCompositeOp,
  199.   SrcInCompositeOp,
  200.   SrcOutCompositeOp,
  201.   SrcOverCompositeOp,
  202.   SubtractCompositeOp,
  203.   ThresholdCompositeOp,
  204.   XorCompositeOp
  205. } CompositeOperator;
  206.  
  207. typedef enum
  208. {
  209.   UndefinedCompression,
  210.   NoCompression,
  211.   BZipCompression,
  212.   FaxCompression,
  213.   Group4Compression,
  214.   JPEGCompression,
  215.   LosslessJPEGCompression,
  216.   LZWCompression,
  217.   RLECompression,
  218.   ZipCompression
  219. } CompressionType;
  220.  
  221. typedef enum
  222. {
  223.   UnrecognizedDispose,
  224.   UndefinedDispose = 0,
  225.   NoneDispose = 1,
  226.   BackgroundDispose = 2,
  227.   PreviousDispose = 3
  228. } DisposeType;
  229.  
  230. typedef enum
  231. {
  232.   UndefinedEndian,
  233.   LSBEndian,
  234.   MSBEndian
  235. } EndianType;
  236.  
  237. typedef enum
  238. {
  239.   UndefinedException,
  240.   WarningException = 300,
  241.   ResourceLimitWarning = 300,
  242.   TypeWarning = 305,
  243.   OptionWarning = 310,
  244.   DelegateWarning = 315,
  245.   MissingDelegateWarning = 320,
  246.   CorruptImageWarning = 325,
  247.   FileOpenWarning = 330,
  248.   BlobWarning = 335,
  249.   StreamWarning = 340,
  250.   CacheWarning = 345,
  251.   CoderWarning = 350,
  252.   ModuleWarning = 355,
  253.   DrawWarning = 360,
  254.   ImageWarning = 365,
  255.   WandWarning = 370,
  256.   XServerWarning = 380,
  257.   MonitorWarning = 385,
  258.   RegistryWarning = 390,
  259.   ConfigureWarning = 395,
  260.   ErrorException = 400,
  261.   ResourceLimitError = 400,
  262.   TypeError = 405,
  263.   OptionError = 410,
  264.   DelegateError = 415,
  265.   MissingDelegateError = 420,
  266.   CorruptImageError = 425,
  267.   FileOpenError = 430,
  268.   BlobError = 435,
  269.   StreamError = 440,
  270.   CacheError = 445,
  271.   CoderError = 450,
  272.   ModuleError = 455,
  273.   DrawError = 460,
  274.   ImageError = 465,
  275.   WandError = 470,
  276.   XServerError = 480,
  277.   MonitorError = 485,
  278.   RegistryError = 490,
  279.   ConfigureError = 495,
  280.   FatalErrorException = 700,
  281.   ResourceLimitFatalError = 700,
  282.   TypeFatalError = 705,
  283.   OptionFatalError = 710,
  284.   DelegateFatalError = 715,
  285.   MissingDelegateFatalError = 720,
  286.   CorruptImageFatalError = 725,
  287.   FileOpenFatalError = 730,
  288.   BlobFatalError = 735,
  289.   StreamFatalError = 740,
  290.   CacheFatalError = 745,
  291.   CoderFatalError = 750,
  292.   ModuleFatalError = 755,
  293.   DrawFatalError = 760,
  294.   ImageFatalError = 765,
  295.   WandFatalError = 770,
  296.   XServerFatalError = 780,
  297.   MonitorFatalError = 785,
  298.   RegistryFatalError = 790,
  299.   ConfigureFatalError = 795
  300. } ExceptionType;
  301.  
  302. typedef enum
  303. {
  304.   UndefinedFilter,
  305.   PointFilter,
  306.   BoxFilter,
  307.   TriangleFilter,
  308.   HermiteFilter,
  309.   HanningFilter,
  310.   HammingFilter,
  311.   BlackmanFilter,
  312.   GaussianFilter,
  313.   QuadraticFilter,
  314.   CubicFilter,
  315.   CatromFilter,
  316.   MitchellFilter,
  317.   LanczosFilter,
  318.   BesselFilter,
  319.   SincFilter
  320. } FilterTypes;
  321.  
  322. #ifdef ForgetGravity
  323. #undef ForgetGravity
  324. #undef NorthWestGravity
  325. #undef NorthGravity
  326. #undef NorthEastGravity
  327. #undef WestGravity
  328. #undef CenterGravity
  329. #undef EastGravity
  330. #undef SouthWestGravity
  331. #undef SouthGravity
  332. #undef SouthEastGravity
  333. #undef StaticGravity
  334. #endif
  335.  
  336. typedef enum
  337. {
  338.   UndefinedGravity,
  339.   ForgetGravity = 0,
  340.   NorthWestGravity = 1,
  341.   NorthGravity = 2,
  342.   NorthEastGravity = 3,
  343.   WestGravity = 4,
  344.   CenterGravity = 5,
  345.   EastGravity = 6,
  346.   SouthWestGravity = 7,
  347.   SouthGravity = 8,
  348.   SouthEastGravity = 9,
  349.   StaticGravity = 10
  350. } GravityType;
  351.  
  352. typedef enum
  353. {
  354.   UndefinedType,
  355.   BilevelType,
  356.   GrayscaleType,
  357.   GrayscaleMatteType,
  358.   PaletteType,
  359.   PaletteMatteType,
  360.   TrueColorType,
  361.   TrueColorMatteType,
  362.   ColorSeparationType,
  363.   ColorSeparationMatteType,
  364.   OptimizeType
  365. } ImageType;
  366.  
  367. typedef enum
  368. {
  369.   UndefinedInterlace,
  370.   NoInterlace,
  371.   LineInterlace,
  372.   PlaneInterlace,
  373.   PartitionInterlace
  374. } InterlaceType;
  375.  
  376. typedef enum
  377. {
  378.   UndefinedOrientation,
  379.   TopLeftOrientation,
  380.   TopRightOrientation,
  381.   BottomRightOrientation,
  382.   BottomLeftOrientation,
  383.   LeftTopOrientation,
  384.   RightTopOrientation,
  385.   RightBottomOrientation,
  386.   LeftBottomOrientation
  387. } OrientationType;
  388.  
  389. typedef enum
  390. {
  391.   UndefinedPreview,
  392.   RotatePreview,
  393.   ShearPreview,
  394.   RollPreview,
  395.   HuePreview,
  396.   SaturationPreview,
  397.   BrightnessPreview,
  398.   GammaPreview,
  399.   SpiffPreview,
  400.   DullPreview,
  401.   GrayscalePreview,
  402.   QuantizePreview,
  403.   DespecklePreview,
  404.   ReduceNoisePreview,
  405.   AddNoisePreview,
  406.   SharpenPreview,
  407.   BlurPreview,
  408.   ThresholdPreview,
  409.   EdgeDetectPreview,
  410.   SpreadPreview,
  411.   SolarizePreview,
  412.   ShadePreview,
  413.   RaisePreview,
  414.   SegmentPreview,
  415.   SwirlPreview,
  416.   ImplodePreview,
  417.   WavePreview,
  418.   OilPaintPreview,
  419.   CharcoalDrawingPreview,
  420.   JPEGPreview
  421. } PreviewType;
  422.  
  423. typedef enum
  424. {
  425.   UndefinedIntent,
  426.   SaturationIntent,
  427.   PerceptualIntent,
  428.   AbsoluteIntent,
  429.   RelativeIntent
  430. } RenderingIntent;
  431.  
  432. typedef enum
  433. {
  434.   UndefinedResolution,
  435.   PixelsPerInchResolution,
  436.   PixelsPerCentimeterResolution
  437. } ResolutionType;
  438.  
  439. typedef enum
  440. {
  441.   UndefinedTimerState,
  442.   StoppedTimerState,
  443.   RunningTimerState
  444. } TimerState;
  445.  
  446. typedef struct _AffineMatrix
  447. {
  448.   double
  449.     sx,
  450.     rx,
  451.     ry,
  452.     sy,
  453.     tx,
  454.     ty;
  455. } AffineMatrix;
  456.  
  457. typedef Quantum IndexPacket;
  458.  
  459. typedef struct _PixelPacket
  460. {
  461. #if defined(WORDS_BIGENDIAN)
  462.   Quantum
  463.     red,
  464.     green,
  465.     blue,
  466.     opacity;
  467. #else
  468. #if defined(macintosh)
  469.   Quantum
  470.     opacity,
  471.     red,
  472.     green,
  473.     blue;
  474. #else
  475.   Quantum
  476.     blue,
  477.     green,
  478.     red,
  479.     opacity;
  480. #endif
  481. #endif
  482. } PixelPacket;
  483.  
  484. typedef struct _ColorPacket
  485. {
  486.   PixelPacket
  487.     pixel;
  488.  
  489.   IndexPacket
  490.     index;
  491.  
  492.   unsigned long
  493.     count;
  494. } ColorPacket;
  495.  
  496. typedef struct _ErrorInfo
  497. {
  498.   double
  499.     mean_error_per_pixel,
  500.     normalized_mean_error,
  501.     normalized_maximum_error;
  502. } ErrorInfo;
  503.  
  504. typedef struct _PrimaryInfo
  505. {
  506.   double
  507.     x,
  508.     y,
  509.     z;
  510. } PrimaryInfo;
  511.  
  512. typedef struct _ProfileInfo
  513. {
  514.   char
  515.     *name;
  516.  
  517.   size_t
  518.     length;
  519.  
  520.   unsigned char
  521.     *info;
  522.  
  523.   unsigned long
  524.     signature;
  525. } ProfileInfo;
  526.  
  527. typedef struct _RectangleInfo
  528. {
  529.   unsigned long
  530.     width,
  531.     height;
  532.  
  533.   long
  534.     x,
  535.     y;
  536. } RectangleInfo;
  537.  
  538. typedef struct _Timer
  539. {
  540.   double
  541.     start,
  542.     stop,
  543.     total;
  544. } Timer;
  545.  
  546. typedef struct _SegmentInfo
  547. {
  548.   double
  549.     x1,
  550.     y1,
  551.     x2,
  552.     y2;
  553. } SegmentInfo;
  554.  
  555. typedef struct _TimerInfo
  556. {
  557.   Timer
  558.     user,
  559.     elapsed;
  560.  
  561.   TimerState
  562.     state;
  563.  
  564.   unsigned long
  565.     signature;
  566. } TimerInfo;
  567.  
  568. typedef struct _ChromaticityInfo
  569. {
  570.   PrimaryInfo
  571.     red_primary,
  572.     green_primary,
  573.     blue_primary,
  574.     white_point;
  575. } ChromaticityInfo;
  576.  
  577. typedef struct _ExceptionInfo
  578. {
  579.   ExceptionType
  580.     severity;
  581.  
  582.   int
  583.     error_number;
  584.  
  585.   char
  586.     *reason,
  587.     *description;
  588.  
  589.   unsigned long
  590.     signature;
  591. } ExceptionInfo;
  592.  
  593. typedef struct _Ascii85Info _Ascii85Info_;
  594.  
  595. typedef struct _BlobInfo _BlobInfo_;
  596.  
  597. typedef struct _HashmapInfo _HashmapInfo_;
  598.  
  599. typedef struct _ImageAttribute _ImageAttribute_;
  600.  
  601. typedef struct _SemaphoreInfo _SemaphoreInfo_;
  602.  
  603. typedef struct _Image
  604. {
  605.   ClassType
  606.     storage_class;
  607.  
  608.   ColorspaceType
  609.     colorspace;
  610.  
  611.   CompressionType
  612.     compression;
  613.  
  614.   OrientationType
  615.     orientation;
  616.  
  617.   unsigned int
  618.     taint,
  619.     matte;
  620.  
  621.   unsigned long
  622.     columns,
  623.     rows;
  624.  
  625.   unsigned long
  626.     depth,
  627.     colors;
  628.  
  629.   PixelPacket
  630.     *colormap,
  631.     background_color,
  632.     border_color,
  633.     matte_color;
  634.  
  635.   double
  636.     gamma;
  637.  
  638.   ChromaticityInfo
  639.     chromaticity;
  640.  
  641.   RenderingIntent
  642.     rendering_intent;
  643.  
  644.   _HashmapInfo_
  645.     *profiles;
  646.  
  647.   ResolutionType
  648.     units;
  649.  
  650.   char
  651.     *montage,
  652.     *directory,
  653.     *geometry;
  654.  
  655.   long
  656.     offset;
  657.  
  658.   double
  659.     x_resolution,
  660.     y_resolution;
  661.  
  662.   RectangleInfo
  663.     page,
  664.     extract_info,
  665.     tile_info;  /* deprectated */
  666.  
  667.   double
  668.     blur,
  669.     fuzz;
  670.  
  671.   FilterTypes
  672.     filter;
  673.  
  674.   InterlaceType
  675.     interlace;
  676.  
  677.   EndianType
  678.     endian;
  679.  
  680.   GravityType
  681.     gravity;
  682.  
  683.   CompositeOperator
  684.     compose;
  685.  
  686.   DisposeType
  687.     dispose;
  688.  
  689.   struct _Image
  690.     *clip_mask;
  691.  
  692.   unsigned long
  693.     scene,
  694.     delay,
  695.     iterations,
  696.     total_colors;
  697.  
  698.   long
  699.     start_loop;
  700.  
  701.   ErrorInfo
  702.     error;
  703.  
  704.   TimerInfo
  705.     timer;
  706.  
  707.   void
  708.     *client_data;
  709.  
  710.   void
  711.     *cache;
  712.  
  713.   _ImageAttribute_
  714.     *attributes;
  715.  
  716.   _Ascii85Info_
  717.     *ascii85;
  718.  
  719.   _BlobInfo_
  720.     *blob;
  721.  
  722.   char
  723.     filename[MaxTextExtent],
  724.     magick_filename[MaxTextExtent],
  725.     magick[MaxTextExtent];
  726.  
  727.   unsigned long
  728.     magick_columns,
  729.     magick_rows;
  730.  
  731.   ExceptionInfo
  732.     exception;
  733.  
  734.   unsigned int
  735.     debug;
  736.  
  737.   long
  738.     reference_count;
  739.  
  740.   _SemaphoreInfo_
  741.     *semaphore;
  742.  
  743.   ProfileInfo
  744.     color_profile,
  745.     iptc_profile,
  746.     *generic_profile;
  747.  
  748.   unsigned long
  749.     generic_profiles;  /* this & ProfileInfo is deprecated */
  750.  
  751.   unsigned long
  752.     signature;
  753.  
  754.   struct _Image
  755.     *previous,
  756.     *list,
  757.     *next;
  758. } Image;
  759.  
  760. typedef unsigned int
  761.   (*StreamHandler)(const Image *,const void *,const size_t);
  762.  
  763. typedef struct _ImageInfo
  764. {
  765.   CompressionType
  766.     compression;
  767.  
  768.   OrientationType
  769.     orientation;
  770.  
  771.   unsigned int
  772.     temporary,
  773.     adjoin,
  774.     affirm,
  775.     antialias;
  776.  
  777.   char
  778.     *size,
  779.     *extract,
  780.     *page,
  781.     *scenes;
  782.  
  783.   unsigned long
  784.     scene,
  785.     number_scenes,
  786.     depth;
  787.  
  788.   InterlaceType
  789.     interlace;
  790.  
  791.   EndianType
  792.     endian;
  793.  
  794.   ResolutionType
  795.     units;
  796.  
  797.   unsigned long
  798.     quality;
  799.  
  800.   char
  801.     *sampling_factor,
  802.     *server_name,
  803.     *font,
  804.     *texture,
  805.     *density;
  806.  
  807.   double
  808.     pointsize,
  809.     fuzz;
  810.  
  811.   PixelPacket
  812.     background_color,
  813.     border_color,
  814.     matte_color;
  815.  
  816.   unsigned int
  817.     dither,
  818.     monochrome;
  819.  
  820.   unsigned long
  821.     colors;
  822.  
  823.   ColorspaceType
  824.     colorspace;
  825.  
  826.   ImageType
  827.     type;
  828.  
  829.   PreviewType
  830.     preview_type;
  831.  
  832.   long
  833.     group;
  834.  
  835.   unsigned int
  836.     ping,
  837.     verbose;
  838.  
  839.   char
  840.     *view,
  841.     *authenticate;
  842.  
  843.   Image
  844.     *attributes;
  845.  
  846.   _HashmapInfo_
  847.     *options;
  848.  
  849.   void
  850.     *client_data;
  851.  
  852.   void
  853.     *cache;
  854.  
  855.   StreamHandler
  856.     stream;
  857.  
  858.   FILE
  859.     *file;
  860.  
  861.   void
  862.     *blob;
  863.  
  864.   size_t
  865.     length;
  866.  
  867.   char
  868.     magick[MaxTextExtent],
  869.     unique[MaxTextExtent],
  870.     zero[MaxTextExtent],
  871.     filename[MaxTextExtent];
  872.  
  873.   unsigned int
  874.     debug;
  875.  
  876.   /*
  877.     Deprecated.
  878.   */
  879.   char
  880.     *tile;
  881.  
  882.   unsigned long
  883.     subimage,
  884.     subrange;
  885.  
  886.   PixelPacket
  887.     pen;
  888.  
  889.   unsigned long
  890.     signature;
  891. } ImageInfo;
  892.  
  893. #if defined(__cplusplus) || defined(c_plusplus)
  894. }
  895. #endif
  896.  
  897. #endif
  898.