revert unintended file changes from r1275

This commit is contained in:
Dane Springmeyer 2009-07-26 01:15:44 +00:00
parent 45266074c8
commit e7dd9094a5
5 changed files with 24 additions and 132 deletions

View file

@ -24,9 +24,4 @@ Import('env')
if env['PLATFORM'] == 'SunOS':
env.StaticLibrary('agg', glob.glob('./src/' + '*.cpp'), LIBS=[], CPPPATH='./include', CXXFLAGS='-O -KPIC -DNDEBUG')
else:
link_flags = ''
cxx_flags = '-O%s -fPIC -DNDEBUG' % env['OPTIMIZATION']
if env['PLATFORM'] == 'Darwin':
cxx_flags += ' -arch ppc -arch i386 -arch ppc64 -arch x86_64 '
link_flags = ' -Wl,-syslibroot,/Developer/SDKs/MacOSX10.5.sdk '
env.StaticLibrary('agg', glob.glob('./src/' + '*.cpp'), LIBS=[], CPPPATH='./include', CXXFLAGS=cxx_flags,LINKFLAGS=link_flags)
env.StaticLibrary('agg', glob.glob('./src/' + '*.cpp'), LIBS=[], CPPPATH='./include', CXXFLAGS='-O%s -fPIC -DNDEBUG' % env['OPTIMIZATION'])

View file

@ -193,41 +193,20 @@ void render_tile_to_file(const mapnik::Map& map,
void render_to_file1(const mapnik::Map& map,
const std::string& filename,
const std::string& format)
{
if (format == "pdf" | format == "svg" | format =="ps" | format == "ARGB32" | format == "RGB24")
{
#if defined(HAVE_CAIRO)
mapnik::save_to_cairo_file(map,filename,format);
#else
throw mapnik::ImageWriterException("Cairo backend not available, cannot write to format: " + format);
#endif
}
else
{
mapnik::Image32 image(map.getWidth(),map.getHeight());
render(map,image,0,0);
mapnik::save_to_file(image,filename,format);
}
}
void render_to_file2(const mapnik::Map& map,const std::string& filename)
{
std::string format = mapnik::guess_type(filename);
if (format == "pdf" | format == "svg" | format =="ps")
{
#if defined(HAVE_CAIRO)
mapnik::save_to_cairo_file(map,filename,format);
#else
throw mapnik::ImageWriterException("Cairo backend not available, cannot write to format: " + format);
#endif
}
else
void render_to_file2(const mapnik::Map& map,
const std::string& filename)
{
mapnik::Image32 image(map.getWidth(),map.getHeight());
render(map,image,0,0);
mapnik::save_to_file(image,filename);
}
}
double scale_denominator(mapnik::Map const &map, bool geographic)
{

View file

@ -1,4 +1,4 @@
##!/usr/bin/env python
#!/usr/bin/env python
# -*- coding: utf-8 -*-
#
# $Id$
@ -313,26 +313,21 @@ m.layers.append(popplaces_lyr)
m.zoom_to_box(Envelope(-8024477.28459,5445190.38849,-7381388.20071,5662941.44855))
# Render two maps, two PNGs, one JPEG.
#im = Image(m.width,m.height)
#render(m, im)
im = Image(m.width,m.height)
render(m, im)
# Save image to files
images = []
#im.save('demo.png', 'png') # true-colour RGBA
#images.append('demo.png')
#im.save('demo256.png', 'png256') # save to palette based (max 256 colours) png
#images.append('demo256.png')
#im.save('demo.jpg', 'jpeg')
#images.append('demo.jpg')
render_to_file(m,'test_c.pdf','pdf')
render_to_file(m,'test_c.svg','svg')
render_to_file(m,'test_32.png','ARGB32')
render_to_file(m,'test_24.png','RGB24')
im.save('demo.png', 'png') # true-colour RGBA
images.append('demo.png')
im.save('demo256.png', 'png256') # save to palette based (max 256 colours) png
images.append('demo256.png')
im.save('demo.jpg', 'jpeg')
images.append('demo.jpg')
# Render cairo examples
try:
import cairo_
import cairo
surface = cairo.SVGSurface('demo.svg', m.width,m.height)
render(m, surface)
images.append('demo.svg')

View file

@ -27,7 +27,6 @@
// mapnik
#include <mapnik/config.hpp>
#include <mapnik/map.hpp>
#include <mapnik/graphics.hpp>
// boost
@ -54,10 +53,6 @@ namespace mapnik {
}
};
MAPNIK_DECL void save_to_cairo_file(mapnik::Map const& map,
std::string const& filename,
std::string const& type);
template <typename T>
MAPNIK_DECL void save_to_file(T const& image,
std::string const& filename,
@ -97,29 +92,11 @@ namespace mapnik {
boost::algorithm::iends_with(filename,std::string(".tiff"));
}
inline bool is_pdf (std::string const& filename)
{
return boost::algorithm::iends_with(filename,std::string(".pdf"));
}
inline bool is_svg (std::string const& filename)
{
return boost::algorithm::iends_with(filename,std::string(".svg"));
}
inline bool is_ps (std::string const& filename)
{
return boost::algorithm::iends_with(filename,std::string(".ps"));
}
inline std::string type_from_filename(std::string const& filename)
{
if (is_png(filename)) return "png";
if (is_jpeg(filename)) return "jpeg";
if (is_tiff(filename)) return "tiff";
if (is_pdf(filename)) return "pdf";
if (is_svg(filename)) return "svg";
if (is_ps(filename)) return "ps";
return "unknown";
}

View file

@ -35,10 +35,6 @@ extern "C"
#include <mapnik/memory.hpp>
#include <mapnik/image_view.hpp>
#ifdef HAVE_CAIRO
#include <mapnik/cairo_renderer.hpp>
#endif
// stl
#include <string>
#include <iostream>
@ -108,10 +104,8 @@ namespace mapnik
}
else throw ImageWriterException("unknown file type: " + type);
}
else throw ImageWriterException("Could not write file to " + filename );
}
template <typename T>
void save_to_file(T const& image,std::string const& filename)
{
@ -120,54 +114,6 @@ namespace mapnik
}
#if defined(HAVE_CAIRO)
void save_to_cairo_file(mapnik::Map const& map, std::string const& filename)
{
std::string type = type_from_filename(filename);
save_to_cairo_file(map,filename,type);
}
void save_to_cairo_file(mapnik::Map const& map,
std::string const& filename,
std::string const& type)
{
std::ofstream file (filename.c_str(), std::ios::out|std::ios::trunc|std::ios::binary);
if (file)
{
Cairo::RefPtr<Cairo::Surface> surface;
if (type == "pdf")
surface = Cairo::PdfSurface::create(filename, map.getWidth(),map.getHeight());
else if (type == "svg")
surface = Cairo::SvgSurface::create(filename, map.getWidth(),map.getHeight());
else if (type == "ps")
surface = Cairo::PsSurface::create(filename, map.getWidth(),map.getHeight());
else if (type == "ARGB32")
surface = Cairo::ImageSurface::create(Cairo::FORMAT_ARGB32, map.getWidth(),map.getHeight());
else if (type == "RGB24")
surface = Cairo::ImageSurface::create(Cairo::FORMAT_RGB24, map.getWidth(),map.getHeight());
else
throw ImageWriterException("unknown file type: " + type);
Cairo::RefPtr<Cairo::Context> context = Cairo::Context::create(surface);
if (type == "ARGB32" | type == "RGB24")
{
context->set_antialias(Cairo::ANTIALIAS_NONE);
}
mapnik::cairo_renderer<Cairo::Context> ren(map, context);
ren.apply();
if (type == "ARGB32" | type == "RGB24")
{
surface->write_to_png(filename);
}
surface->finish();
}
}
#endif
template void save_to_file<ImageData32>(ImageData32 const&,
std::string const&,
std::string const&);