The logic was more complex than that, as the `draw_marker_at_points` method can fail (returning 0) if there have been non-orthogonal affine transforms applied, in which case we need to follow the same path as if the method wasn't available.

Writing the code like this cut out about 5-6 lines of unclear code.

The correct fix is probably that all Kiva gc's should implement `draw_marker_at_points` to trivially return 0 if they don't do anything special.