On 05/30/2009 12:59 PM, wine-devel-request@winehq.org wrote:
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.

Ciao

Max


Ok Max then document what you think the effort would be and what is needed to migrate your DIB engine into GDI32
Then We could send it to AJ for approval and go from there. This would be documenting the Delta which should
allow AJ to go line item by line item and say yes or no to each or what needs to do. How long would that take
you to do Max? Once that is done we would have a defined plan etc and going forward it would be documented.


Chris