Mike Owens


Renaissance Hacker Extraordinaire (look at the ego on this one)

Filespanker LLC

September 24
I’ve noticed I’m in this pattern of writing all this complicated code, getting it working, then finding a way of pushing it off by getting the same functionality from a library I’m already using.  In this example, I’ve replaced my GeometryPen with Cairo’s cairo_copy_path_flat.

I was under the impression that the tolerance could not be set on curves, but cairo_set_tolerance is sitting right there, fully documented.  For the most part, the functionality is the same, but Cairo by itself is a bit smarter than my solution regarding circles.  My implementation converted them into arcs in an almost cool manner, but by the time they came out, they were sliced like pizzas in the physics engine, which wasn’t required, as it’s still a simple polygon.  Cairo generates some nice stop-signs.

Also in the photo: misaligned parallax scrolling.  On the long list of TODO.

I’ve noticed I’m in this pattern of writing all this complicated code, getting it working, then finding a way of pushing it off by getting the same functionality from a library I’m already using. In this example, I’ve replaced my GeometryPen with Cairo’s cairo_copy_path_flat.

I was under the impression that the tolerance could not be set on curves, but cairo_set_tolerance is sitting right there, fully documented. For the most part, the functionality is the same, but Cairo by itself is a bit smarter than my solution regarding circles. My implementation converted them into arcs in an almost cool manner, but by the time they came out, they were sliced like pizzas in the physics engine, which wasn’t required, as it’s still a simple polygon. Cairo generates some nice stop-signs.

Also in the photo: misaligned parallax scrolling. On the long list of TODO.