For your first question, it's probable that using 1d iterators
would not speed things, as they're less performant for 2d traversal. To
gain some speed, you could try storing the results of 'src.height()'
and 'src.row_end(y)' into variables, this would allow the compiler to
know for sure that these values are constant.
Also note that using numerical values are not really a problem
for your algorithm reusability : you could feed it with, say, a view
transformed with '
flipped_up_down_view'
so it could operate bottom-up, and so on.
For your second question, I'd look at creating a 'subimage_view'
from your source view, and then use 'copy_pixels' to copy it to your
destination image. This should be pretty close to optimal gil usage.