summaryrefslogtreecommitdiff
path: root/dmagick/DrawingContext.d
diff options
context:
space:
mode:
Diffstat (limited to 'dmagick/DrawingContext.d')
-rw-r--r--dmagick/DrawingContext.d23
1 files changed, 23 insertions, 0 deletions
diff --git a/dmagick/DrawingContext.d b/dmagick/DrawingContext.d
index 51f24f3..f177a51 100644
--- a/dmagick/DrawingContext.d
+++ b/dmagick/DrawingContext.d
@@ -7,6 +7,7 @@
module dmagick.DrawingContext;
import dmagick.Color;
+import dmagick.Exception;
import dmagick.Geometry;
import dmagick.Image;
import dmagick.Options;
@@ -198,6 +199,28 @@ class DrawingContext
}
/**
+ * Draw a line from start to end.
+ */
+ void line(size_t startX, size_t startY, size_t endX, size_t endY)
+ {
+ actions ~= (Image image)
+ {
+ PrimitiveInfo[] primitiveInfo = new PrimitiveInfo[3];
+
+ primitiveInfo[0].coordinates = 3;
+ primitiveInfo[0].primitive = PrimitiveType.LinePrimitive;
+ primitiveInfo[0].point = PointInfo(startX, startY);
+ primitiveInfo[1].primitive = PrimitiveType.LinePrimitive;
+ primitiveInfo[1].point = PointInfo(endX, endY);
+ primitiveInfo[2].primitive = PrimitiveType.UndefinedPrimitive;
+
+ DrawPrimitive(image.imageRef, image.options.drawInfo, primitiveInfo.ptr);
+
+ DMagickException.throwException(&(image.imageRef.exception));
+ };
+ }
+
+ /**
* Text rendering font point size
*/
void pointSize(double size)