diff --git a/bin/7.0.5-5/bin/Magick++-config b/bin/7.0.5-5/bin/Magick++-config
new file mode 100755
index 0000000..629926c
--- /dev/null
+++ b/bin/7.0.5-5/bin/Magick++-config
@@ -0,0 +1,65 @@
+#!/bin/sh
+#
+# Configure options script for re-calling Magick+ compilation options
+# required to use the Magick++ library.
+#
+#
+
+prefix=/Users/johannespichler/Downloads/newTest/build
+exec_prefix=${prefix}
+
+usage='Usage: Magick++-config [--cppflags] [--cxxflags] [--exec-prefix] [--ldflags] [--libs] [--prefix] [--version]
+
+ For example, "magick.cpp" may be compiled to produce "magick" as follows:
+
+ "c++ -o magick magick.cpp `Magick++-config --cppflags --cxxflags --ldflags --libs`"'
+
+if test $# -eq 0; then
+ echo "${usage}" 1>&2
+ exit 1
+fi
+
+while test $# -gt 0; do
+ case "$1" in
+ -*=*) optarg=`echo "$1" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
+ *) optarg= ;;
+ esac
+ case $1 in
+ --prefix=*)
+ prefix=$optarg
+ ;;
+ --prefix)
+ echo $prefix
+ ;;
+ --exec-prefix=*)
+ exec_prefix=$optarg
+ ;;
+ --exec-prefix)
+ echo $exec_prefix
+ ;;
+ --version)
+ echo '7.0.5 Q16 HDRI'
+ ;;
+ --cflags)
+ pkg-config --cflags Magick++
+ ;;
+ --cxxflags)
+ pkg-config --cflags Magick++
+ ;;
+ --cppflags)
+ pkg-config --cflags Magick++
+ ;;
+ --ldflags)
+ pkg-config --libs Magick++
+ ;;
+ --libs)
+ pkg-config --libs Magick++
+ ;;
+ *)
+ echo "${usage}" 1>&2
+ exit 1
+ ;;
+ esac
+ shift
+done
+
diff --git a/bin/7.0.5-5/bin/MagickCore-config b/bin/7.0.5-5/bin/MagickCore-config
new file mode 100755
index 0000000..419a62f
--- /dev/null
+++ b/bin/7.0.5-5/bin/MagickCore-config
@@ -0,0 +1,67 @@
+#!/bin/sh
+#
+# Configure options script for re-calling MagickCore compilation options
+# required to use the MagickCore library.
+#
+
+prefix=/Users/johannespichler/Downloads/newTest/build
+exec_prefix=${prefix}
+
+usage="\
+Usage: MagickCore-config [--cflags] [--cppflags] [--exec-prefix] [--ldflags] [--libs] [--prefix] [--version]"
+
+if test $# -eq 0; then
+ echo "${usage}" 1>&2
+ echo "Example: gcc \`MagickCore-config --cflags --cppflags\` -o core core.c \`Magick-config --ldflags --libs\`" 1>&2
+ exit 1
+fi
+
+while test $# -gt 0; do
+ case "$1" in
+ -*=*) optarg=`echo "$1" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
+ *) optarg= ;;
+ esac
+ case $1 in
+ --prefix=*)
+ prefix=$optarg
+ ;;
+ --prefix)
+ echo $prefix
+ ;;
+ --exec-prefix=*)
+ exec_prefix=$optarg
+ ;;
+ --exec-prefix)
+ echo $exec_prefix
+ ;;
+ --version)
+ echo '7.0.5 Q16 HDRI'
+ ;;
+ --cflags)
+ pkg-config --cflags MagickCore
+ ;;
+ --cxxflags)
+ pkg-config --cflags MagickCore
+ ;;
+ --cppflags)
+ pkg-config --cflags MagickCore
+ ;;
+ --ldflags)
+ pkg-config --libs MagickCore
+ ;;
+ --libs)
+ pkg-config --libs MagickCore
+ ;;
+ --coder-path)
+ echo "/Users/johannespichler/Downloads/newTest/build/lib/ImageMagick-7.0.5/modules-Q16HDRI/coders"
+ ;;
+ --filter-path)
+ echo "/Users/johannespichler/Downloads/newTest/build/lib/ImageMagick-7.0.5/modules-Q16HDRI/filters"
+ ;;
+ *)
+ echo "${usage}" 1>&2
+ exit 1
+ ;;
+ esac
+ shift
+done
diff --git a/bin/7.0.5-5/bin/MagickWand-config b/bin/7.0.5-5/bin/MagickWand-config
new file mode 100755
index 0000000..d65d987
--- /dev/null
+++ b/bin/7.0.5-5/bin/MagickWand-config
@@ -0,0 +1,62 @@
+#!/bin/sh
+#
+# Configure options script for re-calling MagickWand compilation options
+# required to use the MagickWand library.
+#
+
+prefix=/Users/johannespichler/Downloads/newTest/build
+exec_prefix=${prefix}
+
+usage="\
+Usage: MagickWand-config [--cflags] [--cppflags] [--exec-prefix] [--ldflags] [--libs] [--prefix] [--version]"
+
+if test $# -eq 0; then
+ echo "${usage}" 1>&2
+ echo "Example: gcc \`MagickWand-config --cflags --cppflags\` -o wand wand.c \`MagickWand-config --ldflags --libs\`" 1>&2
+ exit 1
+fi
+
+while test $# -gt 0; do
+ case "$1" in
+ -*=*) optarg=`echo "$1" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
+ *) optarg= ;;
+ esac
+ case $1 in
+ --prefix=*)
+ prefix=$optarg
+ ;;
+ --prefix)
+ echo $prefix
+ ;;
+ --exec-prefix=*)
+ exec_prefix=$optarg
+ ;;
+ --exec-prefix)
+ echo $exec_prefix
+ ;;
+ --version)
+ echo '7.0.5 Q16 HDRI'
+ ;;
+ --cflags)
+ pkg-config --cflags MagickWand
+ ;;
+ --cxxflags)
+ pkg-config --cflags MagickWand
+ ;;
+ --cppflags)
+ pkg-config --cflags MagickWand
+ ;;
+ --ldflags)
+ pkg-config --libs MagickWand
+ ;;
+ --libs)
+ pkg-config --libs MagickWand
+ ;;
+ *)
+ echo "${usage}" 1>&2
+ exit 1
+ ;;
+ esac
+ shift
+done
+
diff --git a/bin/7.0.5-5/bin/animate b/bin/7.0.5-5/bin/animate
new file mode 120000
index 0000000..2e00264
--- /dev/null
+++ b/bin/7.0.5-5/bin/animate
@@ -0,0 +1 @@
+magick
\ No newline at end of file
diff --git a/bin/7.0.5-5/bin/compare b/bin/7.0.5-5/bin/compare
new file mode 120000
index 0000000..2e00264
--- /dev/null
+++ b/bin/7.0.5-5/bin/compare
@@ -0,0 +1 @@
+magick
\ No newline at end of file
diff --git a/bin/7.0.5-5/bin/composite b/bin/7.0.5-5/bin/composite
new file mode 120000
index 0000000..2e00264
--- /dev/null
+++ b/bin/7.0.5-5/bin/composite
@@ -0,0 +1 @@
+magick
\ No newline at end of file
diff --git a/bin/7.0.5-5/bin/conjure b/bin/7.0.5-5/bin/conjure
new file mode 120000
index 0000000..2e00264
--- /dev/null
+++ b/bin/7.0.5-5/bin/conjure
@@ -0,0 +1 @@
+magick
\ No newline at end of file
diff --git a/bin/7.0.5-5/bin/convert b/bin/7.0.5-5/bin/convert
new file mode 120000
index 0000000..2e00264
--- /dev/null
+++ b/bin/7.0.5-5/bin/convert
@@ -0,0 +1 @@
+magick
\ No newline at end of file
diff --git a/bin/7.0.5-5/bin/display b/bin/7.0.5-5/bin/display
new file mode 120000
index 0000000..2e00264
--- /dev/null
+++ b/bin/7.0.5-5/bin/display
@@ -0,0 +1 @@
+magick
\ No newline at end of file
diff --git a/bin/7.0.5-5/bin/identify b/bin/7.0.5-5/bin/identify
new file mode 120000
index 0000000..2e00264
--- /dev/null
+++ b/bin/7.0.5-5/bin/identify
@@ -0,0 +1 @@
+magick
\ No newline at end of file
diff --git a/bin/7.0.5-5/bin/import b/bin/7.0.5-5/bin/import
new file mode 120000
index 0000000..2e00264
--- /dev/null
+++ b/bin/7.0.5-5/bin/import
@@ -0,0 +1 @@
+magick
\ No newline at end of file
diff --git a/bin/7.0.5-5/bin/magick b/bin/7.0.5-5/bin/magick
new file mode 100755
index 0000000..87dcca3
Binary files /dev/null and b/bin/7.0.5-5/bin/magick differ
diff --git a/bin/7.0.5-5/bin/magick-script b/bin/7.0.5-5/bin/magick-script
new file mode 120000
index 0000000..2e00264
--- /dev/null
+++ b/bin/7.0.5-5/bin/magick-script
@@ -0,0 +1 @@
+magick
\ No newline at end of file
diff --git a/bin/7.0.5-5/bin/mogrify b/bin/7.0.5-5/bin/mogrify
new file mode 120000
index 0000000..2e00264
--- /dev/null
+++ b/bin/7.0.5-5/bin/mogrify
@@ -0,0 +1 @@
+magick
\ No newline at end of file
diff --git a/bin/7.0.5-5/bin/montage b/bin/7.0.5-5/bin/montage
new file mode 120000
index 0000000..2e00264
--- /dev/null
+++ b/bin/7.0.5-5/bin/montage
@@ -0,0 +1 @@
+magick
\ No newline at end of file
diff --git a/bin/7.0.5-5/bin/stream b/bin/7.0.5-5/bin/stream
new file mode 120000
index 0000000..2e00264
--- /dev/null
+++ b/bin/7.0.5-5/bin/stream
@@ -0,0 +1 @@
+magick
\ No newline at end of file
diff --git a/bin/7.0.5-5/etc/ImageMagick-7/coder.xml b/bin/7.0.5-5/etc/ImageMagick-7/coder.xml
new file mode 100755
index 0000000..5c62cb4
--- /dev/null
+++ b/bin/7.0.5-5/etc/ImageMagick-7/coder.xml
@@ -0,0 +1,22 @@
+
+
+
+
+
+]>
+
+
+
+
+
+
diff --git a/bin/7.0.5-5/etc/ImageMagick-7/colors.xml b/bin/7.0.5-5/etc/ImageMagick-7/colors.xml
new file mode 100755
index 0000000..55bfb5d
--- /dev/null
+++ b/bin/7.0.5-5/etc/ImageMagick-7/colors.xml
@@ -0,0 +1,28 @@
+
+
+
+
+
+
+]>
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/bin/7.0.5-5/etc/ImageMagick-7/delegates.xml b/bin/7.0.5-5/etc/ImageMagick-7/delegates.xml
new file mode 100755
index 0000000..1c5f027
--- /dev/null
+++ b/bin/7.0.5-5/etc/ImageMagick-7/delegates.xml
@@ -0,0 +1,125 @@
+
+
+
+
+
+
+
+
+
+
+]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/bin/7.0.5-5/etc/ImageMagick-7/log.xml b/bin/7.0.5-5/etc/ImageMagick-7/log.xml
new file mode 100755
index 0000000..cdacdab
--- /dev/null
+++ b/bin/7.0.5-5/etc/ImageMagick-7/log.xml
@@ -0,0 +1,40 @@
+
+
+
+
+
+
+
+
+
+]>
+
+
+
+
+
+
+
+
+
diff --git a/bin/7.0.5-5/etc/ImageMagick-7/magic.xml b/bin/7.0.5-5/etc/ImageMagick-7/magic.xml
new file mode 100755
index 0000000..7f17731
--- /dev/null
+++ b/bin/7.0.5-5/etc/ImageMagick-7/magic.xml
@@ -0,0 +1,23 @@
+
+
+
+
+
+
+]>
+
+
+
+
+
+
+
diff --git a/bin/7.0.5-5/etc/ImageMagick-7/mime.xml b/bin/7.0.5-5/etc/ImageMagick-7/mime.xml
new file mode 100755
index 0000000..c1b61f4
--- /dev/null
+++ b/bin/7.0.5-5/etc/ImageMagick-7/mime.xml
@@ -0,0 +1,1142 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/bin/7.0.5-5/etc/ImageMagick-7/policy.xml b/bin/7.0.5-5/etc/ImageMagick-7/policy.xml
new file mode 100755
index 0000000..99cd252
--- /dev/null
+++ b/bin/7.0.5-5/etc/ImageMagick-7/policy.xml
@@ -0,0 +1,86 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/bin/7.0.5-5/etc/ImageMagick-7/quantization-table.xml b/bin/7.0.5-5/etc/ImageMagick-7/quantization-table.xml
new file mode 100755
index 0000000..a05552b
--- /dev/null
+++ b/bin/7.0.5-5/etc/ImageMagick-7/quantization-table.xml
@@ -0,0 +1,62 @@
+
+
+
+
+
+
+
+
+
+]>
+
+
+
+ Luma Quantization Table
+
+ 16, 16, 16, 18, 25, 37, 56, 85,
+ 16, 17, 20, 27, 34, 40, 53, 75,
+ 16, 20, 24, 31, 43, 62, 91, 135,
+ 18, 27, 31, 40, 53, 74, 106, 156,
+ 25, 34, 43, 53, 69, 94, 131, 189,
+ 37, 40, 62, 74, 94, 124, 169, 238,
+ 56, 53, 91, 106, 131, 169, 226, 311,
+ 85, 75, 135, 156, 189, 238, 311, 418
+
+
+
+
+
diff --git a/bin/7.0.5-5/etc/ImageMagick-7/thresholds.xml b/bin/7.0.5-5/etc/ImageMagick-7/thresholds.xml
new file mode 100755
index 0000000..2ca2dab
--- /dev/null
+++ b/bin/7.0.5-5/etc/ImageMagick-7/thresholds.xml
@@ -0,0 +1,334 @@
+
+
+
+
+
+
+
+
+
+]>
+
+
+
+
+
+ Threshold 1x1 (non-dither)
+
+ 1
+
+
+
+
+ Checkerboard 2x1 (dither)
+
+ 1 2
+ 2 1
+
+
+
+
+
+ Ordered 2x2 (dispersed)
+
+ 1 3
+ 4 2
+
+
+
+
+ Ordered 3x3 (dispersed)
+
+ 3 7 4
+ 6 1 9
+ 2 8 5
+
+
+
+
+
+ Ordered 4x4 (dispersed)
+
+ 1 9 3 11
+ 13 5 15 7
+ 4 12 2 10
+ 16 8 14 6
+
+
+
+
+
+ Ordered 8x8 (dispersed)
+
+ 1 49 13 61 4 52 16 64
+ 33 17 45 29 36 20 48 32
+ 9 57 5 53 12 60 8 56
+ 41 25 37 21 44 28 40 24
+ 3 51 15 63 2 50 14 62
+ 35 19 47 31 34 18 46 30
+ 11 59 7 55 10 58 6 54
+ 43 27 39 23 42 26 38 22
+
+
+
+
+
+ Halftone 4x4 (angled)
+
+ 4 2 7 5
+ 3 1 8 6
+ 7 5 4 2
+ 8 6 3 1
+
+
+
+
+ Halftone 6x6 (angled)
+
+ 14 13 10 8 2 3
+ 16 18 12 7 1 4
+ 15 17 11 9 6 5
+ 8 2 3 14 13 10
+ 7 1 4 16 18 12
+ 9 6 5 15 17 11
+
+
+
+
+ Halftone 8x8 (angled)
+
+ 13 7 8 14 17 21 22 18
+ 6 1 3 9 28 31 29 23
+ 5 2 4 10 27 32 30 24
+ 16 12 11 15 20 26 25 19
+ 17 21 22 18 13 7 8 14
+ 28 31 29 23 6 1 3 9
+ 27 32 30 24 5 2 4 10
+ 20 26 25 19 16 12 11 15
+
+
+
+
+
+ Halftone 4x4 (orthogonal)
+
+ 7 13 11 4
+ 12 16 14 8
+ 10 15 6 2
+ 5 9 3 1
+
+
+
+
+ Halftone 6x6 (orthogonal)
+
+ 7 17 27 14 9 4
+ 21 29 33 31 18 11
+ 24 32 36 34 25 22
+ 19 30 35 28 20 10
+ 8 15 26 16 6 2
+ 5 13 23 12 3 1
+
+
+
+
+ Halftone 8x8 (orthogonal)
+
+ 7 21 33 43 36 19 9 4
+ 16 27 51 55 49 29 14 11
+ 31 47 57 61 59 45 35 23
+ 41 53 60 64 62 52 40 38
+ 37 44 58 63 56 46 30 22
+ 15 28 48 54 50 26 17 10
+ 8 18 34 42 32 20 6 2
+ 5 13 25 39 24 12 3 1
+
+
+
+
+
+ Halftone 16x16 (orthogonal)
+
+ 4 12 24 44 72 100 136 152 150 134 98 70 42 23 11 3
+ 7 16 32 52 76 104 144 160 158 142 102 74 50 31 15 6
+ 19 27 40 60 92 132 168 180 178 166 130 90 58 39 26 18
+ 36 48 56 80 124 176 188 204 203 187 175 122 79 55 47 35
+ 64 68 84 116 164 200 212 224 223 211 199 162 114 83 67 63
+ 88 96 112 156 192 216 232 240 239 231 214 190 154 111 95 87
+ 108 120 148 184 208 228 244 252 251 243 226 206 182 147 119 107
+ 128 140 172 196 219 235 247 256 255 246 234 218 194 171 139 127
+ 126 138 170 195 220 236 248 253 254 245 233 217 193 169 137 125
+ 106 118 146 183 207 227 242 249 250 241 225 205 181 145 117 105
+ 86 94 110 155 191 215 229 238 237 230 213 189 153 109 93 85
+ 62 66 82 115 163 198 210 221 222 209 197 161 113 81 65 61
+ 34 46 54 78 123 174 186 202 201 185 173 121 77 53 45 33
+ 20 28 37 59 91 131 167 179 177 165 129 89 57 38 25 17
+ 8 13 29 51 75 103 143 159 157 141 101 73 49 30 14 5
+ 1 9 21 43 71 99 135 151 149 133 97 69 41 22 10 2
+
+
+
+
+
+
+ Circles 5x5 (black)
+
+ 1 21 16 15 4
+ 5 17 20 19 14
+ 6 21 25 24 12
+ 7 18 22 23 11
+ 2 8 9 10 3
+
+
+
+
+
+ Circles 5x5 (white)
+
+ 25 21 10 11 22
+ 20 9 6 7 12
+ 19 5 1 2 13
+ 18 8 4 3 14
+ 24 17 16 15 23
+
+
+
+
+ Circles 6x6 (black)
+
+ 1 5 14 13 12 4
+ 6 22 28 27 21 11
+ 15 29 35 34 26 20
+ 16 30 36 33 25 19
+ 7 23 31 32 24 10
+ 2 8 17 18 9 3
+
+
+
+
+ Circles 6x6 (white)
+
+ 36 32 23 24 25 33
+ 31 15 9 10 16 26
+ 22 8 2 3 11 17
+ 21 7 1 4 12 18
+ 30 14 6 5 13 27
+ 35 29 20 19 28 34
+
+
+
+
+ Circles 7x7 (black)
+
+ 3 9 18 28 17 8 2
+ 10 24 33 39 32 23 7
+ 19 34 44 48 43 31 16
+ 25 40 45 49 47 38 27
+ 20 35 41 46 42 29 15
+ 11 21 36 37 28 22 6
+ 4 12 13 26 14 5 1
+
+
+
+
+
+ Circles 7x7 (white)
+
+ 47 41 32 22 33 42 48
+ 40 26 17 11 18 27 43
+ 31 16 6 2 7 19 34
+ 25 10 5 1 3 12 23
+ 30 15 9 4 8 20 35
+ 39 29 14 13 21 28 44
+ 46 38 37 24 36 45 49
+
+
+
+
+
+
+
diff --git a/bin/7.0.5-5/etc/ImageMagick-7/type-apple.xml b/bin/7.0.5-5/etc/ImageMagick-7/type-apple.xml
new file mode 100755
index 0000000..8a92d4a
--- /dev/null
+++ b/bin/7.0.5-5/etc/ImageMagick-7/type-apple.xml
@@ -0,0 +1,1371 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/bin/7.0.5-5/etc/ImageMagick-7/type-dejavu.xml b/bin/7.0.5-5/etc/ImageMagick-7/type-dejavu.xml
new file mode 100755
index 0000000..0db1fc8
--- /dev/null
+++ b/bin/7.0.5-5/etc/ImageMagick-7/type-dejavu.xml
@@ -0,0 +1,62 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/bin/7.0.5-5/etc/ImageMagick-7/type-ghostscript.xml b/bin/7.0.5-5/etc/ImageMagick-7/type-ghostscript.xml
new file mode 100755
index 0000000..4eadfc4
--- /dev/null
+++ b/bin/7.0.5-5/etc/ImageMagick-7/type-ghostscript.xml
@@ -0,0 +1,54 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/bin/7.0.5-5/etc/ImageMagick-7/type-windows.xml b/bin/7.0.5-5/etc/ImageMagick-7/type-windows.xml
new file mode 100755
index 0000000..d6735e0
--- /dev/null
+++ b/bin/7.0.5-5/etc/ImageMagick-7/type-windows.xml
@@ -0,0 +1,102 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/bin/7.0.5-5/etc/ImageMagick-7/type.xml b/bin/7.0.5-5/etc/ImageMagick-7/type.xml
new file mode 100755
index 0000000..052bbbd
--- /dev/null
+++ b/bin/7.0.5-5/etc/ImageMagick-7/type.xml
@@ -0,0 +1,21 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+]>
+
+
+
diff --git a/bin/7.0.5-5/include/ImageMagick-7/Magick++.h b/bin/7.0.5-5/include/ImageMagick-7/Magick++.h
new file mode 100755
index 0000000..40f24db
--- /dev/null
+++ b/bin/7.0.5-5/include/ImageMagick-7/Magick++.h
@@ -0,0 +1,23 @@
+// This may look like C code, but it is really -*- C++ -*-
+//
+// Copyright Bob Friesenhahn, 1999, 2000
+// Copyright Dirk Lemstra 2014
+//
+// Simplified includes for Magick++.
+// Inclusion of this header is sufficient to use all Magick++ APIs.
+//
+#ifndef MagickPlusPlus_Header
+#include
+#include
+#include
+#include
+#include
+#include
+
+// Don't leak our definition of the 'restrict' keyword. 'restrict' is a valid
+// identifier in C++, and leaking it could cause extraneous build failures.
+#ifdef restrict
+#undef restrict
+#endif
+#define MagickPlusPlus_Header
+#endif // MagickPlusPlus_Header
diff --git a/bin/7.0.5-5/include/ImageMagick-7/Magick++/Blob.h b/bin/7.0.5-5/include/ImageMagick-7/Magick++/Blob.h
new file mode 100755
index 0000000..68b54a8
--- /dev/null
+++ b/bin/7.0.5-5/include/ImageMagick-7/Magick++/Blob.h
@@ -0,0 +1,80 @@
+// This may look like C code, but it is really -*- C++ -*-
+//
+// Copyright Bob Friesenhahn, 1999, 2000, 2001, 2002
+// Copyright Dirk Lemstra 2015
+//
+// Reference counted container class for Binary Large Objects (BLOBs)
+//
+
+#if !defined(Magick_BlobRef_header)
+#define Magick_BlobRef_header
+
+#include "Magick++/Include.h"
+#include
+
+namespace Magick
+{
+ // Forward decl
+ class BlobRef;
+
+ class MagickPPExport Blob
+ {
+ public:
+
+ enum Allocator
+ {
+ MallocAllocator,
+ NewAllocator
+ };
+
+ // Default constructor
+ Blob(void);
+
+ // Construct object with data, making a copy of the supplied data.
+ Blob(const void* data_,const size_t length_);
+
+ // Copy constructor (reference counted)
+ Blob(const Blob& blob_);
+
+ // Destructor (reference counted)
+ virtual ~Blob();
+
+ // Assignment operator (reference counted)
+ Blob& operator=(const Blob& blob_);
+
+ // Update object contents from Base64-encoded string representation.
+ void base64(const std::string base64_);
+ // Return Base64-encoded string representation.
+ std::string base64(void) const;
+
+ // Obtain pointer to data. The user should never try to modify or
+ // free this data since the Blob class manages its own data. The
+ // user must be finished with the data before allowing the Blob to
+ // be destroyed since the pointer is invalid once the Blob is
+ // destroyed.
+ const void* data(void) const;
+
+ // Obtain data length
+ size_t length(void) const;
+
+ // Update object contents, making a copy of the supplied data.
+ // Any existing data in the object is deallocated.
+ void update(const void* data_,const size_t length_);
+
+ // Update object contents, using supplied pointer directly (no
+ // copy). Any existing data in the object is deallocated. The user
+ // must ensure that the pointer supplied is not deleted or
+ // otherwise modified after it has been supplied to this method.
+ // Specify allocator_ as "MallocAllocator" if memory is allocated
+ // via the C language malloc() function, or "NewAllocator" if
+ // memory is allocated via C++ 'new'.
+ void updateNoCopy(void* data_,const size_t length_,
+ const Allocator allocator_=NewAllocator);
+
+ private:
+ BlobRef *_blobRef;
+ };
+
+} // namespace Magick
+
+#endif // Magick_BlobRef_header
diff --git a/bin/7.0.5-5/include/ImageMagick-7/Magick++/CoderInfo.h b/bin/7.0.5-5/include/ImageMagick-7/Magick++/CoderInfo.h
new file mode 100755
index 0000000..f860020
--- /dev/null
+++ b/bin/7.0.5-5/include/ImageMagick-7/Magick++/CoderInfo.h
@@ -0,0 +1,88 @@
+// This may look like C code, but it is really -*- C++ -*-
+//
+// Copyright Bob Friesenhahn, 2001, 2002
+// Copyright Dirk Lemstra 2013-2015
+//
+// CoderInfo Definition
+//
+// Container for image format support information.
+//
+
+#if !defined (Magick_CoderInfo_header)
+#define Magick_CoderInfo_header 1
+
+#include "Magick++/Include.h"
+#include
+
+namespace Magick
+{
+ class MagickPPExport CoderInfo
+ {
+ public:
+
+ enum MatchType {
+ AnyMatch, // match any coder
+ TrueMatch, // match coder if true
+ FalseMatch // match coder if false
+ };
+
+ // Default constructor
+ CoderInfo(void);
+
+ // Copy constructor
+ CoderInfo(const CoderInfo &coder_);
+
+ // Construct with coder name
+ CoderInfo(const std::string &name_);
+
+ // Destructor
+ ~CoderInfo(void);
+
+ // Assignment operator
+ CoderInfo& operator=(const CoderInfo &coder_);
+
+ // Format can read multi-threaded
+ bool canReadMultithreaded(void) const;
+
+ // Format can write multi-threaded
+ bool canWriteMultithreaded(void) const;
+
+ // Format description
+ std::string description(void) const;
+
+ // Format supports multiple frames
+ bool isMultiFrame(void) const;
+
+ // Format is readable
+ bool isReadable(void) const;
+
+ // Format is writeable
+ bool isWritable(void) const;
+
+ // Format mime type
+ std::string mimeType(void) const;
+
+ // Name of the module
+ std::string module(void) const;
+
+ // Format name
+ std::string name(void) const;
+
+ // Unregisters this coder
+ bool unregister(void) const;
+
+ private:
+ bool _decoderThreadSupport;
+ std::string _description;
+ bool _encoderThreadSupport;
+ bool _isMultiFrame;
+ bool _isReadable;
+ bool _isWritable;
+ std::string _mimeType;
+ std::string _module;
+ std::string _name;
+ };
+
+} // namespace Magick
+
+#endif // Magick_CoderInfo_header
diff --git a/bin/7.0.5-5/include/ImageMagick-7/Magick++/Color.h b/bin/7.0.5-5/include/ImageMagick-7/Magick++/Color.h
new file mode 100755
index 0000000..c6b4446
--- /dev/null
+++ b/bin/7.0.5-5/include/ImageMagick-7/Magick++/Color.h
@@ -0,0 +1,440 @@
+// This may look like C code, but it is really -*- C++ -*-
+//
+// Copyright Bob Friesenhahn, 1999, 2000, 2001, 2002, 2003, 2008
+// Copyright Dirk Lemstra 2013-2014
+//
+// Color Implementation
+//
+#if !defined (Magick_Color_header)
+#define Magick_Color_header
+
+#include "Magick++/Include.h"
+#include
+
+namespace Magick
+{
+ class MagickPPExport Color;
+
+ // Compare two Color objects regardless of LHS/RHS
+ MagickPPExport int operator ==
+ (const Magick::Color& left_,const Magick::Color& right_);
+ MagickPPExport int operator !=
+ (const Magick::Color& left_,const Magick::Color& right_);
+ MagickPPExport int operator >
+ (const Magick::Color& left_,const Magick::Color& right_);
+ MagickPPExport int operator <
+ (const Magick::Color& left_,const Magick::Color& right_);
+ MagickPPExport int operator >=
+ (const Magick::Color& left_,const Magick::Color& right_);
+ MagickPPExport int operator <=
+ (const Magick::Color& left_,const Magick::Color& right_);
+
+ // Base color class stores RGBA components scaled to fit Quantum
+ // All double arguments have a valid range of 0.0 - 1.0.
+ class MagickPPExport Color
+ {
+ public:
+
+ // PixelType specifies the interpretation of PixelInfo members
+ // CYMKPixel:
+ // Cyan = red
+ // Magenta = green
+ // Yellow = blue
+ // Black(K) = black
+ // CYMKPixel:
+ // Cyan = red
+ // Magenta = green
+ // Yellow = blue
+ // Black(K) = black
+ // Alpha = alpha
+ // RGBPixel:
+ // Red = red;
+ // Green = green;
+ // Blue = blue;
+ // RGBAPixel:
+ // Red = red;
+ // Green = green;
+ // Blue = blue;
+ // Alpha = alpha;
+ enum PixelType
+ {
+ CMYKPixel,
+ CMYKAPixel,
+ RGBPixel,
+ RGBAPixel
+ };
+
+ // Default constructor
+ Color(void);
+
+ // Construct Color using the specified RGB values
+ Color(const Quantum red_,const Quantum green_,const Quantum blue_);
+
+ // Construct Color using the specified RGBA values
+ Color(const Quantum red_,const Quantum green_,const Quantum blue_,
+ const Quantum alpha_);
+
+ // Construct Color using the specified CMYKA values
+ Color(const Quantum cyan_,const Quantum magenta_,const Quantum yellow_,
+ const Quantum black_,const Quantum alpha_);
+
+ // Construct Color using the specified color string
+ Color(const char *color_);
+
+ // Copy constructor
+ Color(const Color &color_);
+
+ // Construct color via ImageMagick PixelInfo
+ Color(const PixelInfo &color_);
+
+ // Constructor Color using the specified color string
+ Color(const std::string &color_);
+
+ // Destructor
+ virtual ~Color(void);
+
+ // Assignment operator
+ Color& operator=(const Color &color_);
+
+ // Set color via X11 color specification string
+ const Color& operator=(const char *color);
+
+ // Set color via ImageMagick PixelInfo
+ const Color& operator=(const PixelInfo &color_);
+
+ // Set color via color specification string
+ const Color& operator=(const std::string &color);
+
+ // Return ImageMagick PixelInfo
+ operator PixelInfo() const;
+
+ // Return color specification string
+ operator std::string() const;
+
+ // Returns true if the distance between the other color is less than the
+ // specified distance in a linear three(or four) % dimensional color space.
+ bool isFuzzyEquivalent(const Color &color_,const double fuzz_) const;
+
+ // Does object contain valid color?
+ void isValid(const bool valid_);
+ bool isValid(void) const;
+
+ // Returns pixel type of the color
+ Magick::Color::PixelType pixelType(void) const;
+
+ // Alpha level (range OpaqueAlpha=0 to TransparentAlpha=QuantumRange)
+ void quantumAlpha(const Quantum alpha_);
+ Quantum quantumAlpha(void) const;
+
+ // Black color (range 0 to QuantumRange)
+ void quantumBlack(const Quantum black_);
+ Quantum quantumBlack(void) const;
+
+ // Blue/Yellow color (range 0 to QuantumRange)
+ void quantumBlue(const Quantum blue_);
+ Quantum quantumBlue(void) const;
+
+ // Green/Magenta color (range 0 to QuantumRange)
+ void quantumGreen(const Quantum green_);
+ Quantum quantumGreen(void) const;
+
+ // Red/Cyan color (range 0 to QuantumRange)
+ void quantumRed(const Quantum red_);
+ Quantum quantumRed(void) const;
+
+ protected:
+
+ // Constructor to construct with PixelInfo*
+ // Used to point Color at a pixel in an image
+ Color(PixelInfo *rep_,PixelType pixelType_);
+
+ // Constructor to construct with PixelType
+ Color(PixelType pixelType_);
+
+ // Set pixel
+ // Used to point Color at a pixel in an image
+ void pixel(PixelInfo *rep_,PixelType pixelType_);
+
+ // Scale a value expressed as a double (0-1) to Quantum range (0-QuantumRange)
+ static Quantum scaleDoubleToQuantum(const double double_);
+
+ // Scale a value expressed as a Quantum (0-QuantumRange) to double range (0-1)
+ static double scaleQuantumToDouble(const Quantum quantum_);
+
+ // PixelInfo represents a color pixel:
+ // red = red (range 0 to QuantumRange)
+ // green = green (range 0 to QuantumRange)
+ // blue = blue (range 0 to QuantumRange)
+ // alpha = alpha (range OpaqueAlpha=0 to TransparentAlpha=QuantumRange)
+ // index = PseudoColor colormap index
+ PixelInfo *_pixel;
+
+ private:
+
+ bool _isValid; // Set true if pixel is "valid"
+ bool _pixelOwn; // Set true if we allocated pixel
+ PixelType _pixelType; // Color type supported by _pixel
+
+ // Common initializer for PixelInfo representation
+ void initPixel();
+
+ // Sets the pixel type using the specified PixelInfo.
+ void setPixelType(const PixelInfo &color_);
+ };
+
+ class MagickPPExport ColorCMYK: public Color
+ {
+ public:
+
+ // Default constructor
+ ColorCMYK(void);
+
+ // Copy constructor
+ ColorCMYK(const Color &color_);
+
+ // Construct ColorCMYK using the specified CMYK values
+ ColorCMYK(const double cyan_,const double magenta_,const double yellow_,
+ const double black_);
+
+ // Construct ColorCMYK using the specified CMYKA values
+ ColorCMYK(const double cyan_,const double magenta_,const double yellow_,
+ const double black_,const double alpha_);
+
+ // Destructor
+ ~ColorCMYK(void);
+
+ // Assignment operator from base class
+ ColorCMYK& operator=(const Color& color_);
+
+ // Alpha level (range 0 to 1.0)
+ void alpha(const double alpha_);
+ double alpha(void) const;
+
+ // Black/Key color (range 0 to 1.0)
+ void black(const double black_);
+ double black(void) const;
+
+ // Black/Key color (range 0.0 to 1.0)
+ void cyan(const double cyan_);
+ double cyan(void) const;
+
+ // Magenta color (range 0 to 1.0)
+ void magenta(const double magenta_);
+ double magenta(void) const;
+
+ // Yellow color (range 0 to 1.0)
+ void yellow(const double yellow_);
+ double yellow(void) const;
+
+ protected:
+
+ // Constructor to construct with PixelInfo*
+ ColorCMYK(PixelInfo *rep_,PixelType pixelType_);
+ };
+
+ //
+ // Grayscale RGB color
+ //
+ // Grayscale is simply RGB with equal parts of red, green, and blue
+ // All double arguments have a valid range of 0.0 - 1.0.
+ class MagickPPExport ColorGray: public Color
+ {
+ public:
+
+ // Default constructor
+ ColorGray(void);
+
+ // Copy constructor
+ ColorGray(const Color &color_);
+
+ // Construct ColorGray using the specified shade
+ ColorGray(const double shade_);
+
+ // Destructor
+ ~ColorGray();
+
+ // Shade
+ void shade(const double shade_);
+ double shade(void) const;
+
+ // Assignment operator from base class
+ ColorGray& operator=(const Color& color_);
+
+ protected:
+
+ // Constructor to construct with PixelInfo*
+ ColorGray(PixelInfo *rep_,PixelType pixelType_);
+ };
+
+ //
+ // HSL Colorspace colors
+ //
+ // All double arguments have a valid range of 0.0 - 1.0.
+ class MagickPPExport ColorHSL: public Color
+ {
+ public:
+
+ // Default constructor
+ ColorHSL(void);
+
+ // Copy constructor
+ ColorHSL(const Color &color_);
+
+ // Construct ColorHSL using the specified HSL values
+ ColorHSL(const double hue_,const double saturation_,
+ const double lightness_);
+
+ // Destructor
+ ~ColorHSL();
+
+ // Assignment operator from base class
+ ColorHSL& operator=(const Color& color_);
+
+ // Hue color
+ void hue(const double hue_);
+ double hue(void) const;
+
+ // Lightness color
+ void lightness(const double lightness_);
+ double lightness(void) const;
+
+ // Saturation color
+ void saturation(const double saturation_);
+ double saturation(void) const;
+
+ protected:
+
+ // Constructor to construct with PixelInfo*
+ ColorHSL(PixelInfo *rep_,PixelType pixelType_);
+ };
+
+ //
+ // Monochrome color
+ //
+ // Color arguments are constrained to 'false' (black pixel) and 'true'
+ // (white pixel)
+ class MagickPPExport ColorMono: public Color
+ {
+ public:
+
+ // Default constructor
+ ColorMono(void);
+
+ // Construct ColorMono (false=black, true=white)
+ ColorMono(const bool mono_);
+
+ // Copy constructor
+ ColorMono(const Color &color_);
+
+ // Destructor
+ ~ColorMono();
+
+ // Assignment operator from base class
+ ColorMono& operator=(const Color& color_);
+
+ // Mono color
+ void mono(const bool mono_);
+ bool mono(void) const;
+
+ protected:
+
+ // Constructor to construct with PixelInfo*
+ ColorMono(PixelInfo* rep_,PixelType pixelType_);
+ };
+
+ class MagickPPExport ColorRGB: public Color
+ {
+ public:
+
+ // Default constructor
+ ColorRGB(void);
+
+ // Copy constructor
+ ColorRGB(const Color &color_);
+
+ // Construct ColorRGB using the specified RGB values
+ ColorRGB(const double red_,const double green_,const double blue_);
+
+ // Construct ColorRGB using the specified RGBA values
+ ColorRGB(const double red_,const double green_,const double blue_,
+ const double alpha_);
+
+ // Destructor
+ ~ColorRGB(void);
+
+ // Assignment operator from base class
+ ColorRGB& operator=(const Color& color_);
+
+ // Alpha level (range 0 to 1.0)
+ void alpha(const double alpha_);
+ double alpha(void) const;
+
+ // Blue color (range 0.0 to 1.0)
+ void blue(const double blue_);
+ double blue(void) const;
+
+ // Green color (range 0 to 1.0)
+ void green(const double green_);
+ double green(void) const;
+
+ // Red color (range 0 to 1.0)
+ void red(const double red_);
+ double red(void) const;
+
+ protected:
+
+ // Constructor to construct with PixelInfo*
+ ColorRGB(PixelInfo *rep_,PixelType pixelType_);
+ };
+
+ //
+ // YUV Colorspace color
+ //
+ // Argument ranges:
+ // Y: 0.0 through 1.0
+ // U: -0.5 through 0.5
+ // V: -0.5 through 0.5
+ class MagickPPExport ColorYUV: public Color
+ {
+ public:
+
+ // Default constructor
+ ColorYUV(void);
+
+ // Copy constructor
+ ColorYUV(const Color &color_);
+
+ // Construct ColorYUV using the specified YUV values
+ ColorYUV(const double y_,const double u_,const double v_);
+
+ // Destructor
+ ~ColorYUV(void);
+
+ // Assignment operator from base class
+ ColorYUV& operator=(const Color& color_);
+
+ // Color U (0.0 through 1.0)
+ void u(const double u_);
+ double u(void) const;
+
+ // Color V (-0.5 through 0.5)
+ void v(const double v_);
+ double v(void) const;
+
+ // Color Y (-0.5 through 0.5)
+ void y(const double y_);
+ double y(void) const;
+
+ protected:
+
+ // Constructor to construct with PixelInfo*
+ ColorYUV(PixelInfo *rep_,PixelType pixelType_);
+
+ private:
+
+ void convert(const double y_,const double u_,const double v_);
+
+ };
+} // namespace Magick
+
+#endif // Magick_Color_header
diff --git a/bin/7.0.5-5/include/ImageMagick-7/Magick++/Drawable.h b/bin/7.0.5-5/include/ImageMagick-7/Magick++/Drawable.h
new file mode 100755
index 0000000..34e80d6
--- /dev/null
+++ b/bin/7.0.5-5/include/ImageMagick-7/Magick++/Drawable.h
@@ -0,0 +1,3138 @@
+// This may look like C code, but it is really -*- C++ -*-
+//
+// Copyright Bob Friesenhahn, 1999, 2000, 2001, 2002
+// Copyright Dirk Lemstra 2014-2017
+//
+// Definition of Drawable (Graphic objects)
+//
+// The technique used for instantiating classes which derive from STL
+// templates is described in Microsoft MSDN Article ID: Q168958
+// "HOWTO: Exporting STL Components Inside & Outside of a Class".
+// "http://support.microsoft.com/kb/168958"
+//
+// Note that version 3.0 of this article says that that only STL
+// container template which supports DLL export is and we are
+// not using as part of the Drawable implementation.
+//
+
+#if !defined(Magick_Drawable_header)
+#define Magick_Drawable_header
+
+#include "Magick++/Include.h"
+
+#include
+#include
+#include
+#include
+#include "Magick++/Color.h"
+#include "Magick++/Geometry.h"
+
+#if defined(MagickDLLExplicitTemplate)
+# if defined(MAGICK_PLUSPLUS_IMPLEMENTATION)
+# define MagickDrawableExtern
+# else
+# pragma warning( disable: 4231 ) // Disable warning regarding using extern
+# define MagickDrawableExtern extern
+# endif // MAGICK_PLUSPLUS_IMPLEMENTATION
+#else
+# define MagickDrawableExtern
+#endif // MagickDLLExplicitTemplate
+
+namespace Magick
+{
+ //
+ // Representation of an x,y coordinate
+ //
+ class MagickPPExport Coordinate
+ {
+ public:
+
+ Coordinate(void)
+ : _x(0),
+ _y(0) {}
+
+ Coordinate(double x_,double y_)
+ : _x(x_),
+ _y(y_) {}
+
+ virtual ~Coordinate() {}
+
+ void x(double x_) { _x=x_; }
+ double x(void) const { return _x; }
+
+ void y(double y_) { _y=y_; }
+ double y(void) const { return _y; }
+
+ private:
+ double _x;
+ double _y;
+ };
+
+ typedef std::vector CoordinateList;
+
+#if defined(MagickDLLExplicitTemplate)
+
+ MagickDrawableExtern template class MagickPPExport
+ std::allocator;
+
+#endif // MagickDLLExplicitTemplate
+
+ // Compare two Coordinate objects regardless of LHS/RHS
+ extern MagickPPExport int operator ==
+ (const Coordinate& left_,const Coordinate& right_);
+ extern MagickPPExport int operator !=
+ (const Coordinate& left_, const Coordinate& right_);
+ extern MagickPPExport int operator >
+ (const Coordinate& left_, const Coordinate& right_);
+ extern MagickPPExport int operator <
+ (const Coordinate& left_, const Coordinate& right_);
+ extern MagickPPExport int operator >=
+ (const Coordinate& left_, const Coordinate& right_);
+ extern MagickPPExport int operator <=
+ (const Coordinate& left_, const Coordinate& right_);
+
+ //
+ // Base class for all drawable objects
+ //
+ class MagickPPExport DrawableBase
+ {
+ public:
+
+ // Default constructor
+ DrawableBase(void);
+
+ // Destructor
+ virtual ~DrawableBase(void);
+
+ // Operator to invoke equivalent draw API call
+ virtual void operator()(MagickCore::DrawingWand *) const;
+
+ // Return polymorphic copy of object
+ virtual DrawableBase* copy() const;
+ };
+
+ //
+ // Representation of a drawable surrogate object to manage drawable objects
+ //
+ #undef Drawable // Conflict with
+ class MagickPPExport Drawable
+ {
+ public:
+
+ // Default constructor
+ Drawable(void);
+
+ // Construct from DrawableBase
+ Drawable(const DrawableBase& original_);
+
+ // Destructor
+ ~Drawable(void);
+
+ // Copy constructor
+ Drawable(const Drawable& original_);
+
+ // Assignment operator
+ Drawable& operator=(const Drawable& original_);
+
+ // Operator to invoke contained object
+ void operator()(MagickCore::DrawingWand *) const;
+
+ private:
+ DrawableBase* dp;
+ };
+
+ typedef std::vector DrawableList;
+
+#if defined(MagickDLLExplicitTemplate)
+
+ MagickDrawableExtern template class MagickPPExport
+ std::allocator;
+
+#endif // MagickDLLExplicitTemplate
+
+//
+// Base class for all drawable path elements for use with
+// DrawablePath
+//
+class MagickPPExport VPathBase
+{
+public:
+ // Constructor
+ VPathBase ( void )
+ { }
+
+ // Destructor
+ virtual ~VPathBase ( void );
+
+ // Assignment operator
+ // const VPathBase& operator= (const VPathBase& original_ );
+
+ // Operator to invoke equivalent draw API call
+ virtual void operator()( MagickCore::DrawingWand *context_ ) const = 0;
+
+ // Return polymorphic copy of object
+ virtual VPathBase* copy() const = 0;
+};
+
+//
+// Representation of a drawable path element surrogate object to
+// manage drawable path elements so they may be passed as a list to
+// DrawablePath.
+//
+class MagickPPExport VPath
+{
+public:
+ // Constructor
+ VPath ( void );
+
+ // Construct from VPathBase
+ VPath ( const VPathBase& original_ );
+
+ // Destructor
+ virtual ~VPath ( void );
+
+ // Copy constructor
+ VPath ( const VPath& original_ );
+
+ // Assignment operator
+ VPath& operator= (const VPath& original_ );
+
+ // Operator to invoke contained object
+ void operator()( MagickCore::DrawingWand *context_ ) const;
+
+private:
+ VPathBase* dp;
+};
+
+typedef std::vector VPathList;
+
+#if defined(MagickDLLExplicitTemplate)
+
+MagickDrawableExtern template class MagickPPExport
+std::allocator;
+
+// MagickDrawableExtern template class MagickPPExport
+// std::vector >;
+
+#endif // MagickDLLExplicitTemplate
+
+//
+// Drawable Objects
+//
+
+// Affine (scaling, rotation, and translation)
+class MagickPPExport DrawableAffine : public DrawableBase
+{
+public:
+ DrawableAffine ( double sx_, double sy_,
+ double rx_, double ry_,
+ double tx_, double ty_ );
+
+ DrawableAffine ( void );
+
+ /*virtual*/ ~DrawableAffine( void );
+
+ // Operator to invoke equivalent draw API call
+ /*virtual*/ void operator()( MagickCore::DrawingWand *context_ ) const;
+
+ // Return polymorphic copy of object
+ /*virtual*/
+ DrawableBase* copy() const;
+
+ void sx( const double sx_ )
+ {
+ _affine.sx = sx_;
+ }
+ double sx( void ) const
+ {
+ return _affine.sx;
+ }
+
+ void sy( const double sy_ )
+ {
+ _affine.sy = sy_;
+ }
+ double sy( void ) const
+ {
+ return _affine.sy;
+ }
+
+ void rx( const double rx_ )
+ {
+ _affine.rx = rx_;
+ }
+ double rx( void ) const
+ {
+ return _affine.rx;
+ }
+
+ void ry( const double ry_ )
+ {
+ _affine.ry = ry_;
+ }
+ double ry( void ) const
+ {
+ return _affine.ry;
+ }
+
+ void tx( const double tx_ )
+ {
+ _affine.tx = tx_;
+ }
+ double tx( void ) const
+ {
+ return _affine.tx;
+ }
+
+ void ty( const double ty_ )
+ {
+ _affine.ty = ty_;
+ }
+ double ty( void ) const
+ {
+ return _affine.ty;
+ }
+
+private:
+ MagickCore::AffineMatrix _affine;
+};
+
+// Change pixel alpha value to transparent using PaintMethod
+class MagickPPExport DrawableAlpha : public DrawableBase
+{
+public:
+
+ DrawableAlpha(double x_, double y_,PaintMethod paintMethod_)
+ : _x(x_),
+ _y(y_),
+ _paintMethod(paintMethod_)
+ {
+ }
+
+ ~DrawableAlpha(void);
+
+ // Operator to invoke equivalent draw API call
+ void operator()(MagickCore::DrawingWand *context_) const;
+
+ // Return polymorphic copy of object
+ DrawableBase* copy() const;
+
+ void x(double x_)
+ {
+ _x=x_;
+ }
+
+ double x(void) const
+ {
+ return(_x);
+ }
+
+ void y(double y_)
+ {
+ _y=y_;
+ }
+
+ double y(void) const
+ {
+ return(_y);
+ }
+
+ void paintMethod(PaintMethod paintMethod_)
+ {
+ _paintMethod=paintMethod_;
+ }
+
+ PaintMethod paintMethod(void) const
+ {
+ return(_paintMethod);
+ }
+
+ private:
+
+ double _x;
+ double _y;
+ PaintMethod _paintMethod;
+};
+
+// Arc
+class MagickPPExport DrawableArc : public DrawableBase
+{
+public:
+ DrawableArc ( double startX_, double startY_,
+ double endX_, double endY_,
+ double startDegrees_, double endDegrees_ )
+ : _startX(startX_),
+ _startY(startY_),
+ _endX(endX_),
+ _endY(endY_),
+ _startDegrees(startDegrees_),
+ _endDegrees(endDegrees_)
+ { }
+
+ /*virtual*/ ~DrawableArc( void );
+
+ // Operator to invoke equivalent draw API call
+ /*virtual*/ void operator()( MagickCore::DrawingWand *context_ ) const;
+
+ // Return polymorphic copy of object
+ /*virtual*/ DrawableBase* copy() const;
+
+ void startX( double startX_ )
+ {
+ _startX = startX_;
+ }
+ double startX( void ) const
+ {
+ return _startX;
+ }
+
+ void startY( double startY_ )
+ {
+ _startY = startY_;
+ }
+ double startY( void ) const
+ {
+ return _startY;
+ }
+
+ void endX( double endX_ )
+ {
+ _endX = endX_;
+ }
+ double endX( void ) const
+ {
+ return _endX;
+ }
+
+ void endY( double endY_ )
+ {
+ _endY = endY_;
+ }
+ double endY( void ) const
+ {
+ return _endY;
+ }
+
+ void startDegrees( double startDegrees_ )
+ {
+ _startDegrees = startDegrees_;
+ }
+ double startDegrees( void ) const
+ {
+ return _startDegrees;
+ }
+
+ void endDegrees( double endDegrees_ )
+ {
+ _endDegrees = endDegrees_;
+ }
+ double endDegrees( void ) const
+ {
+ return _endDegrees;
+ }
+
+private:
+ double _startX;
+ double _startY;
+ double _endX;
+ double _endY;
+ double _startDegrees;
+ double _endDegrees;
+};
+
+// Bezier curve (Coordinate list must contain at least three members)
+class MagickPPExport DrawableBezier : public DrawableBase
+{
+public:
+ // Construct from coordinates
+ DrawableBezier ( const CoordinateList &coordinates_ );
+
+ // Copy constructor
+ DrawableBezier ( const DrawableBezier& original_ );
+
+ // Destructor
+ /*virtual*/ ~DrawableBezier ( void );
+
+ // Operator to invoke equivalent draw API call
+ /*virtual*/ void operator()( MagickCore::DrawingWand *context_ ) const;
+
+ // Return polymorphic copy of object
+ /*virtual*/ DrawableBase* copy() const;
+
+private:
+ CoordinateList _coordinates;
+};
+
+ // Sets the border color to be used for drawing bordered objects.
+ class MagickPPExport DrawableBorderColor : public DrawableBase
+ {
+ public:
+
+ DrawableBorderColor(const Color &color_);
+
+ DrawableBorderColor(const DrawableBorderColor &original_);
+
+ ~DrawableBorderColor(void);
+
+ // Operator to invoke equivalent draw API call
+ void operator()(MagickCore::DrawingWand *context_) const;
+
+ void color(const Color &color_);
+ Color color(void) const;
+
+ // Return polymorphic copy of object
+ DrawableBase* copy() const;
+
+ private:
+ Color _color;
+ };
+
+ // Sets the polygon fill rule to be used by the clipping path.
+ class MagickPPExport DrawableClipRule : public DrawableBase
+ {
+ public:
+
+ DrawableClipRule(const FillRule fillRule_);
+
+ ~DrawableClipRule(void);
+
+ // Operator to invoke equivalent draw API call
+ void operator()(MagickCore::DrawingWand *context_) const;
+
+ void fillRule(const FillRule fillRule_);
+ FillRule fillRule(void) const;
+
+ // Return polymorphic copy of object
+ DrawableBase* copy() const;
+
+ private:
+ FillRule _fillRule;
+ };
+
+ // Sets the interpretation of clip path units.
+ class MagickPPExport DrawableClipUnits : public DrawableBase
+ {
+ public:
+
+ DrawableClipUnits(const ClipPathUnits units_);
+
+ ~DrawableClipUnits(void);
+
+ // Operator to invoke equivalent draw API call
+ void operator()(MagickCore::DrawingWand *context_) const;
+
+ void units(const ClipPathUnits units_);
+ ClipPathUnits units(void) const;
+
+ // Return polymorphic copy of object
+ DrawableBase* copy() const;
+
+ private:
+ ClipPathUnits _units;
+ };
+
+// Pop (terminate) clip path definition
+class MagickPPExport DrawablePopClipPath : public DrawableBase
+{
+public:
+ DrawablePopClipPath ( void )
+ : _dummy(0)
+ {
+ }
+
+ /*virtual*/ ~DrawablePopClipPath ( void );
+
+ // Operator to invoke equivalent draw API call
+ /*virtual*/ void operator()( MagickCore::DrawingWand *context_ ) const;
+
+ // Return polymorphic copy of object
+ /*virtual*/ DrawableBase* copy() const;
+
+private:
+ ::ssize_t _dummy;
+};
+
+// Push (create) Clip path definition
+class MagickPPExport DrawablePushClipPath : public DrawableBase
+{
+public:
+ DrawablePushClipPath ( const std::string &id_);
+
+ DrawablePushClipPath ( const DrawablePushClipPath& original_ );
+
+ /*virtual*/ ~DrawablePushClipPath ( void );
+
+ // Operator to invoke equivalent draw API call
+ /*virtual*/ void operator()( MagickCore::DrawingWand *context_ ) const;
+
+ // Return polymorphic copy of object
+ /*virtual*/ DrawableBase* copy() const;
+
+private:
+ std::string _id;
+};
+
+// Named Clip Path
+class MagickPPExport DrawableClipPath : public DrawableBase
+{
+public:
+ DrawableClipPath ( const std::string &id_ );
+ DrawableClipPath ( const DrawableClipPath& original_ );
+
+ /*virtual*/ ~DrawableClipPath ( void );
+
+ // Operator to invoke equivalent draw API call
+ /*virtual*/ void operator()( MagickCore::DrawingWand *context_ ) const;
+
+ // Return polymorphic copy of object
+ /*virtual*/ DrawableBase* copy() const;
+
+ void clip_path( const std::string &id_ )
+ {
+ _id = id_.c_str(); //multithread safe
+ }
+ std::string clip_path( void ) const
+ {
+ return _id;
+ }
+
+private:
+ std::string _id;
+};
+
+// Circle
+class MagickPPExport DrawableCircle : public DrawableBase
+{
+public:
+ DrawableCircle ( double originX_, double originY_,
+ double perimX_, double perimY_ )
+ : _originX(originX_),
+ _originY(originY_),
+ _perimX(perimX_),
+ _perimY(perimY_)
+ {
+ }
+
+ /*virtual*/ ~DrawableCircle ( void );
+
+ // Operator to invoke equivalent draw API call
+ /*virtual*/ void operator()( MagickCore::DrawingWand *context_ ) const;
+
+ // Return polymorphic copy of object
+ /*virtual*/ DrawableBase* copy() const;
+
+ void originX( double originX_ )
+ {
+ _originX = originX_;
+ }
+ double originX( void ) const
+ {
+ return _originX;
+ }
+
+ void originY( double originY_ )
+ {
+ _originY = originY_;
+ }
+ double originY( void ) const
+ {
+ return _originY;
+ }
+
+ void perimX( double perimX_ )
+ {
+ _perimX = perimX_;
+ }
+ double perimX( void ) const
+ {
+ return _perimX;
+ }
+
+ void perimY( double perimY_ )
+ {
+ _perimY = perimY_;
+ }
+ double perimY( void ) const
+ {
+ return _perimY;
+ }
+
+private:
+ double _originX;
+ double _originY;
+ double _perimX;
+ double _perimY;
+};
+
+// Colorize at point using PaintMethod
+class MagickPPExport DrawableColor : public DrawableBase
+{
+public:
+ DrawableColor ( double x_, double y_,
+ PaintMethod paintMethod_ )
+ : _x(x_),
+ _y(y_),
+ _paintMethod(paintMethod_)
+ { }
+
+ /*virtual*/ ~DrawableColor ( void );
+
+ // Operator to invoke equivalent draw API call
+ /*virtual*/ void operator()( MagickCore::DrawingWand *context_ ) const;
+
+ // Return polymorphic copy of object
+ /*virtual*/ DrawableBase* copy() const;
+
+ void x( double x_ )
+ {
+ _x = x_;
+ }
+ double x( void ) const
+ {
+ return _x;
+ }
+
+ void y( double y_ )
+ {
+ _y = y_;
+ }
+ double y( void ) const
+ {
+ return _y;
+ }
+
+ void paintMethod( PaintMethod paintMethod_ )
+ {
+ _paintMethod = paintMethod_;
+ }
+ PaintMethod paintMethod( void ) const
+ {
+ return _paintMethod;
+ }
+
+private:
+ double _x;
+ double _y;
+ PaintMethod _paintMethod;
+};
+
+// Draw image at point, scaled to size specified by width and height
+class MagickPPExport Image;
+class MagickPPExport DrawableCompositeImage : public DrawableBase
+{
+public:
+ DrawableCompositeImage ( double x_, double y_,
+ const std::string &filename_ );
+
+ DrawableCompositeImage ( double x_, double y_,
+ const Image &image_ );
+
+ DrawableCompositeImage ( double x_, double y_,
+ double width_, double height_,
+ const std::string &filename_ );
+
+ DrawableCompositeImage ( double x_, double y_,
+ double width_, double height_,
+ const Image &image_ );
+
+ DrawableCompositeImage ( double x_, double y_,
+ double width_, double height_,
+ const std::string &filename_,
+ CompositeOperator composition_ );
+
+ DrawableCompositeImage ( double x_, double y_,
+ double width_, double height_,
+ const Image &image_,
+ CompositeOperator composition_ );
+
+ // Copy constructor
+ DrawableCompositeImage ( const DrawableCompositeImage& original_ );
+
+ // Destructor
+ /*virtual*/ ~DrawableCompositeImage( void );
+
+ // Assignment operator
+ DrawableCompositeImage& operator=
+ (const DrawableCompositeImage& original_ );
+
+ // Operator to invoke equivalent draw API call
+ /*virtual*/ void operator()( MagickCore::DrawingWand *context_ ) const;
+
+ // Return polymorphic copy of object
+ /*virtual*/ DrawableBase* copy() const;
+
+ void composition( CompositeOperator composition_ )
+ {
+ _composition = composition_;
+ }
+ CompositeOperator composition( void ) const
+ {
+ return _composition;
+ }
+
+ void filename( const std::string &image_ );
+ std::string filename( void ) const;
+
+ void x( double x_ )
+ {
+ _x = x_;
+ }
+ double x( void ) const
+ {
+ return _x;
+ }
+
+ void y( double y_ )
+ {
+ _y = y_;
+ }
+ double y( void ) const
+ {
+ return _y;
+ }
+
+ void width( double width_ )
+ {
+ _width = width_;
+ }
+ double width( void ) const
+ {
+ return _width;
+ }
+
+ void height( double height_ )
+ {
+ _height = height_;
+ }
+ double height( void ) const
+ {
+ return _height;
+ }
+
+ void image( const Image &image_ );
+ Magick::Image image( void ) const;
+
+ // Specify image format used to output Base64 inlined image data.
+ void magick( std::string magick_ );
+ std::string magick( void );
+
+private:
+ CompositeOperator _composition;
+ double _x;
+ double _y;
+ double _width;
+ double _height;
+ Image* _image;
+};
+
+// Density
+class MagickPPExport DrawableDensity : public DrawableBase
+{
+public:
+
+ DrawableDensity(const Point &density_);
+
+ DrawableDensity(const std::string &density_);
+
+ ~DrawableDensity(void);
+
+ void operator()(MagickCore::DrawingWand *context_) const;
+
+ DrawableBase* copy() const;
+
+private:
+ std::string _density;
+};
+
+// Ellipse
+class MagickPPExport DrawableEllipse : public DrawableBase
+{
+public:
+ DrawableEllipse ( double originX_, double originY_,
+ double radiusX_, double radiusY_,
+ double arcStart_, double arcEnd_ )
+ : _originX(originX_),
+ _originY(originY_),
+ _radiusX(radiusX_),
+ _radiusY(radiusY_),
+ _arcStart(arcStart_),
+ _arcEnd(arcEnd_)
+ { }
+
+ /*virtual*/ ~DrawableEllipse( void );
+
+ // Operator to invoke equivalent draw API call
+ /*virtual*/ void operator()( MagickCore::DrawingWand *context_ ) const;
+
+ // Return polymorphic copy of object
+ /*virtual*/ DrawableBase* copy() const;
+
+ void originX( double originX_ )
+ {
+ _originX = originX_;
+ }
+ double originX( void ) const
+ {
+ return _originX;
+ }
+
+ void originY( double originY_ )
+ {
+ _originY = originY_;
+ }
+ double originY( void ) const
+ {
+ return _originY;
+ }
+
+ void radiusX( double radiusX_ )
+ {
+ _radiusX = radiusX_;
+ }
+ double radiusX( void ) const
+ {
+ return _radiusX;
+ }
+
+ void radiusY( double radiusY_ )
+ {
+ _radiusY = radiusY_;
+ }
+ double radiusY( void ) const
+ {
+ return _radiusY;
+ }
+
+ void arcStart( double arcStart_ )
+ {
+ _arcStart = arcStart_;
+ }
+ double arcStart( void ) const
+ {
+ return _arcStart;
+ }
+
+ void arcEnd( double arcEnd_ )
+ {
+ _arcEnd = arcEnd_;
+ }
+ double arcEnd( void ) const
+ {
+ return _arcEnd;
+ }
+
+private:
+ double _originX;
+ double _originY;
+ double _radiusX;
+ double _radiusY;
+ double _arcStart;
+ double _arcEnd;
+};
+
+// Specify drawing fill color
+class MagickPPExport DrawableFillColor : public DrawableBase
+{
+public:
+ DrawableFillColor ( const Color &color_ );
+
+ DrawableFillColor ( const DrawableFillColor& original_ );
+
+ /*virtual*/ ~DrawableFillColor( void );
+
+ // Operator to invoke equivalent draw API call
+ /*virtual*/ void operator()( MagickCore::DrawingWand *context_ ) const;
+
+ // Return polymorphic copy of object
+ /*virtual*/ DrawableBase* copy() const;
+
+ void color( const Color &color_ )
+ {
+ _color = color_;
+ }
+ Color color( void ) const
+ {
+ return _color;
+ }
+
+private:
+ Color _color;
+};
+
+ // Sets the URL to use as a fill pattern for filling objects. Only local
+ // URLs("#identifier") are supported at this time. These local URLs are
+ // normally created by defining a named fill pattern with
+ // DrawablePushPattern/DrawablePopPattern.
+ class MagickPPExport DrawableFillPatternUrl : public DrawableBase
+ {
+ public:
+
+ DrawableFillPatternUrl(const std::string &url_);
+
+ ~DrawableFillPatternUrl(void);
+
+ DrawableFillPatternUrl(const DrawableFillPatternUrl& original_);
+
+ // Operator to invoke equivalent draw API call
+ void operator()(MagickCore::DrawingWand *context_) const;
+
+ void url(const std::string &url_);
+ std::string url(void) const;
+
+ // Return polymorphic copy of object
+ DrawableBase* copy() const;
+
+ private:
+ std::string _url;
+ };
+
+// Specify fill rule (fill-rule)
+class MagickPPExport DrawableFillRule : public DrawableBase
+{
+public:
+ DrawableFillRule ( const FillRule fillRule_ )
+ : _fillRule(fillRule_)
+ {
+ }
+
+ /*virtual*/ ~DrawableFillRule ( void );
+
+ // Operator to invoke equivalent draw API call
+ /*virtual*/ void operator()( MagickCore::DrawingWand *context_ ) const;
+
+ // Return polymorphic copy of object
+ /*virtual*/ DrawableBase* copy() const;
+
+ void fillRule( const FillRule fillRule_ )
+ {
+ _fillRule = fillRule_;
+ }
+ FillRule fillRule( void ) const
+ {
+ return _fillRule;
+ }
+
+private:
+ FillRule _fillRule;
+};
+
+// Specify drawing fill alpha
+class MagickPPExport DrawableFillOpacity : public DrawableBase
+{
+public:
+
+ DrawableFillOpacity(double opacity_)
+ : _opacity(opacity_)
+ {
+ }
+
+ ~DrawableFillOpacity ( void );
+
+ // Operator to invoke equivalent draw API call
+ void operator()(MagickCore::DrawingWand *context_) const;
+
+ // Return polymorphic copy of object
+ DrawableBase* copy() const;
+
+ void opacity(double opacity_)
+ {
+ _opacity=opacity_;
+ }
+
+ double opacity(void) const
+ {
+ return(_opacity);
+ }
+
+private:
+ double _opacity;
+};
+
+// Specify text font
+class MagickPPExport DrawableFont : public DrawableBase
+{
+public:
+ DrawableFont ( const std::string &font_ );
+
+ DrawableFont ( const std::string &family_,
+ StyleType style_,
+ const unsigned int weight_,
+ StretchType stretch_ );
+ DrawableFont ( const DrawableFont& original_ );
+
+ /*virtual*/ ~DrawableFont ( void );
+
+ // Operator to invoke equivalent draw API call
+ /*virtual*/ void operator()( MagickCore::DrawingWand *context_ ) const;
+
+ // Return polymorphic copy of object
+ /*virtual*/ DrawableBase* copy() const;
+
+ void font( const std::string &font_ )
+ {
+ _font = font_;
+ }
+ std::string font( void ) const
+ {
+ return _font;
+ }
+
+private:
+ std::string _font;
+ std::string _family;
+ StyleType _style;
+ unsigned int _weight;
+ StretchType _stretch;
+};
+
+// Specify text positioning gravity
+class MagickPPExport DrawableGravity : public DrawableBase
+{
+public:
+ DrawableGravity ( GravityType gravity_ )
+ : _gravity(gravity_)
+ {
+ }
+
+ /*virtual*/ ~DrawableGravity ( void );
+
+ // Operator to invoke equivalent draw API call
+ /*virtual*/ void operator()( MagickCore::DrawingWand *context_ ) const;
+
+ // Return polymorphic copy of object
+ /*virtual*/ DrawableBase* copy() const;
+
+ void gravity( GravityType gravity_ )
+ {
+ _gravity = gravity_;
+ }
+ GravityType gravity( void ) const
+ {
+ return _gravity;
+ }
+
+private:
+ GravityType _gravity;
+};
+
+// Line
+class MagickPPExport DrawableLine : public DrawableBase
+{
+public:
+ DrawableLine ( double startX_, double startY_,
+ double endX_, double endY_ )
+ : _startX(startX_),
+ _startY(startY_),
+ _endX(endX_),
+ _endY(endY_)
+ { }
+
+ /*virtual*/ ~DrawableLine ( void );
+
+ // Operator to invoke equivalent draw API call
+ /*virtual*/ void operator()( MagickCore::DrawingWand *context_ ) const;
+
+ // Return polymorphic copy of object
+ /*virtual*/ DrawableBase* copy() const;
+
+ void startX( double startX_ )
+ {
+ _startX = startX_;
+ }
+ double startX( void ) const
+ {
+ return _startX;
+ }
+
+ void startY( double startY_ )
+ {
+ _startY = startY_;
+ }
+ double startY( void ) const
+ {
+ return _startY;
+ }
+
+ void endX( double endX_ )
+ {
+ _endX = endX_;
+ }
+ double endX( void ) const
+ {
+ return _endX;
+ }
+
+ void endY( double endY_ )
+ {
+ _endY = endY_;
+ }
+ double endY( void ) const
+ {
+ return _endY;
+ }
+
+private:
+ double _startX;
+ double _startY;
+ double _endX;
+ double _endY;
+};
+
+// Drawable Path
+class MagickPPExport DrawablePath : public DrawableBase
+{
+public:
+ DrawablePath ( const VPathList &path_ );
+
+ DrawablePath ( const DrawablePath& original_ );
+
+ /*virtual*/ ~DrawablePath ( void );
+
+ // Operator to invoke equivalent draw API call
+ /*virtual*/ void operator()( MagickCore::DrawingWand *context_ ) const;
+
+ // Return polymorphic copy of object
+ /*virtual*/ DrawableBase* copy() const;
+
+private:
+ VPathList _path;
+};
+
+// Point
+class MagickPPExport DrawablePoint : public DrawableBase
+{
+public:
+ DrawablePoint ( double x_, double y_ )
+ : _x(x_),
+ _y(y_)
+ { }
+
+ /*virtual*/ ~DrawablePoint ( void );
+
+ // Operator to invoke equivalent draw API call
+ /*virtual*/ void operator()( MagickCore::DrawingWand *context_ ) const;
+
+ // Return polymorphic copy of object
+ /*virtual*/ DrawableBase* copy() const;
+
+ void x( double x_ )
+ {
+ _x = x_;
+ }
+ double x( void ) const
+ {
+ return _x;
+ }
+
+ void y( double y_ )
+ {
+ _y = y_;
+ }
+ double y( void ) const
+ {
+ return _y;
+ }
+
+private:
+ double _x;
+ double _y;
+};
+
+// Text pointsize
+class MagickPPExport DrawablePointSize : public DrawableBase
+{
+public:
+ DrawablePointSize ( double pointSize_ )
+ : _pointSize(pointSize_)
+ { }
+
+ /*virtual*/ ~DrawablePointSize ( void );
+
+ // Operator to invoke equivalent draw API call
+ /*virtual*/ void operator()( MagickCore::DrawingWand *context_ ) const;
+
+ // Return polymorphic copy of object
+ /*virtual*/ DrawableBase* copy() const;
+
+ void pointSize( double pointSize_ )
+ {
+ _pointSize = pointSize_;
+ }
+ double pointSize( void ) const
+ {
+ return _pointSize;
+ }
+
+private:
+ double _pointSize;
+};
+
+// Polygon (Coordinate list must contain at least three members)
+class MagickPPExport DrawablePolygon : public DrawableBase
+{
+public:
+ DrawablePolygon ( const CoordinateList &coordinates_ );
+
+ DrawablePolygon ( const DrawablePolygon& original_ );
+
+ /*virtual*/ ~DrawablePolygon ( void );
+
+ // Operator to invoke equivalent draw API call
+ /*virtual*/ void operator()( MagickCore::DrawingWand *context_ ) const;
+
+ // Return polymorphic copy of object
+ /*virtual*/ DrawableBase* copy() const;
+
+private:
+ CoordinateList _coordinates;
+};
+
+// Polyline (Coordinate list must contain at least three members)
+class MagickPPExport DrawablePolyline : public DrawableBase
+{
+public:
+ DrawablePolyline ( const CoordinateList &coordinates_ );
+
+ DrawablePolyline ( const DrawablePolyline& original_ );
+
+ /*virtual*/ ~DrawablePolyline ( void );
+
+ // Operator to invoke equivalent draw API call
+ /*virtual*/ void operator()( MagickCore::DrawingWand *context_ ) const;
+
+ // Return polymorphic copy of object
+ /*virtual*/ DrawableBase* copy() const;
+
+private:
+ CoordinateList _coordinates;
+};
+
+// Pop Graphic Context
+class MagickPPExport DrawablePopGraphicContext : public DrawableBase
+{
+public:
+ DrawablePopGraphicContext ( void )
+ : _dummy(0)
+ {
+ }
+
+ /*virtual*/ ~DrawablePopGraphicContext ( void );
+
+ // Operator to invoke equivalent draw API call
+ /*virtual*/ void operator()( MagickCore::DrawingWand *context_ ) const;
+
+ // Return polymorphic copy of object
+ /*virtual*/ DrawableBase* copy() const;
+
+private:
+ ::ssize_t _dummy;
+};
+
+// Push Graphic Context
+class MagickPPExport DrawablePushGraphicContext : public DrawableBase
+{
+public:
+ DrawablePushGraphicContext ( void )
+ : _dummy(0)
+ {
+ }
+
+ /*virtual*/ ~DrawablePushGraphicContext ( void );
+
+ // Operator to invoke equivalent draw API call
+ /*virtual*/ void operator()( MagickCore::DrawingWand *context_ ) const;
+
+ // Return polymorphic copy of object
+ /*virtual*/ DrawableBase* copy() const;
+
+private:
+ ::ssize_t _dummy;
+};
+
+// Pop (terminate) Pattern definition
+class MagickPPExport DrawablePopPattern : public DrawableBase
+{
+public:
+ DrawablePopPattern ( void )
+ : _dummy(0)
+ {
+ }
+
+ /*virtual*/ ~DrawablePopPattern ( void );
+
+ // Operator to invoke equivalent draw API call
+ /*virtual*/ void operator()( MagickCore::DrawingWand *context_ ) const;
+
+ // Return polymorphic copy of object
+ /*virtual*/ DrawableBase* copy() const;
+
+private:
+ ::ssize_t _dummy;
+};
+
+// Push (create) Pattern definition
+class MagickPPExport DrawablePushPattern : public DrawableBase
+{
+public:
+ DrawablePushPattern ( const std::string &id_, ::ssize_t x_, ::ssize_t y_,
+ size_t width_, size_t height_ );
+
+ DrawablePushPattern ( const DrawablePushPattern& original_ );
+
+ /*virtual*/ ~DrawablePushPattern ( void );
+
+ // Operator to invoke equivalent draw API call
+ /*virtual*/ void operator()( MagickCore::DrawingWand *context_ ) const;
+
+ // Return polymorphic copy of object
+ /*virtual*/ DrawableBase* copy() const;
+
+private:
+ std::string _id;
+ ::ssize_t _x;
+ ::ssize_t _y;
+ size_t _width;
+ size_t _height;
+};
+
+// Rectangle
+class MagickPPExport DrawableRectangle : public DrawableBase
+{
+public:
+ DrawableRectangle ( double upperLeftX_, double upperLeftY_,
+ double lowerRightX_, double lowerRightY_ )
+ : _upperLeftX(upperLeftX_),
+ _upperLeftY(upperLeftY_),
+ _lowerRightX(lowerRightX_),
+ _lowerRightY(lowerRightY_)
+ { }
+
+ /*virtual*/ ~DrawableRectangle ( void );
+
+ // Operator to invoke equivalent draw API call
+ /*virtual*/ void operator()( MagickCore::DrawingWand *context_ ) const;
+
+ // Return polymorphic copy of object
+ /*virtual*/ DrawableBase* copy() const;
+
+ void upperLeftX( double upperLeftX_ )
+ {
+ _upperLeftX = upperLeftX_;
+ }
+ double upperLeftX( void ) const
+ {
+ return _upperLeftX;
+ }
+
+ void upperLeftY( double upperLeftY_ )
+ {
+ _upperLeftY = upperLeftY_;
+ }
+ double upperLeftY( void ) const
+ {
+ return _upperLeftY;
+ }
+
+ void lowerRightX( double lowerRightX_ )
+ {
+ _lowerRightX = lowerRightX_;
+ }
+ double lowerRightX( void ) const
+ {
+ return _lowerRightX;
+ }
+
+ void lowerRightY( double lowerRightY_ )
+ {
+ _lowerRightY = lowerRightY_;
+ }
+ double lowerRightY( void ) const
+ {
+ return _lowerRightY;
+ }
+
+private:
+ double _upperLeftX;
+ double _upperLeftY;
+ double _lowerRightX;
+ double _lowerRightY;
+};
+
+// Apply Rotation
+class MagickPPExport DrawableRotation : public DrawableBase
+{
+public:
+ DrawableRotation ( double angle_ )
+ : _angle( angle_ )
+ { }
+
+ /*virtual*/ ~DrawableRotation ( void );
+
+ // Operator to invoke equivalent draw API call
+ /*virtual*/ void operator()( MagickCore::DrawingWand *context_ ) const;
+
+ // Return polymorphic copy of object
+ /*virtual*/ DrawableBase* copy() const;
+
+ void angle( double angle_ )
+ {
+ _angle = angle_;
+ }
+ double angle( void ) const
+ {
+ return _angle;
+ }
+
+private:
+ double _angle;
+};
+
+// Round Rectangle
+class MagickPPExport DrawableRoundRectangle : public DrawableBase
+{
+public:
+ DrawableRoundRectangle ( double upperLeftX_, double upperLeftY_,
+ double lowerRightX_, double lowerRightY_,
+ double cornerWidth_, double cornerHeight_ )
+ : _upperLeftX(upperLeftX_),
+ _upperLeftY(upperLeftY_),
+ _lowerRightX(lowerRightX_),
+ _lowerRightY(lowerRightY_),
+ _cornerWidth(cornerWidth_),
+ _cornerHeight(cornerHeight_)
+ { }
+
+ /*virtual*/ ~DrawableRoundRectangle ( void );
+
+ // Operator to invoke equivalent draw API call
+ /*virtual*/ void operator()( MagickCore::DrawingWand *context_ ) const;
+
+ // Return polymorphic copy of object
+ /*virtual*/ DrawableBase* copy() const;
+
+#if !defined(MAGICKCORE_EXCLUDE_DEPRECATED)
+
+ void centerX( double centerX_ )
+ {
+ _upperLeftX = centerX_;
+ }
+ double centerX( void ) const
+ {
+ return _upperLeftX;
+ }
+
+ void centerY( double centerY_ )
+ {
+ _upperLeftY = centerY_;
+ }
+ double centerY( void ) const
+ {
+ return _upperLeftY;
+ }
+
+ void width( double width_ )
+ {
+ _lowerRightX = width_;
+ }
+ double width( void ) const
+ {
+ return _lowerRightX;
+ }
+
+ void hight( double hight_ )
+ {
+ _lowerRightY = hight_;
+ }
+ double hight( void ) const
+ {
+ return _lowerRightY;
+ }
+
+#endif
+
+ void upperLeftX( double upperLeftX_ )
+ {
+ _upperLeftX = upperLeftX_;
+ }
+ double upperLeftX( void ) const
+ {
+ return _upperLeftX;
+ }
+
+ void upperLeftY( double upperLeftY_ )
+ {
+ _upperLeftY = upperLeftY_;
+ }
+ double upperLeftY( void ) const
+ {
+ return _upperLeftY;
+ }
+
+ void lowerRightX( double lowerRightX_ )
+ {
+ _lowerRightX = lowerRightX_;
+ }
+ double lowerRightX( void ) const
+ {
+ return _lowerRightX;
+ }
+
+ void lowerRightY( double lowerRightY_ )
+ {
+ _lowerRightY = lowerRightY_;
+ }
+ double lowerRightY( void ) const
+ {
+ return _lowerRightY;
+ }
+
+ void cornerWidth( double cornerWidth_ )
+ {
+ _cornerWidth = cornerWidth_;
+ }
+ double cornerWidth( void ) const
+ {
+ return _cornerWidth;
+ }
+
+ void cornerHeight( double cornerHeight_ )
+ {
+ _cornerHeight = cornerHeight_;
+ }
+ double cornerHeight( void ) const
+ {
+ return _cornerHeight;
+ }
+
+private:
+ double _upperLeftX;
+ double _upperLeftY;
+ double _lowerRightX;
+ double _lowerRightY;
+ double _cornerWidth;
+ double _cornerHeight;
+};
+
+// Apply Scaling
+class MagickPPExport DrawableScaling : public DrawableBase
+{
+public:
+ DrawableScaling ( double x_, double y_ )
+ : _x(x_),
+ _y(y_)
+ { }
+
+ /*virtual*/ ~DrawableScaling ( void );
+
+ // Operator to invoke equivalent draw API call
+ /*virtual*/ void operator()( MagickCore::DrawingWand *context_ ) const;
+
+ // Return polymorphic copy of object
+ /*virtual*/ DrawableBase* copy() const;
+
+ void x( double x_ )
+ {
+ _x = x_;
+ }
+ double x( void ) const
+ {
+ return _x;
+ }
+
+ void y( double y_ )
+ {
+ _y = y_;
+ }
+ double y( void ) const
+ {
+ return _y;
+ }
+
+private:
+ double _x;
+ double _y;
+};
+
+// Apply Skew in X direction
+class MagickPPExport DrawableSkewX : public DrawableBase
+{
+public:
+ DrawableSkewX ( double angle_ )
+ : _angle(angle_)
+ { }
+
+ /*virtual*/ ~DrawableSkewX ( void );
+
+ // Operator to invoke equivalent draw API call
+ /*virtual*/ void operator()( MagickCore::DrawingWand *context_ ) const;
+
+ // Return polymorphic copy of object
+ /*virtual*/ DrawableBase* copy() const;
+
+ void angle( double angle_ )
+ {
+ _angle = angle_;
+ }
+ double angle( void ) const
+ {
+ return _angle;
+ }
+
+private:
+ double _angle;
+};
+
+// Apply Skew in Y direction
+class MagickPPExport DrawableSkewY : public DrawableBase
+{
+public:
+ DrawableSkewY ( double angle_ )
+ : _angle(angle_)
+ { }
+
+ /*virtual*/ ~DrawableSkewY ( void );
+
+ // Operator to invoke equivalent draw API call
+ /*virtual*/ void operator()( MagickCore::DrawingWand *context_ ) const;
+
+ // Return polymorphic copy of object
+ /*virtual*/ DrawableBase* copy() const;
+
+ void angle( double angle_ )
+ {
+ _angle = angle_;
+ }
+ double angle( void ) const
+ {
+ return _angle;
+ }
+
+private:
+ double _angle;
+};
+
+ // Stroke dasharray
+ //
+ // dasharray_ is an allocated array terminated by value 0.0 or 0.
+ // The array is copied so the original does not need to be preserved.
+ // Pass a null pointer to clear an existing dash array setting.
+ class MagickPPExport DrawableStrokeDashArray : public DrawableBase
+ {
+ public:
+
+ DrawableStrokeDashArray(const double* dasharray_);
+
+ DrawableStrokeDashArray(const Magick::DrawableStrokeDashArray &original_);
+
+ ~DrawableStrokeDashArray(void);
+
+ // Operator to invoke equivalent draw API call
+ void operator()(MagickCore::DrawingWand *context_) const;
+
+ // Return polymorphic copy of object
+ DrawableBase* copy() const;
+
+ void dasharray(const double* dasharray_);
+ const double* dasharray(void) const;
+
+ DrawableStrokeDashArray& operator=(
+ const Magick::DrawableStrokeDashArray &original_);
+
+ private:
+ size_t _size;
+ double *_dasharray;
+ };
+
+ // Stroke dashoffset
+ class MagickPPExport DrawableStrokeDashOffset : public DrawableBase
+ {
+ public:
+ DrawableStrokeDashOffset(const double offset_)
+ : _offset(offset_)
+ { }
+
+ ~DrawableStrokeDashOffset(void);
+
+ // Operator to invoke equivalent draw API call
+ void operator()(MagickCore::DrawingWand *context_) const;
+
+ // Return polymorphic copy of object
+ DrawableBase* copy() const;
+
+ void offset(const double offset_);
+ double offset(void) const;
+
+ private:
+ double _offset;
+ };
+
+// Stroke linecap
+class MagickPPExport DrawableStrokeLineCap : public DrawableBase
+{
+public:
+ DrawableStrokeLineCap ( LineCap linecap_ )
+ : _linecap(linecap_)
+ { }
+
+ /*virtual*/ ~DrawableStrokeLineCap ( void );
+
+ // Operator to invoke equivalent draw API call
+ /*virtual*/ void operator()( MagickCore::DrawingWand *context_ ) const;
+
+ // Return polymorphic copy of object
+ /*virtual*/ DrawableBase* copy() const;
+
+ void linecap( LineCap linecap_ )
+ {
+ _linecap = linecap_;
+ }
+ LineCap linecap( void ) const
+ {
+ return _linecap;
+ }
+
+private:
+ LineCap _linecap;
+};
+
+// Stroke linejoin
+class MagickPPExport DrawableStrokeLineJoin : public DrawableBase
+{
+public:
+ DrawableStrokeLineJoin ( LineJoin linejoin_ )
+ : _linejoin(linejoin_)
+ { }
+
+ /*virtual*/ ~DrawableStrokeLineJoin ( void );
+
+ // Operator to invoke equivalent draw API call
+ /*virtual*/ void operator()( MagickCore::DrawingWand *context_ ) const;
+
+ // Return polymorphic copy of object
+ /*virtual*/ DrawableBase* copy() const;
+
+ void linejoin( LineJoin linejoin_ )
+ {
+ _linejoin = linejoin_;
+ }
+ LineJoin linejoin( void ) const
+ {
+ return _linejoin;
+ }
+
+private:
+ LineJoin _linejoin;
+};
+
+// Stroke miterlimit
+class MagickPPExport DrawableMiterLimit : public DrawableBase
+{
+public:
+ DrawableMiterLimit ( size_t miterlimit_ )
+ : _miterlimit(miterlimit_)
+ { }
+
+ /*virtual*/ ~DrawableMiterLimit ( void );
+
+ // Operator to invoke equivalent draw API call
+ /*virtual*/ void operator()( MagickCore::DrawingWand *context_ ) const;
+
+ // Return polymorphic copy of object
+ /*virtual*/ DrawableBase* copy() const;
+
+ void miterlimit( size_t miterlimit_ )
+ {
+ _miterlimit = miterlimit_;
+ }
+ size_t miterlimit( void ) const
+ {
+ return _miterlimit;
+ }
+
+private:
+ size_t _miterlimit;
+};
+
+// Sets the pattern used for stroking object outlines.
+class MagickPPExport DrawableStrokePatternUrl : public DrawableBase
+{
+public:
+
+ DrawableStrokePatternUrl(const std::string &url_);
+
+ ~DrawableStrokePatternUrl(void);
+
+ DrawableStrokePatternUrl(const DrawableStrokePatternUrl& original_);
+
+ // Operator to invoke equivalent draw API call
+ void operator()(MagickCore::DrawingWand *context_) const;
+
+ void url(const std::string &url_);
+ std::string url(void) const;
+
+ // Return polymorphic copy of object
+ DrawableBase* copy() const;
+
+private:
+ std::string _url;
+};
+
+// Stroke antialias
+class MagickPPExport DrawableStrokeAntialias : public DrawableBase
+{
+public:
+ DrawableStrokeAntialias ( bool flag_ )
+ : _flag(flag_)
+ { }
+
+ /*virtual*/ ~DrawableStrokeAntialias ( void );
+
+ // Operator to invoke equivalent draw API call
+ /*virtual*/ void operator()( MagickCore::DrawingWand *context_ ) const;
+
+ // Return polymorphic copy of object
+ /*virtual*/ DrawableBase* copy() const;
+
+ void flag( bool flag_ )
+ {
+ _flag = flag_;
+ }
+ bool flag( void ) const
+ {
+ return _flag;
+ }
+
+private:
+ bool _flag;
+};
+
+// Stroke color
+class MagickPPExport DrawableStrokeColor : public DrawableBase
+{
+public:
+ DrawableStrokeColor ( const Color &color_ );
+
+ DrawableStrokeColor ( const DrawableStrokeColor& original_ );
+
+ /*virtual*/ ~DrawableStrokeColor ( void );
+
+ // Operator to invoke equivalent draw API call
+ /*virtual*/ void operator()( MagickCore::DrawingWand *context_ ) const;
+
+ // Return polymorphic copy of object
+ /*virtual*/ DrawableBase* copy() const;
+
+ void color( const Color& color_ )
+ {
+ _color = color_;
+ }
+ Color color( void ) const
+ {
+ return _color;
+ }
+
+private:
+ Color _color;
+};
+
+// Stroke opacity
+class MagickPPExport DrawableStrokeOpacity : public DrawableBase
+{
+public:
+
+ DrawableStrokeOpacity(double opacity_)
+ : _opacity(opacity_)
+ {
+ }
+
+ ~DrawableStrokeOpacity(void);
+
+ // Operator to invoke equivalent draw API call
+ void operator()(MagickCore::DrawingWand *context_) const;
+
+ // Return polymorphic copy of object
+ DrawableBase* copy() const;
+
+ void opacity(double opacity_)
+ {
+ _opacity=opacity_;
+ }
+
+ double opacity(void) const
+ {
+ return(_opacity);
+ }
+
+private:
+ double _opacity;
+};
+
+// Stroke width
+class MagickPPExport DrawableStrokeWidth : public DrawableBase
+{
+public:
+ DrawableStrokeWidth ( double width_ )
+ : _width(width_)
+ { }
+
+ /*virtual*/ ~DrawableStrokeWidth ( void );
+
+ // Operator to invoke equivalent draw API call
+ /*virtual*/ void operator()( MagickCore::DrawingWand *context_ ) const;
+
+ // Return polymorphic copy of object
+ /*virtual*/ DrawableBase* copy() const;
+
+ void width( double width_ )
+ {
+ _width = width_;
+ }
+ double width( void ) const
+ {
+ return _width;
+ }
+
+private:
+ double _width;
+};
+
+// Draw text at point
+class MagickPPExport DrawableText : public DrawableBase
+{
+public:
+ DrawableText ( const double x_, const double y_,
+ const std::string &text_ );
+ DrawableText ( const double x_, const double y_,
+ const std::string &text_, const std::string &encoding_);
+
+ DrawableText ( const DrawableText& original_ );
+
+ /*virtual*/ ~DrawableText ( void );
+
+ // Operator to invoke equivalent draw API call
+ /*virtual*/ void operator()( MagickCore::DrawingWand *context_ ) const;
+
+ // Return polymorphic copy of object
+ /*virtual*/ DrawableBase* copy() const;
+
+ void encoding(const std::string &encoding_)
+ {
+ _encoding = encoding_;
+ }
+
+ void x( double x_ )
+ {
+ _x = x_;
+ }
+ double x( void ) const
+ {
+ return _x;
+ }
+
+ void y( double y_ )
+ {
+ _y = y_;
+ }
+ double y( void ) const
+ {
+ return _y;
+ }
+
+ void text( const std::string &text_ )
+ {
+ _text = text_;
+ }
+ std::string text( void ) const
+ {
+ return _text;
+ }
+
+private:
+ double _x;
+ double _y;
+ std::string _text;
+ std::string _encoding;
+};
+
+// Text alignment
+class MagickPPExport DrawableTextAlignment : public DrawableBase
+{
+public:
+
+ DrawableTextAlignment(AlignType alignment_);
+
+ DrawableTextAlignment(const DrawableTextAlignment& original_);
+
+ ~DrawableTextAlignment(void);
+
+ // Operator to invoke equivalent draw API call
+ void operator()(MagickCore::DrawingWand *context_) const;
+
+ void alignment(AlignType alignment_);
+ AlignType alignment(void) const;
+
+ // Return polymorphic copy of object
+ DrawableBase* copy() const;
+
+private:
+ AlignType _alignment;
+};
+
+// Text antialias
+class MagickPPExport DrawableTextAntialias : public DrawableBase
+{
+public:
+ DrawableTextAntialias ( bool flag_ );
+
+ DrawableTextAntialias( const DrawableTextAntialias &original_ );
+
+ /*virtual*/ ~DrawableTextAntialias ( void );
+
+ // Operator to invoke equivalent draw API call
+ /*virtual*/ void operator()( MagickCore::DrawingWand *context_ ) const;
+
+ // Return polymorphic copy of object
+ /*virtual*/ DrawableBase* copy() const;
+
+ void flag( bool flag_ )
+ {
+ _flag = flag_;
+ }
+ bool flag( void ) const
+ {
+ return _flag;
+ }
+
+private:
+ bool _flag;
+};
+
+// Decoration (text decoration)
+class MagickPPExport DrawableTextDecoration : public DrawableBase
+{
+public:
+ DrawableTextDecoration ( DecorationType decoration_ );
+
+ DrawableTextDecoration ( const DrawableTextDecoration& original_ );
+
+ /*virtual*/ ~DrawableTextDecoration( void );
+
+ // Operator to invoke equivalent draw API call
+ /*virtual*/ void operator()( MagickCore::DrawingWand *context_ ) const;
+
+ // Return polymorphic copy of object
+ /*virtual*/ DrawableBase* copy() const;
+
+ void decoration( DecorationType decoration_ )
+ {
+ _decoration = decoration_;
+ }
+ DecorationType decoration( void ) const
+ {
+ return _decoration;
+ }
+
+private:
+ DecorationType _decoration;
+};
+
+ // Render text right-to-left or left-to-right.
+ class MagickPPExport DrawableTextDirection : public DrawableBase
+ {
+ public:
+
+ DrawableTextDirection(DirectionType direction_);
+
+ ~DrawableTextDirection(void);
+
+ void operator()(MagickCore::DrawingWand *context_) const;
+
+ void direction(DirectionType direction_);
+ DirectionType direction(void) const;
+
+ DrawableBase* copy() const;
+
+ private:
+ DirectionType _direction;
+ };
+
+ // Specify text inter-line spacing
+ class MagickPPExport DrawableTextInterlineSpacing : public DrawableBase
+ {
+ public:
+
+ DrawableTextInterlineSpacing(double spacing_);
+
+ ~DrawableTextInterlineSpacing(void);
+
+ void operator()(MagickCore::DrawingWand *context_) const;
+
+ void spacing(double spacing_);
+ double spacing(void) const;
+
+ DrawableBase* copy() const;
+
+ private:
+ double _spacing;
+ };
+
+ // Specify text inter-word spacing
+ class MagickPPExport DrawableTextInterwordSpacing : public DrawableBase
+ {
+ public:
+
+ DrawableTextInterwordSpacing(double spacing_);
+
+ ~DrawableTextInterwordSpacing(void);
+
+ void operator()(MagickCore::DrawingWand *context_) const;
+
+ void spacing(double spacing_);
+ double spacing(void) const;
+
+ DrawableBase *copy() const;
+
+ private:
+ double _spacing;
+ };
+
+ // Specify text kerning
+ class MagickPPExport DrawableTextKerning : public DrawableBase
+ {
+ public:
+
+ DrawableTextKerning(double kerning_);
+
+ ~DrawableTextKerning(void);
+
+ void operator()(MagickCore::DrawingWand *context_) const;
+
+ void kerning(double kerning_);
+ double kerning(void) const;
+
+ DrawableBase *copy() const;
+
+ private:
+ double _kerning;
+ };
+
+// Text undercolor box
+class MagickPPExport DrawableTextUnderColor : public DrawableBase
+{
+public:
+ DrawableTextUnderColor ( const Color &color_ );
+
+ DrawableTextUnderColor ( const DrawableTextUnderColor& original_ );
+
+ /*virtual*/ ~DrawableTextUnderColor ( void );
+
+ // Operator to invoke equivalent draw API call
+ /*virtual*/ void operator()( MagickCore::DrawingWand *context_ ) const;
+
+ // Return polymorphic copy of object
+ /*virtual*/ DrawableBase* copy() const;
+
+ void color( const Color& color_ )
+ {
+ _color = color_;
+ }
+ Color color( void ) const
+ {
+ return _color;
+ }
+
+private:
+ Color _color;
+};
+
+// Apply Translation
+class MagickPPExport DrawableTranslation : public DrawableBase
+{
+public:
+ DrawableTranslation ( double x_, double y_ )
+ : _x(x_),
+ _y(y_)
+ { }
+
+ /*virtual*/ ~DrawableTranslation ( void );
+
+ // Operator to invoke equivalent draw API call
+ /*virtual*/ void operator()( MagickCore::DrawingWand *context_ ) const;
+
+ // Return polymorphic copy of object
+ /*virtual*/ DrawableBase* copy() const;
+
+ void x( double x_ )
+ {
+ _x = x_;
+ }
+ double x( void ) const
+ {
+ return _x;
+ }
+
+ void y( double y_ )
+ {
+ _y = y_;
+ }
+ double y( void ) const
+ {
+ return _y;
+ }
+
+private:
+ double _x;
+ double _y;
+};
+
+// Set the size of the viewbox
+class MagickPPExport DrawableViewbox : public DrawableBase
+{
+public:
+ DrawableViewbox(::ssize_t x1_, ::ssize_t y1_,
+ ::ssize_t x2_, ::ssize_t y2_)
+ : _x1(x1_),
+ _y1(y1_),
+ _x2(x2_),
+ _y2(y2_) { }
+
+ /*virtual*/ ~DrawableViewbox ( void );
+
+ // Operator to invoke equivalent draw API call
+ /*virtual*/ void operator()( MagickCore::DrawingWand *context_ ) const;
+
+ // Return polymorphic copy of object
+ /*virtual*/
+ DrawableBase* copy() const;
+
+ void x1( ::ssize_t x1_ )
+ {
+ _x1 = x1_;
+ }
+ ::ssize_t x1( void ) const
+ {
+ return _x1;
+ }
+
+ void y1( ::ssize_t y1_ )
+ {
+ _y1 = y1_;
+ }
+ ::ssize_t y1( void ) const
+ {
+ return _y1;
+ }
+
+ void x2( ::ssize_t x2_ )
+ {
+ _x2 = x2_;
+ }
+ ::ssize_t x2( void ) const
+ {
+ return _x2;
+ }
+
+ void y2( ::ssize_t y2_ )
+ {
+ _y2 = y2_;
+ }
+ ::ssize_t y2( void ) const
+ {
+ return _y2;
+ }
+
+private:
+ ::ssize_t _x1;
+ ::ssize_t _y1;
+ ::ssize_t _x2;
+ ::ssize_t _y2;
+};
+
+//
+// Path Element Classes To Support DrawablePath
+//
+class MagickPPExport PathArcArgs
+{
+public:
+ PathArcArgs( void );
+
+ PathArcArgs( double radiusX_, double radiusY_,
+ double xAxisRotation_, bool largeArcFlag_,
+ bool sweepFlag_, double x_, double y_ );
+
+ PathArcArgs( const PathArcArgs &original_ );
+
+ ~PathArcArgs ( void );
+
+ void radiusX( double radiusX_ )
+ {
+ _radiusX = radiusX_;
+ }
+ double radiusX( void ) const
+ {
+ return _radiusX;
+ }
+
+ void radiusY( double radiusY_ )
+ {
+ _radiusY = radiusY_;
+ }
+ double radiusY( void ) const
+ {
+ return _radiusY;
+ }
+
+ void xAxisRotation( double xAxisRotation_ )
+ {
+ _xAxisRotation = xAxisRotation_;
+ }
+ double xAxisRotation( void ) const
+ {
+ return _xAxisRotation;
+ }
+
+ void largeArcFlag( bool largeArcFlag_ )
+ {
+ _largeArcFlag = largeArcFlag_;
+ }
+ bool largeArcFlag( void ) const
+ {
+ return _largeArcFlag;
+ }
+
+ void sweepFlag( bool sweepFlag_ )
+ {
+ _sweepFlag = sweepFlag_;
+ }
+ bool sweepFlag( void ) const
+ {
+ return _sweepFlag;
+ }
+
+ void x( double x_ )
+ {
+ _x = x_;
+ }
+ double x( void ) const
+ {
+ return _x;
+ }
+
+ void y( double y_ )
+ {
+ _y = y_;
+ }
+ double y( void ) const
+ {
+ return _y;
+ }
+
+private:
+ double _radiusX; // X radius
+ double _radiusY; // Y radius
+ double _xAxisRotation; // Rotation relative to X axis
+ bool _largeArcFlag; // Draw longer of the two matching arcs
+ bool _sweepFlag; // Draw arc matching clock-wise rotation
+ double _x; // End-point X
+ double _y; // End-point Y
+};
+
+// Compare two PathArcArgs objects regardless of LHS/RHS
+extern MagickPPExport int operator == ( const PathArcArgs& left_,
+ const PathArcArgs& right_ );
+extern MagickPPExport int operator != ( const PathArcArgs& left_,
+ const PathArcArgs& right_ );
+extern MagickPPExport int operator > ( const PathArcArgs& left_,
+ const PathArcArgs& right_ );
+extern MagickPPExport int operator < ( const PathArcArgs& left_,
+ const PathArcArgs& right_ );
+extern MagickPPExport int operator >= ( const PathArcArgs& left_,
+ const PathArcArgs& right_ );
+extern MagickPPExport int operator <= ( const PathArcArgs& left_,
+ const PathArcArgs& right_ );
+
+typedef std::vector PathArcArgsList;
+
+#if defined(MagickDLLExplicitTemplate)
+
+MagickDrawableExtern template class MagickPPExport
+std::allocator;
+
+// MagickDrawableExtern template class MagickPPExport
+// std::vector >;
+
+#endif // MagickDLLExplicitTemplate
+
+// Path Arc (Elliptical Arc)
+class MagickPPExport PathArcAbs : public VPathBase
+{
+public:
+ // Draw a single arc segment
+ PathArcAbs ( const PathArcArgs &coordinates_ );
+
+ // Draw multiple arc segments
+ PathArcAbs ( const PathArcArgsList &coordinates_ );
+
+ // Copy constructor
+ PathArcAbs ( const PathArcAbs& original_ );
+
+ // Destructor
+ /*virtual*/ ~PathArcAbs ( void );
+
+ // Operator to invoke equivalent draw API call
+ /*virtual*/ void operator()( MagickCore::DrawingWand *context_ ) const;
+
+ // Return polymorphic copy of object
+ /*virtual*/ VPathBase* copy() const;
+
+private:
+ PathArcArgsList _coordinates;
+};
+class MagickPPExport PathArcRel : public VPathBase
+{
+public:
+ // Draw a single arc segment
+ PathArcRel ( const PathArcArgs &coordinates_ );
+
+ // Draw multiple arc segments
+ PathArcRel ( const PathArcArgsList &coordinates_ );
+
+ PathArcRel ( const PathArcRel& original_ );
+
+ /*virtual*/ ~PathArcRel ( void );
+
+ // Operator to invoke equivalent draw API call
+ /*virtual*/ void operator()( MagickCore::DrawingWand *context_ ) const;
+
+ // Return polymorphic copy of object
+ /*virtual*/ VPathBase* copy() const;
+
+private:
+ PathArcArgsList _coordinates;
+};
+
+// Path Closepath
+class MagickPPExport PathClosePath : public VPathBase
+{
+public:
+ PathClosePath ( void )
+ : _dummy(0)
+ {
+ }
+
+ /*virtual*/ ~PathClosePath ( void );
+
+ // Operator to invoke equivalent draw API call
+ /*virtual*/ void operator()( MagickCore::DrawingWand *context_ ) const;
+
+ // Return polymorphic copy of object
+ /*virtual*/ VPathBase* copy() const;
+
+private:
+ ::ssize_t _dummy;
+};
+
+//
+// Curveto (Cubic Bezier)
+//
+class MagickPPExport PathCurvetoArgs
+{
+public:
+ PathCurvetoArgs( void );
+
+ PathCurvetoArgs( double x1_, double y1_,
+ double x2_, double y2_,
+ double x_, double y_ );
+
+ PathCurvetoArgs( const PathCurvetoArgs &original_ );
+
+ ~PathCurvetoArgs ( void );
+
+ void x1( double x1_ )
+ {
+ _x1 = x1_;
+ }
+double x1( void ) const
+{
+ return _x1;
+}
+
+void y1( double y1_ )
+{
+ _y1 = y1_;
+}
+double y1( void ) const
+{
+ return _y1;
+}
+
+void x2( double x2_ )
+{
+ _x2 = x2_;
+}
+double x2( void ) const
+{
+ return _x2;
+}
+
+void y2( double y2_ )
+{
+ _y2 = y2_;
+}
+double y2( void ) const
+{
+ return _y2;
+}
+
+void x( double x_ )
+{
+ _x = x_;
+}
+double x( void ) const
+{
+ return _x;
+}
+
+void y( double y_ )
+{
+ _y = y_;
+}
+double y( void ) const
+{
+ return _y;
+}
+
+private:
+double _x1;
+double _y1;
+double _x2;
+double _y2;
+double _x;
+double _y;
+};
+
+// Compare two PathCurvetoArgs objects regardless of LHS/RHS
+extern MagickPPExport int operator == ( const PathCurvetoArgs& left_,
+ const PathCurvetoArgs& right_ );
+extern MagickPPExport int operator != ( const PathCurvetoArgs& left_,
+ const PathCurvetoArgs& right_ );
+extern MagickPPExport int operator > ( const PathCurvetoArgs& left_,
+ const PathCurvetoArgs& right_ );
+extern MagickPPExport int operator < ( const PathCurvetoArgs& left_,
+ const PathCurvetoArgs& right_ );
+extern MagickPPExport int operator >= ( const PathCurvetoArgs& left_,
+ const PathCurvetoArgs& right_ );
+extern MagickPPExport int operator <= ( const PathCurvetoArgs& left_,
+ const PathCurvetoArgs& right_ );
+
+typedef std::vector PathCurveToArgsList;
+
+#if defined(MagickDLLExplicitTemplate)
+
+MagickDrawableExtern template class MagickPPExport
+std::allocator;
+
+// MagickDrawableExtern template class MagickPPExport
+// std::vector >;
+
+#endif // MagickDLLExplicitTemplate
+
+class MagickPPExport PathCurvetoAbs : public VPathBase
+{
+public:
+ // Draw a single curve
+ PathCurvetoAbs ( const PathCurvetoArgs &args_ );
+
+ // Draw multiple curves
+ PathCurvetoAbs ( const PathCurveToArgsList &args_ );
+
+ // Copy constructor
+ PathCurvetoAbs ( const PathCurvetoAbs& original_ );
+
+ // Destructor
+ /*virtual*/ ~PathCurvetoAbs ( void );
+
+ // Operator to invoke equivalent draw API call
+ /*virtual*/ void operator()( MagickCore::DrawingWand *context_ ) const;
+
+ // Return polymorphic copy of object
+ /*virtual*/ VPathBase* copy() const;
+
+private:
+ PathCurveToArgsList _args;
+};
+class MagickPPExport PathCurvetoRel : public VPathBase
+{
+public:
+ // Draw a single curve
+ PathCurvetoRel ( const PathCurvetoArgs &args_ );
+
+ // Draw multiple curves
+ PathCurvetoRel ( const PathCurveToArgsList &args_ );
+
+ // Copy constructor
+ PathCurvetoRel ( const PathCurvetoRel& original_ );
+
+ /*virtual*/ ~PathCurvetoRel ( void );
+
+ // Operator to invoke equivalent draw API call
+ /*virtual*/ void operator()( MagickCore::DrawingWand *context_ ) const;
+
+ // Return polymorphic copy of object
+ /*virtual*/ VPathBase* copy() const;
+
+private:
+ PathCurveToArgsList _args;
+};
+class MagickPPExport PathSmoothCurvetoAbs : public VPathBase
+{
+public:
+ // Draw a single curve
+ PathSmoothCurvetoAbs ( const Magick::Coordinate &coordinates_ );
+
+ // Draw multiple curves
+ PathSmoothCurvetoAbs ( const CoordinateList &coordinates_ );
+
+ // Copy constructor
+ PathSmoothCurvetoAbs ( const PathSmoothCurvetoAbs& original_ );
+
+ /*virtual*/ ~PathSmoothCurvetoAbs ( void );
+
+ // Operator to invoke equivalent draw API call
+ /*virtual*/ void operator()( MagickCore::DrawingWand *context_ ) const;
+
+ // Return polymorphic copy of object
+ /*virtual*/
+ VPathBase* copy() const;
+
+private:
+ CoordinateList _coordinates;
+};
+class MagickPPExport PathSmoothCurvetoRel : public VPathBase
+{
+public:
+ // Draw a single curve
+ PathSmoothCurvetoRel ( const Coordinate &coordinates_ );
+
+ // Draw multiple curves
+ PathSmoothCurvetoRel ( const CoordinateList &coordinates_ );
+
+ // Copy constructor
+ PathSmoothCurvetoRel ( const PathSmoothCurvetoRel& original_ );
+
+ // Destructor
+ /*virtual*/ ~PathSmoothCurvetoRel ( void );
+
+ // Operator to invoke equivalent draw API call
+ /*virtual*/ void operator()( MagickCore::DrawingWand *context_ ) const;
+
+ // Return polymorphic copy of object
+ /*virtual*/
+ VPathBase* copy() const;
+
+private:
+ CoordinateList _coordinates;
+};
+
+//
+// Quadratic Curveto (Quadratic Bezier)
+//
+class MagickPPExport PathQuadraticCurvetoArgs
+{
+public:
+ PathQuadraticCurvetoArgs( void );
+
+ PathQuadraticCurvetoArgs( double x1_, double y1_,
+ double x_, double y_ );
+
+ PathQuadraticCurvetoArgs( const PathQuadraticCurvetoArgs &original_ );
+
+ ~PathQuadraticCurvetoArgs ( void );
+
+ void x1( double x1_ )
+ {
+ _x1 = x1_;
+ }
+ double x1( void ) const
+ {
+ return _x1;
+ }
+
+ void y1( double y1_ )
+ {
+ _y1 = y1_;
+ }
+ double y1( void ) const
+ {
+ return _y1;
+ }
+
+ void x( double x_ )
+ {
+ _x = x_;
+ }
+ double x( void ) const
+ {
+ return _x;
+ }
+
+ void y( double y_ )
+ {
+ _y = y_;
+ }
+ double y( void ) const
+ {
+ return _y;
+ }
+
+private:
+ double _x1;
+ double _y1;
+ double _x;
+ double _y;
+};
+
+// Compare two PathQuadraticCurvetoArgs objects regardless of LHS/RHS
+extern MagickPPExport int operator == ( const PathQuadraticCurvetoArgs& left_,
+ const PathQuadraticCurvetoArgs& right_ );
+extern MagickPPExport int operator != ( const PathQuadraticCurvetoArgs& left_,
+ const PathQuadraticCurvetoArgs& right_);
+extern MagickPPExport int operator > ( const PathQuadraticCurvetoArgs& left_,
+ const PathQuadraticCurvetoArgs& right_);
+extern MagickPPExport int operator < ( const PathQuadraticCurvetoArgs& left_,
+ const PathQuadraticCurvetoArgs& right_);
+extern MagickPPExport int operator >= ( const PathQuadraticCurvetoArgs& left_,
+ const PathQuadraticCurvetoArgs& right_ );
+extern MagickPPExport int operator <= ( const PathQuadraticCurvetoArgs& left_,
+ const PathQuadraticCurvetoArgs& right_ );
+
+typedef std::vector PathQuadraticCurvetoArgsList;
+
+#if defined(MagickDLLExplicitTemplate)
+
+MagickDrawableExtern template class MagickPPExport
+std::allocator;
+
+// MagickDrawableExtern template class MagickPPExport
+// std::vector >;
+
+#endif // MagickDLLExplicitTemplate
+
+class MagickPPExport PathQuadraticCurvetoAbs : public VPathBase
+{
+public:
+ // Draw a single curve
+ PathQuadraticCurvetoAbs ( const Magick::PathQuadraticCurvetoArgs &args_ );
+
+ // Draw multiple curves
+ PathQuadraticCurvetoAbs ( const PathQuadraticCurvetoArgsList &args_ );
+
+ // Copy constructor
+ PathQuadraticCurvetoAbs ( const PathQuadraticCurvetoAbs& original_ );
+
+ // Destructor
+ /*virtual*/ ~PathQuadraticCurvetoAbs ( void );
+
+ // Operator to invoke equivalent draw API call
+ /*virtual*/ void operator()( MagickCore::DrawingWand *context_ ) const;
+
+ // Return polymorphic copy of object
+ /*virtual*/ VPathBase* copy() const;
+
+private:
+ PathQuadraticCurvetoArgsList _args;
+};
+class MagickPPExport PathQuadraticCurvetoRel : public VPathBase
+{
+public:
+ // Draw a single curve
+ PathQuadraticCurvetoRel ( const Magick::PathQuadraticCurvetoArgs &args_ );
+
+ // Draw multiple curves
+ PathQuadraticCurvetoRel ( const PathQuadraticCurvetoArgsList &args_ );
+
+ // Copy constructor
+ PathQuadraticCurvetoRel ( const PathQuadraticCurvetoRel& original_ );
+
+ // Destructor
+ /*virtual*/ ~PathQuadraticCurvetoRel ( void );
+
+ // Operator to invoke equivalent draw API call
+ /*virtual*/ void operator()( MagickCore::DrawingWand *context_ ) const;
+
+ // Return polymorphic copy of object
+ /*virtual*/ VPathBase* copy() const;
+
+private:
+ PathQuadraticCurvetoArgsList _args;
+};
+class MagickPPExport PathSmoothQuadraticCurvetoAbs : public VPathBase
+{
+public:
+ // Draw a single curve
+ PathSmoothQuadraticCurvetoAbs ( const Magick::Coordinate &coordinate_ );
+
+ // Draw multiple curves
+ PathSmoothQuadraticCurvetoAbs ( const CoordinateList &coordinates_ );
+
+ // Copy constructor
+ PathSmoothQuadraticCurvetoAbs ( const PathSmoothQuadraticCurvetoAbs& original_ );
+
+ // Destructor
+ /*virtual*/ ~PathSmoothQuadraticCurvetoAbs ( void );
+
+ // Operator to invoke equivalent draw API call
+ /*virtual*/ void operator()( MagickCore::DrawingWand *context_ ) const;
+
+ // Return polymorphic copy of object
+ /*virtual*/ VPathBase* copy() const;
+
+private:
+ CoordinateList _coordinates;
+};
+class MagickPPExport PathSmoothQuadraticCurvetoRel : public VPathBase
+{
+public:
+ // Draw a single curve
+ PathSmoothQuadraticCurvetoRel ( const Magick::Coordinate &coordinate_ );
+
+ // Draw multiple curves
+ PathSmoothQuadraticCurvetoRel ( const CoordinateList &coordinates_ );
+
+ // Copy constructor
+ PathSmoothQuadraticCurvetoRel ( const PathSmoothQuadraticCurvetoRel& original_ );
+
+ // Destructor
+ /*virtual*/ ~PathSmoothQuadraticCurvetoRel ( void );
+
+ // Operator to invoke equivalent draw API call
+ /*virtual*/ void operator()( MagickCore::DrawingWand *context_ ) const;
+
+ // Return polymorphic copy of object
+ /*virtual*/ VPathBase* copy() const;
+
+private:
+ CoordinateList _coordinates;
+};
+
+//
+// Path Lineto
+//
+class MagickPPExport PathLinetoAbs : public VPathBase
+{
+public:
+ // Draw to a single point
+ PathLinetoAbs ( const Magick::Coordinate& coordinate_ );
+
+ // Draw to multiple points
+ PathLinetoAbs ( const CoordinateList &coordinates_ );
+
+ // Copy constructor
+ PathLinetoAbs ( const PathLinetoAbs& original_ );
+
+ // Destructor
+ /*virtual*/ ~PathLinetoAbs ( void );
+
+ // Operator to invoke equivalent draw API call
+ /*virtual*/ void operator()( MagickCore::DrawingWand *context_ ) const;
+
+ // Return polymorphic copy of object
+ /*virtual*/ VPathBase* copy() const;
+
+private:
+ CoordinateList _coordinates;
+};
+class MagickPPExport PathLinetoRel : public VPathBase
+{
+public:
+ // Draw to a single point
+ PathLinetoRel ( const Magick::Coordinate& coordinate_ );
+
+ // Draw to multiple points
+ PathLinetoRel ( const CoordinateList &coordinates_ );
+
+ // Copy constructor
+ PathLinetoRel ( const PathLinetoRel& original_ );
+
+ // Destructor
+ /*virtual*/ ~PathLinetoRel ( void );
+
+ // Operator to invoke equivalent draw API call
+ /*virtual*/ void operator()( MagickCore::DrawingWand *context_ ) const;
+
+ // Return polymorphic copy of object
+ /*virtual*/ VPathBase* copy() const;
+
+private:
+ CoordinateList _coordinates;
+};
+
+// Path Horizontal Lineto
+class MagickPPExport PathLinetoHorizontalAbs : public VPathBase
+{
+public:
+ PathLinetoHorizontalAbs ( double x_ )
+ : _x(x_)
+ {
+ }
+
+ /*virtual*/ ~PathLinetoHorizontalAbs ( void );
+
+ // Operator to invoke equivalent draw API call
+ /*virtual*/ void operator()( MagickCore::DrawingWand *context_ ) const;
+
+ // Return polymorphic copy of object
+ /*virtual*/ VPathBase* copy() const;
+
+ void x( double x_ )
+ {
+ _x = x_;
+ }
+ double x( void ) const
+ {
+ return _x;
+ }
+
+private:
+ double _x;
+};
+class MagickPPExport PathLinetoHorizontalRel : public VPathBase
+{
+public:
+ PathLinetoHorizontalRel ( double x_ )
+ : _x(x_)
+ {
+ }
+
+ /*virtual*/ ~PathLinetoHorizontalRel ( void );
+
+ // Operator to invoke equivalent draw API call
+ /*virtual*/ void operator()( MagickCore::DrawingWand *context_ ) const;
+
+ // Return polymorphic copy of object
+ /*virtual*/ VPathBase* copy() const;
+
+ void x( double x_ )
+ {
+ _x = x_;
+ }
+ double x( void ) const
+ {
+ return _x;
+ }
+
+private:
+ double _x;
+};
+
+// Path Vertical Lineto
+class MagickPPExport PathLinetoVerticalAbs : public VPathBase
+{
+public:
+ PathLinetoVerticalAbs ( double y_ )
+ : _y(y_)
+ {
+ }
+
+ /*virtual*/ ~PathLinetoVerticalAbs ( void );
+
+ // Operator to invoke equivalent draw API call
+ /*virtual*/ void operator()( MagickCore::DrawingWand *context_ ) const;
+
+ // Return polymorphic copy of object
+ /*virtual*/ VPathBase* copy() const;
+
+ void y( double y_ )
+ {
+ _y = y_;
+ }
+ double y( void ) const
+ {
+ return _y;
+ }
+
+private:
+ double _y;
+};
+class MagickPPExport PathLinetoVerticalRel : public VPathBase
+{
+public:
+ PathLinetoVerticalRel ( double y_ )
+ : _y(y_)
+ {
+ }
+
+ /*virtual*/ ~PathLinetoVerticalRel ( void );
+
+ // Operator to invoke equivalent draw API call
+ /*virtual*/ void operator()( MagickCore::DrawingWand *context_ ) const;
+
+ // Return polymorphic copy of object
+ /*virtual*/ VPathBase* copy() const;
+
+ void y( double y_ )
+ {
+ _y = y_;
+ }
+ double y( void ) const
+ {
+ return _y;
+ }
+
+private:
+ double _y;
+};
+
+// Path Moveto
+class MagickPPExport PathMovetoAbs : public VPathBase
+{
+public:
+ // Simple moveto
+ PathMovetoAbs ( const Magick::Coordinate &coordinate_ );
+
+ // Moveto followed by implicit linetos
+ PathMovetoAbs ( const CoordinateList &coordinates_ );
+
+ // Copy constructor
+ PathMovetoAbs ( const PathMovetoAbs& original_ );
+
+ // Destructor
+ /*virtual*/ ~PathMovetoAbs ( void );
+
+ // Operator to invoke equivalent draw API call
+ /*virtual*/ void operator()( MagickCore::DrawingWand *context_ ) const;
+
+ // Return polymorphic copy of object
+ /*virtual*/ VPathBase* copy() const;
+
+private:
+ CoordinateList _coordinates;
+};
+class MagickPPExport PathMovetoRel : public VPathBase
+{
+public:
+ // Simple moveto
+ PathMovetoRel ( const Magick::Coordinate &coordinate_ );
+
+ // Moveto followed by implicit linetos
+ PathMovetoRel ( const CoordinateList &coordinates_ );
+
+ // Copy constructor
+ PathMovetoRel ( const PathMovetoRel& original_ );
+
+ // Destructor
+ /*virtual*/ ~PathMovetoRel ( void );
+
+ // Operator to invoke equivalent draw API call
+ /*virtual*/ void operator()( MagickCore::DrawingWand *context_ ) const;
+
+ // Return polymorphic copy of object
+ /*virtual*/ VPathBase* copy() const;
+
+private:
+ CoordinateList _coordinates;
+};
+
+} // namespace Magick
+
+#endif // Magick_Drawable_header
diff --git a/bin/7.0.5-5/include/ImageMagick-7/Magick++/Exception.h b/bin/7.0.5-5/include/ImageMagick-7/Magick++/Exception.h
new file mode 100755
index 0000000..eb77f40
--- /dev/null
+++ b/bin/7.0.5-5/include/ImageMagick-7/Magick++/Exception.h
@@ -0,0 +1,425 @@
+// This may look like C code, but it is really -*- C++ -*-
+//
+// Copyright Bob Friesenhahn, 1999, 2000, 2001, 2002, 2003
+// Copyright Dirk Lemstra 2014-2015
+//
+// Definition of Magick::Exception and derived classes
+// Magick::Warning* and Magick::Error*. Derived from C++ STD
+// 'exception' class for convenience.
+//
+// These classes form part of the Magick++ user interface.
+//
+
+#if !defined(Magick_Exception_header)
+#define Magick_Exception_header
+
+#include "Magick++/Include.h"
+#include
+#include
+
+namespace Magick
+{
+ class MagickPPExport Exception: public std::exception
+ {
+ public:
+
+ // Construct with message string
+ Exception(const std::string& what_);
+
+ // Construct with message string and nested exception
+ Exception(const std::string& what_, Exception* nested_);
+
+ // Copy constructor
+ Exception(const Exception& original_);
+
+ // Destructor
+ virtual ~Exception() throw();
+
+ // Assignment operator
+ Exception& operator=(const Exception& original_);
+
+ // Get string identifying exception
+ virtual const char* what() const throw();
+
+ // Get nested exception
+ const Exception* nested() const throw();
+
+ //////////////////////////////////////////////////////////////////////
+ //
+ // No user-serviceable parts beyond this point
+ //
+ //////////////////////////////////////////////////////////////////////
+
+ void nested(Exception* nested_) throw();
+
+ private:
+ std::string _what;
+ Exception* _nested;
+ };
+
+ //
+ // Error exceptions
+ //
+
+ class MagickPPExport Error: public Exception
+ {
+ public:
+ explicit Error(const std::string& what_);
+ explicit Error(const std::string& what_,Exception *nested_);
+ ~Error() throw();
+ };
+
+ class MagickPPExport ErrorBlob: public Error
+ {
+ public:
+ explicit ErrorBlob(const std::string& what_);
+ explicit ErrorBlob(const std::string& what_,Exception *nested_);
+ ~ErrorBlob() throw();
+ };
+
+ class MagickPPExport ErrorCache: public Error
+ {
+ public:
+ explicit ErrorCache(const std::string& what_);
+ explicit ErrorCache(const std::string& what_,Exception *nested_);
+ ~ErrorCache() throw();
+ };
+
+ class MagickPPExport ErrorCoder: public Error
+ {
+ public:
+ explicit ErrorCoder(const std::string& what_);
+ explicit ErrorCoder(const std::string& what_,Exception *nested_);
+ ~ErrorCoder() throw();
+ };
+
+ class MagickPPExport ErrorConfigure: public Error
+ {
+ public:
+ explicit ErrorConfigure(const std::string& what_);
+ explicit ErrorConfigure(const std::string& what_,Exception *nested_);
+ ~ErrorConfigure() throw();
+ };
+
+ class MagickPPExport ErrorCorruptImage: public Error
+ {
+ public:
+ explicit ErrorCorruptImage(const std::string& what_);
+ explicit ErrorCorruptImage(const std::string& what_,Exception *nested_);
+ ~ErrorCorruptImage() throw();
+ };
+
+ class MagickPPExport ErrorDelegate: public Error
+ {
+ public:
+ explicit ErrorDelegate(const std::string& what_);
+ explicit ErrorDelegate(const std::string& what_,Exception *nested_);
+ ~ErrorDelegate() throw();
+ };
+
+ class MagickPPExport ErrorDraw: public Error
+ {
+ public:
+ explicit ErrorDraw(const std::string& what_);
+ explicit ErrorDraw(const std::string& what_,Exception *nested_);
+ ~ErrorDraw() throw();
+ };
+
+ class MagickPPExport ErrorFileOpen: public Error
+ {
+ public:
+ explicit ErrorFileOpen(const std::string& what_);
+ explicit ErrorFileOpen(const std::string& what_,Exception *nested_);
+ ~ErrorFileOpen() throw();
+ };
+
+ class MagickPPExport ErrorImage: public Error
+ {
+ public:
+ explicit ErrorImage(const std::string& what_);
+ explicit ErrorImage(const std::string& what_,Exception *nested_);
+ ~ErrorImage() throw();
+ };
+
+ class MagickPPExport ErrorMissingDelegate: public Error
+ {
+ public:
+ explicit ErrorMissingDelegate(const std::string& what_);
+ explicit ErrorMissingDelegate(const std::string& what_,Exception *nested_);
+ ~ErrorMissingDelegate() throw();
+ };
+
+ class MagickPPExport ErrorModule: public Error
+ {
+ public:
+ explicit ErrorModule(const std::string& what_);
+ explicit ErrorModule(const std::string& what_,Exception *nested_);
+ ~ErrorModule() throw();
+ };
+
+ class MagickPPExport ErrorMonitor: public Error
+ {
+ public:
+ explicit ErrorMonitor(const std::string& what_);
+ explicit ErrorMonitor(const std::string& what_,Exception *nested_);
+ ~ErrorMonitor() throw();
+ };
+
+ class MagickPPExport ErrorOption: public Error
+ {
+ public:
+ explicit ErrorOption(const std::string& what_);
+ explicit ErrorOption(const std::string& what_,Exception *nested_);
+ ~ErrorOption() throw();
+ };
+
+ class MagickPPExport ErrorPolicy: public Error
+ {
+ public:
+ explicit ErrorPolicy(const std::string& what_);
+ explicit ErrorPolicy(const std::string& what_,Exception *nested_);
+ ~ErrorPolicy() throw();
+ };
+
+ class MagickPPExport ErrorRegistry: public Error
+ {
+ public:
+ explicit ErrorRegistry(const std::string& what_);
+ explicit ErrorRegistry(const std::string& what_,Exception *nested_);
+ ~ErrorRegistry() throw();
+ };
+
+ class MagickPPExport ErrorResourceLimit: public Error
+ {
+ public:
+ explicit ErrorResourceLimit(const std::string& what_);
+ explicit ErrorResourceLimit(const std::string& what_,Exception *nested_);
+ ~ErrorResourceLimit() throw();
+ };
+
+ class MagickPPExport ErrorStream: public Error
+ {
+ public:
+ explicit ErrorStream(const std::string& what_);
+ explicit ErrorStream(const std::string& what_,Exception *nested_);
+ ~ErrorStream() throw();
+ };
+
+ class MagickPPExport ErrorType: public Error
+ {
+ public:
+ explicit ErrorType(const std::string& what_);
+ explicit ErrorType(const std::string& what_,Exception *nested_);
+ ~ErrorType() throw();
+ };
+
+ class MagickPPExport ErrorUndefined: public Error
+ {
+ public:
+ explicit ErrorUndefined(const std::string& what_);
+ explicit ErrorUndefined(const std::string& what_,Exception *nested_);
+ ~ErrorUndefined() throw();
+ };
+
+ class MagickPPExport ErrorXServer: public Error
+ {
+ public:
+ explicit ErrorXServer(const std::string& what_);
+ explicit ErrorXServer(const std::string& what_,Exception *nested_);
+ ~ErrorXServer() throw();
+ };
+
+ //
+ // Warnings
+ //
+
+ class MagickPPExport Warning: public Exception
+ {
+ public:
+ explicit Warning(const std::string& what_);
+ explicit Warning(const std::string& what_,Exception *nested_);
+ ~Warning() throw();
+ };
+
+ class MagickPPExport WarningBlob: public Warning
+ {
+ public:
+ explicit WarningBlob(const std::string& what_);
+ explicit WarningBlob(const std::string& what_,Exception *nested_);
+ ~WarningBlob() throw();
+ };
+
+ class MagickPPExport WarningCache: public Warning
+ {
+ public:
+ explicit WarningCache(const std::string& what_);
+ explicit WarningCache(const std::string& what_,Exception *nested_);
+ ~WarningCache() throw();
+ };
+
+ class MagickPPExport WarningCoder: public Warning
+ {
+ public:
+ explicit WarningCoder(const std::string& what_);
+ explicit WarningCoder(const std::string& what_,Exception *nested_);
+ ~WarningCoder() throw();
+ };
+
+ class MagickPPExport WarningConfigure: public Warning
+ {
+ public:
+ explicit WarningConfigure(const std::string& what_);
+ explicit WarningConfigure(const std::string& what_,Exception *nested_);
+ ~WarningConfigure() throw();
+ };
+
+ class MagickPPExport WarningCorruptImage: public Warning
+ {
+ public:
+ explicit WarningCorruptImage(const std::string& what_);
+ explicit WarningCorruptImage(const std::string& what_,Exception *nested_);
+ ~WarningCorruptImage() throw();
+ };
+
+ class MagickPPExport WarningDelegate: public Warning
+ {
+ public:
+ explicit WarningDelegate(const std::string& what_);
+ explicit WarningDelegate(const std::string& what_,Exception *nested_);
+ ~WarningDelegate() throw();
+ };
+
+ class MagickPPExport WarningDraw : public Warning
+ {
+ public:
+ explicit WarningDraw(const std::string& what_);
+ explicit WarningDraw(const std::string& what_,Exception *nested_);
+ ~WarningDraw() throw();
+ };
+
+ class MagickPPExport WarningFileOpen: public Warning
+ {
+ public:
+ explicit WarningFileOpen(const std::string& what_);
+ explicit WarningFileOpen(const std::string& what_,Exception *nested_);
+ ~WarningFileOpen() throw();
+ };
+
+ class MagickPPExport WarningImage: public Warning
+ {
+ public:
+ explicit WarningImage(const std::string& what_);
+ explicit WarningImage(const std::string& what_,Exception *nested_);
+ ~WarningImage() throw();
+ };
+
+ class MagickPPExport WarningMissingDelegate: public Warning
+ {
+ public:
+ explicit WarningMissingDelegate(const std::string& what_);
+ explicit WarningMissingDelegate(const std::string& what_,
+ Exception *nested_);
+ ~WarningMissingDelegate() throw();
+ };
+
+ class MagickPPExport WarningModule: public Warning
+ {
+ public:
+ explicit WarningModule(const std::string& what_);
+ explicit WarningModule(const std::string& what_,Exception *nested_);
+ ~WarningModule() throw();
+ };
+
+ class MagickPPExport WarningMonitor: public Warning
+ {
+ public:
+ explicit WarningMonitor(const std::string& what_);
+ explicit WarningMonitor(const std::string& what_,Exception *nested_);
+ ~WarningMonitor() throw();
+ };
+
+ class MagickPPExport WarningOption: public Warning
+ {
+ public:
+ explicit WarningOption(const std::string& what_);
+ explicit WarningOption(const std::string& what_,Exception *nested_);
+ ~WarningOption() throw();
+ };
+
+ class MagickPPExport WarningPolicy: public Warning
+ {
+ public:
+ explicit WarningPolicy(const std::string& what_);
+ explicit WarningPolicy(const std::string& what_,Exception *nested_);
+ ~WarningPolicy() throw();
+ };
+
+ class MagickPPExport WarningRegistry: public Warning
+ {
+ public:
+ explicit WarningRegistry(const std::string& what_);
+ explicit WarningRegistry(const std::string& what_,Exception *nested_);
+ ~WarningRegistry() throw();
+ };
+
+ class MagickPPExport WarningResourceLimit: public Warning
+ {
+ public:
+ explicit WarningResourceLimit(const std::string& what_);
+ explicit WarningResourceLimit(const std::string& what_,Exception *nested_);
+ ~WarningResourceLimit() throw();
+ };
+
+ class MagickPPExport WarningStream: public Warning
+ {
+ public:
+ explicit WarningStream(const std::string& what_);
+ explicit WarningStream(const std::string& what_,Exception *nested_);
+ ~WarningStream() throw();
+ };
+
+ class MagickPPExport WarningType: public Warning
+ {
+ public:
+ explicit WarningType(const std::string& what_);
+ explicit WarningType(const std::string& what_,Exception *nested_);
+ ~WarningType() throw();
+ };
+
+ class MagickPPExport WarningUndefined: public Warning
+ {
+ public:
+ explicit WarningUndefined(const std::string& what_);
+ explicit WarningUndefined(const std::string& what_,Exception *nested_);
+ ~WarningUndefined() throw();
+ };
+
+ class MagickPPExport WarningXServer: public Warning
+ {
+ public:
+ explicit WarningXServer(const std::string& what_);
+ explicit WarningXServer(const std::string& what_,Exception *nested_);
+ ~WarningXServer() throw();
+ };
+
+ //
+ // No user-serviceable components beyond this point.
+ //
+
+ std::string formatExceptionMessage(
+ const MagickCore::ExceptionInfo *exception_);
+
+ Exception* createException(const MagickCore::ExceptionInfo *exception_);
+
+ // Throw exception based on raw data
+ extern MagickPPExport void throwExceptionExplicit(
+ const MagickCore::ExceptionType severity_,const char* reason_,
+ const char* description_=(char *) NULL);
+
+ // Thow exception based on ImageMagick's ExceptionInfo
+ extern MagickPPExport void throwException(
+ MagickCore::ExceptionInfo *exception_,const bool quiet_=false);
+
+} // namespace Magick
+
+#endif // Magick_Exception_header
diff --git a/bin/7.0.5-5/include/ImageMagick-7/Magick++/Functions.h b/bin/7.0.5-5/include/ImageMagick-7/Magick++/Functions.h
new file mode 100755
index 0000000..863cab1
--- /dev/null
+++ b/bin/7.0.5-5/include/ImageMagick-7/Magick++/Functions.h
@@ -0,0 +1,37 @@
+// This may look like C code, but it is really -*- C++ -*-
+//
+// Copyright Bob Friesenhahn, 1999, 2000, 2001, 2003
+// Copyright Dirk Lemstra 2014
+//
+// Simple C++ function wrappers for often used or otherwise
+// inconvenient ImageMagick equivalents
+//
+
+#if !defined(Magick_Functions_header)
+#define Magick_Functions_header
+
+#include "Magick++/Include.h"
+#include
+
+namespace Magick
+{
+ // Clone C++ string as allocated C string, de-allocating any existing string
+ MagickPPExport void CloneString(char **destination_,
+ const std::string &source_);
+
+ // Disable OpenCL acceleration (only works when build with OpenCL support)
+ MagickPPExport void DisableOpenCL(void);
+
+ // Enable OpenCL acceleration (only works when build with OpenCL support)
+ MagickPPExport bool EnableOpenCL(void);
+
+ // C library initialization routine
+ MagickPPExport void InitializeMagick(const char *path_);
+
+ // Seed a new sequence of pseudo-random numbers
+ MagickPPExport void SetRandomSeed(const unsigned long seed);
+
+ // C library initialization routine
+ MagickPPExport void TerminateMagick();
+}
+#endif // Magick_Functions_header
diff --git a/bin/7.0.5-5/include/ImageMagick-7/Magick++/Geometry.h b/bin/7.0.5-5/include/ImageMagick-7/Magick++/Geometry.h
new file mode 100755
index 0000000..6fa31cf
--- /dev/null
+++ b/bin/7.0.5-5/include/ImageMagick-7/Magick++/Geometry.h
@@ -0,0 +1,261 @@
+// This may look like C code, but it is really -*- C++ -*-
+//
+// Copyright Bob Friesenhahn, 1999, 2000, 2001, 2002
+// Copyright Dirk Lemstra 2014
+//
+// Geometry Definition
+//
+// Representation of an ImageMagick geometry specification
+// X11 geometry specification plus hints
+
+#if !defined (Magick_Geometry_header)
+#define Magick_Geometry_header
+
+#include "Magick++/Include.h"
+#include
+
+namespace Magick
+{
+ class MagickPPExport Geometry;
+
+ // Compare two Geometry objects regardless of LHS/RHS
+ MagickPPExport int operator ==
+ (const Magick::Geometry& left_,const Magick::Geometry& right_);
+ MagickPPExport int operator !=
+ (const Magick::Geometry& left_,const Magick::Geometry& right_);
+ MagickPPExport int operator >
+ (const Magick::Geometry& left_,const Magick::Geometry& right_);
+ MagickPPExport int operator <
+ (const Magick::Geometry& left_,const Magick::Geometry& right_);
+ MagickPPExport int operator >=
+ (const Magick::Geometry& left_,const Magick::Geometry& right_);
+ MagickPPExport int operator <=
+ (const Magick::Geometry& left_,const Magick::Geometry& right_);
+
+ class MagickPPExport Geometry
+ {
+ public:
+
+ // Default constructor
+ Geometry();
+
+ // Construct Geometry from specified string
+ Geometry(const char *geometry_);
+
+ // Copy constructor
+ Geometry(const Geometry &geometry_);
+
+ // Construct Geometry from specified string
+ Geometry(const std::string &geometry_);
+
+ // Construct Geometry from specified dimensions
+ Geometry(size_t width_,size_t height_,::ssize_t xOff_=0,
+ ::ssize_t yOff_=0);
+
+ // Destructor
+ ~Geometry(void);
+
+ // Set via geometry string
+ const Geometry& operator=(const char *geometry_);
+
+ // Assignment operator
+ Geometry& operator=(const Geometry& Geometry_);
+
+ // Set via geometry string
+ const Geometry& operator=(const std::string &geometry_);
+
+ // Return geometry string
+ operator std::string() const;
+
+ // Resize without preserving aspect ratio (!)
+ void aspect(bool aspect_);
+ bool aspect(void) const;
+
+ // Resize the image based on the smallest fitting dimension (^)
+ void fillArea(bool fillArea_);
+ bool fillArea(void) const;
+
+ // Resize if image is greater than size (>)
+ void greater(bool greater_);
+ bool greater(void) const;
+
+ // Height
+ void height(size_t height_);
+ size_t height(void) const;
+
+ // Does object contain valid geometry?
+ void isValid(bool isValid_);
+ bool isValid(void) const;
+
+ // Resize if image is less than size (<)
+ void less(bool less_);
+ bool less(void) const;
+
+ // Resize using a pixel area count limit (@)
+ void limitPixels(bool limitPixels_);
+ bool limitPixels(void) const;
+
+ // Width and height are expressed as percentages
+ void percent(bool percent_);
+ bool percent(void) const;
+
+ // Width
+ void width(size_t width_);
+ size_t width(void) const;
+
+ // X offset from origin
+ void xOff(::ssize_t xOff_);
+ ::ssize_t xOff(void) const;
+
+ // Y offset from origin
+ void yOff(::ssize_t yOff_);
+ ::ssize_t yOff(void) const;
+
+ //
+ // Public methods below this point are for Magick++ use only.
+ //
+
+ // Construct from RectangleInfo
+ Geometry(const MagickCore::RectangleInfo &rectangle_);
+
+ // Set via RectangleInfo
+ const Geometry& operator=(const MagickCore::RectangleInfo &rectangle_);
+
+ // Return an ImageMagick RectangleInfo struct
+ operator MagickCore::RectangleInfo() const;
+
+ private:
+ size_t _width;
+ size_t _height;
+ ::ssize_t _xOff;
+ ::ssize_t _yOff;
+ bool _isValid;
+ bool _percent; // Interpret width & height as percentages (%)
+ bool _aspect; // Force exact size (!)
+ bool _greater; // Resize only if larger than geometry (>)
+ bool _less; // Resize only if smaller than geometry (<)
+ bool _fillArea; // Resize the image based on the smallest fitting dimension (^)
+ bool _limitPixels; // Resize using a pixel area count limit (@)
+ };
+
+ class MagickPPExport Offset;
+
+ // Compare two Offset objects
+ MagickPPExport int operator ==
+ (const Magick::Offset& left_,const Magick::Offset& right_);
+ MagickPPExport int operator !=
+ (const Magick::Offset& left_,const Magick::Offset& right_);
+
+ class MagickPPExport Offset
+ {
+ public:
+
+ // Default constructor
+ Offset();
+
+ // Construct Offset from specified string
+ Offset(const char *offset_);
+
+ // Copy constructor
+ Offset(const Offset &offset_);
+
+ // Construct Offset from specified string
+ Offset(const std::string &offset_);
+
+ // Construct Offset from specified x and y
+ Offset(ssize_t x_,ssize_t y_);
+
+ // Destructor
+ ~Offset(void);
+
+ // Set via offset string
+ const Offset& operator=(const char *offset_);
+
+ // Assignment operator
+ Offset& operator=(const Offset& offset_);
+
+ // Set via offset string
+ const Offset& operator=(const std::string &offset_);
+
+ // X offset from origin
+ ssize_t x(void) const;
+
+ // Y offset from origin
+ ssize_t y(void) const;
+
+ //
+ // Public methods below this point are for Magick++ use only.
+ //
+
+ // Return an ImageMagick OffsetInfo struct
+ operator MagickCore::OffsetInfo() const;
+
+ private:
+ ssize_t _x;
+ ssize_t _y;
+ };
+
+ class MagickPPExport Point;
+
+ // Compare two Point objects
+ MagickPPExport int operator ==
+ (const Magick::Point& left_,const Magick::Point& right_);
+ MagickPPExport int operator !=
+ (const Magick::Point& left_,const Magick::Point& right_);
+
+ class MagickPPExport Point
+ {
+ public:
+
+ // Default constructor
+ Point();
+
+ // Construct Point from specified string
+ Point(const char *point_);
+
+ // Copy constructor
+ Point(const Point &point_);
+
+ // Construct Point from specified string
+ Point(const std::string &point_);
+
+ // Construct Point from specified x and y
+ Point(double x_,double y_);
+
+ // Construct Point from specified x y
+ Point(double xy_);
+
+ // Destructor
+ ~Point(void);
+
+ // Set via point string
+ const Point& operator=(const char *point_);
+
+ // Set via double value
+ const Point& operator=(double xy_);
+
+ // Assignment operator
+ Point& operator=(const Point& point_);
+
+ // Set via point string
+ const Point& operator=(const std::string &point_);
+
+ // Return point string
+ operator std::string() const;
+
+ // Does object contain valid point?
+ bool isValid() const;
+
+ // X offset from origin
+ double x(void) const;
+
+ // Y offset from origin
+ double y(void) const;
+
+ private:
+ double _x;
+ double _y;
+ };
+} // namespace Magick
+
+#endif // Magick_Geometry_header
diff --git a/bin/7.0.5-5/include/ImageMagick-7/Magick++/Image.h b/bin/7.0.5-5/include/ImageMagick-7/Magick++/Image.h
new file mode 100755
index 0000000..efa1b98
--- /dev/null
+++ b/bin/7.0.5-5/include/ImageMagick-7/Magick++/Image.h
@@ -0,0 +1,1541 @@
+// This may look like C code, but it is really -*- C++ -*-
+//
+// Copyright Bob Friesenhahn, 1999, 2000, 2001, 2002, 2003
+// Copyright Dirk Lemstra 2013-2016
+//
+// Definition of Image, the representation of a single image in Magick++
+//
+
+#if !defined(Magick_Image_header)
+#define Magick_Image_header
+
+#include "Magick++/Include.h"
+#include
+#include
+#include "Magick++/Blob.h"
+#include "Magick++/Color.h"
+#include "Magick++/Drawable.h"
+#include "Magick++/Exception.h"
+#include "Magick++/Geometry.h"
+#include "Magick++/Statistic.h"
+#include "Magick++/TypeMetric.h"
+
+namespace Magick
+{
+ // Forward declarations
+ class Options;
+ class ImageRef;
+
+ extern MagickPPExport const char *borderGeometryDefault;
+ extern MagickPPExport const char *frameGeometryDefault;
+ extern MagickPPExport const char *raiseGeometryDefault;
+
+ // Compare two Image objects regardless of LHS/RHS
+ // Image sizes and signatures are used as basis of comparison
+ MagickPPExport int operator ==
+ (const Magick::Image &left_,const Magick::Image &right_);
+ MagickPPExport int operator !=
+ (const Magick::Image &left_,const Magick::Image &right_);
+ MagickPPExport int operator >
+ (const Magick::Image &left_,const Magick::Image &right_);
+ MagickPPExport int operator <
+ (const Magick::Image &left_,const Magick::Image &right_);
+ MagickPPExport int operator >=
+ (const Magick::Image &left_,const Magick::Image &right_);
+ MagickPPExport int operator <=
+ (const Magick::Image &left_,const Magick::Image &right_);
+
+ //
+ // Image is the representation of an image. In reality, it actually
+ // a handle object which contains a pointer to a shared reference
+ // object (ImageRef). As such, this object is extremely space efficient.
+ //
+ class MagickPPExport Image
+ {
+ public:
+
+ // Default constructor
+ Image(void);
+
+ // Construct Image from in-memory BLOB
+ Image(const Blob &blob_);
+
+ // Construct Image of specified size from in-memory BLOB
+ Image(const Blob &blob_,const Geometry &size_);
+
+ // Construct Image of specified size and depth from in-memory BLOB
+ Image(const Blob &blob_,const Geometry &size_,const size_t depth_);
+
+ // Construct Image of specified size, depth, and format from
+ // in-memory BLOB
+ Image(const Blob &blob_,const Geometry &size_,const size_t depth_,
+ const std::string &magick_);
+
+ // Construct Image of specified size, and format from in-memory BLOB
+ Image(const Blob &blob_,const Geometry &size_,const std::string &magick_);
+
+ // Construct a blank image canvas of specified size and color
+ Image(const Geometry &size_,const Color &color_);
+
+ // Copy constructor
+ Image(const Image &image_);
+
+ // Copy constructor to copy part of the image
+ Image(const Image &image_,const Geometry &geometry_);
+
+ // Construct an image based on an array of raw pixels, of
+ // specified type and mapping, in memory
+ Image(const size_t width_,const size_t height_,const std::string &map_,
+ const StorageType type_,const void *pixels_);
+
+ // Construct from image file or image specification
+ Image(const std::string &imageSpec_);
+
+ // Destructor
+ virtual ~Image();
+
+ // Assignment operator
+ Image& operator=(const Image &image_);
+
+ // Join images into a single multi-image file
+ void adjoin(const bool flag_);
+ bool adjoin(void) const;
+
+ // Image supports transparency (alpha channel)
+ void alpha(const bool alphaFlag_);
+ bool alpha(void) const;
+
+ // Transparent color
+ void matteColor(const Color &matteColor_);
+ Color matteColor(void) const;
+
+ // Time in 1/100ths of a second which must expire before
+ // displaying the next image in an animated sequence.
+ void animationDelay(const size_t delay_);
+ size_t animationDelay(void) const;
+
+ // Lessen (or intensify) when adding noise to an image.
+ void attenuate(const double attenuate_);
+
+ // Number of iterations to loop an animation (e.g. Netscape loop
+ // extension) for.
+ void animationIterations(const size_t iterations_);
+ size_t animationIterations(void) const;
+
+ // Image background color
+ void backgroundColor(const Color &color_);
+ Color backgroundColor(void) const;
+
+ // Name of texture image to tile onto the image background
+ void backgroundTexture(const std::string &backgroundTexture_);
+ std::string backgroundTexture(void) const;
+
+ // Base image width (before transformations)
+ size_t baseColumns(void) const;
+
+ // Base image filename (before transformations)
+ std::string baseFilename(void) const;
+
+ // Base image height (before transformations)
+ size_t baseRows(void) const;
+
+ // Use black point compensation.
+ void blackPointCompensation(const bool flag_);
+ bool blackPointCompensation(void) const;
+
+ // Image border color
+ void borderColor(const Color &color_);
+ Color borderColor(void) const;
+
+ // Return smallest bounding box enclosing non-border pixels. The
+ // current fuzz value is used when discriminating between pixels.
+ // This is the crop bounding box used by crop(Geometry(0,0));
+ Geometry boundingBox(void) const;
+
+ // Text bounding-box base color (default none)
+ void boxColor(const Color &boxColor_);
+ Color boxColor(void) const;
+
+ // Set or obtain modulus channel depth
+ void channelDepth(const ChannelType channel_,const size_t depth_);
+ size_t channelDepth(const ChannelType channel_);
+
+ // Returns the number of channels in this image.
+ size_t channels() const;
+
+ // Image class (DirectClass or PseudoClass)
+ // NOTE: setting a DirectClass image to PseudoClass will result in
+ // the loss of color information if the number of colors in the
+ // image is greater than the maximum palette size (either 256 or
+ // 65536 entries depending on the value of MAGICKCORE_QUANTUM_DEPTH when
+ // ImageMagick was built).
+ void classType(const ClassType class_);
+ ClassType classType(void) const;
+
+ // Colors within this distance are considered equal
+ void colorFuzz(const double fuzz_);
+ double colorFuzz(void) const;
+
+ // Colormap size (number of colormap entries)
+ void colorMapSize(const size_t entries_);
+ size_t colorMapSize(void) const;
+
+ // Image Color Space
+ void colorSpace(const ColorspaceType colorSpace_);
+ ColorspaceType colorSpace(void) const;
+
+ void colorSpaceType(const ColorspaceType colorSpace_);
+ ColorspaceType colorSpaceType(void) const;
+
+ // Image width
+ size_t columns(void) const;
+
+ // Comment image (add comment string to image)
+ void comment(const std::string &comment_);
+ std::string comment(void) const;
+
+ // Composition operator to be used when composition is implicitly
+ // used (such as for image flattening).
+ void compose(const CompositeOperator compose_);
+ CompositeOperator compose(void) const;
+
+ // Compression type
+ void compressType(const CompressionType compressType_);
+ CompressionType compressType(void) const;
+
+ // Enable printing of debug messages from ImageMagick
+ void debug(const bool flag_);
+ bool debug(void) const;
+
+ // Vertical and horizontal resolution in pixels of the image
+ void density(const Point &density_);
+ Point density(void) const;
+
+ // Image depth (bits allocated to red/green/blue components)
+ void depth(const size_t depth_);
+ size_t depth(void) const;
+
+ // Tile names from within an image montage
+ std::string directory(void) const;
+
+ // Endianness (little like Intel or big like SPARC) for image
+ // formats which support endian-specific options.
+ void endian(const EndianType endian_);
+ EndianType endian(void) const;
+
+ // Exif profile (BLOB)
+ void exifProfile(const Blob &exifProfile_);
+ Blob exifProfile(void) const;
+
+ // Image file name
+ void fileName(const std::string &fileName_);
+ std::string fileName(void) const;
+
+ // Number of bytes of the image on disk
+ MagickSizeType fileSize(void) const;
+
+ // Color to use when filling drawn objects
+ void fillColor(const Color &fillColor_);
+ Color fillColor(void) const;
+
+ // Rule to use when filling drawn objects
+ void fillRule(const FillRule &fillRule_);
+ FillRule fillRule(void) const;
+
+ // Pattern to use while filling drawn objects.
+ void fillPattern(const Image &fillPattern_);
+ Image fillPattern(void) const;
+
+ // Filter to use when resizing image
+ void filterType(const FilterType filterType_);
+ FilterType filterType(void) const;
+
+ // Text rendering font
+ void font(const std::string &font_);
+ std::string font(void) const;
+
+ // Font family
+ void fontFamily(const std::string &family_);
+ std::string fontFamily(void) const;
+
+ // Font point size
+ void fontPointsize(const double pointSize_);
+ double fontPointsize(void) const;
+
+ // Font style
+ void fontStyle(const StyleType style_);
+ StyleType fontStyle(void) const;
+
+ // Font weight
+ void fontWeight(const size_t weight_);
+ size_t fontWeight(void) const;
+
+ // Long image format description
+ std::string format(void) const;
+
+ // Formats the specified expression
+ // More info here: http://www.imagemagick.org/script/escape.php
+ std::string formatExpression(const std::string expression);
+
+ // Gamma level of the image
+ double gamma(void) const;
+
+ // Preferred size of the image when encoding
+ Geometry geometry(void) const;
+
+ // GIF disposal method
+ void gifDisposeMethod(const DisposeType disposeMethod_);
+ DisposeType gifDisposeMethod(void) const;
+
+ bool hasChannel(const PixelChannel channel) const;
+
+ // When comparing images, emphasize pixel differences with this color.
+ void highlightColor(const Color color_);
+
+ // ICC color profile (BLOB)
+ void iccColorProfile(const Blob &colorProfile_);
+ Blob iccColorProfile(void) const;
+
+ // Type of interlacing to use
+ void interlaceType(const InterlaceType interlace_);
+ InterlaceType interlaceType(void) const;
+
+ // Pixel color interpolation method to use
+ void interpolate(const PixelInterpolateMethod interpolate_);
+ PixelInterpolateMethod interpolate(void) const;
+
+ // IPTC profile (BLOB)
+ void iptcProfile(const Blob &iptcProfile_);
+ Blob iptcProfile(void) const;
+
+ // Returns true if none of the pixels in the image have an alpha value
+ // other than OpaqueAlpha (QuantumRange).
+ bool isOpaque(void) const;
+
+ // Does object contain valid image?
+ void isValid(const bool isValid_);
+ bool isValid(void) const;
+
+ // Image label
+ void label(const std::string &label_);
+ std::string label(void) const;
+
+ // When comparing images, de-emphasize pixel differences with this color.
+ void lowlightColor(const Color color_);
+
+ // File type magick identifier (.e.g "GIF")
+ void magick(const std::string &magick_);
+ std::string magick(void) const;
+
+ // The mean error per pixel computed when an image is color reduced
+ double meanErrorPerPixel(void) const;
+
+ // Image modulus depth (minimum number of bits required to support
+ // red/green/blue components without loss of accuracy)
+ void modulusDepth(const size_t modulusDepth_);
+ size_t modulusDepth(void) const;
+
+ // Transform image to black and white
+ void monochrome(const bool monochromeFlag_);
+ bool monochrome(void) const;
+
+ // Tile size and offset within an image montage
+ Geometry montageGeometry(void) const;
+
+ // The normalized max error per pixel computed when an image is
+ // color reduced.
+ double normalizedMaxError(void) const;
+
+ // The normalized mean error per pixel computed when an image is
+ // color reduced.
+ double normalizedMeanError(void) const;
+
+ // Image orientation
+ void orientation(const OrientationType orientation_);
+ OrientationType orientation(void) const;
+
+ // Preferred size and location of an image canvas.
+ void page(const Geometry &pageSize_);
+ Geometry page(void) const;
+
+ // JPEG/MIFF/PNG compression level (default 75).
+ void quality(const size_t quality_);
+ size_t quality(void) const;
+
+ // Maximum number of colors to quantize to
+ void quantizeColors(const size_t colors_);
+ size_t quantizeColors(void) const;
+
+ // Colorspace to quantize in.
+ void quantizeColorSpace(const ColorspaceType colorSpace_);
+ ColorspaceType quantizeColorSpace(void) const;
+
+ // Dither image during quantization (default true).
+ void quantizeDither(const bool ditherFlag_);
+ bool quantizeDither(void) const;
+
+ // Dither method
+ void quantizeDitherMethod(const DitherMethod ditherMethod_);
+ DitherMethod quantizeDitherMethod(void) const;
+
+ // Quantization tree-depth
+ void quantizeTreeDepth(const size_t treeDepth_);
+ size_t quantizeTreeDepth(void) const;
+
+ // Suppress all warning messages. Error messages are still reported.
+ void quiet(const bool quiet_);
+ bool quiet(void) const;
+
+ // The type of rendering intent
+ void renderingIntent(const RenderingIntent renderingIntent_);
+ RenderingIntent renderingIntent(void) const;
+
+ // Units of image resolution
+ void resolutionUnits(const ResolutionType resolutionUnits_);
+ ResolutionType resolutionUnits(void) const;
+
+ // The number of pixel rows in the image
+ size_t rows(void) const;
+
+ // Image scene number
+ void scene(const size_t scene_);
+ size_t scene(void) const;
+
+ // Width and height of a raw image
+ void size(const Geometry &geometry_);
+ Geometry size(void) const;
+
+ // enabled/disable stroke anti-aliasing
+ void strokeAntiAlias(const bool flag_);
+ bool strokeAntiAlias(void) const;
+
+ // Color to use when drawing object outlines
+ void strokeColor(const Color &strokeColor_);
+ Color strokeColor(void) const;
+
+ // Specify the pattern of dashes and gaps used to stroke
+ // paths. The strokeDashArray represents a zero-terminated array
+ // of numbers that specify the lengths of alternating dashes and
+ // gaps in pixels. If an odd number of values is provided, then
+ // the list of values is repeated to yield an even number of
+ // values. A typical strokeDashArray_ array might contain the
+ // members 5 3 2 0, where the zero value indicates the end of the
+ // pattern array.
+ void strokeDashArray(const double *strokeDashArray_);
+ const double *strokeDashArray(void) const;
+
+ // While drawing using a dash pattern, specify distance into the
+ // dash pattern to start the dash (default 0).
+ void strokeDashOffset(const double strokeDashOffset_);
+ double strokeDashOffset(void) const;
+
+ // Specify the shape to be used at the end of open subpaths when
+ // they are stroked. Values of LineCap are UndefinedCap, ButtCap,
+ // RoundCap, and SquareCap.
+ void strokeLineCap(const LineCap lineCap_);
+ LineCap strokeLineCap(void) const;
+
+ // Specify the shape to be used at the corners of paths (or other
+ // vector shapes) when they are stroked. Values of LineJoin are
+ // UndefinedJoin, MiterJoin, RoundJoin, and BevelJoin.
+ void strokeLineJoin(const LineJoin lineJoin_);
+ LineJoin strokeLineJoin(void) const;
+
+ // Specify miter limit. When two line segments meet at a sharp
+ // angle and miter joins have been specified for 'lineJoin', it is
+ // possible for the miter to extend far beyond the thickness of
+ // the line stroking the path. The miterLimit' imposes a limit on
+ // the ratio of the miter length to the 'lineWidth'. The default
+ // value of this parameter is 4.
+ void strokeMiterLimit(const size_t miterLimit_);
+ size_t strokeMiterLimit(void) const;
+
+ // Pattern image to use while stroking object outlines.
+ void strokePattern(const Image &strokePattern_);
+ Image strokePattern(void) const;
+
+ // Stroke width for drawing vector objects (default one)
+ void strokeWidth(const double strokeWidth_);
+ double strokeWidth(void) const;
+
+ // Subimage of an image sequence
+ void subImage(const size_t subImage_);
+ size_t subImage(void) const;
+
+ // Number of images relative to the base image
+ void subRange(const size_t subRange_);
+ size_t subRange(void) const;
+
+ // Anti-alias Postscript and TrueType fonts (default true)
+ void textAntiAlias(const bool flag_);
+ bool textAntiAlias(void) const;
+
+ // Render text right-to-left or left-to-right.
+ void textDirection(DirectionType direction_);
+ DirectionType textDirection() const;
+
+ // Annotation text encoding (e.g. "UTF-16")
+ void textEncoding(const std::string &encoding_);
+ std::string textEncoding(void) const;
+
+ // Text gravity.
+ void textGravity(GravityType gravity_);
+ GravityType textGravity() const;
+
+ // Text inter-line spacing
+ void textInterlineSpacing(double spacing_);
+ double textInterlineSpacing(void) const;
+
+ // Text inter-word spacing
+ void textInterwordSpacing(double spacing_);
+ double textInterwordSpacing(void) const;
+
+ // Text inter-character kerning
+ void textKerning(double kerning_);
+ double textKerning(void) const;
+
+ // Text undercolor box
+ void textUnderColor(const Color &underColor_);
+ Color textUnderColor(void) const;
+
+ // Number of colors in the image
+ size_t totalColors(void) const;
+
+ // Rotation to use when annotating with text or drawing
+ void transformRotation(const double angle_);
+
+ // Skew to use in X axis when annotating with text or drawing
+ void transformSkewX(const double skewx_);
+
+ // Skew to use in Y axis when annotating with text or drawing
+ void transformSkewY(const double skewy_);
+
+ // Image representation type (also see type operation)
+ // Available types:
+ // Bilevel Grayscale GrayscaleMatte
+ // Palette PaletteMatte TrueColor
+ // TrueColorMatte ColorSeparation ColorSeparationMatte
+ void type(const ImageType type_);
+ ImageType type(void) const;
+
+ // Print detailed information about the image
+ void verbose(const bool verboseFlag_);
+ bool verbose(void) const;
+
+ // Virtual pixel method
+ void virtualPixelMethod(const VirtualPixelMethod virtualPixelMethod_);
+ VirtualPixelMethod virtualPixelMethod(void) const;
+
+ // X11 display to display to, obtain fonts from, or to capture
+ // image from
+ void x11Display(const std::string &display_);
+ std::string x11Display(void) const;
+
+ // x resolution of the image
+ double xResolution(void) const;
+
+ // y resolution of the image
+ double yResolution(void) const;
+
+ // Adaptive-blur image with specified blur factor
+ // The radius_ parameter specifies the radius of the Gaussian, in
+ // pixels, not counting the center pixel. The sigma_ parameter
+ // specifies the standard deviation of the Laplacian, in pixels.
+ void adaptiveBlur(const double radius_=0.0,const double sigma_=1.0);
+
+ // This is shortcut function for a fast interpolative resize using mesh
+ // interpolation. It works well for small resizes of less than +/- 50%
+ // of the original image size. For larger resizing on images a full
+ // filtered and slower resize function should be used instead.
+ void adaptiveResize(const Geometry &geometry_);
+
+ // Adaptively sharpens the image by sharpening more intensely near image
+ // edges and less intensely far from edges. We sharpen the image with a
+ // Gaussian operator of the given radius and standard deviation (sigma).
+ // For reasonable results, radius should be larger than sigma.
+ void adaptiveSharpen(const double radius_=0.0,const double sigma_=1.0);
+ void adaptiveSharpenChannel(const ChannelType channel_,
+ const double radius_=0.0,const double sigma_=1.0);
+
+ // Local adaptive threshold image
+ // http://www.dai.ed.ac.uk/HIPR2/adpthrsh.htm
+ // Width x height define the size of the pixel neighborhood
+ // bias = constant to subtract from pixel neighborhood mean
+ void adaptiveThreshold(const size_t width_,const size_t height_,
+ const double bias_=0.0);
+
+ // Add noise to image with specified noise type
+ void addNoise(const NoiseType noiseType_);
+ void addNoiseChannel(const ChannelType channel_,
+ const NoiseType noiseType_);
+
+ // Transform image by specified affine (or free transform) matrix.
+ void affineTransform(const DrawableAffine &affine);
+
+ // Set or attenuate the alpha channel in the image. If the image
+ // pixels are opaque then they are set to the specified alpha
+ // value, otherwise they are blended with the supplied alpha
+ // value. The value of alpha_ ranges from 0 (completely opaque)
+ // to QuantumRange. The defines OpaqueAlpha and TransparentAlpha are
+ // available to specify completely opaque or completely
+ // transparent, respectively.
+ void alpha(const unsigned int alpha_);
+
+ // AlphaChannel() activates, deactivates, resets, or sets the alpha
+ // channel.
+ void alphaChannel(AlphaChannelOption alphaOption_);
+
+ //
+ // Annotate image (draw text on image)
+ //
+ // Gravity effects text placement in bounding area according to rules:
+ // NorthWestGravity text bottom-left corner placed at top-left
+ // NorthGravity text bottom-center placed at top-center
+ // NorthEastGravity text bottom-right corner placed at top-right
+ // WestGravity text left-center placed at left-center
+ // CenterGravity text center placed at center
+ // EastGravity text right-center placed at right-center
+ // SouthWestGravity text top-left placed at bottom-left
+ // SouthGravity text top-center placed at bottom-center
+ // SouthEastGravity text top-right placed at bottom-right
+
+ // Annotate using specified text, and placement location
+ void annotate(const std::string &text_,const Geometry &location_);
+
+ // Annotate using specified text, bounding area, and placement
+ // gravity
+ void annotate(const std::string &text_,const Geometry &boundingArea_,
+ const GravityType gravity_);
+
+ // Annotate with text using specified text, bounding area,
+ // placement gravity, and rotation.
+ void annotate(const std::string &text_,const Geometry &boundingArea_,
+ const GravityType gravity_,const double degrees_);
+
+ // Annotate with text (bounding area is entire image) and placement
+ // gravity.
+ void annotate(const std::string &text_,const GravityType gravity_);
+
+ // Inserts the artifact with the specified name and value into
+ // the artifact tree of the image.
+ void artifact(const std::string &name_,const std::string &value_);
+
+ // Returns the value of the artifact with the specified name.
+ std::string artifact(const std::string &name_) const;
+
+ // Access/Update a named image attribute
+ void attribute(const std::string name_,const char *value_);
+ void attribute(const std::string name_,const std::string value_);
+ std::string attribute(const std::string name_) const;
+
+ // Extracts the 'mean' from the image and adjust the image to try
+ // make set its gamma appropriatally.
+ void autoGamma(void);
+ void autoGammaChannel(const ChannelType channel_);
+
+ // Adjusts the levels of a particular image channel by scaling the
+ // minimum and maximum values to the full quantum range.
+ void autoLevel(void);
+ void autoLevelChannel(const ChannelType channel_);
+
+ // Adjusts an image so that its orientation is suitable for viewing.
+ void autoOrient(void);
+
+ // Forces all pixels below the threshold into black while leaving all
+ // pixels at or above the threshold unchanged.
+ void blackThreshold(const std::string &threshold_);
+ void blackThresholdChannel(const ChannelType channel_,
+ const std::string &threshold_);
+
+ // Simulate a scene at nighttime in the moonlight.
+ void blueShift(const double factor_=1.5);
+
+ // Blur image with specified blur factor
+ // The radius_ parameter specifies the radius of the Gaussian, in
+ // pixels, not counting the center pixel. The sigma_ parameter
+ // specifies the standard deviation of the Laplacian, in pixels.
+ void blur(const double radius_=0.0,const double sigma_=1.0);
+ void blurChannel(const ChannelType channel_,const double radius_=0.0,
+ const double sigma_=1.0);
+
+ // Border image (add border to image)
+ void border(const Geometry &geometry_=borderGeometryDefault);
+
+ // Changes the brightness and/or contrast of an image. It converts the
+ // brightness and contrast parameters into slope and intercept and calls
+ // a polynomical function to apply to the image.
+ void brightnessContrast(const double brightness_=0.0,
+ const double contrast_=0.0);
+ void brightnessContrastChannel(const ChannelType channel_,
+ const double brightness_=0.0,const double contrast_=0.0);
+
+ // Uses a multi-stage algorithm to detect a wide range of edges in images.
+ void cannyEdge(const double radius_=0.0,const double sigma_=1.0,
+ const double lowerPercent_=0.1,const double upperPercent_=0.3);
+
+ // Accepts a lightweight Color Correction Collection
+ // (CCC) file which solely contains one or more color corrections and
+ // applies the correction to the image.
+ void cdl(const std::string &cdl_);
+
+ // Extract channel from image
+ void channel(const ChannelType channel_);
+
+ // Charcoal effect image (looks like charcoal sketch)
+ // The radius_ parameter specifies the radius of the Gaussian, in
+ // pixels, not counting the center pixel. The sigma_ parameter
+ // specifies the standard deviation of the Laplacian, in pixels.
+ void charcoal(const double radius_=0.0,const double sigma_=1.0);
+
+ // Chop image (remove vertical or horizontal subregion of image)
+ // FIXME: describe how geometry argument is used to select either
+ // horizontal or vertical subregion of image.
+ void chop(const Geometry &geometry_);
+
+ // Chromaticity blue primary point.
+ void chromaBluePrimary(const double x_,const double y_,const double z_);
+ void chromaBluePrimary(double *x_,double *y_,double *z_) const;
+
+ // Chromaticity green primary point.
+ void chromaGreenPrimary(const double x_,const double y_,const double z_);
+ void chromaGreenPrimary(double *x_,double *y_,double *z_) const;
+
+ // Chromaticity red primary point.
+ void chromaRedPrimary(const double x_,const double y_,const double z_);
+ void chromaRedPrimary(double *x_,double *y_,double *z_) const;
+
+ // Chromaticity white point.
+ void chromaWhitePoint(const double x_,const double y_,const double z_);
+ void chromaWhitePoint(double *x_,double *y_,double *z_) const;
+
+ // Set each pixel whose value is below zero to zero and any the
+ // pixel whose value is above the quantum range to the quantum range (e.g.
+ // 65535) otherwise the pixel value remains unchanged.
+ void clamp(void);
+ void clampChannel(const ChannelType channel_);
+
+ // Sets the image clip mask based on any clipping path information
+ // if it exists.
+ void clip(void);
+ void clipPath(const std::string pathname_,const bool inside_);
+
+ // Apply a color lookup table (CLUT) to the image.
+ void clut(const Image &clutImage_,const PixelInterpolateMethod method);
+ void clutChannel(const ChannelType channel_,const Image &clutImage_,
+ const PixelInterpolateMethod method);
+
+ // Colorize image with pen color, using specified percent alpha.
+ void colorize(const unsigned int alpha_,const Color &penColor_);
+
+ // Colorize image with pen color, using specified percent alpha
+ // for red, green, and blue quantums
+ void colorize(const unsigned int alphaRed_,const unsigned int alphaGreen_,
+ const unsigned int alphaBlue_,const Color &penColor_);
+
+ // Color at colormap position index_
+ void colorMap(const size_t index_,const Color &color_);
+ Color colorMap(const size_t index_) const;
+
+ // Apply a color matrix to the image channels. The user supplied
+ // matrix may be of order 1 to 5 (1x1 through 5x5).
+ void colorMatrix(const size_t order_,const double *color_matrix_);
+
+ // Compare current image with another image
+ // False is returned if the images are not identical.
+ bool compare(const Image &reference_) const;
+
+ // Compare current image with another image
+ // Returns the distortion based on the specified metric.
+ double compare(const Image &reference_,const MetricType metric_);
+ double compareChannel(const ChannelType channel_,
+ const Image &reference_,
+ const MetricType metric_ );
+
+ // Compare current image with another image
+ // Sets the distortion and returns the difference image.
+ Image compare(const Image &reference_,const MetricType metric_,
+ double *distortion);
+ Image compareChannel(const ChannelType channel_,const Image &reference_,
+ const MetricType metric_,double *distortion);
+
+ // Compose an image onto another at specified offset and using
+ // specified algorithm
+ void composite(const Image &compositeImage_,const Geometry &offset_,
+ const CompositeOperator compose_=InCompositeOp);
+ void composite(const Image &compositeImage_,const GravityType gravity_,
+ const CompositeOperator compose_=InCompositeOp);
+ void composite(const Image &compositeImage_,const ::ssize_t xOffset_,
+ const ::ssize_t yOffset_,const CompositeOperator compose_=InCompositeOp);
+
+ // Determines the connected-components of the image
+ void connectedComponents(const size_t connectivity_);
+
+ // Contrast image (enhance intensity differences in image)
+ void contrast(const bool sharpen_);
+
+ // A simple image enhancement technique that attempts to improve the
+ // contrast in an image by 'stretching' the range of intensity values
+ // it contains to span a desired range of values. It differs from the
+ // more sophisticated histogram equalization in that it can only apply a
+ // linear scaling function to the image pixel values. As a result the
+ // 'enhancement' is less harsh.
+ void contrastStretch(const double blackPoint_,const double whitePoint_);
+ void contrastStretchChannel(const ChannelType channel_,
+ const double blackPoint_,const double whitePoint_);
+
+ // Convolve image. Applies a user-specified convolution to the image.
+ // order_ represents the number of columns and rows in the filter kernel.
+ // kernel_ is an array of doubles representing the convolution kernel.
+ void convolve(const size_t order_,const double *kernel_);
+
+ // Copies pixels from the source image as defined by the geometry the
+ // destination image at the specified offset.
+ void copyPixels(const Image &source_,const Geometry &geometry_,
+ const Offset &offset_);
+
+ // Crop image (subregion of original image)
+ void crop(const Geometry &geometry_);
+
+ // Cycle image colormap
+ void cycleColormap(const ::ssize_t amount_);
+
+ // Converts cipher pixels to plain pixels.
+ void decipher(const std::string &passphrase_);
+
+ // Tagged image format define. Similar to the defineValue() method
+ // except that passing the flag_ value 'true' creates a value-less
+ // define with that format and key. Passing the flag_ value 'false'
+ // removes any existing matching definition. The method returns 'true'
+ // if a matching key exists, and 'false' if no matching key exists.
+ void defineSet(const std::string &magick_,const std::string &key_,
+ bool flag_);
+ bool defineSet(const std::string &magick_,const std::string &key_) const;
+
+ // Tagged image format define (set/access coder-specific option) The
+ // magick_ option specifies the coder the define applies to. The key_
+ // option provides the key specific to that coder. The value_ option
+ // provides the value to set (if any). See the defineSet() method if the
+ // key must be removed entirely.
+ void defineValue(const std::string &magick_,const std::string &key_,
+ const std::string &value_);
+ std::string defineValue(const std::string &magick_,
+ const std::string &key_) const;
+
+ // Removes skew from the image. Skew is an artifact that occurs in scanned
+ // images because of the camera being misaligned, imperfections in the
+ // scanning or surface, or simply because the paper was not placed
+ // completely flat when scanned. The value of threshold_ ranges from 0
+ // to QuantumRange.
+ void deskew(const double threshold_);
+
+ // Despeckle image (reduce speckle noise)
+ void despeckle(void);
+
+ // Display image on screen
+ void display(void);
+
+ // Distort image. distorts an image using various distortion methods, by
+ // mapping color lookups of the source image to a new destination image
+ // usally of the same size as the source image, unless 'bestfit' is set to
+ // true.
+ void distort(const DistortMethod method_,
+ const size_t numberArguments_,const double *arguments_,
+ const bool bestfit_=false);
+
+ // Draw on image using a single drawable
+ void draw(const Drawable &drawable_);
+
+ // Draw on image using a drawable list
+ void draw(const std::vector &drawable_);
+
+ // Edge image (hilight edges in image)
+ void edge(const double radius_=0.0);
+
+ // Emboss image (hilight edges with 3D effect)
+ // The radius_ parameter specifies the radius of the Gaussian, in
+ // pixels, not counting the center pixel. The sigma_ parameter
+ // specifies the standard deviation of the Laplacian, in pixels.
+ void emboss(const double radius_=0.0,const double sigma_=1.0);
+
+ // Converts pixels to cipher-pixels.
+ void encipher(const std::string &passphrase_);
+
+ // Enhance image (minimize noise)
+ void enhance(void);
+
+ // Equalize image (histogram equalization)
+ void equalize(void);
+
+ // Erase image to current "background color"
+ void erase(void);
+
+ // Apply a value with an arithmetic, relational, or logical operator.
+ void evaluate(const ChannelType channel_,
+ const MagickEvaluateOperator operator_,double rvalue_);
+
+ // Apply a value with an arithmetic, relational, or logical operator.
+ void evaluate(const ChannelType channel_,const MagickFunction function_,
+ const size_t number_parameters_,const double *parameters_);
+
+ // Apply a value with an arithmetic, relational, or logical operator.
+ void evaluate(const ChannelType channel_,const ::ssize_t x_,
+ const ::ssize_t y_,const size_t columns_,const size_t rows_,
+ const MagickEvaluateOperator operator_,const double rvalue_);
+
+ // Extend the image as defined by the geometry.
+ void extent(const Geometry &geometry_);
+ void extent(const Geometry &geometry_,const Color &backgroundColor);
+ void extent(const Geometry &geometry_,const Color &backgroundColor,
+ const GravityType gravity_);
+ void extent(const Geometry &geometry_,const GravityType gravity_);
+
+ // Flip image (reflect each scanline in the vertical direction)
+ void flip(void);
+
+ // Floodfill pixels matching color (within fuzz factor) of target
+ // pixel(x,y) with replacement alpha value.
+ void floodFillAlpha(const ::ssize_t x_,const ::ssize_t y_,
+ const unsigned int alpha_,const bool invert_=false);
+
+ // Floodfill designated area with replacement alpha value
+ void floodFillAlpha(const ssize_t x_,const ssize_t y_,
+ const unsigned int alpha_,const Color &target_,const bool invert_=false);
+
+ // Flood-fill color across pixels that match the color of the
+ // target pixel and are neighbors of the target pixel.
+ // Uses current fuzz setting when determining color match.
+ void floodFillColor(const Geometry &point_,const Color &fillColor_,
+ const bool invert_=false);
+ void floodFillColor(const ::ssize_t x_,const ::ssize_t y_,
+ const Color &fillColor_,const bool invert_=false);
+
+ // Flood-fill color across pixels starting at target-pixel and
+ // stopping at pixels matching specified border color.
+ // Uses current fuzz setting when determining color match.
+ void floodFillColor(const Geometry &point_,const Color &fillColor_,
+ const Color &borderColor_,const bool invert_=false);
+ void floodFillColor(const ::ssize_t x_,const ::ssize_t y_,
+ const Color &fillColor_,const Color &borderColor_,
+ const bool invert_=false);
+
+ // Flood-fill texture across pixels that match the color of the
+ // target pixel and are neighbors of the target pixel.
+ // Uses current fuzz setting when determining color match.
+ void floodFillTexture(const Geometry &point_,const Image &texture_,
+ const bool invert_=false);
+ void floodFillTexture(const ::ssize_t x_,const ::ssize_t y_,
+ const Image &texture_,const bool invert_=false);
+
+ // Flood-fill texture across pixels starting at target-pixel and
+ // stopping at pixels matching specified border color.
+ // Uses current fuzz setting when determining color match.
+ void floodFillTexture(const Geometry &point_,const Image &texture_,
+ const Color &borderColor_,const bool invert_=false);
+ void floodFillTexture(const ::ssize_t x_,const ::ssize_t y_,
+ const Image &texture_,const Color &borderColor_,
+ const bool invert_=false);
+
+ // Flop image (reflect each scanline in the horizontal direction)
+ void flop(void);
+
+ // Obtain font metrics for text string given current font,
+ // pointsize, and density settings.
+ void fontTypeMetrics(const std::string &text_,TypeMetric *metrics);
+
+ // Obtain multi line font metrics for text string given current font,
+ // pointsize, and density settings.
+ void fontTypeMetricsMultiline(const std::string &text_,
+ TypeMetric *metrics);
+
+ // Frame image
+ void frame(const Geometry &geometry_=frameGeometryDefault);
+ void frame(const size_t width_,const size_t height_,
+ const ::ssize_t innerBevel_=6,const ::ssize_t outerBevel_=6);
+
+ // Applies a mathematical expression to the image.
+ void fx(const std::string expression_);
+ void fx(const std::string expression_,const Magick::ChannelType channel_);
+
+ // Gamma correct image
+ void gamma(const double gamma_);
+ void gamma(const double gammaRed_,const double gammaGreen_,
+ const double gammaBlue_);
+
+ // Gaussian blur image
+ // The number of neighbor pixels to be included in the convolution
+ // mask is specified by 'radius_'. The standard deviation of the
+ // gaussian bell curve is specified by 'sigma_'.
+ void gaussianBlur(const double radius_,const double sigma_);
+ void gaussianBlurChannel(const ChannelType channel_,const double radius_,
+ const double sigma_);
+
+ // Transfers read-only pixels from the image to the pixel cache as
+ // defined by the specified region
+ const Quantum *getConstPixels(const ::ssize_t x_, const ::ssize_t y_,
+ const size_t columns_,const size_t rows_) const;
+
+ // Obtain immutable image pixel metacontent (valid for PseudoClass images)
+ const void *getConstMetacontent(void) const;
+
+ // Obtain mutable image pixel metacontent (valid for PseudoClass images)
+ void *getMetacontent(void);
+
+ // Transfers pixels from the image to the pixel cache as defined
+ // by the specified region. Modified pixels may be subsequently
+ // transferred back to the image via syncPixels. This method is
+ // valid for DirectClass images.
+ Quantum *getPixels(const ::ssize_t x_,const ::ssize_t y_,
+ const size_t columns_,const size_t rows_);
+
+ // Converts the colors in the image to gray.
+ void grayscale(const PixelIntensityMethod method_);
+
+ // Apply a color lookup table (Hald CLUT) to the image.
+ void haldClut(const Image &clutImage_);
+
+ // Identifies lines in the image.
+ void houghLine(const size_t width_,const size_t height_,
+ const size_t threshold_=40);
+
+ // Identifies the potential color type of the image. This method can be
+ // used to detect if the type can be changed to GrayScale.
+ ImageType identifyType(void) const;
+
+ // Implode image (special effect)
+ void implode(const double factor_);
+
+ // Implements the inverse discrete Fourier transform (DFT) of the image
+ // either as a magnitude / phase or real / imaginary image pair.
+ void inverseFourierTransform(const Image &phase_);
+ void inverseFourierTransform(const Image &phase_,const bool magnitude_);
+
+ // An edge preserving noise reduction filter.
+ void kuwahara(const double radius_=0.0,const double sigma_=1.0);
+ void kuwaharaChannel(const ChannelType channel_,const double radius_=0.0,
+ const double sigma_=1.0);
+
+ // Level image. Adjust the levels of the image by scaling the
+ // colors falling between specified white and black points to the
+ // full available quantum range. The parameters provided represent
+ // the black, mid (gamma), and white points. The black point
+ // specifies the darkest color in the image. Colors darker than
+ // the black point are set to zero. Mid point (gamma) specifies a
+ // gamma correction to apply to the image. White point specifies
+ // the lightest color in the image. Colors brighter than the
+ // white point are set to the maximum quantum value. The black and
+ // white point have the valid range 0 to QuantumRange while mid (gamma)
+ // has a useful range of 0 to ten.
+ void level(const double blackPoint_,const double whitePoint_,
+ const double gamma_=1.0);
+ void levelChannel(const ChannelType channel_,const double blackPoint_,
+ const double whitePoint_,const double gamma_=1.0);
+
+ // Maps the given color to "black" and "white" values, linearly spreading
+ // out the colors, and level values on a channel by channel bases, as
+ // per level(). The given colors allows you to specify different level
+ // ranges for each of the color channels separately.
+ void levelColors(const Color &blackColor_,const Color &whiteColor_,
+ const bool invert_=true);
+ void levelColorsChannel(const ChannelType channel_,
+ const Color &blackColor_,const Color &whiteColor_,
+ const bool invert_=true);
+
+ // Levelize applies the reversed level operation to just the specific
+ // channels specified.It compresses the full range of color values, so
+ // that they lie between the given black and white points. Gamma is
+ // applied before the values are mapped.
+ void levelize(const double blackPoint_,const double whitePoint_,
+ const double gamma_=1.0);
+ void levelizeChannel(const ChannelType channel_,const double blackPoint_,
+ const double whitePoint_,const double gamma_=1.0);
+
+ // Discards any pixels below the black point and above the white point and
+ // levels the remaining pixels.
+ void linearStretch(const double blackPoint_,const double whitePoint_);
+
+ // Rescales image with seam carving.
+ void liquidRescale(const Geometry &geometry_);
+
+ // Local contrast enhancement
+ void localContrast(const double radius_,const double strength_);
+
+ // Magnify image by integral size
+ void magnify(void);
+
+ // Remap image colors with closest color from reference image
+ void map(const Image &mapImage_,const bool dither_=false);
+
+ // Filter image by replacing each pixel component with the median
+ // color in a circular neighborhood
+ void medianFilter(const double radius_=0.0);
+
+ // Reduce image by integral size
+ void minify(void);
+
+ // Modulate percent hue, saturation, and brightness of an image
+ void modulate(const double brightness_,const double saturation_,
+ const double hue_);
+
+ // Returns the normalized moments of one or more image channels.
+ ImageMoments moments(void) const;
+
+ // Applies a kernel to the image according to the given mophology method.
+ void morphology(const MorphologyMethod method_,const std::string kernel_,
+ const ssize_t iterations_=1);
+ void morphology(const MorphologyMethod method_,
+ const KernelInfoType kernel_,const std::string arguments_,
+ const ssize_t iterations_=1);
+ void morphologyChannel(const ChannelType channel_,
+ const MorphologyMethod method_,const std::string kernel_,
+ const ssize_t iterations_=1);
+ void morphologyChannel(const ChannelType channel_,
+ const MorphologyMethod method_,const KernelInfoType kernel_,
+ const std::string arguments_,const ssize_t iterations_=1);
+
+ // Motion blur image with specified blur factor
+ // The radius_ parameter specifies the radius of the Gaussian, in
+ // pixels, not counting the center pixel. The sigma_ parameter
+ // specifies the standard deviation of the Laplacian, in pixels.
+ // The angle_ parameter specifies the angle the object appears
+ // to be comming from (zero degrees is from the right).
+ void motionBlur(const double radius_,const double sigma_,
+ const double angle_);
+
+ // Negate colors in image. Set grayscale to only negate grayscale
+ // values in image.
+ void negate(const bool grayscale_=false);
+ void negateChannel(const ChannelType channel_,const bool grayscale_=false);
+
+ // Normalize image (increase contrast by normalizing the pixel
+ // values to span the full range of color values)
+ void normalize(void);
+
+ // Oilpaint image (image looks like oil painting)
+ void oilPaint(const double radius_=0.0,const double sigma=1.0);
+
+ // Change color of opaque pixel to specified pen color.
+ void opaque(const Color &opaqueColor_,const Color &penColor_,
+ const bool invert_=false);
+
+ // Perform a ordered dither based on a number of pre-defined dithering
+ // threshold maps, but over multiple intensity levels.
+ void orderedDither(std::string thresholdMap_);
+ void orderedDitherChannel(const ChannelType channel_,
+ std::string thresholdMap_);
+
+ // Set each pixel whose value is less than epsilon to epsilon or
+ // -epsilon (whichever is closer) otherwise the pixel value remains
+ // unchanged.
+ void perceptible(const double epsilon_);
+ void perceptibleChannel(const ChannelType channel_,const double epsilon_);
+
+ // Returns the perceptual hash for this image.
+ Magick::ImagePerceptualHash perceptualHash() const;
+
+ // Ping is similar to read except only enough of the image is read
+ // to determine the image columns, rows, and filesize. Access the
+ // columns(), rows(), and fileSize() attributes after invoking
+ // ping. The image data is not valid after calling ping.
+ void ping(const std::string &imageSpec_);
+
+ // Ping is similar to read except only enough of the image is read
+ // to determine the image columns, rows, and filesize. Access the
+ // columns(), rows(), and fileSize() attributes after invoking
+ // ping. The image data is not valid after calling ping.
+ void ping(const Blob &blob_);
+
+ // Get/set pixel color at location x & y.
+ void pixelColor(const ::ssize_t x_,const ::ssize_t y_,const Color &color_);
+ Color pixelColor(const ::ssize_t x_,const ::ssize_t y_ ) const;
+
+ // Simulates a Polaroid picture.
+ void polaroid(const std::string &caption_,const double angle_,
+ const PixelInterpolateMethod method_);
+
+ // Reduces the image to a limited number of colors for a "poster" effect.
+ void posterize(const size_t levels_,const DitherMethod method_);
+ void posterizeChannel(const ChannelType channel_,const size_t levels_,
+ const DitherMethod method_);
+
+ // Execute a named process module using an argc/argv syntax similar to
+ // that accepted by a C 'main' routine. An exception is thrown if the
+ // requested process module doesn't exist, fails to load, or fails during
+ // execution.
+ void process(std::string name_,const ::ssize_t argc_,const char **argv_);
+
+ // Add or remove a named profile to/from the image. Remove the
+ // profile by passing an empty Blob (e.g. Blob()). Valid names are
+ // "*", "8BIM", "ICM", "IPTC", or a user/format-defined profile name.
+ void profile(const std::string name_,const Blob &colorProfile_);
+
+ // Retrieve a named profile from the image. Valid names are:
+ // "8BIM", "8BIMTEXT", "APP1", "APP1JPEG", "ICC", "ICM", & "IPTC"
+ // or an existing user/format-defined profile name.
+ Blob profile(const std::string name_) const;
+
+ // Quantize image (reduce number of colors)
+ void quantize(const bool measureError_=false);
+
+ // Raise image (lighten or darken the edges of an image to give a
+ // 3-D raised or lowered effect)
+ void raise(const Geometry &geometry_=raiseGeometryDefault,
+ const bool raisedFlag_=false);
+
+ // Random threshold image.
+ //
+ // Changes the value of individual pixels based on the intensity
+ // of each pixel compared to a random threshold. The result is a
+ // low-contrast, two color image.
+ void randomThreshold(const double low_,const double high_);
+ void randomThresholdChannel(const ChannelType channel_,const double low_,
+ const double high_);
+
+ // Read single image frame from in-memory BLOB
+ void read(const Blob &blob_);
+
+ // Read single image frame of specified size from in-memory BLOB
+ void read(const Blob &blob_,const Geometry &size_);
+
+ // Read single image frame of specified size and depth from
+ // in-memory BLOB
+ void read(const Blob &blob_,const Geometry &size_,const size_t depth_);
+
+ // Read single image frame of specified size, depth, and format
+ // from in-memory BLOB
+ void read(const Blob &blob_,const Geometry &size_,const size_t depth_,
+ const std::string &magick_);
+
+ // Read single image frame of specified size, and format from
+ // in-memory BLOB
+ void read(const Blob &blob_,const Geometry &size_,
+ const std::string &magick_);
+
+ // Read single image frame of specified size into current object
+ void read(const Geometry &size_,const std::string &imageSpec_);
+
+ // Read single image frame from an array of raw pixels, with
+ // specified storage type (ConstituteImage), e.g.
+ // image.read( 640, 480, "RGB", 0, pixels );
+ void read(const size_t width_,const size_t height_,const std::string &map_,
+ const StorageType type_,const void *pixels_);
+
+ // Read single image frame into current object
+ void read(const std::string &imageSpec_);
+
+ // Associate a mask with the image. The mask must be the same dimensions
+ // as the image. Pass an invalid image to unset an existing mask.
+ void readMask(const Image &mask_);
+ Image readMask(void) const;
+
+ // Transfers one or more pixel components from a buffer or file
+ // into the image pixel cache of an image.
+ // Used to support image decoders.
+ void readPixels(const QuantumType quantum_,const unsigned char *source_);
+
+ // Reduce noise in image using a noise peak elimination filter
+ void reduceNoise(void);
+ void reduceNoise(const size_t order_);
+
+ // Resets the image page canvas and position.
+ void repage();
+
+ // Resize image in terms of its pixel size.
+ void resample(const Point &density_);
+
+ // Resize image to specified size.
+ void resize(const Geometry &geometry_);
+
+ // Roll image (rolls image vertically and horizontally) by specified
+ // number of columnms and rows)
+ void roll(const Geometry &roll_);
+ void roll(const size_t columns_,const size_t rows_);
+
+ // Rotate image clockwise by specified number of degrees. Specify a
+ // negative number for degrees to rotate counter-clockwise.
+ void rotate(const double degrees_);
+
+ // Rotational blur image.
+ void rotationalBlur(const double angle_);
+ void rotationalBlurChannel(const ChannelType channel_,const double angle_);
+
+ // Resize image by using pixel sampling algorithm
+ void sample(const Geometry &geometry_);
+
+ // Resize image by using simple ratio algorithm
+ void scale(const Geometry &geometry_);
+
+ // Segment (coalesce similar image components) by analyzing the
+ // histograms of the color components and identifying units that
+ // are homogeneous with the fuzzy c-means technique. Also uses
+ // QuantizeColorSpace and Verbose image attributes
+ void segment(const double clusterThreshold_=1.0,
+ const double smoothingThreshold_=1.5);
+
+ // Selectively blur pixels within a contrast threshold. It is similar to
+ // the unsharpen mask that sharpens everything with contrast above a
+ // certain threshold.
+ void selectiveBlur(const double radius_,const double sigma_,
+ const double threshold_);
+ void selectiveBlurChannel(const ChannelType channel_,const double radius_,
+ const double sigma_,const double threshold_);
+
+ // Separates a channel from the image and returns it as a grayscale image.
+ Image separate(const ChannelType channel_) const;
+
+ // Applies a special effect to the image, similar to the effect achieved in
+ // a photo darkroom by sepia toning. Threshold ranges from 0 to
+ // QuantumRange and is a measure of the extent of the sepia toning.
+ // A threshold of 80% is a good starting point for a reasonable tone.
+ void sepiaTone(const double threshold_);
+
+ // Sets meanErrorPerPixel, normalizedMaxError, and normalizedMeanError
+ // in the current image. False is returned if the images are not identical.
+ bool setColorMetric(const Image &reference_);
+
+ // Allocates a pixel cache region to store image pixels as defined
+ // by the region rectangle. This area is subsequently transferred
+ // from the pixel cache to the image via syncPixels.
+ Quantum *setPixels(const ::ssize_t x_, const ::ssize_t y_,
+ const size_t columns_,const size_t rows_);
+
+ // Shade image using distant light source
+ void shade(const double azimuth_=30,const double elevation_=30,
+ const bool colorShading_=false);
+
+ // Simulate an image shadow
+ void shadow(const double percentAlpha_=80.0,const double sigma_=0.5,
+ const ssize_t x_=5,const ssize_t y_=5);
+
+ // Sharpen pixels in image
+ // The radius_ parameter specifies the radius of the Gaussian, in
+ // pixels, not counting the center pixel. The sigma_ parameter
+ // specifies the standard deviation of the Laplacian, in pixels.
+ void sharpen(const double radius_=0.0,const double sigma_=1.0);
+ void sharpenChannel(const ChannelType channel_,const double radius_=0.0,
+ const double sigma_=1.0);
+
+ // Shave pixels from image edges.
+ void shave(const Geometry &geometry_);
+
+ // Shear image (create parallelogram by sliding image by X or Y axis)
+ void shear(const double xShearAngle_,const double yShearAngle_);
+
+ // adjust the image contrast with a non-linear sigmoidal contrast algorithm
+ void sigmoidalContrast(const bool sharpen_,const double contrast,
+ const double midpoint=QuantumRange/2.0);
+
+ // Image signature. Set force_ to true in order to re-calculate
+ // the signature regardless of whether the image data has been
+ // modified.
+ std::string signature(const bool force_=false) const;
+
+ // Simulates a pencil sketch. We convolve the image with a Gaussian
+ // operator of the given radius and standard deviation (sigma). For
+ // reasonable results, radius should be larger than sigma. Use a
+ // radius of 0 and SketchImage() selects a suitable radius for you.
+ void sketch(const double radius_=0.0,const double sigma_=1.0,
+ const double angle_=0.0);
+
+ // Solarize image (similar to effect seen when exposing a
+ // photographic film to light during the development process)
+ void solarize(const double factor_=50.0);
+
+ // Sparse color image, given a set of coordinates, interpolates the colors
+ // found at those coordinates, across the whole image, using various
+ // methods.
+ void sparseColor(const ChannelType channel_,
+ const SparseColorMethod method_,const size_t numberArguments_,
+ const double *arguments_);
+
+ // Splice the background color into the image.
+ void splice(const Geometry &geometry_);
+ void splice(const Geometry &geometry_,const Color &backgroundColor_);
+ void splice(const Geometry &geometry_,const Color &backgroundColor_,
+ const GravityType gravity_);
+
+ // Spread pixels randomly within image by specified ammount
+ void spread(const double amount_=3.0);
+
+ // Returns the statistics for this image.
+ Magick::ImageStatistics statistics() const;
+
+ // Add a digital watermark to the image (based on second image)
+ void stegano(const Image &watermark_);
+
+ // Create an image which appears in stereo when viewed with
+ // red-blue glasses (Red image on left, blue on right)
+ void stereo(const Image &rightImage_);
+
+ // Strip strips an image of all profiles and comments.
+ void strip(void);
+
+ // Search for the specified image at EVERY possible location in this image.
+ // This is slow! very very slow.. It returns a similarity image such that
+ // an exact match location is completely white and if none of the pixels
+ // match, black, otherwise some gray level in-between.
+ Image subImageSearch(const Image &reference_,const MetricType metric_,
+ Geometry *offset_,double *similarityMetric_,
+ const double similarityThreshold=(-1.0));
+
+ // Swirl image (image pixels are rotated by degrees)
+ void swirl(const double degrees_);
+
+ // Transfers the image cache pixels to the image.
+ void syncPixels(void);
+
+ // Channel a texture on image background
+ void texture(const Image &texture_);
+
+ // Threshold image
+ void threshold(const double threshold_);
+
+ // Resize image to thumbnail size
+ void thumbnail(const Geometry &geometry_);
+
+ // Applies a color vector to each pixel in the image. The length of the
+ // vector is 0 for black and white and at its maximum for the midtones.
+ // The vector weighting function is f(x)=(1-(4.0*((x-0.5)*(x-0.5))))
+ void tint(const std::string opacity_);
+
+ // Origin of coordinate system to use when annotating with text or drawing
+ void transformOrigin(const double x_,const double y_);
+
+ // Reset transformation parameters to default
+ void transformReset(void);
+
+ // Scale to use when annotating with text or drawing
+ void transformScale(const double sx_,const double sy_);
+
+ // Add matte image to image, setting pixels matching color to
+ // transparent
+ void transparent(const Color &color_,const bool inverse_=false);
+
+ // Add matte image to image, for all the pixels that lies in between
+ // the given two color
+ void transparentChroma(const Color &colorLow_,const Color &colorHigh_);
+
+ // Creates a horizontal mirror image by reflecting the pixels around the
+ // central y-axis while rotating them by 90 degrees.
+ void transpose(void);
+
+ // Creates a vertical mirror image by reflecting the pixels around the
+ // central x-axis while rotating them by 270 degrees.
+ void transverse(void);
+
+ // Trim edges that are the background color from the image
+ void trim(void);
+
+ // Returns the unique colors of an image.
+ Image uniqueColors(void) const;
+
+ // Replace image with a sharpened version of the original image
+ // using the unsharp mask algorithm.
+ // radius_
+ // the radius of the Gaussian, in pixels, not counting the
+ // center pixel.
+ // sigma_
+ // the standard deviation of the Gaussian, in pixels.
+ // amount_
+ // the percentage of the difference between the original and
+ // the blur image that is added back into the original.
+ // threshold_
+ // the threshold in pixels needed to apply the diffence amount.
+ void unsharpmask(const double radius_,const double sigma_,
+ const double amount_,const double threshold_);
+ void unsharpmaskChannel(const ChannelType channel_,const double radius_,
+ const double sigma_,const double amount_,const double threshold_);
+
+ // Softens the edges of the image in vignette style.
+ void vignette(const double radius_=0.0,const double sigma_=1.0,
+ const ssize_t x_=0,const ssize_t y_=0);
+
+ // Map image pixels to a sine wave
+ void wave(const double amplitude_=25.0,const double wavelength_=150.0);
+
+ // Removes noise from the image using a wavelet transform.
+ void waveletDenoise(const double threshold_,const double softness_);
+
+ // Forces all pixels above the threshold into white while leaving all
+ // pixels at or below the threshold unchanged.
+ void whiteThreshold(const std::string &threshold_);
+ void whiteThresholdChannel(const ChannelType channel_,
+ const std::string &threshold_);
+
+ // Write single image frame to in-memory BLOB, with optional
+ // format and adjoin parameters.
+ void write(Blob *blob_);
+ void write(Blob *blob_,const std::string &magick_);
+ void write(Blob *blob_,const std::string &magick_,const size_t depth_);
+
+ // Write single image frame to an array of pixels with storage
+ // type specified by user (DispatchImage), e.g.
+ // image.write( 0, 0, 640, 1, "RGB", 0, pixels );
+ void write(const ::ssize_t x_,const ::ssize_t y_,const size_t columns_,
+ const size_t rows_,const std::string &map_,const StorageType type_,
+ void *pixels_);
+
+ // Write single image frame to a file
+ void write(const std::string &imageSpec_);
+
+ // Associate a mask with the image. The mask must be the same dimensions
+ // as the image. Pass an invalid image to unset an existing mask.
+ void writeMask(const Image &mask_);
+ Image writeMask(void) const;
+
+ // Transfers one or more pixel components from the image pixel
+ // cache to a buffer or file.
+ // Used to support image encoders.
+ void writePixels(const QuantumType quantum_,unsigned char *destination_);
+
+ // Zoom image to specified size.
+ void zoom(const Geometry &geometry_);
+
+ //////////////////////////////////////////////////////////////////////
+ //
+ // No user-serviceable parts beyond this point
+ //
+ //////////////////////////////////////////////////////////////////////
+
+ // Construct with MagickCore::Image and default options
+ Image(MagickCore::Image *image_);
+
+ // Retrieve Image*
+ MagickCore::Image *&image(void);
+ const MagickCore::Image *constImage(void) const;
+
+ // Retrieve ImageInfo*
+ MagickCore::ImageInfo *imageInfo(void);
+ const MagickCore::ImageInfo *constImageInfo(void) const;
+
+ // Retrieve Options*
+ Options *options(void);
+ const Options *constOptions(void) const;
+
+ // Retrieve QuantizeInfo*
+ MagickCore::QuantizeInfo *quantizeInfo(void);
+ const MagickCore::QuantizeInfo *constQuantizeInfo(void) const;
+
+ // Prepare to update image (copy if reference > 1)
+ void modifyImage(void);
+
+ // Replace current image (reference counted)
+ MagickCore::Image *replaceImage(MagickCore::Image *replacement_);
+
+ private:
+
+ void floodFill(const ssize_t x_,const ssize_t y_,
+ const Magick::Image *fillPattern_,const Color &fill_,
+ const PixelInfo *target,const bool invert_);
+
+ void mask(const Image &mask_,const PixelMask);
+ Image mask(const PixelMask) const;
+
+ void read(MagickCore::Image *image,
+ MagickCore::ExceptionInfo *exceptionInfo);
+
+ ImageRef *_imgRef;
+ };
+
+} // end of namespace Magick
+
+#endif // Magick_Image_header
diff --git a/bin/7.0.5-5/include/ImageMagick-7/Magick++/Include.h b/bin/7.0.5-5/include/ImageMagick-7/Magick++/Include.h
new file mode 100755
index 0000000..d55bd8e
--- /dev/null
+++ b/bin/7.0.5-5/include/ImageMagick-7/Magick++/Include.h
@@ -0,0 +1,1523 @@
+// This may look like C code, but it is really -*- C++ -*-
+//
+// Copyright Bob Friesenhahn, 1999, 2000, 2001, 2002
+// Copyright Dirk Lemstra 2013-2015
+//
+// Inclusion of ImageMagick headers (with namespace magic)
+
+#ifndef Magick_Include_header
+#define Magick_Include_header
+
+#if !defined(_MAGICK_CONFIG_H)
+# define _MAGICK_CONFIG_H
+# if !defined(vms) && !defined(macintosh)
+# include "MagickCore/magick-config.h"
+# else
+# include "magick-config.h"
+# endif
+# undef inline // Remove possible definition from config.h
+# undef class
+#endif
+
+// Needed for stdio FILE
+#include
+#include
+#include
+#include
+#include
+#include
+
+#if defined(__BORLANDC__)
+# include /* Borland C++ Builder 4.0 requirement */
+#endif // defined(__BORLANDC__)
+
+//
+// Include ImageMagick headers into namespace "MagickCore". If
+// MAGICKCORE_IMPLEMENTATION is defined, include ImageMagick development
+// headers. This scheme minimizes the possibility of conflict with
+// user code.
+//
+namespace MagickCore
+{
+#include
+#include
+#undef inline // Remove possible definition from config.h
+
+#undef class
+}
+
+//
+// Provide appropriate DLL imports/exports for Visual C++,
+// Borland C++Builder and MinGW builds.
+//
+#if defined(WIN32) && !defined(__CYGWIN__) && !defined(__MINGW32__)
+# define MagickCplusPlusDLLSupported
+#endif
+#if defined(MagickCplusPlusDLLSupported)
+# if defined(_MT) && defined(_DLL) && !defined(_LIB) && !defined(STATIC_MAGICK)
+//
+// In a native Windows build, the following defines are used:
+//
+// _MT = Multithreaded
+// _DLL = Using code is part of a DLL
+// _LIB = Using code is being built as a library.
+// _MAGICKMOD_ = Build uses loadable modules (Magick++ does not care about this)
+//
+// In the case where ImageMagick is built as a static library but the
+// using code is dynamic, STATIC_MAGICK may be defined in the project to
+// override triggering dynamic library behavior.
+//
+# if defined(_VISUALC_)
+# define MagickDLLExplicitTemplate
+# pragma warning( disable: 4275 )
+# pragma warning( disable: 4273 ) /* Disable the stupid dll linkage warnings */
+# pragma warning( disable: 4251 )
+# endif
+# if !defined(MAGICKCORE_IMPLEMENTATION)
+# if defined(__GNUC__)
+# define MagickPPExport __attribute__ ((dllimport))
+# else
+# define MagickPPExport __declspec(dllimport)
+# endif
+# define MagickPPPrivate extern __declspec(dllimport)
+# if defined(_VISUALC_)
+# pragma message( "Magick++ lib DLL import" )
+# endif
+# else
+# if defined(__BORLANDC__) || defined(__MINGW32__)
+# define MagickPPExport __declspec(dllexport)
+# define MagickPPPrivate __declspec(dllexport)
+# if defined(__BORLANDC__)
+# pragma message( "BCBMagick++ lib DLL export" )
+# endif
+# else
+# if defined(__GNUC__)
+# define MagickPPExport __attribute__ ((dllexport))
+# else
+# define MagickPPExport __declspec(dllexport)
+# endif
+# define MagickPPPrivate extern __declspec(dllexport)
+# endif
+# if defined(_VISUALC_)
+# pragma message( "Magick++ lib DLL export" )
+# endif
+# endif
+# else
+# define MagickPPExport
+# define MagickPPPrivate
+# if defined(_VISUALC_)
+# pragma message( "Magick++ lib static interface" )
+# endif
+# if defined(_MSC_VER) && defined(STATIC_MAGICK) && !defined(NOAUTOLINK_MAGICK)
+# if defined(_DEBUG)
+# if defined(MAGICKCORE_BZLIB_DELEGATE)
+# pragma comment(lib, "CORE_DB_bzlib_.lib")
+# endif
+# pragma comment(lib, "CORE_DB_coders_.lib")
+# if defined(MAGICKCORE_OPENEXR_DELEGATE)
+# pragma comment(lib, "CORE_DB_exr_.lib")
+# endif
+# if defined(MAGICKCORE_LQR_DELEGATE)
+# pragma comment(lib, "CORE_DB_ffi_.lib")
+# endif
+# pragma comment(lib, "CORE_DB_filters_.lib")
+# if defined(MAGICKCORE_FLIF_DELEGATE)
+# pragma comment(lib, "CORE_DB_flif_.lib")
+# endif
+# if defined(MAGICKCORE_LQR_DELEGATE)
+# pragma comment(lib, "CORE_DB_glib_.lib")
+# pragma comment(lib, "winmm.lib")
+# endif
+# if defined(MAGICKCORE_JBIG_DELEGATE)
+# pragma comment(lib, "CORE_DB_jbig_.lib")
+# endif
+# if defined(MAGICKCORE_JP2_DELEGATE)
+# pragma comment(lib, "CORE_DB_jp2_.lib")
+# endif
+# if defined(MAGICKCORE_JPEG_DELEGATE)
+# pragma comment(lib, "CORE_DB_jpeg_.lib")
+# endif
+# if defined(MAGICKCORE_LCMS_DELEGATE)
+# pragma comment(lib, "CORE_DB_lcms_.lib")
+# endif
+# if defined(MAGICKCORE_LIBOPENJP2_DELEGATE)
+# pragma comment(lib, "CORE_DB_openjpeg_.lib")
+# endif
+# pragma comment(lib, "CORE_DB_libxml_.lib")
+# if defined(MAGICKCORE_LQR_DELEGATE)
+# pragma comment(lib, "CORE_DB_lqr_.lib")
+# endif
+# pragma comment(lib, "CORE_DB_Magick++_.lib")
+# pragma comment(lib, "CORE_DB_MagickCore_.lib")
+# pragma comment(lib, "CORE_DB_MagickWand_.lib")
+# if defined(MAGICKCORE_PANGOCAIRO_DELEGATE)
+# pragma comment(lib, "CORE_DB_cairo_.lib")
+# pragma comment(lib, "CORE_DB_pango_.lib")
+# pragma comment(lib, "CORE_DB_pixman_.lib")
+# endif
+# if defined(MAGICKCORE_PNG_DELEGATE)
+# pragma comment(lib, "CORE_DB_png_.lib")
+# endif
+# if defined(MAGICKCORE_RSVG_DELEGATE)
+# pragma comment(lib, "CORE_DB_croco_.lib")
+# pragma comment(lib, "CORE_DB_librsvg_.lib")
+# endif
+# if defined(MAGICKCORE_TIFF_DELEGATE)
+# pragma comment(lib, "CORE_DB_tiff_.lib")
+# endif
+# if defined(MAGICKCORE_FREETYPE_DELEGATE)
+# pragma comment(lib, "CORE_DB_ttf_.lib")
+# endif
+# if defined(MAGICKCORE_WEBP_DELEGATE)
+# pragma comment(lib, "CORE_DB_webp_.lib")
+# endif
+# if defined(MAGICKCORE_X11_DELEGATE)
+# pragma comment(lib, "CORE_DB_xlib_.lib")
+# endif
+# if defined(MAGICKCORE_ZLIB_DELEGATE)
+# pragma comment(lib, "CORE_DB_zlib_.lib")
+# endif
+# else
+# if defined(MAGICKCORE_BZLIB_DELEGATE)
+# pragma comment(lib, "CORE_RL_bzlib_.lib")
+# endif
+# pragma comment(lib, "CORE_RL_coders_.lib")
+# if defined(MAGICKCORE_OPENEXR_DELEGATE)
+# pragma comment(lib, "CORE_RL_exr_.lib")
+# endif
+# if defined(MAGICKCORE_LQR_DELEGATE)
+# pragma comment(lib, "CORE_RL_ffi_.lib")
+# endif
+# pragma comment(lib, "CORE_RL_filters_.lib")
+# if defined(MAGICKCORE_FLIF_DELEGATE)
+# pragma comment(lib, "CORE_RL_flif_.lib")
+# endif
+# if defined(MAGICKCORE_LQR_DELEGATE)
+# pragma comment(lib, "CORE_RL_glib_.lib")
+# pragma comment(lib, "winmm.lib")
+# endif
+# if defined(MAGICKCORE_JBIG_DELEGATE)
+# pragma comment(lib, "CORE_RL_jbig_.lib")
+# endif
+# if defined(MAGICKCORE_JP2_DELEGATE)
+# pragma comment(lib, "CORE_RL_jp2_.lib")
+# endif
+# if defined(MAGICKCORE_JPEG_DELEGATE)
+# pragma comment(lib, "CORE_RL_jpeg_.lib")
+# endif
+# if defined(MAGICKCORE_LCMS_DELEGATE)
+# pragma comment(lib, "CORE_RL_lcms_.lib")
+# endif
+# if defined(MAGICKCORE_LIBOPENJP2_DELEGATE)
+# pragma comment(lib, "CORE_RL_openjpeg_.lib")
+# endif
+# pragma comment(lib, "CORE_RL_libxml_.lib")
+# if defined(MAGICKCORE_LQR_DELEGATE)
+# pragma comment(lib, "CORE_RL_lqr_.lib")
+# endif
+# pragma comment(lib, "CORE_RL_Magick++_.lib")
+# pragma comment(lib, "CORE_RL_MagickCore_.lib")
+# pragma comment(lib, "CORE_RL_MagickWand_.lib")
+# if defined(MAGICKCORE_PANGOCAIRO_DELEGATE)
+# pragma comment(lib, "CORE_RL_cairo_.lib")
+# pragma comment(lib, "CORE_RL_pango_.lib")
+# pragma comment(lib, "CORE_RL_pixman_.lib")
+# endif
+# if defined(MAGICKCORE_PNG_DELEGATE)
+# pragma comment(lib, "CORE_RL_png_.lib")
+# endif
+# if defined(MAGICKCORE_RSVG_DELEGATE)
+# pragma comment(lib, "CORE_RL_croco_.lib")
+# pragma comment(lib, "CORE_RL_librsvg_.lib")
+# endif
+# if defined(MAGICKCORE_TIFF_DELEGATE)
+# pragma comment(lib, "CORE_RL_tiff_.lib")
+# endif
+# if defined(MAGICKCORE_FREETYPE_DELEGATE)
+# pragma comment(lib, "CORE_RL_ttf_.lib")
+# endif
+# if defined(MAGICKCORE_WEBP_DELEGATE)
+# pragma comment(lib, "CORE_RL_webp_.lib")
+# endif
+# if defined(MAGICKCORE_X11_DELEGATE)
+# pragma comment(lib, "CORE_RL_xlib_.lib")
+# endif
+# if defined(MAGICKCORE_ZLIB_DELEGATE)
+# pragma comment(lib, "CORE_RL_zlib_.lib")
+# endif
+# endif
+# if defined(_WIN32_WCE)
+# pragma comment(lib, "wsock32.lib")
+# else
+# pragma comment(lib, "ws2_32.lib")
+# endif
+# pragma comment(lib, "urlmon.lib")
+# endif
+# endif
+#else
+# if __GNUC__ >= 4
+# define MagickPPExport __attribute__ ((visibility ("default")))
+# define MagickPPPrivate __attribute__ ((visibility ("hidden")))
+# else
+# define MagickPPExport
+# define MagickPPPrivate
+# endif
+#endif
+
+#if (defined(WIN32) || defined(WIN64)) && defined(_VISUALC_)
+# pragma warning(disable : 4996) /* function deprecation warnings */
+#endif
+
+//
+// Import ImageMagick symbols and types which are used as part of the
+// Magick++ API definition into namespace "Magick".
+//
+namespace Magick
+{
+ // The datatype for an RGB component
+ using MagickCore::Quantum;
+ using MagickCore::MagickRealType;
+ using MagickCore::MagickSizeType;
+ using MagickCore::MagickStatusType;
+
+ // Structures
+ using MagickCore::AffineMatrix;
+ using MagickCore::CacheView;
+ using MagickCore::CCObjectInfo;
+ using MagickCore::DrawInfo;
+ using MagickCore::DrawingWand;
+ using MagickCore::ExceptionInfo;
+ using MagickCore::FrameInfo;
+ using MagickCore::ImageInfo;
+ using MagickCore::KernelInfo;
+ using MagickCore::LinkedListInfo;
+ using MagickCore::MagickInfo;
+ using MagickCore::MagickWand;
+ using MagickCore::MontageInfo;
+ using MagickCore::OffsetInfo;
+ using MagickCore::PixelInfo;
+ using MagickCore::PixelWand;
+ using MagickCore::PointInfo;
+ using MagickCore::ProfileInfo;
+ using MagickCore::QuantizeInfo;
+ using MagickCore::QuantumInfo;
+ using MagickCore::RectangleInfo;
+ using MagickCore::StringInfo;
+
+ // Alignment types.
+ using MagickCore::AlignType;
+ using MagickCore::UndefinedAlign;
+ using MagickCore::LeftAlign;
+ using MagickCore::CenterAlign;
+ using MagickCore::RightAlign;
+
+ // Alpha channel options
+ using MagickCore::AlphaChannelOption;
+ using MagickCore::UndefinedAlphaChannel;
+ using MagickCore::ActivateAlphaChannel;
+ using MagickCore::AssociateAlphaChannel;
+ using MagickCore::BackgroundAlphaChannel;
+ using MagickCore::CopyAlphaChannel;
+ using MagickCore::DeactivateAlphaChannel;
+ using MagickCore::DiscreteAlphaChannel;
+ using MagickCore::DisassociateAlphaChannel;
+ using MagickCore::ExtractAlphaChannel;
+ using MagickCore::OffAlphaChannel;
+ using MagickCore::OnAlphaChannel;
+ using MagickCore::OpaqueAlphaChannel;
+ using MagickCore::RemoveAlphaChannel;
+ using MagickCore::SetAlphaChannel;
+ using MagickCore::ShapeAlphaChannel;
+ using MagickCore::TransparentAlphaChannel;
+
+ // Channel types
+ using MagickCore::ChannelType;
+ using MagickCore::UndefinedChannel;
+ using MagickCore::RedChannel;
+ using MagickCore::GrayChannel;
+ using MagickCore::CyanChannel;
+ using MagickCore::GreenChannel;
+ using MagickCore::MagentaChannel;
+ using MagickCore::BlueChannel;
+ using MagickCore::YellowChannel;
+ using MagickCore::BlackChannel;
+ using MagickCore::AlphaChannel;
+ using MagickCore::OpacityChannel;
+ using MagickCore::IndexChannel;
+ using MagickCore::ReadMaskChannel;
+ using MagickCore::WriteMaskChannel;
+ using MagickCore::MetaChannel;
+ using MagickCore::CompositeChannels;
+ using MagickCore::AllChannels;
+ using MagickCore::TrueAlphaChannel;
+ using MagickCore::RGBChannels;
+ using MagickCore::GrayChannels;
+ using MagickCore::SyncChannels;
+ using MagickCore::DefaultChannels;
+
+ // Image class types
+ using MagickCore::ClassType;
+ using MagickCore::UndefinedClass;
+ using MagickCore::DirectClass;
+ using MagickCore::PseudoClass;
+
+ // Clip path units
+ using MagickCore::ClipPathUnits;
+ using MagickCore::UndefinedPathUnits;
+ using MagickCore::UserSpace;
+ using MagickCore::UserSpaceOnUse;
+ using MagickCore::ObjectBoundingBox;
+
+ // Color-space types
+ using MagickCore::ColorspaceType;
+ using MagickCore::UndefinedColorspace;
+ using MagickCore::CMYColorspace;
+ using MagickCore::CMYKColorspace;
+ using MagickCore::GRAYColorspace;
+ using MagickCore::HCLColorspace;
+ using MagickCore::HCLpColorspace;
+ using MagickCore::HSBColorspace;
+ using MagickCore::HSIColorspace;
+ using MagickCore::HSLColorspace;
+ using MagickCore::HSVColorspace;
+ using MagickCore::HWBColorspace;
+ using MagickCore::LabColorspace;
+ using MagickCore::LCHColorspace;
+ using MagickCore::LCHabColorspace;
+ using MagickCore::LCHuvColorspace;
+ using MagickCore::LogColorspace;
+ using MagickCore::LMSColorspace;
+ using MagickCore::LuvColorspace;
+ using MagickCore::OHTAColorspace;
+ using MagickCore::Rec601YCbCrColorspace;
+ using MagickCore::Rec709YCbCrColorspace;
+ using MagickCore::RGBColorspace;
+ using MagickCore::scRGBColorspace;
+ using MagickCore::sRGBColorspace;
+ using MagickCore::TransparentColorspace;
+ using MagickCore::xyYColorspace;
+ using MagickCore::XYZColorspace;
+ using MagickCore::YCbCrColorspace;
+ using MagickCore::YCCColorspace;
+ using MagickCore::YDbDrColorspace;
+ using MagickCore::YIQColorspace;
+ using MagickCore::YPbPrColorspace;
+ using MagickCore::YUVColorspace;
+
+ // Command options
+ using MagickCore::CommandOption;
+ using MagickCore::MagickDirectionOptions;
+ using MagickCore::MagickGravityOptions;
+ using MagickCore::MagickKernelOptions;
+ using MagickCore::MagickStyleOptions;
+
+ // Compliance types
+ using MagickCore::ComplianceType;
+ using MagickCore::AllCompliance;
+
+ // Composition operations
+ using MagickCore::CompositeOperator;
+ using MagickCore::AlphaCompositeOp;
+ using MagickCore::AtopCompositeOp;
+ using MagickCore::BlendCompositeOp;
+ using MagickCore::BlurCompositeOp;
+ using MagickCore::BumpmapCompositeOp;
+ using MagickCore::ChangeMaskCompositeOp;
+ using MagickCore::ClearCompositeOp;
+ using MagickCore::ColorBurnCompositeOp;
+ using MagickCore::ColorDodgeCompositeOp;
+ using MagickCore::ColorizeCompositeOp;
+ using MagickCore::CopyBlackCompositeOp;
+ using MagickCore::CopyBlueCompositeOp;
+ using MagickCore::CopyCompositeOp;
+ using MagickCore::CopyCyanCompositeOp;
+ using MagickCore::CopyGreenCompositeOp;
+ using MagickCore::CopyMagentaCompositeOp;
+ using MagickCore::CopyAlphaCompositeOp;
+ using MagickCore::CopyRedCompositeOp;
+ using MagickCore::CopyYellowCompositeOp;
+ using MagickCore::DarkenCompositeOp;
+ using MagickCore::DarkenIntensityCompositeOp;
+ using MagickCore::DifferenceCompositeOp;
+ using MagickCore::DisplaceCompositeOp;
+ using MagickCore::DissolveCompositeOp;
+ using MagickCore::DistortCompositeOp;
+ using MagickCore::DivideDstCompositeOp;
+ using MagickCore::DivideSrcCompositeOp;
+ using MagickCore::DstAtopCompositeOp;
+ using MagickCore::DstCompositeOp;
+ using MagickCore::DstInCompositeOp;
+ using MagickCore::DstOutCompositeOp;
+ using MagickCore::DstOverCompositeOp;
+ using MagickCore::ExclusionCompositeOp;
+ using MagickCore::HardLightCompositeOp;
+ using MagickCore::HardMixCompositeOp;
+ using MagickCore::HueCompositeOp;
+ using MagickCore::InCompositeOp;
+ using MagickCore::IntensityCompositeOp;
+ using MagickCore::LightenCompositeOp;
+ using MagickCore::LightenIntensityCompositeOp;
+ using MagickCore::LinearBurnCompositeOp;
+ using MagickCore::LinearDodgeCompositeOp;
+ using MagickCore::LinearLightCompositeOp;
+ using MagickCore::LuminizeCompositeOp;
+ using MagickCore::MathematicsCompositeOp;
+ using MagickCore::MinusDstCompositeOp;
+ using MagickCore::MinusSrcCompositeOp;
+ using MagickCore::ModulateCompositeOp;
+ using MagickCore::ModulusAddCompositeOp;
+ using MagickCore::ModulusSubtractCompositeOp;
+ using MagickCore::MultiplyCompositeOp;
+ using MagickCore::NoCompositeOp;
+ using MagickCore::OutCompositeOp;
+ using MagickCore::OverCompositeOp;
+ using MagickCore::OverlayCompositeOp;
+ using MagickCore::PegtopLightCompositeOp;
+ using MagickCore::PinLightCompositeOp;
+ using MagickCore::PlusCompositeOp;
+ using MagickCore::ReplaceCompositeOp;
+ using MagickCore::SaturateCompositeOp;
+ using MagickCore::ScreenCompositeOp;
+ using MagickCore::SoftLightCompositeOp;
+ using MagickCore::SrcAtopCompositeOp;
+ using MagickCore::SrcCompositeOp;
+ using MagickCore::SrcInCompositeOp;
+ using MagickCore::SrcOutCompositeOp;
+ using MagickCore::SrcOverCompositeOp;
+ using MagickCore::ThresholdCompositeOp;
+ using MagickCore::UndefinedCompositeOp;
+ using MagickCore::VividLightCompositeOp;
+ using MagickCore::XorCompositeOp;
+
+ // Compression algorithms
+ using MagickCore::CompressionType;
+ using MagickCore::UndefinedCompression;
+ using MagickCore::B44ACompression;
+ using MagickCore::B44Compression;
+ using MagickCore::BZipCompression;
+ using MagickCore::DXT1Compression;
+ using MagickCore::DXT3Compression;
+ using MagickCore::DXT5Compression;
+ using MagickCore::FaxCompression;
+ using MagickCore::Group4Compression;
+ using MagickCore::JBIG1Compression;
+ using MagickCore::JBIG2Compression;
+ using MagickCore::JPEG2000Compression;
+ using MagickCore::JPEGCompression;
+ using MagickCore::LosslessJPEGCompression;
+ using MagickCore::LZMACompression;
+ using MagickCore::LZWCompression;
+ using MagickCore::NoCompression;
+ using MagickCore::PizCompression;
+ using MagickCore::Pxr24Compression;
+ using MagickCore::RLECompression;
+ using MagickCore::ZipCompression;
+ using MagickCore::ZipSCompression;
+
+ // Decoration types
+ using MagickCore::DecorationType;
+ using MagickCore::UndefinedDecoration;
+ using MagickCore::NoDecoration;
+ using MagickCore::UnderlineDecoration;
+ using MagickCore::OverlineDecoration;
+ using MagickCore::LineThroughDecoration;
+
+ // Direction types
+ using MagickCore::DirectionType;
+ using MagickCore::UndefinedDirection;
+ using MagickCore::RightToLeftDirection;
+ using MagickCore::LeftToRightDirection;
+
+ // Dispose methods
+ using MagickCore::DisposeType;
+ using MagickCore::UndefinedDispose;
+ using MagickCore::NoneDispose;
+ using MagickCore::BackgroundDispose;
+ using MagickCore::PreviousDispose;
+
+ // Distort methods
+ using MagickCore::DistortMethod;
+ using MagickCore::UndefinedDistortion;
+ using MagickCore::AffineDistortion;
+ using MagickCore::AffineProjectionDistortion;
+ using MagickCore::ScaleRotateTranslateDistortion;
+ using MagickCore::PerspectiveDistortion;
+ using MagickCore::PerspectiveProjectionDistortion;
+ using MagickCore::BilinearForwardDistortion;
+ using MagickCore::BilinearDistortion;
+ using MagickCore::BilinearReverseDistortion;
+ using MagickCore::PolynomialDistortion;
+ using MagickCore::ArcDistortion;
+ using MagickCore::PolarDistortion;
+ using MagickCore::DePolarDistortion;
+ using MagickCore::Cylinder2PlaneDistortion;
+ using MagickCore::Plane2CylinderDistortion;
+ using MagickCore::BarrelDistortion;
+ using MagickCore::BarrelInverseDistortion;
+ using MagickCore::ShepardsDistortion;
+ using MagickCore::ResizeDistortion;
+ using MagickCore::SentinelDistortion;
+
+ // Dither methods
+ using MagickCore::DitherMethod;
+ using MagickCore::UndefinedDitherMethod;
+ using MagickCore::NoDitherMethod;
+ using MagickCore::RiemersmaDitherMethod;
+ using MagickCore::FloydSteinbergDitherMethod;
+
+ // Endian options
+ using MagickCore::EndianType;
+ using MagickCore::UndefinedEndian;
+ using MagickCore::LSBEndian;
+ using MagickCore::MSBEndian;
+
+ // Boolean types
+ using MagickCore::MagickBooleanType;
+ using MagickCore::MagickFalse;
+ using MagickCore::MagickTrue;
+
+ // Evaluate options
+ using MagickCore::MagickEvaluateOperator;
+ using MagickCore::UndefinedEvaluateOperator;
+ using MagickCore::AbsEvaluateOperator;
+ using MagickCore::AddEvaluateOperator;
+ using MagickCore::AddModulusEvaluateOperator;
+ using MagickCore::AndEvaluateOperator;
+ using MagickCore::CosineEvaluateOperator;
+ using MagickCore::DivideEvaluateOperator;
+ using MagickCore::ExponentialEvaluateOperator;
+ using MagickCore::GaussianNoiseEvaluateOperator;
+ using MagickCore::ImpulseNoiseEvaluateOperator;
+ using MagickCore::LaplacianNoiseEvaluateOperator;
+ using MagickCore::LeftShiftEvaluateOperator;
+ using MagickCore::LogEvaluateOperator;
+ using MagickCore::MaxEvaluateOperator;
+ using MagickCore::MeanEvaluateOperator;
+ using MagickCore::MedianEvaluateOperator;
+ using MagickCore::MinEvaluateOperator;
+ using MagickCore::MultiplicativeNoiseEvaluateOperator;
+ using MagickCore::MultiplyEvaluateOperator;
+ using MagickCore::OrEvaluateOperator;
+ using MagickCore::PoissonNoiseEvaluateOperator;
+ using MagickCore::PowEvaluateOperator;
+ using MagickCore::RootMeanSquareEvaluateOperator;
+ using MagickCore::RightShiftEvaluateOperator;
+ using MagickCore::SetEvaluateOperator;
+ using MagickCore::SineEvaluateOperator;
+ using MagickCore::SubtractEvaluateOperator;
+ using MagickCore::SumEvaluateOperator;
+ using MagickCore::ThresholdBlackEvaluateOperator;
+ using MagickCore::ThresholdEvaluateOperator;
+ using MagickCore::ThresholdWhiteEvaluateOperator;
+ using MagickCore::UniformNoiseEvaluateOperator;
+ using MagickCore::XorEvaluateOperator;
+
+ // Fill rules
+ using MagickCore::FillRule;
+ using MagickCore::UndefinedRule;
+ using MagickCore::EvenOddRule;
+ using MagickCore::NonZeroRule;
+
+ // Filter types
+ using MagickCore::FilterType;
+ using MagickCore::UndefinedFilter;
+ using MagickCore::PointFilter;
+ using MagickCore::BoxFilter;
+ using MagickCore::TriangleFilter;
+ using MagickCore::HermiteFilter;
+ using MagickCore::HannFilter;
+ using MagickCore::HammingFilter;
+ using MagickCore::BlackmanFilter;
+ using MagickCore::GaussianFilter;
+ using MagickCore::QuadraticFilter;
+ using MagickCore::CubicFilter;
+ using MagickCore::CatromFilter;
+ using MagickCore::MitchellFilter;
+ using MagickCore::JincFilter;
+ using MagickCore::SincFilter;
+ using MagickCore::SincFastFilter;
+ using MagickCore::KaiserFilter;
+ using MagickCore::WelchFilter;
+ using MagickCore::ParzenFilter;
+ using MagickCore::BohmanFilter;
+ using MagickCore::BartlettFilter;
+ using MagickCore::LagrangeFilter;
+ using MagickCore::LanczosFilter;
+ using MagickCore::LanczosSharpFilter;
+ using MagickCore::Lanczos2Filter;
+ using MagickCore::Lanczos2SharpFilter;
+ using MagickCore::RobidouxFilter;
+ using MagickCore::RobidouxSharpFilter;
+ using MagickCore::CosineFilter;
+ using MagickCore::SplineFilter;
+ using MagickCore::LanczosRadiusFilter;
+ using MagickCore::SentinelFilter;
+
+ // Geometry flags;
+ using MagickCore::GeometryFlags;
+ using MagickCore::AreaValue;
+ using MagickCore::AspectValue;
+ using MagickCore::GreaterValue;
+ using MagickCore::HeightValue;
+ using MagickCore::LessValue;
+ using MagickCore::MinimumValue;
+ using MagickCore::NoValue;
+ using MagickCore::PercentValue;
+ using MagickCore::WidthValue;
+ using MagickCore::XNegative;
+ using MagickCore::XValue;
+ using MagickCore::YNegative;
+ using MagickCore::YValue;
+
+ // Bit gravity
+ using MagickCore::GravityType;
+ using MagickCore::UndefinedGravity;
+ using MagickCore::ForgetGravity;
+ using MagickCore::NorthWestGravity;
+ using MagickCore::NorthGravity;
+ using MagickCore::NorthEastGravity;
+ using MagickCore::WestGravity;
+ using MagickCore::CenterGravity;
+ using MagickCore::EastGravity;
+ using MagickCore::SouthWestGravity;
+ using MagickCore::SouthGravity;
+ using MagickCore::SouthEastGravity;
+
+ // Image types
+ using MagickCore::ImageType;
+ using MagickCore::UndefinedType;
+ using MagickCore::BilevelType;
+ using MagickCore::GrayscaleType;
+ using MagickCore::GrayscaleAlphaType;
+ using MagickCore::PaletteType;
+ using MagickCore::PaletteAlphaType;
+ using MagickCore::TrueColorType;
+ using MagickCore::TrueColorAlphaType;
+ using MagickCore::ColorSeparationType;
+ using MagickCore::ColorSeparationAlphaType;
+ using MagickCore::OptimizeType;
+ using MagickCore::PaletteBilevelAlphaType;
+
+ // Interlace types
+ using MagickCore::InterlaceType;
+ using MagickCore::UndefinedInterlace;
+ using MagickCore::NoInterlace;
+ using MagickCore::LineInterlace;
+ using MagickCore::PlaneInterlace;
+ using MagickCore::PartitionInterlace;
+ using MagickCore::GIFInterlace;
+ using MagickCore::JPEGInterlace;
+ using MagickCore::PNGInterlace;
+
+ // Built-in kernels
+ using MagickCore::KernelInfoType;
+ using MagickCore::UndefinedKernel;
+ using MagickCore::UnityKernel;
+ using MagickCore::GaussianKernel;
+ using MagickCore::DoGKernel;
+ using MagickCore::LoGKernel;
+ using MagickCore::BlurKernel;
+ using MagickCore::CometKernel;
+ using MagickCore::BinomialKernel;
+ using MagickCore::LaplacianKernel;
+ using MagickCore::SobelKernel;
+ using MagickCore::FreiChenKernel;
+ using MagickCore::RobertsKernel;
+ using MagickCore::PrewittKernel;
+ using MagickCore::CompassKernel;
+ using MagickCore::KirschKernel;
+ using MagickCore::DiamondKernel;
+ using MagickCore::SquareKernel;
+ using MagickCore::RectangleKernel;
+ using MagickCore::OctagonKernel;
+ using MagickCore::DiskKernel;
+ using MagickCore::PlusKernel;
+ using MagickCore::CrossKernel;
+ using MagickCore::RingKernel;
+ using MagickCore::PeaksKernel;
+ using MagickCore::EdgesKernel;
+ using MagickCore::CornersKernel;
+ using MagickCore::DiagonalsKernel;
+ using MagickCore::LineEndsKernel;
+ using MagickCore::LineJunctionsKernel;
+ using MagickCore::RidgesKernel;
+ using MagickCore::ConvexHullKernel;
+ using MagickCore::ThinSEKernel;
+ using MagickCore::SkeletonKernel;
+ using MagickCore::ChebyshevKernel;
+ using MagickCore::ManhattanKernel;
+ using MagickCore::OctagonalKernel;
+ using MagickCore::EuclideanKernel;
+ using MagickCore::UserDefinedKernel;
+
+ // Layer method
+ using MagickCore::LayerMethod;
+ using MagickCore::UndefinedLayer;
+ using MagickCore::CoalesceLayer;
+ using MagickCore::CompareAnyLayer;
+ using MagickCore::CompareClearLayer;
+ using MagickCore::CompareOverlayLayer;
+ using MagickCore::DisposeLayer;
+ using MagickCore::OptimizeLayer;
+ using MagickCore::OptimizeImageLayer;
+ using MagickCore::OptimizePlusLayer;
+ using MagickCore::OptimizeTransLayer;
+ using MagickCore::RemoveDupsLayer;
+ using MagickCore::RemoveZeroLayer;
+ using MagickCore::CompositeLayer;
+ using MagickCore::MergeLayer;
+ using MagickCore::FlattenLayer;
+ using MagickCore::MosaicLayer;
+ using MagickCore::TrimBoundsLayer;
+
+ // Line cap types
+ using MagickCore::LineCap;
+ using MagickCore::UndefinedCap;
+ using MagickCore::ButtCap;
+ using MagickCore::RoundCap;
+ using MagickCore::SquareCap;
+
+ // Line join types
+ using MagickCore::LineJoin;
+ using MagickCore::UndefinedJoin;
+ using MagickCore::MiterJoin;
+ using MagickCore::RoundJoin;
+ using MagickCore::BevelJoin;
+
+ // Log event types
+ using MagickCore::LogEventType;
+ using MagickCore::UndefinedEvents;
+ using MagickCore::NoEvents;
+ using MagickCore::AccelerateEvent;
+ using MagickCore::AnnotateEvent;
+ using MagickCore::BlobEvent;
+ using MagickCore::CacheEvent;
+ using MagickCore::CoderEvent;
+ using MagickCore::ConfigureEvent;
+ using MagickCore::DeprecateEvent;
+ using MagickCore::DrawEvent;
+ using MagickCore::ExceptionEvent;
+ using MagickCore::ImageEvent;
+ using MagickCore::LocaleEvent;
+ using MagickCore::ModuleEvent;
+ using MagickCore::PixelEvent;
+ using MagickCore::PolicyEvent;
+ using MagickCore::ResourceEvent;
+ using MagickCore::TraceEvent;
+ using MagickCore::TransformEvent;
+ using MagickCore::UserEvent;
+ using MagickCore::WandEvent;
+ using MagickCore::X11Event;
+ using MagickCore::CommandEvent;
+ using MagickCore::AllEvents;
+
+ // Magick functions
+ using MagickCore::MagickFunction;
+ using MagickCore::UndefinedFunction;
+ using MagickCore::ArcsinFunction;
+ using MagickCore::ArctanFunction;
+ using MagickCore::PolynomialFunction;
+ using MagickCore::SinusoidFunction;
+
+ // Metric types
+ using MagickCore::MetricType;
+ using MagickCore::UndefinedErrorMetric;
+ using MagickCore::AbsoluteErrorMetric;
+ using MagickCore::FuzzErrorMetric;
+ using MagickCore::MeanAbsoluteErrorMetric;
+ using MagickCore::MeanErrorPerPixelErrorMetric;
+ using MagickCore::MeanSquaredErrorMetric;
+ using MagickCore::NormalizedCrossCorrelationErrorMetric;
+ using MagickCore::PeakAbsoluteErrorMetric;
+ using MagickCore::PeakSignalToNoiseRatioErrorMetric;
+ using MagickCore::PerceptualHashErrorMetric;
+ using MagickCore::RootMeanSquaredErrorMetric;
+
+ // Morphology methods
+ using MagickCore::MorphologyMethod;
+ using MagickCore::UndefinedMorphology;
+ using MagickCore::ConvolveMorphology;
+ using MagickCore::CorrelateMorphology;
+ using MagickCore::ErodeMorphology;
+ using MagickCore::DilateMorphology;
+ using MagickCore::ErodeIntensityMorphology;
+ using MagickCore::DilateIntensityMorphology;
+ using MagickCore::IterativeDistanceMorphology;
+ using MagickCore::OpenMorphology;
+ using MagickCore::CloseMorphology;
+ using MagickCore::OpenIntensityMorphology;
+ using MagickCore::CloseIntensityMorphology;
+ using MagickCore::SmoothMorphology;
+ using MagickCore::EdgeInMorphology;
+ using MagickCore::EdgeOutMorphology;
+ using MagickCore::EdgeMorphology;
+ using MagickCore::TopHatMorphology;
+ using MagickCore::BottomHatMorphology;
+ using MagickCore::HitAndMissMorphology;
+ using MagickCore::ThinningMorphology;
+ using MagickCore::ThickenMorphology;
+ using MagickCore::DistanceMorphology;
+ using MagickCore::VoronoiMorphology;
+
+ // Noise types
+ using MagickCore::NoiseType;
+ using MagickCore::UndefinedNoise;
+ using MagickCore::UniformNoise;
+ using MagickCore::GaussianNoise;
+ using MagickCore::MultiplicativeGaussianNoise;
+ using MagickCore::ImpulseNoise;
+ using MagickCore::LaplacianNoise;
+ using MagickCore::PoissonNoise;
+
+ // Orientation types
+ using MagickCore::OrientationType;
+ using MagickCore::UndefinedOrientation;
+ using MagickCore::TopLeftOrientation;
+ using MagickCore::TopRightOrientation;
+ using MagickCore::BottomRightOrientation;
+ using MagickCore::BottomLeftOrientation;
+ using MagickCore::LeftTopOrientation;
+ using MagickCore::RightTopOrientation;
+ using MagickCore::RightBottomOrientation;
+ using MagickCore::LeftBottomOrientation;
+
+ // Paint methods
+ using MagickCore::PaintMethod;
+ using MagickCore::UndefinedMethod;
+ using MagickCore::PointMethod;
+ using MagickCore::ReplaceMethod;
+ using MagickCore::FloodfillMethod;
+ using MagickCore::FillToBorderMethod;
+ using MagickCore::ResetMethod;
+
+ using MagickCore::PixelChannel;
+ using MagickCore::UndefinedPixelChannel;
+ using MagickCore::RedPixelChannel;
+ using MagickCore::CyanPixelChannel;
+ using MagickCore::GrayPixelChannel;
+ using MagickCore::LPixelChannel;
+ using MagickCore::YPixelChannel;
+ using MagickCore::aPixelChannel;
+ using MagickCore::GreenPixelChannel;
+ using MagickCore::MagentaPixelChannel;
+ using MagickCore::CbPixelChannel;
+ using MagickCore::bPixelChannel;
+ using MagickCore::BluePixelChannel;
+ using MagickCore::YellowPixelChannel;
+ using MagickCore::CrPixelChannel;
+ using MagickCore::BlackPixelChannel;
+ using MagickCore::AlphaPixelChannel;
+ using MagickCore::IndexPixelChannel;
+ using MagickCore::ReadMaskPixelChannel;
+ using MagickCore::WriteMaskPixelChannel;
+ using MagickCore::MetaPixelChannel;
+ using MagickCore::IntensityPixelChannel;
+ using MagickCore::CompositePixelChannel;
+ using MagickCore::SyncPixelChannel;
+
+ // Pixel intensity method
+ using MagickCore::PixelIntensityMethod;
+ using MagickCore::UndefinedPixelIntensityMethod;
+ using MagickCore::AveragePixelIntensityMethod;
+ using MagickCore::BrightnessPixelIntensityMethod;
+ using MagickCore::LightnessPixelIntensityMethod;
+ using MagickCore::MSPixelIntensityMethod;
+ using MagickCore::Rec601LumaPixelIntensityMethod;
+ using MagickCore::Rec601LuminancePixelIntensityMethod;
+ using MagickCore::Rec709LumaPixelIntensityMethod;
+ using MagickCore::Rec709LuminancePixelIntensityMethod;
+ using MagickCore::RMSPixelIntensityMethod;
+
+ // PixelInterpolate methods
+ using MagickCore::PixelInterpolateMethod;
+ using MagickCore::UndefinedInterpolatePixel;
+ using MagickCore::AverageInterpolatePixel;
+ using MagickCore::Average9InterpolatePixel;
+ using MagickCore::Average16InterpolatePixel;
+ using MagickCore::BackgroundInterpolatePixel;
+ using MagickCore::BilinearInterpolatePixel;
+ using MagickCore::BlendInterpolatePixel;
+ using MagickCore::CatromInterpolatePixel;
+ using MagickCore::IntegerInterpolatePixel;
+ using MagickCore::MeshInterpolatePixel;
+ using MagickCore::NearestInterpolatePixel;
+ using MagickCore::SplineInterpolatePixel;
+
+ // Pixel traits
+ using MagickCore::PixelTrait;
+ using MagickCore::UndefinedPixelTrait;
+ using MagickCore::CopyPixelTrait;
+ using MagickCore::UpdatePixelTrait;
+ using MagickCore::BlendPixelTrait;
+
+ // Preview types. Not currently used by Magick++
+ using MagickCore::PreviewType;
+ using MagickCore::UndefinedPreview;
+ using MagickCore::RotatePreview;
+ using MagickCore::ShearPreview;
+ using MagickCore::RollPreview;
+ using MagickCore::HuePreview;
+ using MagickCore::SaturationPreview;
+ using MagickCore::BrightnessPreview;
+ using MagickCore::GammaPreview;
+ using MagickCore::SpiffPreview;
+ using MagickCore::DullPreview;
+ using MagickCore::GrayscalePreview;
+ using MagickCore::QuantizePreview;
+ using MagickCore::DespecklePreview;
+ using MagickCore::ReduceNoisePreview;
+ using MagickCore::AddNoisePreview;
+ using MagickCore::SharpenPreview;
+ using MagickCore::BlurPreview;
+ using MagickCore::ThresholdPreview;
+ using MagickCore::EdgeDetectPreview;
+ using MagickCore::SpreadPreview;
+ using MagickCore::SolarizePreview;
+ using MagickCore::ShadePreview;
+ using MagickCore::RaisePreview;
+ using MagickCore::SegmentPreview;
+ using MagickCore::SwirlPreview;
+ using MagickCore::ImplodePreview;
+ using MagickCore::WavePreview;
+ using MagickCore::OilPaintPreview;
+ using MagickCore::CharcoalDrawingPreview;
+ using MagickCore::JPEGPreview;
+
+ // Quantum types
+ using MagickCore::QuantumType;
+ using MagickCore::IndexQuantum;
+ using MagickCore::GrayQuantum;
+ using MagickCore::IndexAlphaQuantum;
+ using MagickCore::GrayAlphaQuantum;
+ using MagickCore::RedQuantum;
+ using MagickCore::CyanQuantum;
+ using MagickCore::GreenQuantum;
+ using MagickCore::YellowQuantum;
+ using MagickCore::BlueQuantum;
+ using MagickCore::MagentaQuantum;
+ using MagickCore::AlphaQuantum;
+ using MagickCore::BlackQuantum;
+ using MagickCore::RGBQuantum;
+ using MagickCore::RGBAQuantum;
+ using MagickCore::CMYKQuantum;
+
+ // Pixel mask types
+ using MagickCore::PixelMask;
+ using MagickCore::UndefinedPixelMask;
+ using MagickCore::ReadPixelMask;
+ using MagickCore::WritePixelMask;
+
+ // Rendering intents
+ using MagickCore::RenderingIntent;
+ using MagickCore::UndefinedIntent;
+ using MagickCore::SaturationIntent;
+ using MagickCore::PerceptualIntent;
+ using MagickCore::AbsoluteIntent;
+ using MagickCore::RelativeIntent;
+
+ // Resource types
+ using MagickCore::ResourceType;
+ using MagickCore::UndefinedResource;
+ using MagickCore::AreaResource;
+ using MagickCore::DiskResource;
+ using MagickCore::FileResource;
+ using MagickCore::HeightResource;
+ using MagickCore::MapResource;
+ using MagickCore::MemoryResource;
+ using MagickCore::ThreadResource;
+ using MagickCore::ThrottleResource;
+ using MagickCore::TimeResource;
+ using MagickCore::WidthResource;
+
+ // Resolution units
+ using MagickCore::ResolutionType;
+ using MagickCore::UndefinedResolution;
+ using MagickCore::PixelsPerInchResolution;
+ using MagickCore::PixelsPerCentimeterResolution;
+
+ // Sparse Color methods
+ using MagickCore::SparseColorMethod;
+ using MagickCore::UndefinedColorInterpolate;
+ using MagickCore::BarycentricColorInterpolate;
+ using MagickCore::BilinearColorInterpolate;
+ using MagickCore::PolynomialColorInterpolate;
+ using MagickCore::ShepardsColorInterpolate;
+ using MagickCore::VoronoiColorInterpolate;
+ using MagickCore::InverseColorInterpolate;
+ using MagickCore::ManhattanColorInterpolate;
+
+ // Statistic type
+ using MagickCore::StatisticType;
+ using MagickCore::UndefinedStatistic;
+ using MagickCore::GradientStatistic;
+ using MagickCore::MaximumStatistic;
+ using MagickCore::MeanStatistic;
+ using MagickCore::MedianStatistic;
+ using MagickCore::MinimumStatistic;
+ using MagickCore::ModeStatistic;
+ using MagickCore::NonpeakStatistic;
+ using MagickCore::RootMeanSquareStatistic;
+ using MagickCore::StandardDeviationStatistic;
+
+ // StorageType type
+ using MagickCore::StorageType;
+ using MagickCore::UndefinedPixel;
+ using MagickCore::CharPixel;
+ using MagickCore::DoublePixel;
+ using MagickCore::FloatPixel;
+ using MagickCore::LongPixel;
+ using MagickCore::LongLongPixel;
+ using MagickCore::QuantumPixel;
+ using MagickCore::ShortPixel;
+
+ // StretchType type
+ using MagickCore::StretchType;
+ using MagickCore::UndefinedStretch;
+ using MagickCore::NormalStretch;
+ using MagickCore::UltraCondensedStretch;
+ using MagickCore::ExtraCondensedStretch;
+ using MagickCore::CondensedStretch;
+ using MagickCore::SemiCondensedStretch;
+ using MagickCore::SemiExpandedStretch;
+ using MagickCore::ExpandedStretch;
+ using MagickCore::ExtraExpandedStretch;
+ using MagickCore::UltraExpandedStretch;
+ using MagickCore::AnyStretch;
+
+ // StyleType type
+ using MagickCore::StyleType;
+ using MagickCore::UndefinedStyle;
+ using MagickCore::NormalStyle;
+ using MagickCore::ItalicStyle;
+ using MagickCore::ObliqueStyle;
+ using MagickCore::AnyStyle;
+
+ // Virtual pixel methods
+ using MagickCore::VirtualPixelMethod;
+ using MagickCore::UndefinedVirtualPixelMethod;
+ using MagickCore::BackgroundVirtualPixelMethod;
+ using MagickCore::DitherVirtualPixelMethod;
+ using MagickCore::EdgeVirtualPixelMethod;
+ using MagickCore::MirrorVirtualPixelMethod;
+ using MagickCore::RandomVirtualPixelMethod;
+ using MagickCore::TileVirtualPixelMethod;
+ using MagickCore::TransparentVirtualPixelMethod;
+ using MagickCore::MaskVirtualPixelMethod;
+ using MagickCore::BlackVirtualPixelMethod;
+ using MagickCore::GrayVirtualPixelMethod;
+ using MagickCore::WhiteVirtualPixelMethod;
+ using MagickCore::HorizontalTileVirtualPixelMethod;
+ using MagickCore::VerticalTileVirtualPixelMethod;
+ using MagickCore::HorizontalTileEdgeVirtualPixelMethod;
+ using MagickCore::VerticalTileEdgeVirtualPixelMethod;
+ using MagickCore::CheckerTileVirtualPixelMethod;
+
+#if defined(MAGICKCORE_IMPLEMENTATION)
+ //
+ // ImageMagick symbols used in implementation code
+ //
+ using MagickCore::AcquireAlignedMemory;
+ using MagickCore::AcquireAuthenticCacheView;
+ using MagickCore::AcquireDrawingWand;
+ using MagickCore::AcquireExceptionInfo;
+ using MagickCore::AcquireVirtualCacheView;
+ using MagickCore::AcquireImage;
+ using MagickCore::AcquireKernelInfo;
+ using MagickCore::AcquireMagickInfo;
+ using MagickCore::AcquireMagickMemory;
+ using MagickCore::AcquireQuantumInfo;
+ using MagickCore::AcquireString;
+ using MagickCore::AcquireStringInfo;
+ using MagickCore::AdaptiveBlurImage;
+ using MagickCore::AdaptiveResizeImage;
+ using MagickCore::AdaptiveSharpenImage;
+ using MagickCore::AdaptiveThresholdImage;
+ using MagickCore::AddNoiseImage;
+ using MagickCore::AffineTransformImage;
+ using MagickCore::AnnotateImage;
+ using MagickCore::AutoGammaImage;
+ using MagickCore::AutoLevelImage;
+ using MagickCore::AutoOrientImage;
+ using MagickCore::Base64Decode;
+ using MagickCore::Base64Encode;
+ using MagickCore::BilevelImage;
+ using MagickCore::BlackThresholdImage;
+ using MagickCore::BlobToImage;
+ using MagickCore::BlueShiftImage;
+ using MagickCore::BlurImage;
+ using MagickCore::BrightnessContrastImage;
+ using MagickCore::BorderImage;
+ using MagickCore::CharcoalImage;
+ using MagickCore::CannyEdgeImage;
+ using MagickCore::ChopImage;
+ using MagickCore::ClampImage;
+ using MagickCore::ClampToQuantum;
+ using MagickCore::ClearMagickException;
+ using MagickCore::CloneDrawInfo;
+ using MagickCore::CloneImage;
+ using MagickCore::CloneImageInfo;
+ using MagickCore::CloneQuantizeInfo;
+ using MagickCore::ClutImage;
+ using MagickCore::ColorDecisionListImage;
+ using MagickCore::ColorizeImage;
+ using MagickCore::ColorMatrixImage;
+ using MagickCore::CommandOptionToMnemonic;
+ using MagickCore::CompareImages;
+ using MagickCore::CompareImagesLayers;
+ using MagickCore::CompositeImage;
+ using MagickCore::ConnectedComponentsImage;
+ using MagickCore::ConstituteImage;
+ using MagickCore::ContrastImage;
+ using MagickCore::ContrastStretchImage;
+ using MagickCore::ConvertHSLToRGB;
+ using MagickCore::ConvertRGBToHSL;
+ using MagickCore::ConvolveImage;
+ using MagickCore::CopyImagePixels;
+ using MagickCore::CopyMagickString;
+ using MagickCore::CropImage;
+ using MagickCore::CropImageToTiles;
+ using MagickCore::CycleColormapImage;
+ using MagickCore::DecipherImage;
+ using MagickCore::DeleteImageOption;
+ using MagickCore::DeleteImageRegistry;
+ using MagickCore::DeskewImage;
+ using MagickCore::DespeckleImage;
+ using MagickCore::DestroyCacheView;
+ using MagickCore::DestroyDrawInfo;
+ using MagickCore::DestroyDrawingWand;
+ using MagickCore::DestroyExceptionInfo;
+ using MagickCore::DestroyImageInfo;
+ using MagickCore::DestroyImageList;
+ using MagickCore::DestroyKernelInfo;
+ using MagickCore::DestroyMagickWand;
+ using MagickCore::DestroyPixelWand;
+ using MagickCore::DestroyQuantizeInfo;
+ using MagickCore::DestroyQuantumInfo;
+ using MagickCore::DestroyString;
+ using MagickCore::DestroyStringInfo;
+ using MagickCore::DisplayImages;
+ using MagickCore::DistortImage;
+ using MagickCore::DrawAffine;
+ using MagickCore::DrawAlpha;
+ using MagickCore::DrawAnnotation;
+ using MagickCore::DrawArc;
+ using MagickCore::DrawBezier;
+ using MagickCore::DrawCircle;
+ using MagickCore::DrawColor;
+ using MagickCore::DrawComment;
+ using MagickCore::DrawComposite;
+ using MagickCore::DrawEllipse;
+ using MagickCore::DrawImage;
+ using MagickCore::DrawLine;
+ using MagickCore::DrawPathClose;
+ using MagickCore::DrawPathCurveToAbsolute;
+ using MagickCore::DrawPathCurveToQuadraticBezierAbsolute;
+ using MagickCore::DrawPathCurveToQuadraticBezierRelative;
+ using MagickCore::DrawPathCurveToQuadraticBezierSmoothAbsolute;
+ using MagickCore::DrawPathCurveToQuadraticBezierSmoothRelative;
+ using MagickCore::DrawPathCurveToRelative;
+ using MagickCore::DrawPathCurveToSmoothAbsolute;
+ using MagickCore::DrawPathCurveToSmoothRelative;
+ using MagickCore::DrawPathEllipticArcAbsolute;
+ using MagickCore::DrawPathEllipticArcRelative;
+ using MagickCore::DrawPathFinish;
+ using MagickCore::DrawPathLineToAbsolute;
+ using MagickCore::DrawPathLineToHorizontalAbsolute;
+ using MagickCore::DrawPathLineToHorizontalRelative;
+ using MagickCore::DrawPathLineToRelative;
+ using MagickCore::DrawPathLineToVerticalAbsolute;
+ using MagickCore::DrawPathLineToVerticalRelative;
+ using MagickCore::DrawPathMoveToAbsolute;
+ using MagickCore::DrawPathMoveToRelative;
+ using MagickCore::DrawPathStart;
+ using MagickCore::DrawPoint;
+ using MagickCore::DrawPolygon;
+ using MagickCore::DrawPolyline;
+ using MagickCore::DrawPopClipPath;
+ using MagickCore::DrawPopDefs;
+ using MagickCore::DrawPopPattern;
+ using MagickCore::DrawPushClipPath;
+ using MagickCore::DrawPushDefs;
+ using MagickCore::DrawPushPattern;
+ using MagickCore::DrawRectangle;
+ using MagickCore::DrawRender;
+ using MagickCore::DrawRotate;
+ using MagickCore::DrawRoundRectangle;
+ using MagickCore::DrawScale;
+ using MagickCore::DrawSetClipPath;
+ using MagickCore::DrawSetClipRule;
+ using MagickCore::DrawSetClipUnits;
+ using MagickCore::DrawSetFillColor;
+ using MagickCore::DrawSetFillOpacity;
+ using MagickCore::DrawSetFillPatternURL;
+ using MagickCore::DrawSetFillRule;
+ using MagickCore::DrawSetFont;
+ using MagickCore::DrawSetFontFamily;
+ using MagickCore::DrawSetFontSize;
+ using MagickCore::DrawSetFontStretch;
+ using MagickCore::DrawSetFontStyle;
+ using MagickCore::DrawSetFontWeight;
+ using MagickCore::DrawSetGravity;
+ using MagickCore::DrawSetStrokeAntialias;
+ using MagickCore::DrawSetStrokeColor;
+ using MagickCore::DrawSetStrokeDashArray;
+ using MagickCore::DrawSetStrokeDashOffset;
+ using MagickCore::DrawSetStrokeLineCap;
+ using MagickCore::DrawSetStrokeLineJoin;
+ using MagickCore::DrawSetStrokeMiterLimit;
+ using MagickCore::DrawSetStrokeOpacity;
+ using MagickCore::DrawSetStrokePatternURL;
+ using MagickCore::DrawSetStrokeWidth;
+ using MagickCore::DrawSetTextAntialias;
+ using MagickCore::DrawSetTextDecoration;
+ using MagickCore::DrawSetTextEncoding;
+ using MagickCore::DrawSetTextInterlineSpacing;
+ using MagickCore::DrawSetTextInterwordSpacing;
+ using MagickCore::DrawSetTextKerning;
+ using MagickCore::DrawSetTextUnderColor;
+ using MagickCore::DrawSetViewbox;
+ using MagickCore::DrawSkewX;
+ using MagickCore::DrawSkewY;
+ using MagickCore::DrawTranslate;
+ using MagickCore::EdgeImage;
+ using MagickCore::EmbossImage;
+ using MagickCore::EncipherImage;
+ using MagickCore::EnhanceImage;
+ using MagickCore::EqualizeImage;
+ using MagickCore::EvaluateImage;
+ using MagickCore::ExportImagePixels;
+ using MagickCore::ExportQuantumPixels;
+ using MagickCore::ExtentImage;
+ using MagickCore::FlipImage;
+ using MagickCore::FloodfillPaintImage;
+ using MagickCore::FlopImage;
+ using MagickCore::FormatLocaleString;
+ using MagickCore::ForwardFourierTransformImage;
+ using MagickCore::FrameImage;
+ using MagickCore::FxImage;
+ using MagickCore::GammaImage;
+ using MagickCore::GaussianBlurImage;
+ using MagickCore::GaussianBlurImage;
+ using MagickCore::GetAffineMatrix;
+ using MagickCore::GetAuthenticMetacontent;
+ using MagickCore::GetBlobSize;
+ using MagickCore::GetCacheViewAuthenticMetacontent;
+ using MagickCore::GetCacheViewAuthenticPixels;
+ using MagickCore::GetCacheViewVirtualPixels;
+ using MagickCore::GetClientName;
+ using MagickCore::GetColorTuple;
+ using MagickCore::GetDrawInfo;
+ using MagickCore::GetGeometry;
+ using MagickCore::GetImageArtifact;
+ using MagickCore::GetImageMoments;
+ using MagickCore::GetImageBoundingBox;
+ using MagickCore::GetImageDistortion;
+ using MagickCore::GetImageDepth;
+ using MagickCore::GetImageMask;
+ using MagickCore::GetImageMean;
+ using MagickCore::GetImageKurtosis;
+ using MagickCore::GetImageRange;
+ using MagickCore::GetImageDepth;
+ using MagickCore::GetImageInfo;
+ using MagickCore::GetImageInfoFile;
+ using MagickCore::GetImageOption;
+ using MagickCore::GetImagePerceptualHash;
+ using MagickCore::GetAuthenticPixels;
+ using MagickCore::GetImageProfile;
+ using MagickCore::GetImageProperty;
+ using MagickCore::GetImageQuantizeError;
+ using MagickCore::GetImageType;
+ using MagickCore::GetMagickDecoderThreadSupport;
+ using MagickCore::GetMagickEncoderThreadSupport;
+ using MagickCore::GetMagickInfo;
+ using MagickCore::GetMultilineTypeMetrics;
+ using MagickCore::GetNextValueInLinkedList;
+ using MagickCore::GetNumberOfElementsInLinkedList;
+ using MagickCore::GetPixelBlue;
+ using MagickCore::GetPixelChannelOffset;
+ using MagickCore::GetPixelChannelTraits;
+ using MagickCore::GetPixelGreen;
+ using MagickCore::GetPixelInfo;
+ using MagickCore::GetPixelRed;
+ using MagickCore::GetNumberColors;
+ using MagickCore::GetPageGeometry;
+ using MagickCore::GetQuantizeInfo;
+ using MagickCore::GetStringInfoDatum;
+ using MagickCore::GetStringInfoLength;
+ using MagickCore::GetTypeMetrics;
+ using MagickCore::GetValueFromLinkedList;
+ using MagickCore::GetVirtualMetacontent;
+ using MagickCore::GetVirtualPixels;
+ using MagickCore::GetImageVirtualPixelMethod;
+ using MagickCore::GlobExpression;
+ using MagickCore::GravityAdjustGeometry;
+ using MagickCore::GrayscaleImage;
+ using MagickCore::HaldClutImage;
+ using MagickCore::HoughLineImage;
+ using MagickCore::ImageToBlob;
+ using MagickCore::ImagesToBlob;
+ using MagickCore::ImplodeImage;
+ using MagickCore::ImportQuantumPixels;
+ using MagickCore::InterpretImageProperties;
+ using MagickCore::InverseFourierTransformImage;
+ using MagickCore::InvokeDynamicImageFilter;
+ using MagickCore::IsEventLogging;
+ using MagickCore::IsGeometry;
+ using MagickCore::IsImageOpaque;
+ using MagickCore::IsImagesEqual;
+ using MagickCore::KuwaharaImage;
+ using MagickCore::LevelImage;
+ using MagickCore::LevelImageColors;
+ using MagickCore::LevelizeImage;
+ using MagickCore::LinearStretchImage;
+ using MagickCore::LiquidRescaleImage;
+ using MagickCore::LocalContrastImage;
+ using MagickCore::LocaleCompare;
+ using MagickCore::LockSemaphoreInfo;
+ using MagickCore::LogMagickEvent;
+ using MagickCore::MagickCoreTerminus;
+ using MagickCore::MagickToMime;
+ using MagickCore::MagnifyImage;
+ using MagickCore::MergeImageLayers;
+ using MagickCore::MinifyImage;
+ using MagickCore::ModulateImage;
+ using MagickCore::MorphologyImage;
+ using MagickCore::MotionBlurImage;
+ using MagickCore::NegateImage;
+ using MagickCore::NewMagickWandFromImage;
+ using MagickCore::NewPixelWand;
+ using MagickCore::NormalizeImage;
+ using MagickCore::OilPaintImage;
+ using MagickCore::OpaquePaintImage;
+ using MagickCore::OrderedDitherImage;
+ using MagickCore::OptimizeImageLayers;
+ using MagickCore::OptimizeImageTransparency;
+ using MagickCore::OptimizePlusImageLayers;
+ using MagickCore::ParseMetaGeometry;
+ using MagickCore::PerceptibleImage;
+ using MagickCore::PingBlob;
+ using MagickCore::PingImage;
+ using MagickCore::PixelSetPixelColor;
+ using MagickCore::PolaroidImage;
+ using MagickCore::PopDrawingWand;
+ using MagickCore::PosterizeImage;
+ using MagickCore::ProfileImage;
+ using MagickCore::PushDrawingWand;
+ using MagickCore::QuantizeImage;
+ using MagickCore::QueueAuthenticPixels;
+ using MagickCore::QueueCacheViewAuthenticPixels;
+ using MagickCore::RaiseImage;
+ using MagickCore::RandomThresholdImage;
+ using MagickCore::ReadImage;
+ using MagickCore::RegisterMagickInfo;
+ using MagickCore::RelinquishMagickMemory;
+ using MagickCore::RemapImage;
+ using MagickCore::ResampleImage;
+ using MagickCore::ResetLinkedListIterator;
+ using MagickCore::ResizeImage;
+ using MagickCore::ResizeMagickMemory;
+ using MagickCore::RollImage;
+ using MagickCore::RotateImage;
+ using MagickCore::RotationalBlurImage;
+ using MagickCore::SampleImage;
+ using MagickCore::ScaleImage;
+ using MagickCore::SegmentImage;
+ using MagickCore::SelectiveBlurImage;
+ using MagickCore::SeparateImage;
+ using MagickCore::SepiaToneImage;
+ using MagickCore::SetGeometry;
+ using MagickCore::SetImageAlpha;
+ using MagickCore::SetImageArtifact;
+ using MagickCore::SetImageBackgroundColor;
+ using MagickCore::SetImageColorspace;
+ using MagickCore::SetImageDepth;
+ using MagickCore::SetImageExtent;
+ using MagickCore::SetImageInfo;
+ using MagickCore::SetImageInfoFile;
+ using MagickCore::SetImageMask;
+ using MagickCore::SetImageOption;
+ using MagickCore::SetImageProfile;
+ using MagickCore::SetImageProperty;
+ using MagickCore::SetImageRegistry;
+ using MagickCore::SetImageType;
+ using MagickCore::SetLogEventMask;
+ using MagickCore::SetMagickResourceLimit;
+ using MagickCore::SetImageVirtualPixelMethod;
+ using MagickCore::SetPixelChannel;
+ using MagickCore::SetImageChannelMask;
+ using MagickCore::SetStringInfoDatum;
+ using MagickCore::ShadeImage;
+ using MagickCore::ShadowImage;
+ using MagickCore::SharpenImage;
+ using MagickCore::SharpenImage;
+ using MagickCore::ShaveImage;
+ using MagickCore::ShearImage;
+ using MagickCore::SigmoidalContrastImage;
+ using MagickCore::SignatureImage;
+ using MagickCore::SimilarityImage;
+ using MagickCore::SketchImage;
+ using MagickCore::SmushImages;
+ using MagickCore::SolarizeImage;
+ using MagickCore::SparseColorImage;
+ using MagickCore::SpliceImage;
+ using MagickCore::SpreadImage;
+ using MagickCore::StatisticImage;
+ using MagickCore::SteganoImage;
+ using MagickCore::StereoImage;
+ using MagickCore::StripImage;
+ using MagickCore::SwirlImage;
+ using MagickCore::SyncCacheViewAuthenticPixels;
+ using MagickCore::SyncImage;
+ using MagickCore::SyncAuthenticPixels;
+ using MagickCore::TextureImage;
+ using MagickCore::ThrowException;
+ using MagickCore::TintImage;
+ using MagickCore::TransformImageColorspace;
+ using MagickCore::TransparentPaintImage;
+ using MagickCore::TransparentPaintImageChroma;
+ using MagickCore::TransposeImage;
+ using MagickCore::TransverseImage;
+ using MagickCore::TrimImage;
+ using MagickCore::UniqueImageColors;
+ using MagickCore::UnlockSemaphoreInfo;
+ using MagickCore::UnregisterMagickInfo;
+ using MagickCore::UnsharpMaskImage;
+ using MagickCore::VignetteImage;
+ using MagickCore::WaveImage;
+ using MagickCore::WaveletDenoiseImage;
+ using MagickCore::WhiteThresholdImage;
+ using MagickCore::WriteImage;
+
+#endif // MAGICKCORE_IMPLEMENTATION
+
+}
+
+//////////////////////////////////////////////////////////////////////
+//
+// No user-serviceable parts beyond this point
+//
+//////////////////////////////////////////////////////////////////////
+#define GetPPException \
+ MagickCore::ExceptionInfo \
+ *exceptionInfo; \
+ exceptionInfo=MagickCore::AcquireExceptionInfo();
+#define GetAndSetPPChannelMask(channel) \
+ MagickCore::ChannelType \
+ channel_mask; \
+ channel_mask=MagickCore::SetImageChannelMask(image(),channel)
+#define ClonePPDrawException(wand) \
+ MagickCore::ExceptionInfo \
+ *exceptionInfo; \
+ exceptionInfo=MagickCore::DrawCloneExceptionInfo(wand)
+#define RestorePPChannelMask \
+ MagickCore::SetPixelChannelMask(image(),channel_mask)
+#define SetPPChannelMask(channel) \
+ (void) MagickCore::SetImageChannelMask(image(),channel)
+#define ThrowPPDrawException(quiet) \
+ throwException(exceptionInfo,quiet); \
+ (void) MagickCore::DestroyExceptionInfo(exceptionInfo)
+#define ThrowPPException(quiet) \
+ throwException(exceptionInfo,quiet); \
+ (void) MagickCore::DestroyExceptionInfo(exceptionInfo)
+
+#endif // Magick_Include_header
diff --git a/bin/7.0.5-5/include/ImageMagick-7/Magick++/Montage.h b/bin/7.0.5-5/include/ImageMagick-7/Magick++/Montage.h
new file mode 100755
index 0000000..61a161d
--- /dev/null
+++ b/bin/7.0.5-5/include/ImageMagick-7/Magick++/Montage.h
@@ -0,0 +1,155 @@
+// This may look like C code, but it is really -*- C++ -*-
+//
+// Copyright Bob Friesenhahn, 1999, 2000, 2001, 2002, 2003
+//
+// Definition of Montage class used to specify montage options.
+//
+
+#if !defined(Magick_Montage_header)
+#define Magick_Montage_header
+
+#include "Magick++/Include.h"
+#include
+#include "Magick++/Color.h"
+#include "Magick++/Geometry.h"
+
+//
+// Basic (Un-framed) Montage
+//
+namespace Magick
+{
+ class MagickPPExport Montage
+ {
+ public:
+
+ Montage(void);
+ virtual ~Montage(void);
+
+ // Color that thumbnails are composed on
+ void backgroundColor(const Color &backgroundColor_);
+ Color backgroundColor(void) const;
+
+ // Composition algorithm to use (e.g. ReplaceCompositeOp)
+ void compose(CompositeOperator compose_);
+ CompositeOperator compose(void) const;
+
+ // Filename to save montages to
+ void fileName(const std::string &fileName_);
+ std::string fileName(void) const;
+
+ // Fill color
+ void fillColor(const Color &fill_);
+ Color fillColor(void) const;
+
+ // Label font
+ void font(const std::string &font_);
+ std::string font(void) const;
+
+ // Thumbnail width & height plus border width & height
+ void geometry(const Geometry &geometry_);
+ Geometry geometry(void) const;
+
+ // Thumbnail position (e.g. SouthWestGravity)
+ void gravity(GravityType gravity_);
+ GravityType gravity(void) const;
+
+ // Thumbnail label (applied to image prior to montage)
+ void label(const std::string &label_);
+ std::string label(void) const;
+
+ // Font point size
+ void pointSize(size_t pointSize_);
+ size_t pointSize(void) const;
+
+ // Enable drop-shadows on thumbnails
+ void shadow(bool shadow_);
+ bool shadow(void) const;
+
+ // Outline color
+ void strokeColor(const Color &stroke_);
+ Color strokeColor(void) const;
+
+ // Background texture image
+ void texture(const std::string &texture_);
+ std::string texture(void) const;
+
+ // Thumbnail rows and colmns
+ void tile(const Geometry &tile_);
+ Geometry tile(void) const;
+
+ // Montage title
+ void title(const std::string &title_);
+ std::string title(void) const;
+
+ // Transparent color
+ void transparentColor(const Color &transparentColor_);
+ Color transparentColor(void) const;
+
+ //
+ // Implementation methods/members
+ //
+
+ // Update elements in existing MontageInfo structure
+ virtual void updateMontageInfo(MagickCore::MontageInfo &montageInfo_) const;
+
+ private:
+
+ Color _backgroundColor;
+ std::string _fileName;
+ Color _fill;
+ std::string _font;
+ Geometry _geometry;
+ GravityType _gravity;
+ std::string _label;
+ size_t _pointSize;
+ bool _shadow;
+ Color _stroke;
+ std::string _texture;
+ Geometry _tile;
+ std::string _title;
+ Color _transparentColor;
+ };
+
+ //
+ // Montage With Frames (Extends Basic Montage)
+ //
+ class MagickPPExport MontageFramed : public Montage
+ {
+ public:
+
+ MontageFramed(void);
+ ~MontageFramed(void);
+
+ // Frame foreground color
+ void matteColor(const Color &matteColor_);
+ Color matteColor(void) const;
+
+ // Frame border color
+ void borderColor(const Color &borderColor_);
+ Color borderColor(void) const;
+
+ // Pixels between thumbnail and surrounding frame
+ void borderWidth(size_t borderWidth_);
+ size_t borderWidth(void) const;
+
+ // Frame geometry (width & height frame thickness)
+ void frameGeometry(const Geometry &frame_);
+ Geometry frameGeometry(void) const;
+
+ //
+ // Implementation methods/members
+ //
+
+ // Update elements in existing MontageInfo structure
+ void updateMontageInfo(MagickCore::MontageInfo &montageInfo_) const;
+
+ private:
+
+ Color _matteColor;
+ Color _borderColor;
+ size_t _borderWidth;
+ Geometry _frame;
+ };
+} // namespace Magick
+
+#endif // Magick_Montage_header
diff --git a/bin/7.0.5-5/include/ImageMagick-7/Magick++/Pixels.h b/bin/7.0.5-5/include/ImageMagick-7/Magick++/Pixels.h
new file mode 100755
index 0000000..1eb11b0
--- /dev/null
+++ b/bin/7.0.5-5/include/ImageMagick-7/Magick++/Pixels.h
@@ -0,0 +1,152 @@
+// This may look like C code, but it is really -*- C++ -*-
+//
+// Copyright Bob Friesenhahn, 1999, 2000, 2001, 2002
+// Copyright Dirk Lemstra 2014
+//
+// Representation of a pixel view.
+//
+
+#if !defined(Magick_Pixels_header)
+#define Magick_Pixels_header
+
+#include "Magick++/Include.h"
+#include "Magick++/Color.h"
+#include "Magick++/Image.h"
+
+namespace Magick
+{
+ class MagickPPExport Pixels
+ {
+ public:
+
+ // Construct pixel view using specified image.
+ Pixels(Magick::Image &image_);
+
+ // Destroy pixel view
+ ~Pixels(void);
+
+ // Transfer pixels from the image to the pixel view as defined by
+ // the specified region. Modified pixels may be subsequently
+ // transferred back to the image via sync.
+ Quantum *get(const ::ssize_t x_,const ::ssize_t y_,
+ const size_t columns_,const size_t rows_);
+
+ // Transfer read-only pixels from the image to the pixel view as
+ // defined by the specified region.
+ const Quantum *getConst(const ::ssize_t x_,const ::ssize_t y_,
+ const size_t columns_,const size_t rows_);
+
+ // Return pixel metacontent
+ void *metacontent(void);
+
+ // Returns the offset for the specified channel.
+ ssize_t offset(PixelChannel channel) const;
+
+ // Allocate a pixel view region to store image pixels as defined
+ // by the region rectangle. This area is subsequently transferred
+ // from the pixel view to the image via sync.
+ Quantum *set(const ::ssize_t x_,const ::ssize_t y_,const size_t columns_,
+ const size_t rows_ );
+
+ // Transfers the image view pixels to the image.
+ void sync(void);
+
+ // Left ordinate of view
+ ::ssize_t x(void) const;
+
+ // Top ordinate of view
+ ::ssize_t y(void) const;
+
+ // Width of view
+ size_t columns(void) const;
+
+ // Height of view
+ size_t rows(void) const;
+
+ private:
+
+ // Copying and assigning Pixels is not supported.
+ Pixels(const Pixels& pixels_);
+ const Pixels& operator=(const Pixels& pixels_);
+
+ Magick::Image _image; // Image reference
+ MagickCore::CacheView *_view; // Image view handle
+ ::ssize_t _x; // Left ordinate of view
+ ::ssize_t _y; // Top ordinate of view
+ size_t _columns; // Width of view
+ size_t _rows; // Height of view
+
+ }; // class Pixels
+
+ class MagickPPExport PixelData
+ {
+ public:
+
+ // Construct pixel data using specified image
+ PixelData(Magick::Image &image_,std::string map_,const StorageType type_);
+
+ // Construct pixel data using specified image
+ PixelData(Magick::Image &image_,const ::ssize_t x_,const ::ssize_t y_,
+ const size_t width_,const size_t height_,std::string map_,
+ const StorageType type_);
+
+ // Destroy pixel data
+ ~PixelData(void);
+
+ // Pixel data buffer
+ const void *data(void) const;
+
+ // Length of the buffer
+ ::ssize_t length(void) const;
+
+ // Size of the buffer in bytes
+ ::ssize_t size(void) const;
+
+ private:
+
+ // Copying and assigning PixelData is not supported
+ PixelData(const PixelData& pixels_);
+ const PixelData& operator=(const PixelData& pixels_);
+
+ void init(Magick::Image &image_,const ::ssize_t x_,const ::ssize_t y_,
+ const size_t width_,const size_t height_,std::string map_,
+ const StorageType type_);
+
+ void relinquish(void) throw();
+
+ void *_data; // The pixel data
+ ::ssize_t _length; // Length of the data
+ ::ssize_t _size; // Size of the data
+ }; // class PixelData
+
+} // Magick namespace
+
+//
+// Inline methods
+//
+
+// Left ordinate of view
+inline ::ssize_t Magick::Pixels::x(void) const
+{
+ return _x;
+}
+
+// Top ordinate of view
+inline ::ssize_t Magick::Pixels::y(void) const
+{
+ return _y;
+}
+
+// Width of view
+inline size_t Magick::Pixels::columns(void) const
+{
+ return _columns;
+}
+
+// Height of view
+inline size_t Magick::Pixels::rows(void) const
+{
+ return _rows;
+}
+
+#endif // Magick_Pixels_header
diff --git a/bin/7.0.5-5/include/ImageMagick-7/Magick++/ResourceLimits.h b/bin/7.0.5-5/include/ImageMagick-7/Magick++/ResourceLimits.h
new file mode 100755
index 0000000..2e0db88
--- /dev/null
+++ b/bin/7.0.5-5/include/ImageMagick-7/Magick++/ResourceLimits.h
@@ -0,0 +1,72 @@
+// This may look like C code, but it is really -*- C++ -*-
+//
+// Copyright Dirk Lemstra 2014
+//
+// Definition of resource limits.
+//
+
+#if !defined(Magick_ResourceLimits_header)
+#define Magick_ResourceLimits_header
+
+#include "Magick++/Include.h"
+
+namespace Magick
+{
+ class MagickPPExport ResourceLimits
+ {
+ public:
+
+ // Pixel cache limit in bytes. Requests for memory above this limit
+ // are automagically allocated on disk.
+ static void area(const MagickSizeType limit_);
+ static MagickSizeType area(void);
+
+ // Pixel cache limit in bytes. Requests for memory above this limit
+ // will fail.
+ static void disk(const MagickSizeType limit_);
+ static MagickSizeType disk(void);
+
+ // The maximum number of open pixel cache files. When this limit is
+ // exceeded, any subsequent pixels cached to disk are closed and reopened
+ // on demand. This behavior permits a large number of images to be accessed
+ // simultaneously on disk, but with a speed penalty due to repeated
+ // open/close calls.
+ static void file(const MagickSizeType limit_);
+ static MagickSizeType file(void);
+
+ // The maximum height of an image.
+ static void height(const MagickSizeType limit_);
+ static MagickSizeType height(void);
+
+ // Pixel cache limit in bytes. Once this memory limit is exceeded,
+ // all subsequent pixels cache operations are to/from disk.
+ static void map(const MagickSizeType limit_);
+ static MagickSizeType map(void);
+
+ // Pixel cache limit in bytes. Once this memory limit is exceeded,
+ // all subsequent pixels cache operations are to/from disk or to/from
+ // memory mapped files.
+ static void memory(const MagickSizeType limit_);
+ static MagickSizeType memory(void);
+
+ // Limits the number of threads used in multithreaded operations.
+ static void thread(const MagickSizeType limit_);
+ static MagickSizeType thread(void);
+
+ // Periodically yield the CPU for at least the time specified in
+ // milliseconds.
+ static void throttle(const MagickSizeType limit_);
+ static MagickSizeType throttle(void);
+
+ // The maximum width of an image.
+ static void width(const MagickSizeType limit_);
+ static MagickSizeType width(void);
+
+ private:
+ ResourceLimits(void);
+
+ }; // class ResourceLimits
+
+} // Magick namespace
+
+#endif // Magick_ResourceLimits_header
diff --git a/bin/7.0.5-5/include/ImageMagick-7/Magick++/STL.h b/bin/7.0.5-5/include/ImageMagick-7/Magick++/STL.h
new file mode 100755
index 0000000..0506cfa
--- /dev/null
+++ b/bin/7.0.5-5/include/ImageMagick-7/Magick++/STL.h
@@ -0,0 +1,2796 @@
+// This may look like C code, but it is really -*- C++ -*-
+//
+// Copyright Bob Friesenhahn, 1999, 2000, 2001, 2002, 2003
+// Copyright Dirk Lemstra 2013-2016
+//
+// Definition and implementation of template functions for using
+// Magick::Image with STL containers.
+//
+
+#ifndef Magick_STL_header
+#define Magick_STL_header
+
+#include "Magick++/Include.h"
+#include
+#include
+#include
+#include