wine-1.2 release criteria?
Massimo Del Fedele
max at veneto.com
Sun Dec 21 10:41:41 CST 2008
Rolf Kalbermatter ha scritto:
> It may be ugly in some ways but incorporating it in wineX11.drv has the big
> that it would not be easy to leverage it off to other possible display
> drivers such as the
> quartz driver. Windows 2K/XP does appear to do it mostly in the Eng... GDI
> which would have been another possibility.
> Vista changed the entire GDI/display driver business seriously again and I
> have no idea
> how it does work there.
> Rolf Kalbermatter
Well, imho the right way would be to replace winex11.drv with a driver
with pluggable backends, which could do all DIB stuffs as dib engine and
forward to the backend(s) all device drawings.
Or, even better, change gdi32 to hook to different drivers for DIB and
DDB bitmaps. I mean, every gdi function should test if bitmap is a DDB
or a DIB and use the appropriate driver.
What I'm doing now (and what's done in Jesse's and Huw's engines) is an
hack that swaps driver's hooks depending on bitmap type just on
SelectBitmap() function, which has many disadvantages :
1) BitBlt functions (and maybe any call that operates on 2 BMPs) must
check whether both BMPs are of the same kind, OR change one of them, in
order the correct driver to operate (which is indeed done in Jesse's and
in my engine).
2) CreateDc() and similars are called twice, once for every driver, and
the DIB one must be done on SelectBitmap(), which is ugly.
BTW, all that would require some major cleanup of gdi code, which I
guess nobody would like....
More information about the wine-devel