int mapnik_map_zoom_all(mapnik_map_t * m) { mapnik_map_reset_last_error(m); if (m && m->m) { try { m->m->zoom_all(); } catch (std::exception const& ex) { m->err = new std::string(ex.what()); return -1; } return 0; } return -1; }
int mapnik_map_load(mapnik_map_t * m, const char* stylesheet) { mapnik_map_reset_last_error(m); if (m && m->m) { try { mapnik::load_map(*m->m,stylesheet); } catch (std::exception const& ex) { m->err = new std::string(ex.what()); return -1; } return 0; } return -1; }
int mapnik_map_load_string(mapnik_map_t *m, const char* s, const char* base_path) { mapnik_map_reset_last_error(m); if (m && m->m) { try { mapnik::load_map_string(*(m->m), s, 0, std::string(base_path)); } catch (std::exception const& ex) { m->err = new std::string(ex.what()); return -1; } return 0; } return -1; }
int mapnik_map_render_to_file(mapnik_map_t * m, const char* filepath) { mapnik_map_reset_last_error(m); if (m && m->m) { try { mapnik_image_type buf(m->m->width(),m->m->height()); mapnik::agg_renderer<mapnik_image_type> ren(*m->m,buf); ren.apply(); mapnik::save_to_file(buf,filepath); } catch (std::exception const& ex) { m->err = new std::string(ex.what()); return -1; } return 0; } return -1; }
mapnik_image_t * mapnik_map_render_to_image(mapnik_map_t * m) { mapnik_map_reset_last_error(m); mapnik_image_type * im = new mapnik_image_type(m->m->width(), m->m->height()); if (m && m->m) { try { mapnik::agg_renderer<mapnik_image_type> ren(*m->m,*im); ren.apply(); } catch (std::exception const& ex) { delete im; m->err = new std::string(ex.what()); return NULL; } } mapnik_image_t * i = new mapnik_image_t; i->i = im; return i; }
int mapnik_map_render_to_file(mapnik_map_t * m, const char* filepath, double scale, double scale_factor, const char *format) { mapnik_map_reset_last_error(m); if (m && m->m) { try { mapnik_rgba_image buf(m->m->width(), m->m->height()); mapnik::agg_renderer<mapnik_rgba_image> ren(*m->m, buf, scale_factor); if (scale > 0.0) { ren.apply(scale); } else { ren.apply(); } mapnik::save_to_file(buf, filepath, format); } catch (std::exception const& ex) { m->err = new std::string(ex.what()); return -1; } return 0; } return -1; }
mapnik_image_t * mapnik_map_render_to_image(mapnik_map_t * m, double scale, double scale_factor) { mapnik_map_reset_last_error(m); mapnik_rgba_image * im = new mapnik_rgba_image(m->m->width(), m->m->height()); if (m && m->m) { try { mapnik::agg_renderer<mapnik_rgba_image> ren(*m->m, *im, scale_factor); if (scale > 0.0) { ren.apply(scale); } else { ren.apply(); } } catch (std::exception const& ex) { delete im; m->err = new std::string(ex.what()); return NULL; } } mapnik_image_t * i = new mapnik_image_t; i->i = im; i->err = NULL; return i; }