------------------------------------------------------------------------
| 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); |
nothing calls this directly
no test coverage detected