virtual void render_marker(svg_path_ptr const& src, svg_path_adapter & path, svg_attribute_type const& attrs, markers_dispatch_params const& params, agg::trans_affine const& marker_tr) { SvgRenderer svg_renderer(path, attrs); render_vector_marker(svg_renderer, ras_, renb_, src->bounding_box(), marker_tr, params.opacity, params.snap_to_pixels); }
virtual void render_marker(svg_path_ptr const& src, svg_path_adapter & path, svg_attribute_type const& attrs, markers_dispatch_params const& params, agg::trans_affine const& marker_tr) { render_vector_marker(ctx_, path, attrs, src->bounding_box(), marker_tr, params.opacity); }
vector_markers_dispatch(svg_path_ptr const& src, svg_path_adapter & path, svg_attribute_type const& attrs, agg::trans_affine const& marker_trans, symbolizer_base const& sym, Detector & detector, double scale_factor, feature_impl const& feature, attributes const& vars, bool snap_to_pixels, markers_renderer_context & renderer_context) : params_(src->bounding_box(), recenter(src) * marker_trans, sym, feature, vars, scale_factor, snap_to_pixels) , renderer_context_(renderer_context) , src_(src) , path_(path) , attrs_(attrs) , detector_(detector) {}
static agg::trans_affine recenter(svg_path_ptr const& src) { coord2d center = src->bounding_box().center(); return agg::trans_affine_translation(-center.x, -center.y); }