diff --git a/lib/canvas.js b/lib/canvas.js index 101c55a..585b6c0 100644 --- a/lib/canvas.js +++ b/lib/canvas.js @@ -37,6 +37,22 @@ exports.version = '0.12.1'; exports.cairoVersion = cairoVersion; +/** + * jpeglib version. + */ + +if (canvas.jpegVersion) { + exports.jpegVersion = canvas.jpegVersion; +} + +/** + * gif_lib version. + */ + +if (canvas.gifVersion) { + exports.gifVersion = canvas.gifVersion.replace(/[^.\d]/g, ''); +} + /** * Expose constructors. */ diff --git a/src/Image.cc b/src/Image.cc index 1e34f0d..bb2ddbf 100644 --- a/src/Image.cc +++ b/src/Image.cc @@ -13,7 +13,6 @@ #include #ifdef HAVE_GIF -#include typedef struct { uint8_t *buf; unsigned len; diff --git a/src/Image.h b/src/Image.h index beec262..adbb37f 100644 --- a/src/Image.h +++ b/src/Image.h @@ -15,6 +15,10 @@ #include #endif +#ifdef HAVE_GIF +#include +#endif + class Image: public node::ObjectWrap { public: char *filename; diff --git a/src/init.cc b/src/init.cc index 6e28d23..cd26059 100644 --- a/src/init.cc +++ b/src/init.cc @@ -5,6 +5,7 @@ // Copyright (c) 2010 LearnBoost // +#include #include "Canvas.h" #include "Image.h" #include "ImageData.h" @@ -24,6 +25,14 @@ init (Handle target) { Gradient::Initialize(target); Pattern::Initialize(target); target->Set(String::New("cairoVersion"), String::New(cairo_version_string())); +#ifdef HAVE_JPEG + char jpeg_version[10]; + snprintf(jpeg_version, 10, "%d%c", JPEG_LIB_VERSION_MAJOR, JPEG_LIB_VERSION_MINOR + 'a' - 1); + target->Set(String::New("jpegVersion"), String::New(jpeg_version)); +#endif +#ifdef HAVE_GIF + target->Set(String::New("gifVersion"), String::New(GIF_LIB_VERSION)); +#endif } NODE_MODULE(canvas,init);