summaryrefslogtreecommitdiff
path: root/dmagick/c/monitor.d
diff options
context:
space:
mode:
Diffstat (limited to 'dmagick/c/monitor.d')
-rw-r--r--dmagick/c/monitor.d23
1 files changed, 23 insertions, 0 deletions
diff --git a/dmagick/c/monitor.d b/dmagick/c/monitor.d
new file mode 100644
index 0000000..6d0651e
--- /dev/null
+++ b/dmagick/c/monitor.d
@@ -0,0 +1,23 @@
+module dmagick.c.monitor;
+
+import dmagick.c.image;
+import dmagick.c.magickType;
+
+extern(C)
+{
+ alias MagickBooleanType function(const char*, const MagickOffsetType, const MagickSizeType, void*) MagickProgressMonitor;
+
+ MagickProgressMonitor SetImageProgressMonitor(Image*, const MagickProgressMonitor, void*);
+ MagickProgressMonitor SetImageInfoProgressMonitor(ImageInfo*, const MagickProgressMonitor, void*);
+}
+
+static pure nothrow MagickBooleanType QuantumTick(const MagickOffsetType offset, const MagickSizeType span)
+{
+ if (span <= 100)
+ return(true);
+ if (offset == cast(MagickOffsetType) (span-1))
+ return(true);
+ if ((offset % (span/100)) == 0)
+ return(true);
+ return(false);
+}