> Stick with the clipping based approach, but how about an offscreen > buffer in main memory for just the parts in the frame buffer > with transparency? Not that I understand every aspect here, but I think that this is not as easy as it sounds. As far as I understand it, you need to have the current background to draw something transparent over it. If this is the case, this would either require to keep the whole frambuffer in main memory (reducing this approach to a double buffer), redrawing all parts below the new transparent area to build up the backgroud (which would take a long time for bigger areas) or to fetch the background from the graphics card (which is terribly slow). You can only keep the "parts with transparency" in a main memory buffer if you know beforehand what parts will have transparency. With the example of dragging a transparent bitmap this is certainly not the case. And getting or redrawing the background everytime when a user starts dragging that transparent bitmap around is a bit overkill I think. Just imagine the situation where you select something in ShowImage and drag it out to make a bitmap clip. The background changes with every move. Just my concerns about this. Or do I just miss something? Regards Michael