| 572 | } |
| 573 | |
| 574 | void |
| 575 | Bitmap::render_vertices (std::vector<lay::RenderEdge> &edges, int mode) |
| 576 | { |
| 577 | double xmax = width (); |
| 578 | double ymax = height (); |
| 579 | |
| 580 | for (std::vector<lay::RenderEdge>::iterator e = edges.begin (); e != edges.end (); ++e) { |
| 581 | |
| 582 | double x, y; |
| 583 | |
| 584 | if (mode == 0 || e->delta () > 0) { |
| 585 | x = e->x1 () + 0.5; |
| 586 | y = e->y1 () + 0.5; |
| 587 | if (x >= 0.0 && x < xmax && y >= 0.0 && y < ymax) { |
| 588 | unsigned int xint = (unsigned int)x; |
| 589 | fill ((unsigned int)y, xint, xint + 1); |
| 590 | } |
| 591 | } |
| 592 | |
| 593 | if (mode == 0 || e->delta () < 0) { |
| 594 | x = e->x2 () + 0.5; |
| 595 | y = e->y2 () + 0.5; |
| 596 | if (x >= 0.0 && x < xmax && y >= 0.0 && y < ymax) { |
| 597 | unsigned int xint = (unsigned int)x; |
| 598 | fill ((unsigned int)y, xint, xint + 1); |
| 599 | } |
| 600 | } |
| 601 | |
| 602 | if (mode == 2 && e != edges.end ()) { |
| 603 | ++e; |
| 604 | } |
| 605 | |
| 606 | } |
| 607 | } |
| 608 | |
| 609 | void |
| 610 | Bitmap::render_contour_ortho (std::vector<lay::RenderEdge> &edges) |