diff --git a/demo/c++/Makefile b/demo/c++/Makefile index 5fd1cc407..63747af38 100644 --- a/demo/c++/Makefile +++ b/demo/c++/Makefile @@ -1,7 +1,7 @@ CXX = g++ -INCLUDE = `pkg-config --cflags mapnik freetype2` -LIBDIR = `pkg-config --libs mapnik freetype2` +INCLUDE = `pkg-config --cflags mapnik freetype2 cairomm-1.0` +LIBDIR = `pkg-config --libs mapnik freetype2 cairomm-1.0` DEFINES = diff --git a/demo/c++/rundemo.cpp b/demo/c++/rundemo.cpp index 423a27432..1f3dedabd 100644 --- a/demo/c++/rundemo.cpp +++ b/demo/c++/rundemo.cpp @@ -33,6 +33,10 @@ #include #include +// cairo +#include +#include + #include @@ -247,11 +251,39 @@ int main ( int argc , char** argv) save_to_file(buf.data(),"demo.jpg","jpeg"); save_to_file(buf.data(),"demo.png","png"); save_to_file(buf.data(),"demo256.png","png256"); - std::cout << "Three maps have been rendered in the current directory:\n" + std::cout << "Three maps have been rendered using AGG in the current directory:\n" "- demo.jpg\n" "- demo.png\n" "- demo256.png\n" "Have a look!\n"; + + + Cairo::RefPtr image_surface; + + image_surface = Cairo::ImageSurface::create(Cairo::FORMAT_ARGB32, m.getWidth(),m.getHeight()); + cairo_renderer png_render(m, image_surface); + png_render.apply(); + image_surface->write_to_png("cairo-demo.png"); + + Image32 im(image_surface); + save_to_file(im, "cairo-demo256.png","png256"); + + Cairo::RefPtr surface; + surface = Cairo::PdfSurface::create("cairo-demo.pdf", m.getWidth(),m.getHeight()); + cairo_renderer pdf_render(m, surface); + pdf_render.apply(); + + surface = Cairo::SvgSurface::create("cairo-demo.svg", m.getWidth(),m.getHeight()); + cairo_renderer svg_render(m, surface); + svg_render.apply(); + + std::cout << "Three maps have been rendered using Cairo in the current directory:\n" + "- cairo-demo.png\n" + "- cairo-demo256.png\n" + "- cairo-demo.pdf\n" + "- cairo-demo.svg\n" + "Have a look!\n"; + } catch ( const mapnik::config_error & ex ) { diff --git a/demo/viewer/viewer.pro b/demo/viewer/viewer.pro index fb17aa2cb..9c47b9c93 100644 --- a/demo/viewer/viewer.pro +++ b/demo/viewer/viewer.pro @@ -10,7 +10,7 @@ INCLUDEPATH += /usr/X11/include/ INCLUDEPATH += . QMAKE_CXXFLAGS +=' -DDARWIN' -unix:LIBS = -L/opt/mapnik/lib -L/usr/X11/lib -lmapnik -lfreetype +unix:LIBS = -L/opt/mapnik/lib -L/usr/X11/lib -lmapnik -lfreetype -L/usr/local/lib -licuuc # Input