Subversion Repositories public

Compare Revisions

Ignore whitespace Rev 310 → Rev 311

/sportwatcher/trunk/src/render.h
147,7 → 147,8
POLYGONPATTERNSYMBOLIZER *PolygonPatternSymbolizer;
SHIELDSYMBOLIZER *ShieldSymbolizer;
LINEPATTERNSYMBOLIZER *LinePatternSymbolizer;
mapnik::rule_type rl; // the rule to be added to a style
// mapnik::rule_type rl; // the rule to be added to a style
mapnik::rule rl; // the rule to be added to a style
RULE *next; // Pointer to next rule
}RULE;
 
341,4 → 342,4
};
 
#endif // HAVE_MAPNIK
#endif // _RENDER_H
#endif // _RENDER_H
/sportwatcher/trunk/src/render.cpp
976,7 → 976,7
return true;
}
 
Layer lyr(Lay->name.toAscii().data());
layer lyr(Lay->name.toAscii().data());
 
if (!Lay->title.isEmpty())
lyr.set_title(Lay->title.toAscii().data());
1009,7 → 1009,7
lyr.setActive(Lay->status);
lyr.setQueryable(true);
m.addLayer(lyr);
Envelope <double>le(lyr.envelope());
box2d <double>le(lyr.envelope());
setMaxExtent(le.minx(), le.miny(), le.maxx(), le.maxy());
}
else if (qName.toLower() == QString("map"))
1035,7 → 1035,8
}
else
{
point_symbolizer ps(findIcon(PointSymbolizer->file).toAscii().data(), getTypeText(PointSymbolizer->type), PointSymbolizer->width, PointSymbolizer->height);
// point_symbolizer ps(findIcon(PointSymbolizer->file).toAscii().data(), getTypeText(PointSymbolizer->type), PointSymbolizer->width, PointSymbolizer->height);
point_symbolizer ps(parse_path(findIcon(PointSymbolizer->file).toAscii().data()));
ps.set_allow_overlap (PointSymbolizer->allow_overlap);
Rule->rl.append(ps);
}
1122,7 → 1123,10
cerr << "Error parsing " << XmlPath.toAscii().data() << ", line " << XmlLine << ": Empty TEXTSYMBOLIZER found --> ignoring!" << endl;
else
{
text_symbolizer ts(TextSymbolizer->name.toAscii().data(), TextSymbolizer->face_name.toAscii().data(), TextSymbolizer->size, setColor(TextSymbolizer->fill));
// text_symbolizer ts(TextSymbolizer->name.toAscii().data(), TextSymbolizer->face_name.toAscii().data(), TextSymbolizer->size, setColor(TextSymbolizer->fill));
std::stringstream s;
s << "[" << TextSymbolizer->name.toAscii().data() << "]";
text_symbolizer ts(parse_expression(s.str()), TextSymbolizer->face_name.toAscii().data(), TextSymbolizer->size, setColor(TextSymbolizer->fill));
 
if (TextSymbolizer->halo_radius != 0.0)
ts.set_halo_radius((unsigned int)TextSymbolizer->halo_radius);
1146,11 → 1150,11
if (!TextSymbolizer->alignment.isEmpty())
{
if (TextSymbolizer->alignment.toLower() == QString("top"))
ts.set_vertical_alignment(mapnik::TOP);
ts.set_vertical_alignment(mapnik::V_TOP);
else if (TextSymbolizer->alignment.toLower() == QString("middle"))
ts.set_vertical_alignment(mapnik::MIDDLE);
ts.set_vertical_alignment(mapnik::V_MIDDLE);
else if (TextSymbolizer->alignment.toLower() == QString("bottom"))
ts.set_vertical_alignment(mapnik::BOTTOM);
ts.set_vertical_alignment(mapnik::V_BOTTOM);
else
cerr << "Error parsing " << XmlPath.toAscii().data() << ", line " << XmlLine << ": Unknown >>vertical placement<< \"" << TextSymbolizer->alignment.toAscii().data() << "\" --> ignoring!" << endl;
}
1175,10 → 1179,11
cerr << "Error parsing " << XmlPath.toAscii().data() << ", line " << XmlLine << ": Incomplete POLYGONPATTERNSYMBOLIZER --> ignoring!" << endl;
else
{
Rule->rl.append(polygon_pattern_symbolizer(findIcon(PolygonPatternSymbolizer->file).toAscii().data(),
getTypeText(PolygonPatternSymbolizer->type),
PolygonPatternSymbolizer->width,
PolygonPatternSymbolizer->height));
// Rule->rl.append(polygon_pattern_symbolizer(findIcon(PolygonPatternSymbolizer->file).toAscii().data(),
// getTypeText(PolygonPatternSymbolizer->type),
// PolygonPatternSymbolizer->width,
// PolygonPatternSymbolizer->height));
Rule->rl.append(polygon_pattern_symbolizer(parse_path(findIcon(PolygonPatternSymbolizer->file).toAscii().data())));
}
}
else if (qName.toLower() == QString("shieldsymbolizer"))
1191,12 → 1196,18
return false;
}
 
shield_symbolizer ss(ShieldSymbolizer->name.toAscii().data(),
// shield_symbolizer ss(ShieldSymbolizer->name.toAscii().data(),
// ShieldSymbolizer->face_name.toAscii().data(),
// ShieldSymbolizer->size, setColor(ShieldSymbolizer->fill),
// findIcon(ShieldSymbolizer->file).toAscii().data(),
// getTypeText(ShieldSymbolizer->type),
// ShieldSymbolizer->width, ShieldSymbolizer->height);
std::stringstream s;
s << "[" << ShieldSymbolizer->name.toAscii().data() << "]";
shield_symbolizer ss(parse_expression(s.str()),
ShieldSymbolizer->face_name.toAscii().data(),
ShieldSymbolizer->size, setColor(ShieldSymbolizer->fill),
findIcon(ShieldSymbolizer->file).toAscii().data(),
getTypeText(ShieldSymbolizer->type),
ShieldSymbolizer->width, ShieldSymbolizer->height);
parse_path(findIcon(ShieldSymbolizer->file).toAscii().data()));
 
if (!ShieldSymbolizer->placement.isEmpty())
ss.set_label_placement((ShieldSymbolizer->placement.toLower() == QString("point")) ? mapnik::POINT_PLACEMENT : mapnik::LINE_PLACEMENT);
1219,10 → 1230,11
return false;
}
 
Rule->rl.append(line_pattern_symbolizer(findIcon(LinePatternSymbolizer->file).toAscii().data(),
getTypeText(LinePatternSymbolizer->type),
LinePatternSymbolizer->width,
LinePatternSymbolizer->height));
// Rule->rl.append(line_pattern_symbolizer(findIcon(LinePatternSymbolizer->file).toAscii().data(),
// getTypeText(LinePatternSymbolizer->type),
// LinePatternSymbolizer->width,
// LinePatternSymbolizer->height));
Rule->rl.append(line_pattern_symbolizer(parse_path(findIcon(LinePatternSymbolizer->file).toAscii().data())));
}
else if (qName.toLower() == QString("filter") ||
qName.toLower() == QString("maxscaledenominator") ||
1289,7 → 1301,12
Rule->filter = ch;
 
if (!Rule->filter.isEmpty())
Rule->rl.set_filter(create_filter(Rule->filter.toLatin1().data(), "latin1"));
{
std::stringstream s;
s << "[" << Rule->filter.toLatin1().data() << "] = 'latin1'";
Rule->rl.set_filter(parse_expression(s.str()));
// Rule->rl.set_filter(create_filter(Rule->filter.toLatin1().data(), "latin1"));
}
else
cerr << "Warning in file " << XmlPath.toAscii().data() << " at line " << XmlLine << ": Ignoring empty filter!" << endl;
}
1531,8 → 1548,8
freetype_engine::register_font(f.toAscii().data());
}
 
m.setWidth(_width);
m.setHeight(_height);
m.set_width(_width);
m.set_height(_height);
 
try
{
1562,15 → 1579,15
}
 
// First we use Mapnik to create the map
m.zoomToBox(Envelope<double>(plx, ply, prx, pry));
m.zoom_to_box(box2d<double>(plx, ply, prx, pry));
 
// Here we render the map to an image buffer
Image32 buf(m.getWidth(), m.getHeight());
agg_renderer<Image32> ren(m, buf);
image_32 buf(m.width(), m.height());
agg_renderer<image_32> ren(m, buf);
ren.apply();
 
// Put the image into a Qt object
QImage image((uchar*)buf.raw_data(), m.getWidth(), m.getHeight(), QImage::Format_ARGB32);
QImage image((uchar*)buf.raw_data(), m.width(), m.height(), QImage::Format_ARGB32);
pxmap = QPixmap::fromImage(image.rgbSwapped());
}
 
1965,4 → 1982,4
return ls;
}
 
#endif // HAVE_MAPNIK
#endif // HAVE_MAPNIK