| 425 | |
| 426 | |
| 427 | int agg2RenderVectorSymbol(imageObj *img, double x, double y, |
| 428 | symbolObj *symbol, symbolStyleObj * style) { |
| 429 | AGG2Renderer *r = AGG_RENDERER(img); |
| 430 | double ox = symbol->sizex * 0.5; |
| 431 | double oy = symbol->sizey * 0.5; |
| 432 | |
| 433 | mapserver::path_storage path = imageVectorSymbolAGG(symbol); |
| 434 | mapserver::trans_affine mtx; |
| 435 | mtx *= mapserver::trans_affine_translation(-ox,-oy); |
| 436 | mtx *= mapserver::trans_affine_scaling(style->scale); |
| 437 | mtx *= mapserver::trans_affine_rotation(-style->rotation); |
| 438 | mtx *= mapserver::trans_affine_translation(x, y); |
| 439 | path.transform(mtx); |
| 440 | if (style->color) { |
| 441 | r->m_rasterizer_aa.reset(); |
| 442 | r->m_rasterizer_aa.filling_rule(mapserver::fill_even_odd); |
| 443 | r->m_rasterizer_aa.add_path(path); |
| 444 | r->m_renderer_scanline.color(aggColor(style->color)); |
| 445 | mapserver::render_scanlines(r->m_rasterizer_aa, r->sl_poly, r->m_renderer_scanline); |
| 446 | } |
| 447 | if(style->outlinecolor) { |
| 448 | r->m_rasterizer_aa.reset(); |
| 449 | r->m_rasterizer_aa.filling_rule(mapserver::fill_non_zero); |
| 450 | r->m_renderer_scanline.color(aggColor(style->outlinecolor)); |
| 451 | mapserver::conv_stroke<mapserver::path_storage> stroke(path); |
| 452 | stroke.width(style->outlinewidth); |
| 453 | r->m_rasterizer_aa.add_path(stroke); |
| 454 | mapserver::render_scanlines(r->m_rasterizer_aa, r->sl_poly, r->m_renderer_scanline); |
| 455 | } |
| 456 | return MS_SUCCESS; |
| 457 | } |
| 458 | |
| 459 | int agg2RenderPixmapSymbol(imageObj *img, double x, double y, symbolObj *symbol, symbolStyleObj * style) { |
| 460 | AGG2Renderer *r = AGG_RENDERER(img); |
nothing calls this directly
no test coverage detected