summaryrefslogtreecommitdiff
path: root/dmagick/c/magickType.d
diff options
context:
space:
mode:
Diffstat (limited to 'dmagick/c/magickType.d')
-rw-r--r--dmagick/c/magickType.d70
1 files changed, 47 insertions, 23 deletions
diff --git a/dmagick/c/magickType.d b/dmagick/c/magickType.d
index 9d92e4c..f2eabb0 100644
--- a/dmagick/c/magickType.d
+++ b/dmagick/c/magickType.d
@@ -1,5 +1,7 @@
module dmagick.c.magickType;
+import dmagick.c.magickVersion;
+
extern (C)
{
version(Quantum8)
@@ -63,30 +65,52 @@ extern (C)
enum MaxTextExtent = 4096;
enum OpaqueOpacity = 0;
- enum ChannelType
+ mixin(
{
- UndefinedChannel,
- RedChannel = 0x0001,
- GrayChannel = 0x0001,
- CyanChannel = 0x0001,
- GreenChannel = 0x0002,
- MagentaChannel = 0x0002,
- BlueChannel = 0x0004,
- YellowChannel = 0x0004,
- AlphaChannel = 0x0008,
- OpacityChannel = 0x0008,
- MatteChannel = 0x0008, // deprecated
- BlackChannel = 0x0020,
- IndexChannel = 0x0020,
- CompositeChannels = 0x002F,
- AllChannels = 0x7FFFFFF,
-
- TrueAlphaChannel = 0x0040, // extract actual alpha channel from opacity
- RGBChannels = 0x0080, // set alpha from grayscale mask in RGB
- GrayChannels = 0x0080,
- SyncChannels = 0x0100, // channels should be modified equally
- DefaultChannels = ( (AllChannels | SyncChannels) &~ OpacityChannel)
- }
+ string channels = "enum ChannelType
+ {
+ UndefinedChannel,
+ RedChannel = 0x0001,
+ GrayChannel = 0x0001,
+ CyanChannel = 0x0001,
+ GreenChannel = 0x0002,
+ MagentaChannel = 0x0002,
+ BlueChannel = 0x0004,
+ YellowChannel = 0x0004,
+ AlphaChannel = 0x0008,
+ OpacityChannel = 0x0008,
+ MatteChannel = 0x0008, // deprecated
+ BlackChannel = 0x0020,
+ IndexChannel = 0x0020,
+ CompositeChannels = 0x002F,";
+
+ static if ( MagickLibVersion < 0x670 )
+ {
+ channels ~= "AllChannels = 0x002F,";
+ }
+ else static if ( MagickLibVersion == 0x670 )
+ {
+ channels ~= "AllChannels = ~0UL,";
+ }
+ else static if ( MagickLibVersion == 0x671 )
+ {
+ channels ~= "AllChannels = ~0L,";
+ }
+ else
+ {
+ channels ~= "AllChannels = 0x7FFFFFF,";
+ }
+
+ channels ~= "
+ TrueAlphaChannel = 0x0040, // extract actual alpha channel from opacity
+ RGBChannels = 0x0080, // set alpha from grayscale mask in RGB
+ GrayChannels = 0x0080,
+ SyncChannels = 0x0100, // channels should be modified equally
+ DefaultChannels = ( (AllChannels | SyncChannels) &~ OpacityChannel)
+ }";
+
+ return channels;
+ }());
enum ClassType
{