"When will an image have a negative width or height?" - When it's invalid/inverted (-1/0xFFFFFFFF).
"Why do you have to move the image in a separate step from drawing it?" - Because it's faster to send less parameters, but you don't know anything about push-call sequences.
L. Spiro: Let me show how to draw/paint/airbrush/sculpt anything: http://www.facebook....7/photos_stream You think you're so right, but you don't even know what your code converts to. How can you expect anyone to use your library?
uglybdavis: Forgive me for complimenting you
"It's all explained right here" - Dummy