summaryrefslogtreecommitdiff
path: root/dmagick/c
diff options
context:
space:
mode:
authorMike Wey2017-05-19 20:29:37 +0200
committerMike Wey2017-05-19 20:31:44 +0200
commit87c811161c608f8428ff8e399c60f9672c6cfc7e (patch)
tree59f2d3656e14e13c32354a835a5251bea864a174 /dmagick/c
parent1f55c1eaf58bd2bcdb8d11656e816db2e9f05682 (diff)
Swith to using a config file.
This is hopefully a first step to supporting dub. See #12
Diffstat (limited to 'dmagick/c')
-rw-r--r--dmagick/c/magickModule.d8
-rw-r--r--dmagick/c/magickType.d18
-rw-r--r--dmagick/c/magickVersion.d311
-rw-r--r--dmagick/c/magickVersion.d.in48
-rw-r--r--dmagick/c/quantum.d4
-rw-r--r--dmagick/c/resample.d30
6 files changed, 75 insertions, 344 deletions
diff --git a/dmagick/c/magickModule.d b/dmagick/c/magickModule.d
index 8aa3a6e..a40ce0c 100644
--- a/dmagick/c/magickModule.d
+++ b/dmagick/c/magickModule.d
@@ -16,7 +16,7 @@ extern(C)
MagickImageFilterModule
}
- struct ModuleInfo
+ struct MagickModuleInfo
{
char*
path,
@@ -37,7 +37,7 @@ extern(C)
MagickBooleanType
stealth;
- ModuleInfo*
+ MagickModuleInfo*
previous,
next;
@@ -49,7 +49,7 @@ extern(C)
char** GetModuleList(const(char)*, const MagickModuleType, size_t*, ExceptionInfo*);
- const(ModuleInfo)** GetModuleInfoList(const(char)*, size_t*, ExceptionInfo*);
+ const(MagickModuleInfo)** GetModuleInfoList(const(char)*, size_t*, ExceptionInfo*);
static if ( MagickLibVersion < 0x689 )
{
@@ -62,7 +62,7 @@ extern(C)
MagickBooleanType OpenModule(const(char)*, ExceptionInfo*);
MagickBooleanType OpenModules(ExceptionInfo*);
- ModuleInfo* GetModuleInfo(const(char)*, ExceptionInfo*);
+ MagickModuleInfo* GetModuleInfo(const(char)*, ExceptionInfo*);
void DestroyModuleList();
void ModuleComponentTerminus();
diff --git a/dmagick/c/magickType.d b/dmagick/c/magickType.d
index 8666820..9103823 100644
--- a/dmagick/c/magickType.d
+++ b/dmagick/c/magickType.d
@@ -19,13 +19,13 @@ extern (C)
alias double MagickDoubleT;
}
- version(Quantum8)
+ static if(MagickQuantumDepth == 8)
{
/**
* Quantum is an alias for the smallest integer that can hold
* a pixel channel.
*/
- version(MagickCore_HDRI)
+ static if(MagickHDRISupport)
alias float Quantum;
else
alias ubyte Quantum;
@@ -44,7 +44,6 @@ extern (C)
* as Quantum.max except when the Quantum dept is 64 bits.
*/
enum QuantumRange = ubyte.max;
- enum MagickQuantumDepth = 8;
enum MaxColormapSize = 256;
static if ( MagickLibVersion < 0x678 )
@@ -53,13 +52,13 @@ extern (C)
enum MagickHuge = 1.0e6;
}
}
- else version(Quantum32)
+ else static if(MagickQuantumDepth == 32)
{
/**
* Quantum is an alias for the smallest integer that can hold
* a pixel channel.
*/
- version(MagickCore_HDRI)
+ static if(MagickHDRISupport)
{
static if ( MagickLibVersion >= 0x690 )
alias double Quantum;
@@ -83,7 +82,6 @@ extern (C)
* as Quantum.max except when the Quantum dept is 64 bits.
*/
enum QuantumRange = uint.max;
- enum MagickQuantumDepth = 32;
enum MaxColormapSize = 65536;
static if ( MagickLibVersion < 0x678 )
@@ -92,7 +90,7 @@ extern (C)
enum MagickHuge = 1.0e12;
}
}
- else version(Quantum64)
+ else static if(MagickQuantumDepth == 64)
{
/**
* Quantum is an alias for the smallest integer that can hold
@@ -117,7 +115,6 @@ extern (C)
* as Quantum.max except when the Quantum dept is 64 bits.
*/
enum QuantumRange = 18446744073709551615.0;
- enum MagickQuantumDepth = 64;
enum MaxColormapSize = 65536;
static if ( MagickLibVersion < 0x678 )
@@ -132,7 +129,7 @@ extern (C)
* Quantum is an alias for the smallest integer that can hold
* a pixel channel.
*/
- version(MagickCore_HDRI)
+ static if(MagickHDRISupport)
alias float Quantum;
else
alias ushort Quantum;
@@ -151,7 +148,6 @@ extern (C)
* as Quantum.max except when the Quantum dept is 64 bits.
*/
enum QuantumRange = ushort.max;
- enum MagickQuantumDepth = 16;
enum MaxColormapSize = 65536;
static if ( MagickLibVersion < 0x678 )
@@ -161,6 +157,8 @@ extern (C)
}
}
+ alias MagickQuantumDepth = dmagick.c.magickVersion.MagickQuantumDepth;
+
static if ( MagickLibVersion == 0x678 )
{
enum MagickRealType MagickEpsilon = 2.220446e-16;
diff --git a/dmagick/c/magickVersion.d b/dmagick/c/magickVersion.d
deleted file mode 100644
index a7ae11c..0000000
--- a/dmagick/c/magickVersion.d
+++ /dev/null
@@ -1,311 +0,0 @@
-module dmagick.c.magickVersion;
-
-import core.stdc.config;
-import core.stdc.stdio;
-
-extern(C)
-{
- version(MagickCore_660)
- {
- /// Defines the version of ImageMagick where these headers are based on.
- enum MagickLibVersion = 0x660;
- ///ditto
- enum MagickLibVersionText = "6.6.0";
- }
- else version(MagickCore_661)
- {
- /// Defines the version of ImageMagick where these headers are based on.
- enum MagickLibVersion = 0x661;
- ///ditto
- enum MagickLibVersionText = "6.6.1";
- }
- else version(MagickCore_662)
- {
- /// Defines the version of ImageMagick where these headers are based on.
- enum MagickLibVersion = 0x662;
- ///ditto
- enum MagickLibVersionText = "6.6.2";
- }
- else version(MagickCore_663)
- {
- /// Defines the version of ImageMagick where these headers are based on.
- enum MagickLibVersion = 0x663;
- ///ditto
- enum MagickLibVersionText = "6.6.3";
- }
- else version(MagickCore_664)
- {
- /// Defines the version of ImageMagick where these headers are based on.
- enum MagickLibVersion = 0x664;
- ///ditto
- enum MagickLibVersionText = "6.6.4";
- }
- else version(MagickCore_665)
- {
- /// Defines the version of ImageMagick where these headers are based on.
- enum MagickLibVersion = 0x665;
- ///ditto
- enum MagickLibVersionText = "6.6.5";
- }
- else version(MagickCore_666)
- {
- /// Defines the version of ImageMagick where these headers are based on.
- enum MagickLibVersion = 0x666;
- ///ditto
- enum MagickLibVersionText = "6.6.6";
- }
- else version(MagickCore_667)
- {
- /// Defines the version of ImageMagick where these headers are based on.
- enum MagickLibVersion = 0x667;
- ///ditto
- enum MagickLibVersionText = "6.6.7";
- }
- else version(MagickCore_668)
- {
- /// Defines the version of ImageMagick where these headers are based on.
- enum MagickLibVersion = 0x668;
- ///ditto
- enum MagickLibVersionText = "6.6.8";
- }
- else version(MagickCore_669)
- {
- /// Defines the version of ImageMagick where these headers are based on.
- enum MagickLibVersion = 0x669;
- ///ditto
- enum MagickLibVersionText = "6.6.9";
- }
- else version(MagickCore_670)
- {
- /// Defines the version of ImageMagick where these headers are based on.
- enum MagickLibVersion = 0x670;
- ///ditto
- enum MagickLibVersionText = "6.7.0";
- }
- else version(MagickCore_671)
- {
- /// Defines the version of ImageMagick where these headers are based on.
- enum MagickLibVersion = 0x671;
- ///ditto
- enum MagickLibVersionText = "6.7.1";
- }
- else version(MagickCore_672)
- {
- /// Defines the version of ImageMagick where these headers are based on.
- enum MagickLibVersion = 0x672;
- ///ditto
- enum MagickLibVersionText = "6.7.2";
- }
- else version(MagickCore_673)
- {
- /// Defines the version of ImageMagick where these headers are based on.
- enum MagickLibVersion = 0x673;
- ///ditto
- enum MagickLibVersionText = "6.7.3";
- }
- else version(MagickCore_674)
- {
- /// Defines the version of ImageMagick where these headers are based on.
- enum MagickLibVersion = 0x674;
- ///ditto
- enum MagickLibVersionText = "6.7.4";
- }
- else version(MagickCore_675)
- {
- /// Defines the version of ImageMagick where these headers are based on.
- enum MagickLibVersion = 0x675;
- ///ditto
- enum MagickLibVersionText = "6.7.5";
- }
- else version(MagickCore_676)
- {
- /// Defines the version of ImageMagick where these headers are based on.
- enum MagickLibVersion = 0x676;
- ///ditto
- enum MagickLibVersionText = "6.7.6";
- }
- else version(MagickCore_677)
- {
- /// Defines the version of ImageMagick where these headers are based on.
- enum MagickLibVersion = 0x677;
- ///ditto
- enum MagickLibVersionText = "6.7.7";
- }
- else version(MagickCore_678)
- {
- /// Defines the version of ImageMagick where these headers are based on.
- enum MagickLibVersion = 0x678;
- ///ditto
- enum MagickLibVersionText = "6.7.8";
- }
- else version(MagickCore_679)
- {
- /// Defines the version of ImageMagick where these headers are based on.
- enum MagickLibVersion = 0x679;
- ///ditto
- enum MagickLibVersionText = "6.7.9";
- }
- else version(MagickCore_680)
- {
- /// Defines the version of ImageMagick where these headers are based on.
- enum MagickLibVersion = 0x680;
- ///ditto
- enum MagickLibVersionText = "6.8.0";
- }
- else version(MagickCore_681)
- {
- /// Defines the version of ImageMagick where these headers are based on.
- enum MagickLibVersion = 0x681;
- ///ditto
- enum MagickLibVersionText = "6.8.1";
- }
- else version(MagickCore_682)
- {
- /// Defines the version of ImageMagick where these headers are based on.
- enum MagickLibVersion = 0x682;
- ///ditto
- enum MagickLibVersionText = "6.8.2";
- }
- else version(MagickCore_683)
- {
- /// Defines the version of ImageMagick where these headers are based on.
- enum MagickLibVersion = 0x683;
- ///ditto
- enum MagickLibVersionText = "6.8.3";
- }
- else version(MagickCore_684)
- {
- /// Defines the version of ImageMagick where these headers are based on.
- enum MagickLibVersion = 0x684;
- ///ditto
- enum MagickLibVersionText = "6.8.4";
- }
- else version(MagickCore_685)
- {
- /// Defines the version of ImageMagick where these headers are based on.
- enum MagickLibVersion = 0x685;
- ///ditto
- enum MagickLibVersionText = "6.8.5";
- }
- else version(MagickCore_686)
- {
- /// Defines the version of ImageMagick where these headers are based on.
- enum MagickLibVersion = 0x686;
- ///ditto
- enum MagickLibVersionText = "6.8.6";
- }
- else version(MagickCore_687)
- {
- /// Defines the version of ImageMagick where these headers are based on.
- enum MagickLibVersion = 0x687;
- ///ditto
- enum MagickLibVersionText = "6.8.7";
- }
- else version(MagickCore_688)
- {
- /// Defines the version of ImageMagick where these headers are based on.
- enum MagickLibVersion = 0x688;
- ///ditto
- enum MagickLibVersionText = "6.8.8";
- }
- else version(MagickCore_689)
- {
- /// Defines the version of ImageMagick where these headers are based on.
- enum MagickLibVersion = 0x689;
- ///ditto
- enum MagickLibVersionText = "6.8.9";
- }
- else version(MagickCore_690)
- {
- /// Defines the version of ImageMagick where these headers are based on.
- enum MagickLibVersion = 0x690;
- ///ditto
- enum MagickLibVersionText = "6.9.0";
- }
- else version(MagickCore_691)
- {
- /// Defines the version of ImageMagick where these headers are based on.
- enum MagickLibVersion = 0x691;
- ///ditto
- enum MagickLibVersionText = "6.9.1";
- }
- else version(MagickCore_692)
- {
- /// Defines the version of ImageMagick where these headers are based on.
- enum MagickLibVersion = 0x692;
- ///ditto
- enum MagickLibVersionText = "6.9.2";
- }
- else version(MagickCore_693)
- {
- /// Defines the version of ImageMagick where these headers are based on.
- enum MagickLibVersion = 0x693;
- ///ditto
- enum MagickLibVersionText = "6.9.3";
- }
- else version(MagickCore_694)
- {
- /// Defines the version of ImageMagick where these headers are based on.
- enum MagickLibVersion = 0x694;
- ///ditto
- enum MagickLibVersionText = "6.9.4";
- }
- else version(MagickCore_695)
- {
- /// Defines the version of ImageMagick where these headers are based on.
- enum MagickLibVersion = 0x695;
- ///ditto
- enum MagickLibVersionText = "6.9.5";
- }
- else version(MagickCore_696)
- {
- /// Defines the version of ImageMagick where these headers are based on.
- enum MagickLibVersion = 0x696;
- ///ditto
- enum MagickLibVersionText = "6.9.6";
- }
- else version(MagickCore_697)
- {
- /// Defines the version of ImageMagick where these headers are based on.
- enum MagickLibVersion = 0x697;
- ///ditto
- enum MagickLibVersionText = "6.9.7";
- }
- else
- {
- /// Defines the version of ImageMagick where these headers are based on.
- enum MagickLibVersion = 0x698;
- ///ditto
- enum MagickLibVersionText = "6.9.8";
- }
-
- /*
- * With ImageMagick 6.6.3 long and unsinged long were changed to
- * ssize_t and size_t. This is only a problem for 64bits windows.
- */
- static if (MagickLibVersion < 0x663 && c_ulong.sizeof != size_t.sizeof)
- {
- static assert(0, "Only ImageMagick version 6.6.3 and up are supported on your platform");
- }
-
- char* GetMagickHomeURL();
-
- const(char)* GetMagickCopyright();
-
- static if ( MagickLibVersion >= 0x681 )
- {
- const(char)* GetMagickDelegates();
- }
-
- const(char)* GetMagickFeatures();
- const(char)* GetMagickPackageName();
- const(char)* GetMagickQuantumDepth(size_t*);
- const(char)* GetMagickQuantumRange(size_t*);
- const(char)* GetMagickReleaseDate();
- const(char)* GetMagickVersion(size_t*);
-
- static if ( MagickLibVersion >= 0x681 )
- {
- void ListMagickVersion(FILE*);
- }
-}
diff --git a/dmagick/c/magickVersion.d.in b/dmagick/c/magickVersion.d.in
new file mode 100644
index 0000000..3d7d79c
--- /dev/null
+++ b/dmagick/c/magickVersion.d.in
@@ -0,0 +1,48 @@
+module dmagick.c.magickVersion;
+
+import core.stdc.config;
+import core.stdc.stdio;
+
+/// Defines the version of ImageMagick where these headers are based on.
+enum MagickLibVersion = 0x@MagickLibVersion@;
+///ditto
+enum MagickLibVersionText = "@MagickLibVersionText@";
+
+/// The quantum depth used by MagickCore.
+enum MagickQuantumDepth = @QuantumDepth@;
+
+/// Defines if HDRI is enabled.
+enum MagickHDRISupport = @HDRI@;
+
+/*
+ * With ImageMagick 6.6.3 long and unsinged long were changed to
+ * ssize_t and size_t. This is only a problem for 64bits windows.
+ */
+static if (MagickLibVersion < 0x663 && c_ulong.sizeof != size_t.sizeof)
+{
+ static assert(0, "Only ImageMagick version 6.6.3 and up are supported on your platform");
+}
+
+extern(C)
+{
+ char* GetMagickHomeURL();
+
+ const(char)* GetMagickCopyright();
+
+ static if ( MagickLibVersion >= 0x681 )
+ {
+ const(char)* GetMagickDelegates();
+ }
+
+ const(char)* GetMagickFeatures();
+ const(char)* GetMagickPackageName();
+ const(char)* GetMagickQuantumDepth(size_t*);
+ const(char)* GetMagickQuantumRange(size_t*);
+ const(char)* GetMagickReleaseDate();
+ const(char)* GetMagickVersion(size_t*);
+
+ static if ( MagickLibVersion >= 0x681 )
+ {
+ void ListMagickVersion(FILE*);
+ }
+}
diff --git a/dmagick/c/quantum.d b/dmagick/c/quantum.d
index f86d59c..0c2daa6 100644
--- a/dmagick/c/quantum.d
+++ b/dmagick/c/quantum.d
@@ -70,7 +70,7 @@ extern(C)
alias ClampToQuantum RoundToQuantum;
static pure nothrow Quantum ClampToQuantum(const MagickRealType value)
{
- version(MagickCore_HDRI)
+ static if(MagickHDRISupport)
{
return value;
}
@@ -86,7 +86,7 @@ extern(C)
static pure nothrow ubyte ScaleQuantumToChar(const Quantum quantum)
{
- version(MagickCore_HDRI)
+ static if(MagickHDRISupport)
{
if ( quantum <= 0 )
return 0;
diff --git a/dmagick/c/resample.d b/dmagick/c/resample.d
index 80dfbb4..9dc2bbe 100644
--- a/dmagick/c/resample.d
+++ b/dmagick/c/resample.d
@@ -1,27 +1,17 @@
module dmagick.c.resample;
-import dmagick.c.cacheView;
-import dmagick.c.exception;
-import dmagick.c.image;
-import dmagick.c.magickType;
import dmagick.c.magickVersion;
-import dmagick.c.pixel;
-
-//A mixin with static if has problems with circular imports. (dmagick.c.image)
-version(MagickCore_660) {} else
-version(MagickCore_661) {} else
-version(MagickCore_662) {} else
-version(MagickCore_663) {} else
-version(MagickCore_664) {} else
-version(MagickCore_665) {} else
-{
- version = MagickCore_666_and_up;
-}
extern(C)
{
- version ( MagickCore_666_and_up )
+ static if ( MagickLibVersion >= 0x666 )
{
+ import dmagick.c.cacheView;
+ import dmagick.c.exception;
+ import dmagick.c.image;
+ import dmagick.c.magickType;
+ import dmagick.c.pixel;
+
/**
* Used to adjust the filter algorithm used when resizing images.
* Different filters experience varying degrees of success with
@@ -78,6 +68,12 @@ extern(C)
}
else
{
+ import dmagick.c.cacheView;
+ import dmagick.c.exception;
+ import dmagick.c.image;
+ import dmagick.c.magickType;
+ import dmagick.c.pixel;
+
enum FilterTypes
{
UndefinedFilter,