From c2654fd95d69fc4b06734670f23cdfe14a4d5bf3 Mon Sep 17 00:00:00 2001 From: Dane Springmeyer Date: Thu, 17 Mar 2011 05:46:55 +0000 Subject: [PATCH] add missing file from previous commit --- bindings/python/mapnik_inmem_metawriter.cpp | 68 +++++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100644 bindings/python/mapnik_inmem_metawriter.cpp diff --git a/bindings/python/mapnik_inmem_metawriter.cpp b/bindings/python/mapnik_inmem_metawriter.cpp new file mode 100644 index 000000000..70009b079 --- /dev/null +++ b/bindings/python/mapnik_inmem_metawriter.cpp @@ -0,0 +1,68 @@ +/***************************************************************************** + * + * This file is part of Mapnik (c++ mapping toolkit) + * + * Copyright (C) 2011 Artem Pavlenko + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + * + *****************************************************************************/ +//$Id$ + +// boost +#include +#include +#include + +// mapnik +#include + +using mapnik::metawriter_inmem; +using mapnik::metawriter_inmem_ptr; + +namespace { +std::map::const_iterator +mapnik_value_map_begin(const std::map &m) { + return m.begin(); +} + +std::map::const_iterator +mapnik_value_map_end(const std::map &m) { + return m.end(); +} +} + +void export_inmem_metawriter() { + using namespace boost::python; + + class_ > + ("MapnikProperties", "Retarded.", init<>()) + .def("__iter__", range(&mapnik_value_map_begin, &mapnik_value_map_end)) + ; + + class_ + ("MetaInstance", "Single rendered instance of meta-information.", no_init) + .def_readonly("box", &metawriter_inmem::meta_instance::box) + .def_readonly("properties", &metawriter_inmem::meta_instance::properties) + ; + + class_ + ("MetaWriterInMem", + "Collects meta-information about elements rendered.", + no_init) + .def("__iter__", range(&metawriter_inmem::inst_begin, + &metawriter_inmem::inst_end)) + ; +}