support scale_denominator override in save_to_cairo_file - closes #1930
This commit is contained in:
parent
ba4d06a530
commit
25dabd6f24
2 changed files with 9 additions and 6 deletions
|
@ -64,11 +64,13 @@ public:
|
|||
#if defined(HAVE_CAIRO)
|
||||
MAPNIK_DECL void save_to_cairo_file(mapnik::Map const& map,
|
||||
std::string const& filename,
|
||||
double scale_factor=1.0);
|
||||
double scale_factor=1.0,
|
||||
double scale_denominator=0.0);
|
||||
MAPNIK_DECL void save_to_cairo_file(mapnik::Map const& map,
|
||||
std::string const& filename,
|
||||
std::string const& type,
|
||||
double scale_factor=1.0);
|
||||
double scale_factor=1.0,
|
||||
double scale_denominator=0.0);
|
||||
#endif
|
||||
|
||||
template <typename T>
|
||||
|
|
|
@ -400,12 +400,12 @@ void save_to_file(T const& image, std::string const& filename, rgba_palette cons
|
|||
|
||||
#if defined(HAVE_CAIRO)
|
||||
// TODO - move to separate cairo_io.hpp
|
||||
void save_to_cairo_file(mapnik::Map const& map, std::string const& filename, double scale_factor)
|
||||
void save_to_cairo_file(mapnik::Map const& map, std::string const& filename, double scale_factor, double scale_denominator)
|
||||
{
|
||||
boost::optional<std::string> type = type_from_filename(filename);
|
||||
if (type)
|
||||
{
|
||||
save_to_cairo_file(map,filename,*type,scale_factor);
|
||||
save_to_cairo_file(map,filename,*type,scale_factor,scale_denominator);
|
||||
}
|
||||
else throw ImageWriterException("Could not write file to " + filename );
|
||||
}
|
||||
|
@ -413,7 +413,8 @@ void save_to_cairo_file(mapnik::Map const& map, std::string const& filename, dou
|
|||
void save_to_cairo_file(mapnik::Map const& map,
|
||||
std::string const& filename,
|
||||
std::string const& type,
|
||||
double scale_factor)
|
||||
double scale_factor,
|
||||
double scale_denominator)
|
||||
{
|
||||
std::ofstream file (filename.c_str(), std::ios::out|std::ios::trunc|std::ios::binary);
|
||||
if (file)
|
||||
|
@ -467,7 +468,7 @@ void save_to_cairo_file(mapnik::Map const& map,
|
|||
*/
|
||||
|
||||
mapnik::cairo_renderer<cairo_ptr> ren(map, create_context(surface), scale_factor);
|
||||
ren.apply();
|
||||
ren.apply(scale_denominator);
|
||||
|
||||
if (type == "ARGB32" || type == "RGB24")
|
||||
{
|
||||
|
|
Loading…
Add table
Reference in a new issue