Drawing outside the window?

Is it possible to use SDL (+OpenGl if necessary) to read/draw from/to the screen ‘directly’? I would like to be able to query the screen state (like a big 2d array of RGB values, or similar) and write to the screen (manipulate specific pixels). “cheating” is ok by me.

SDL doesn’t offer any functionality for this, sorry.

There are possibly hacks that can make this work, but they are all system-dependent (you could use, on Windows, GetDC(NULL) to get a drawing context for the entire screen and run from there, for example).