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

Method parse_path

renderers/agg/src/agg_svg_path_renderer.cpp:277–354  ·  view source on GitHub ↗

------------------------------------------------------------------------

Source from the content-addressed store, hash-verified

275
276 //------------------------------------------------------------------------
277 void path_renderer::parse_path(path_tokenizer& tok)
278 {
279 while(tok.next())
280 {
281 double arg[10];
282 char cmd = tok.last_command();
283 unsigned i;
284 switch(cmd)
285 {
286 case 'M': case 'm':
287 arg[0] = tok.last_number();
288 arg[1] = tok.next(cmd);
289 move_to(arg[0], arg[1], cmd == 'm');
290 break;
291
292 case 'L': case 'l':
293 arg[0] = tok.last_number();
294 arg[1] = tok.next(cmd);
295 line_to(arg[0], arg[1], cmd == 'l');
296 break;
297
298 case 'V': case 'v':
299 vline_to(tok.last_number(), cmd == 'v');
300 break;
301
302 case 'H': case 'h':
303 hline_to(tok.last_number(), cmd == 'h');
304 break;
305
306 case 'Q': case 'q':
307 arg[0] = tok.last_number();
308 for(i = 1; i < 4; i++)
309 {
310 arg[i] = tok.next(cmd);
311 }
312 curve3(arg[0], arg[1], arg[2], arg[3], cmd == 'q');
313 break;
314
315 case 'T': case 't':
316 arg[0] = tok.last_number();
317 arg[1] = tok.next(cmd);
318 curve3(arg[0], arg[1], cmd == 't');
319 break;
320
321 case 'C': case 'c':
322 arg[0] = tok.last_number();
323 for(i = 1; i < 6; i++)
324 {
325 arg[i] = tok.next(cmd);
326 }
327 curve4(arg[0], arg[1], arg[2], arg[3], arg[4], arg[5], cmd == 'c');
328 break;
329
330 case 'S': case 's':
331 arg[0] = tok.last_number();
332 for(i = 1; i < 4; i++)
333 {
334 arg[i] = tok.next(cmd);

Callers

nothing calls this directly

Calls 6

curve3Class · 0.85
curve4Class · 0.85
exceptionClass · 0.85
nextMethod · 0.80
last_numberMethod · 0.80
last_commandMethod · 0.45

Tested by

no test coverage detected