Skip to content

Commit 128886d

Browse files
committed
N-API mapnik.supports + cleanups (WIP) [skip ci]
1 parent fc8f6a7 commit 128886d

File tree

3 files changed

+69
-4
lines changed

3 files changed

+69
-4
lines changed

src/mapnik_map_render.cpp

-2
Original file line numberDiff line numberDiff line change
@@ -428,7 +428,6 @@ Napi::Value Map::render(Napi::CallbackInfo const& info)
428428
unsigned offset_y = 0;
429429

430430
Napi::Object options = Napi::Object::New(env);
431-
432431
if (info.Length() > 2)
433432
{
434433
// options object
@@ -941,7 +940,6 @@ Napi::Value Map::renderSync(Napi::CallbackInfo const& info)
941940
try
942941
{
943942
mapnik::image_rgba8 im(map_->width(), map_->height());
944-
//mapnik::Map const& map = *map_;
945943
mapnik::request m_req(map_->width(),map_->height(),map_->get_current_extent());
946944
m_req.set_buffer_size(buffer_size);
947945
mapnik::agg_renderer<mapnik::image_rgba8> ren(*map_,

src/node_mapnik.cpp

+67
Original file line numberDiff line numberDiff line change
@@ -336,6 +336,73 @@ Napi::Object init(Napi::Env env, Napi::Object exports)
336336
versions.Set("cairo", CAIRO_VERSION_STRING);
337337
#endif
338338
exports.Set("versions", versions);
339+
340+
// supports
341+
Napi::Object supports = Napi::Object::New(env);
342+
#ifdef GRID_RENDERER
343+
supports.Set("grid", Napi::Boolean::New(env,true));
344+
#else
345+
supports.Set("grid", Napi::Boolean::New(env,false));
346+
#endif
347+
348+
#ifdef SVG_RENDERER
349+
supports.Set("svg", Napi::Boolean::New(env,true));
350+
#else
351+
supports.Set("svg", Napi::Boolean::New(env,false));
352+
#endif
353+
354+
#if defined(HAVE_CAIRO)
355+
supports.Set("cairo", Napi::Boolean::New(env,true));
356+
#ifdef CAIRO_HAS_PDF_SURFACE
357+
supports.Set("cairo_pdf", Napi::Boolean::New(env,true));
358+
#else
359+
supports.Set("cairo_pdf", Napi::Boolean::New(env,false));
360+
#endif
361+
#ifdef CAIRO_HAS_SVG_SURFACE
362+
supports.Set("cairo_svg", Napi::Boolean::New(env,true));
363+
#else
364+
supports.Set("cairo_svg", Napi::Boolean::New(env,false));
365+
#endif
366+
#else
367+
supports.Set("cairo", Napi::Boolean::New(env,false));
368+
#endif
369+
370+
#if defined(HAVE_PNG)
371+
supports.Set("png", Napi::Boolean::New(env,true));
372+
#else
373+
supports.Set("png", Napi::Boolean::New(env,false));
374+
#endif
375+
376+
#if defined(HAVE_JPEG)
377+
supports.Set("jpeg", Napi::Boolean::New(env,true));
378+
#else
379+
supports.Set("jpeg", Napi::Boolean::New(env,false));
380+
#endif
381+
382+
#if defined(HAVE_TIFF)
383+
supports.Set("tiff", Napi::Boolean::New(env,true));
384+
#else
385+
supports.Set("tiff", Napi::Boolean::New(env,false));
386+
#endif
387+
388+
#if defined(HAVE_WEBP)
389+
supports.Set("webp", Napi::Boolean::New(env,true));
390+
#else
391+
supports.Set("webp", Napi::Boolean::New(env,false));
392+
#endif
393+
394+
#if defined(MAPNIK_USE_PROJ4)
395+
supports.Set("proj4", Napi::Boolean::New(env,true));
396+
#else
397+
supports.Set("proj4", Napi::Boolean::New(env,false));
398+
#endif
399+
400+
#if defined(MAPNIK_THREADSAFE)
401+
supports.Set("threadsafe", Napi::Boolean::New(env,true));
402+
#else
403+
supports.Set("threadsafe", Napi::Boolean::New(env,false));
404+
#endif
405+
exports.Set("supports", supports);
339406
return exports;
340407
}
341408

test/render-sync.test.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -134,7 +134,7 @@ test('should render to a file - tiff', (assert) => {
134134
assert.end();
135135
});
136136

137-
/*
137+
138138
if (mapnik.supports.cairo) {
139139
test('should render to a file - pdf', (assert) => {
140140
var map = new mapnik.Map(256, 256);
@@ -148,7 +148,7 @@ if (mapnik.supports.cairo) {
148148
} else {
149149
test.skip('should render to a file - pdf', function() { });
150150
}
151-
*/
151+
152152
test('should render to a file - scale', (assert) => {
153153
var map = new mapnik.Map(256, 256);
154154
map.loadSync('./test/stylesheet.xml');

0 commit comments

Comments
 (0)