#endif
#include <MagickCore/color.h>
+#include <MagickCore/pixel.h>
#define OpaqueAlpha ((Quantum) QuantumRange)
#define TransparentAlpha ((Quantum) 0)
SetAlphaChannel,
ShapeAlphaChannel,
TransparentAlphaChannel
-} AlphaChannelType;
-
-typedef enum
-{
- UndefinedAlpha,
- InactiveAlpha,
- ActiveAlpha
-} AlphaChannelState;
+} AlphaChannelOption;
typedef enum
{
orientation; /* photo orientation of image */
MagickBooleanType
- taint, /* has image been modified since reading */
- matte; /* is transparency channel defined and active */
+ taint; /* has image been modified since reading */
size_t
columns, /* physical size of image */
ticks_per_second; /* units for delay time, default 100 for GIF */
size_t
- iterations, /* ??? */
+ iterations, /* number of interations for GIF animations */
total_colors;
ssize_t
RectangleInfo
tile_offset;
- void
- *properties, /* per image properities */
- *artifacts; /* per image sequence image artifacts */
-
ImageType
type;
MagickBooleanType
mask;
- AlphaChannelState
- alpha;
+ PixelTrait
+ alpha_trait; /* is transparency channel defined and active */
size_t
number_channels,
SemaphoreInfo
*semaphore;
+ void
+ *properties, /* general settings, to save with iamge */
+ *artifacts; /* general operational/coder settings, not saved */
+
+ struct _ImageInfo
+ *image_info; /* (Optional) Image belongs to this ImageInfo 'list'
+ * For access to 'global options' when no per-image
+ * attribute, properity, or artifact has been set.
+ * It may be set or unset as needed, but never freed.
+ */
struct _Image
*list, /* Undo/Redo image processing list (for display) */
signature;
};
+/* ImageInfo structure
+ * Stores an image list, as well as all global settings used by
+ * all images held, -- unless overridden for that specific image.
+ * See SyncImagesettings() which maps any global setting that always
+ * overrides specific image settings.
+ */
struct _ImageInfo
{
CompressionType
channel;
void
- *options; /* splay tree of use options */
+ *options; /* splay tree of global options */
void
*profile;
ModifyImage(Image **,ExceptionInfo *),
ResetImagePage(Image *,const char *),
SetImageAlpha(Image *,const Quantum,ExceptionInfo *),
- SetImageAlphaChannel(Image *,const AlphaChannelType,ExceptionInfo *),
+ SetImageAlphaChannel(Image *,const AlphaChannelOption,ExceptionInfo *),
SetImageBackgroundColor(Image *,ExceptionInfo *),
SetImageColor(Image *,const PixelInfo *,ExceptionInfo *),
SetImageExtent(Image *,const size_t,const size_t,ExceptionInfo *),