void renderLabels(const char* path) { BOOST_TEST_MESSAGE("Render: " << path); cairo_surface_t* surface = cairo_image_surface_create(CAIRO_FORMAT_ARGB32, META_TILE_SIZE * TILE_SIZE, META_TILE_SIZE * TILE_SIZE); cairo_t* cr = cairo_create(surface); cairo_set_source_rgba(cr, 0.0, 0.0, 0.0, 1.0); cairo_save(cr); cairo_set_source_rgba(cr, 1.0, 1.0, 1.0, 1.0); cairo_paint(cr); cairo_restore(cr); std::vector<std::pair<string, FloatPoint>> toPlace; toPlace.push_back(std::pair<string, FloatPoint>("Karlsruhe", FloatPoint(40, 200))); toPlace.push_back(std::pair<string, FloatPoint>("Mannheim", FloatPoint(400, 200))); toPlace.push_back(std::pair<string, FloatPoint>("Stuttgard", FloatPoint(200, 260))); toPlace.push_back(std::pair<string, FloatPoint>("München", FloatPoint(380, 660))); toPlace.push_back(std::pair<string, FloatPoint>("Pforzheim", FloatPoint(200, 600))); toPlace.push_back(std::pair<string, FloatPoint>("Wien", FloatPoint(240, 680))); toPlace.push_back(std::pair<string, FloatPoint>("Paris", FloatPoint(40, 880))); toPlace.push_back(std::pair<string, FloatPoint>("Rom", FloatPoint(-40, 880))); toPlace.push_back(std::pair<string, FloatPoint>("Nothing", FloatPoint(400, 760))); toPlace.push_back(std::pair<string, FloatPoint>("To See", FloatPoint(720, 880))); toPlace.push_back(std::pair<string, FloatPoint>("Here", FloatPoint(720, 560))); toPlace.push_back(std::pair<string, FloatPoint>("Bielefeld", FloatPoint(420, 840))); renderer->renderLabels(cr, toPlace); BOOST_TEST_MESSAGE("Writing."); cairo_surface_flush(surface); cairo_surface_write_to_png(surface, path); }
void renderLabels(const char* path) { BOOST_TEST_MESSAGE("Render: " << path); Cairo::RefPtr<Cairo::Surface> surface = Cairo::ImageSurface::create(Cairo::FORMAT_ARGB32, META_TILE_SIZE * TILE_SIZE, META_TILE_SIZE * TILE_SIZE); Cairo::RefPtr<Cairo::Context> cr = Cairo::Context::create(surface); cr->set_source_rgba(0.0, 0.0, 0.0, 1.0); cr->save(); cr->set_source_rgba(1.0, 1.0, 1.0, 1.0); cr->paint(); cr->restore(); std::vector<std::pair<string, FloatPoint>> toPlace; toPlace.push_back(std::pair<string, FloatPoint>("Karlsruhe", FloatPoint(40, 200))); toPlace.push_back(std::pair<string, FloatPoint>("Mannheim", FloatPoint(400, 200))); toPlace.push_back(std::pair<string, FloatPoint>("Stuttgard", FloatPoint(200, 260))); toPlace.push_back(std::pair<string, FloatPoint>("München", FloatPoint(380, 660))); toPlace.push_back(std::pair<string, FloatPoint>("Pforzheim", FloatPoint(200, 600))); toPlace.push_back(std::pair<string, FloatPoint>("Wien", FloatPoint(240, 680))); toPlace.push_back(std::pair<string, FloatPoint>("Paris", FloatPoint(40, 880))); toPlace.push_back(std::pair<string, FloatPoint>("Rom", FloatPoint(-40, 880))); toPlace.push_back(std::pair<string, FloatPoint>("Nothing", FloatPoint(400, 760))); toPlace.push_back(std::pair<string, FloatPoint>("To See", FloatPoint(720, 880))); toPlace.push_back(std::pair<string, FloatPoint>("Here", FloatPoint(720, 560))); toPlace.push_back(std::pair<string, FloatPoint>("Bielefeld", FloatPoint(420, 840))); renderer->renderLabels(cr, toPlace); BOOST_TEST_MESSAGE("Writing."); surface->flush(); surface->write_to_png(path); }