diff options
| author | Mike Wey | 2011-08-28 23:14:09 +0200 |
|---|---|---|
| committer | Mike Wey | 2011-08-28 23:14:09 +0200 |
| commit | 9498f56bea3a87e35bd6a92b9fc29d8ed7ba98c0 (patch) | |
| tree | 57c776db686f37bd0b7f926454684e83eda7a21b /dmagick/DrawingContext.d | |
| parent | 6dce2778d911d8a08b492af1c5f43e707a1de790 (diff) | |
Add a line function to the DrawingContext, and a few bug fixes.
Diffstat (limited to 'dmagick/DrawingContext.d')
| -rw-r--r-- | dmagick/DrawingContext.d | 23 |
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) |
