diff options
| author | Mike Wey | 2011-01-15 18:04:16 +0100 |
|---|---|---|
| committer | Mike Wey | 2011-01-15 18:04:16 +0100 |
| commit | 22835c8eb5458d510f7765df88ce8c9b34af787e (patch) | |
| tree | 103c55b2a9a87ffe762fb0be027295de239e1d74 /dmagick | |
| parent | e080979186e624ba7fed28ea9a76dfdf4feb635a (diff) | |
Add Options.d
Diffstat (limited to 'dmagick')
| -rw-r--r-- | dmagick/Options.d | 45 | ||||
| -rw-r--r-- | dmagick/c/image.d | 30 |
2 files changed, 55 insertions, 20 deletions
diff --git a/dmagick/Options.d b/dmagick/Options.d new file mode 100644 index 0000000..5896260 --- /dev/null +++ b/dmagick/Options.d @@ -0,0 +1,45 @@ +module dmagick.Options; + +import dmagick.c.draw; +import dmagick.c.image; +import dmagick.c.magickType; +import dmagick.c.memory; +import dmagick.c.quantize; + +class Options +{ + ImageInfo* imageInfo; + QuantizeInfo* quantizeInfo; + DrawInfo* drawInfo; + + this() + { + imageInfo = cast(ImageInfo*)AcquireMagickMemory(ImageInfo.sizeof); + quantizeInfo = cast(QuantizeInfo*)AcquireMagickMemory(QuantizeInfo.sizeof); + drawInfo = cast(DrawInfo*)AcquireMagickMemory(DrawInfo.sizeof); + + } + + this(const(ImageInfo)* imageInfo, const(QuantizeInfo)* quantizeInfo, const(DrawInfo)* drawInfo) + { + this.imageInfo = CloneImageInfo(imageInfo); + this.quantizeInfo = CloneQuantizeInfo(quantizeInfo); + this.drawInfo = CloneDrawInfo(imageInfo, drawInfo); + } + + ~this() + { + imageInfo = DestroyImageInfo(imageInfo); + quantizeInfo = DestroyQuantizeInfo(quantizeInfo); + drawInfo = DestroyDrawInfo(drawInfo); + } + + private void copyString(ref char[MaxTextExtent] field, string str) + { + if ( str.length >= MaxTextExtent ) + throw new Exception("text is to long"); //TODO: a proper exception. + + field[0 .. str.length] = str; + field[str.length] = '\0'; + } +} diff --git a/dmagick/c/image.d b/dmagick/c/image.d index 1425cc6..9893f9d 100644 --- a/dmagick/c/image.d +++ b/dmagick/c/image.d @@ -140,8 +140,7 @@ extern(C) OrientationType orientation; - //MagickBooleanType - int + MagickBooleanType taint, matte; @@ -263,8 +262,7 @@ extern(C) ExceptionInfo exception; - //MagickBooleanType - int + MagickBooleanType ddebug; ssize_t @@ -294,8 +292,7 @@ extern(C) InterpolatePixelMethod interpolate; - //MagickBooleanType - int + MagickBooleanType black_point_compensation; PixelPacket @@ -314,15 +311,13 @@ extern(C) ImageType type; - //MagickBooleanType - int + MagickBooleanType dither; MagickSizeType extent; - //MagickBooleanType - int + MagickBooleanType ping; } @@ -334,8 +329,7 @@ extern(C) OrientationType orientation; - //MagickBooleanType - int + MagickBooleanType temporary, adjoin, affirm, @@ -380,8 +374,7 @@ extern(C) border_color, matte_color; - //MagickBooleanType - int + MagickBooleanType dither, monochrome; @@ -400,8 +393,7 @@ extern(C) ssize_t group; - //MagickBooleanType - int + MagickBooleanType ping, verbose; @@ -443,8 +435,7 @@ extern(C) zero, filename; - //MagickBooleanType - int + MagickBooleanType ddebug; char* @@ -469,8 +460,7 @@ extern(C) void* profile; - //MagickBooleanType - int + MagickBooleanType synchronize; } |
