Hm... I'm not really happy with how this is working now... I have my quad drawing, but for some reason the pixels I draw with SetPixel sometimes don't draw or something, because I get flickering on my vertices which are squares I draw over my lines. The flickering is the lines showing through, and there's nothing wrong with my function to draw the square. That means the results are becoming visible before I free the device context...
I wonder if I might be able to do what Edzup suggested after all. While I could not capture the canvas reliably with the desktop buffer, it might just be possible that I can make a copy of it through GDI calls that would copy even the data that is not visible in the window... Then it would be a matter of resizing my canvas, capturing it at the new scale, and then returning it to it's normal size, and drawing the quad onto it...
But I am afraid that that would result in the user seeing the canvas resize, and allocating the canvas itself at larger sizes might itself take some time.
Hm...
I wonder if I might be able to do what Edzup suggested after all. While I could not capture the canvas reliably with the desktop buffer, it might just be possible that I can make a copy of it through GDI calls that would copy even the data that is not visible in the window... Then it would be a matter of resizing my canvas, capturing it at the new scale, and then returning it to it's normal size, and drawing the quad onto it...
But I am afraid that that would result in the user seeing the canvas resize, and allocating the canvas itself at larger sizes might itself take some time.
Hm...