http://bugs.winehq.org/show_bug.cgi?id=421
--- Comment #114 from max@veneto.com 2009-02-07 06:03:15 --- (In reply to comment #113)
To repeat my opinion (See #52), using "winedib.drv" is the wrong direction.
..........................
For this, the DIB implementation must move to GDI32 (the GDI Rendering Engine: Eng* and friends).
That's obvious and that's also my opinion. The problem is that including the DIB engine inside GDI32 (where it should indeed belong) would require huge changes in gdi32 code itself. So, IMHO, we wouldn't see the dib engine at least for a couple of years or more.
Now, with the winedib.drv choice we could develop ALL dib engine code from outside gdi32, with just some very small changes inside it, and have it working. With my latest code, the engine, if disabled, is totally transparent to gdi32 so it can't cause regressions, which is a good stuff, but can be tested by people needing it. Once we have the winedib.drv code fully functional, nothing blocks us to integrate it in gdi32.
Another possible solution would be to make an "alternative" gdi32 bindable at configure time in place of the actual one, on which the dib engine could be developed. People could choose with configure if to have the old good gdi32 or the new one with the engine embedded. IMHO that solution has an advantage (the "new" gdi32, when ready, would require no additional work to embed the engine) but an huge disadvantage, which is the ability to quickly switch on or off the engine, which could ease greatly the testing and debugging phase.
Ciao
Max