Massimo Del Fedele
max at veneto.com
Sat May 30 03:08:32 CDT 2009
Ben Klein ha scritto:
> You would be surprised at how much of Wine is NOT a hack internally.
> Wine doesn't do hacks,
Well, well.... there are some, indeed.
Of course, it's better not add new ones :-)
hence AJ's reluctance to include the current
> DIB proposal in Wine (to make it "correct" later will require a lot of
> hacking, as Max has objected).
Again, my engine isn't a hack. Nor you'll need hacks to embed it on gdi32.
Even more, some parts will be simplified because of direct access to internal
gdi32 structures, which can't be done (without hacks....) in current implementation.
The *only* semi-hack is the direct access of gdifont struct from inside winedib....
it could also be avoided, but with much useless code added.
Useless because it will be so once embedded in gdi32.
>> Do we even have an architectural document or guidelines to reference?
> This was also raised on the existing thread. No. This is a problem.
> The best we have so far is "DIB engine should be integrated into
> GDI32". This is not a problem, because both Max and AJ share this
> goal, but if I understand correctly, Max doesn't want to invest the
> effort (which is a lot) until the current design is validated by
> inclusion into upstream source.
You got exactly the point :-)
To be precise, the effort isn't so huge, but summed with the effort of maintaining
all in sync with current tree the global effort would be great (and dumb, imho).
> Welcome aboard! I suggest that if you'd like to help out with the DIB
> engine (with the goal of getting it included to Wine upstream source),
> that you take a look at the code on bugzilla page #421 and talk to
> Massimo about how you might adapt it for integration into GDI32.
There's not too much to adapt.... moving the engine inside gdi32 is (IMHO)
not complicated at all. More a writing effort than a coding one.
But, *before*, I guess winex11.drv (and any possible driver that does DIBs internally)
should be patched stripping DIB handling *and* adding some stuffs for mixed transfers.
Again, not an huge work, for somebody that knows well drivers internals.
It could also be done later, if wished... but logically that would be the first step.
More information about the wine-devel