1. 08 Jan, 2016 4 commits
  2. 07 Jan, 2016 1 commit
  3. 06 Jan, 2016 5 commits
  4. 05 Jan, 2016 1 commit
  5. 15 Dec, 2015 2 commits
  6. 12 Dec, 2015 1 commit
  7. 08 Dec, 2015 2 commits
    • Federico Mena Quintero's avatar
      3ef996ce
    • Federico Mena Quintero's avatar
      bgo#685906 - Marker angles are wrong when control points of a curve are coincident · 0cfdd27e
      Federico Mena Quintero authored
      This is a rewrite of the code to draw markers at path vertices.  The previous code did a single pass
      over the cairo_path_t data, and it tried to figure out the appropriate marker type for each vertex
      (start marker, middle, or end).  However, it had trouble with coincident points in curveto
      commands, and with zero-length path segments.  The SVG spec is verbose but clear on the behavior
      for those cases.
      
      The code now does two passes:
      
      1. Take the cairo_path_t data, which is an array of moveto/lineto/curveto/closepath commands, and
      turn it into a sequence of segments.  Each segment either has four control points, *or* it has
      a single point and the segment is degenerate.
      
      2. Walk that list of segments, and draw the appropriate markers for them.
      
      Having the list of segments makes it easy to implement the algorithm from the SVG spec,
      in which the directionality of special vertices (like those at the ends of zero-length segments)
      needs to be determined.
      
      This code is careful to not do division by zero or to get NaNs in the middle of the computation,
      which would get Cairo into an error state, preventing further drawing of markers within
      the path.
      
      Fixes https://bugzilla.gnome.org/show_bug.cgi?id=685906
      0cfdd27e
  8. 02 Dec, 2015 3 commits
  9. 06 Nov, 2015 2 commits
  10. 05 Nov, 2015 3 commits
  11. 03 Nov, 2015 1 commit
  12. 29 Oct, 2015 1 commit
  13. 27 Oct, 2015 2 commits
  14. 26 Oct, 2015 2 commits
  15. 22 Oct, 2015 10 commits