On Wednesday 06 July 2005 7:59 pm, Frank Richter wrote:
On 07.07.2005 01:40, Kevin Koltzau wrote:
StrechDIBits is at fault, you´ll notice if you call that with the original size of the bitmap (hence not stretching) it works as expected
Hm, isn't that the case already here? LoadImage() is called without a specific size, so the actual size of the bitmap should be used and no stretching be done?
The stretching is happening when you try to paint, not when you load the image. As for stretching in uxtheme, the correct solution would actually be to use AlphaBlend, which at the moment if you have a newish version of xrender will stretch properly, as well as handle the alpha channel correctly. If you change the StretchBlt call in UXTHEME_StretchBlt to AlphaBlend everything should work properly.
The reason I didn´t do that as of yet is AlphaBlend will not draw at all if you try to stretch and have an older version of xrender without XRenderSetPictureTransform, there is no fallback currently.