Browse Source

Conditional JPEG support

v1.x
Tj Holowaychuk 14 years ago
parent
commit
3d916d03a0
  1. 6
      src/Image.cc
  2. 2
      src/Image.h
  3. 5
      wscript

6
src/Image.cc

@ -274,7 +274,9 @@ cairo_status_t
Image::loadSurface() {
switch (extension(filename)) {
case Image::PNG: return loadPNG();
#ifdef HAVE_JPEG
case Image::JPEG: return loadJPEG();
#endif
}
return CAIRO_STATUS_READ_ERROR;
}
@ -291,6 +293,8 @@ Image::loadPNG() {
return cairo_surface_status(_surface);
}
#ifdef HAVE_JPEG
/*
* Load JPEG, convert RGB to ARGB.
*/
@ -349,6 +353,8 @@ Image::loadJPEG() {
return cairo_surface_status(_surface);
}
#endif
/*
* Return UNKNOWN, JPEG, or PNG based on the filename.
*/

2
src/Image.h

@ -33,7 +33,9 @@ class Image: public node::ObjectWrap {
inline int stride(){ return cairo_image_surface_get_stride(_surface); }
cairo_status_t loadSurface();
cairo_status_t loadPNG();
#ifdef HAVE_JPEG
cairo_status_t loadJPEG();
#endif
void error(Local<Value>);
void loadSync();
void loaded();

5
wscript

@ -11,8 +11,9 @@ def configure(conf):
conf.check_tool('compiler_cxx')
conf.check_tool('node_addon')
conf.env.append_value('CPPFLAGS', '-DNDEBUG')
conf.check(lib='jpeg', uselib_store='JPEG')
conf.check_cfg(package='cairo', mandatory=1, args='--cflags --libs')
if conf.check(lib='jpeg', uselib_store='JPEG', mandatory=False):
conf.env.append_value('CPPFLAGS', '-DHAVE_JPEG=1')
conf.check_cfg(package='cairo', args='--cflags --libs', mandatory=True)
flags = ['-O3', '-Wall']
conf.env.append_value('CCFLAGS', flags)
conf.env.append_value('CXXFLAGS', flags)

Loading…
Cancel
Save