Also at the end of the day the renderers just throw quads up anyway, so its a feasible change. The main thing is adding a function that requests a draw() with the dest rect having a proper orientation.
Having a look through, the following would need to be changed:
* renderer
* imageset
* image
* staticimage
The scope of it means I haven't launched into it myself (has anybody else added it and kept quiet?).
One solution would be to create a struct for object orientated rects - with functions for getting the absolute (axis aligned) rect bounds, rotating, etc. This would then be passed into the draw() in an overloaded function.
A smaller change would be to add an extra "rotation" float to the draw() functions, that then takes the dest rect and rotates it around its centre by that angle. That may be a better approach, although working out the clipping is still going to be messy.
Anyway, just a thought.
