4 ms·
> From what I can tell up to and including Windows XP the painting was done in software, i.e. the CPU was processing all the pixels of the window. I also believ
by BearOso 5y ago
> From what I can tell up to and including Windows XP the painting was done in software, i.e. the CPU was processing all the pixels of the window. I also believe that the frame and the client area were painted into the same pixel buffer that would eventually be copied to the main screen buffer.
On non-compositing windowing systems each window is designated a region of the front buffer to draw directly to it. Drawing outside that region was unrestricted and easy.
The rounded corners in Windows XP weren't hard-coded anywhere, they were just transparent parts of the bitmaps used in the theme engine. Even though they were transparent, they behaved like the opaque parts of the window border.
- NWoodsman 5y agosource? (I only ask because you sound knowledgeable and your answer implies some hefty interesting legacy) A better way to put it is OP is a "reverse engineer" whereas you sound like a "forward engineer"
- BearOso 5y agoFor the first part, look up Stacking Window Manager on Wikipedia. As for Windows XP's transparent corners, I used to make msstyle themes back in that era, so I happened to know how the theme engine works.
- tinus_hn 5y agoOn XP you don’t paint into ‘pixel buffers’, you just paint onto the screen. What you paint however is clipped by a mask, defined by clipping regions. I don’t know for sure what Microsoft used for their themes but it is far more likely they used the mechanism that already existed for arbitrarily shaped windows, the clipping regions, which happen to nicely match what they tried to do with these rounded windows, instead of using bitmaps, which is less efficient and new.