void transform_at(unsigned pos,const CoordTransform& t) { if (pos >= pos_) return; unsigned block = pos >> block_shift; value_type* vertex = vertexs_[block] + (( pos & block_mask) << 1); t.forward_x(vertex); ++vertex; t.forward_y(vertex); }
void image_symbolizer::render(Feature const& feat,CoordTransform const& t,Image32& image) const { geometry_ptr const& geom=feat.get_geometry(); if (geom) { double x; double y; geom->label_position(&x,&y); t.forward_x(&x); t.forward_y(&y); int w=symbol_.width(); int h=symbol_.height(); int px=int(ceil(x - 0.5 * w)); int py=int(ceil(y - 0.5 * h)); image.set_rectangle_alpha(px,py,symbol_); } }