void set_join_caps_aa(Symbolizer const& sym, Rasterizer & ras, Feature & feature, attributes const& vars) { line_join_enum join = get<line_join_enum, keys::stroke_linejoin>(sym, feature, vars); switch (join) { case MITER_JOIN: ras.line_join(agg::outline_miter_accurate_join); break; case MITER_REVERT_JOIN: ras.line_join(agg::outline_no_join); break; case ROUND_JOIN: ras.line_join(agg::outline_round_join); break; default: ras.line_join(agg::outline_no_join); } line_cap_enum cap = get<line_cap_enum, keys::stroke_linecap>(sym, feature, vars); switch (cap) { case BUTT_CAP: ras.round_cap(false); break; case SQUARE_CAP: ras.round_cap(false); break; default: ras.round_cap(true); } }
void set_join_caps_aa(Stroke const& stroke_, Rasterizer & ras) { line_join_e join=stroke_.get_line_join(); switch (join) { case MITER_JOIN: ras.line_join(agg::outline_miter_accurate_join); break; case MITER_REVERT_JOIN: ras.line_join(agg::outline_no_join); break; case ROUND_JOIN: ras.line_join(agg::outline_round_join); break; default: ras.line_join(agg::outline_no_join); } line_cap_e cap=stroke_.get_line_cap(); switch (cap) { case BUTT_CAP: ras.round_cap(false); break; case SQUARE_CAP: ras.round_cap(false); break; default: ras.round_cap(true); } }