I was just curious…
why does SDL set the clipping mask on the src image of the blit rather
than setting it on the destination surface?

For example, I’d like to have a “game area” that is frequently updated
using SDL_UpdateRects() on the area. For example, I could have a 640x480
game area within a 800x600 window. The stuff outside of the 640x480
subwindow would be buttons, statistics, etc and thus not need to be
updated as often. Thus reducing the screensize that requires updating
every screen refresh.

The outter areas, for example a physical condition window like what is
done in quake, would only need to be updated when physical condition drops
between certain ranges.–
Brian Hayward

BTW: Kudos to the developers for releasing this!
I had actually started writing my own graphics library for cross platform
development. I had the API designed as well as X support implemented
(with the framework for DirectX in the planning stages). But this project
is so far past where I was (with sound, threads and video on multiple
platforms) that I’d be insane to re-invent the wheel. SDL must not have
been released when I started, because I looked for something like this.

Ok… I rambled on and never got to the point…

My point was… with all of the blits going into one subwindow of the main
screen, it would seem more efficient from an API standpoint to set it once
on the dest surface, rather than setting it for every single image that is
pasted to it.–