MCPcopy Create free account
hub / github.com/MapServer/MapServer / draw

Method draw

renderers/agg/include/agg_rasterizer_outline_aa.h:229–308  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

227 //----------------------------------------------------------------------------
228 template<class Renderer, class Coord>
229 void rasterizer_outline_aa<Renderer, Coord>::draw(draw_vars& dv,
230 unsigned start,
231 unsigned end)
232 {
233 unsigned i;
234 const vertex_storage_type::value_type* v;
235
236 for(i = start; i < end; i++)
237 {
238 if(m_line_join == outline_round_join)
239 {
240 dv.xb1 = dv.curr.x1 + (dv.curr.y2 - dv.curr.y1);
241 dv.yb1 = dv.curr.y1 - (dv.curr.x2 - dv.curr.x1);
242 dv.xb2 = dv.curr.x2 + (dv.curr.y2 - dv.curr.y1);
243 dv.yb2 = dv.curr.y2 - (dv.curr.x2 - dv.curr.x1);
244 }
245
246 switch(dv.flags)
247 {
248 case 0: m_ren->line3(dv.curr, dv.xb1, dv.yb1, dv.xb2, dv.yb2); break;
249 case 1: m_ren->line2(dv.curr, dv.xb2, dv.yb2); break;
250 case 2: m_ren->line1(dv.curr, dv.xb1, dv.yb1); break;
251 case 3: m_ren->line0(dv.curr); break;
252 }
253
254 if(m_line_join == outline_round_join && (dv.flags & 2) == 0)
255 {
256 m_ren->pie(dv.curr.x2, dv.curr.y2,
257 dv.curr.x2 + (dv.curr.y2 - dv.curr.y1),
258 dv.curr.y2 - (dv.curr.x2 - dv.curr.x1),
259 dv.curr.x2 + (dv.next.y2 - dv.next.y1),
260 dv.curr.y2 - (dv.next.x2 - dv.next.x1));
261 }
262
263 dv.x1 = dv.x2;
264 dv.y1 = dv.y2;
265 dv.lcurr = dv.lnext;
266 dv.lnext = m_src_vertices[dv.idx].len;
267
268 ++dv.idx;
269 if(dv.idx >= m_src_vertices.size()) dv.idx = 0;
270
271 v = &m_src_vertices[dv.idx];
272 dv.x2 = v->x;
273 dv.y2 = v->y;
274
275 dv.curr = dv.next;
276 dv.next = line_parameters(dv.x1, dv.y1, dv.x2, dv.y2, dv.lnext);
277 dv.xb1 = dv.xb2;
278 dv.yb1 = dv.yb2;
279
280 switch(m_line_join)
281 {
282 case outline_no_join:
283 dv.flags = 3;
284 break;
285
286 case outline_miter_join:

Callers 15

testBuiltInJPEGFormatMethod · 0.80
testCacheMemberTextMethod · 0.80
testLoadWMSRequestMethod · 0.80
testRemoveFirstClassMethod · 0.80
testDrawCloneMethod · 0.80
testDrawCloneJPEGMethod · 0.80
testDrawClonePNG24Method · 0.80
testDrawPointsMethod · 0.80

Calls 9

line_parametersClass · 0.85
bisectrixFunction · 0.85
diagonal_quadrantMethod · 0.80
line3Method · 0.45
line2Method · 0.45
line1Method · 0.45
line0Method · 0.45
pieMethod · 0.45
sizeMethod · 0.45

Tested by 15

testBuiltInJPEGFormatMethod · 0.64
testCacheMemberTextMethod · 0.64
testLoadWMSRequestMethod · 0.64
testDrawCloneMethod · 0.64
testDrawCloneJPEGMethod · 0.64
testDrawClonePNG24Method · 0.64
testDrawPointsMethod · 0.64
testAppendNewStyleMethod · 0.64