Stefan Dösinger wrote:
The problem is that there can't be any Objective-C code in Wine. At all. Or C++. Or Fortran. Or Pascal. Or Ada. Or Java. Or C# or VB. Or any language other than pure, procedural C.
Alexandre has said that you can put objective C code into wine, but only if this code is properly abstracted from the other parts of the quartz driver. E.g. by a simple binding wrapper that does nothing but wrap Objective C to C bindings. The requirement is that somebody can read and understand the Quartz driver without knowing Objective C.
The biggest obstacle to merging a Quartz driver is cleaning up the user32 driver interface. Objective C is a minor issue with a pretty straightforward solution. Currently nobody knows what a proper user32 driver interface would look like.
It might be a good idea to look at the code used in other projects to get a good starting point. OpenOffice.org did an implementation of an Aqua driver based from X11 code. Took SEVERAL years to do.
James McKenzie