[Please do not mail me a copy of your followup]
Rolf Magnus <> spake the secret code
<ig8g1a$p3g$02$> thusly:
>Richard wrote:
>
>> [Please do not mail me a copy of your followup]
>>
>> Rolf Magnus <> spake the secret code
>> <ifkt1s$re1$02$> thusly:
>>
>>>Under Windows, Qt uses the Windows style engine to draw widgets.
>>
>> What exactly do you mean by "Windows style engine"?
>
>Whatever Qt means by it, I guess.
Well, what Qt means by Windows style engine is a piece of software
that cooks the entire visual representation of a widget into pixels
and then does a BitBlt style operation to get it on the screen. I
would hardly call this "using the native graphics API to render
widgets".
> The QWindowsXPStyle class provides a Microsoft Windows XP-like look and
> feel.
> Warning: This style is only available on the Windows XP platform because
> it makes use of Windows XP's style engine.
>
>Similar for QWindowsVistaStyle:
>( http://doc.qt.nokia.com/latest/qwindowsvistastyle.html )
>
> The QWindowsVistaStyle class provides a look and feel suitable for
> applications on Microsoft Windows Vista.
> Warning: This style is only available on the Windows Vista platform
> because it makes use of Windows Vista's style engine.
Well, its the source code that matters, not documentation. Looking at
the source code for the XP theme style I see that they get the
function pointer for DrawThemeBackground and DrawThemeBackgroundEx, so
presumably they use those functions. Otherwise, all the function
pointers are Get functions used to query the theme for its parameters
so that they can cook them into pixels themselves. Even then, the
background is only drawn with these functions in certain cases and in
other cases, they cook the background into pixels themselves and blt
that to the screen. When they do use these functions, its to draw the
background of the pixel buffer on top of which they will compose their
own pixel rendering.
The bottom line is that Qt, just like it has always done, does not use
native controls and can't be fairly said to use the native API for
the rendering of its own controls.
--
"The Direct3D Graphics Pipeline" -- DirectX 9 draft available for download
<http://legalizeadulthood.wordpress.com/the-direct3d-graphics-pipeline/>
Legalize Adulthood! <http://legalizeadulthood.wordpress.com>