winequartz.drv Mac OS X UI discontinued?

Adam Strzelecki ono at java.pl
Fri Oct 3 06:09:11 CDT 2008


> I googled a bit more.  There are at least two ways of achieving this  
> mentioned in the docs of libFoundation: by using XML-RPC call and by  
> wrapping classes in ANSI-C APIs. [4]

Well actually you can easily access all Obj-C features trough the  
following pure C API:
http://developer.apple.com/documentation/Cocoa/Reference/ObjCRuntimeRef/Reference/reference.html

> While the above is correct, modern Cocoa, in opposite to it's  
> precedessor NeXTstep/OpenStep, is based on Quartz and  
> CoreFoundation, both of which are plain C APIs. There's no need for  
> neither Carbon nor Cocoa nor Objective-C to get some basic graphics  
> to the Mac OS X screen.

You are right, however what we all want to have is probably some Wine  
seamless integration with OSX GUI at higher level than Quartz which is  
just equivalent of WinGDI, and for this you need to somehow use  
HIToolkit of Carbon extra to do windows management, font handling etc.  
for example:
http://developer.apple.com/documentation/Carbon/Reference/Window_Manager/Reference/reference.html#/ 
/apple_ref/c/func/CreateNewWindow
.. to create new window.

The problem here is that HIToolkit from Carbon is a bit pushed away by  
Apple in favor of Cocoa, and the reason is that Carbon has its roots  
in Mac OS 8, and Cocoa is the new API for Mac OS X NextStep based  
system, moreover there's no 64-bit HIToolkit (which doesn't matter for  
Wine now, but may matter in the future).

There's nice discussion here:
http://www.lazarus.freepascal.org/index.php?name=PNphpBB2&file=printview&t=5017&start=15

I believe if pure C source is a constraint for Wine, one should try to  
make winequartz.drv to be Quartz API for all WinGDI like stuff + some  
HIToolbox for Window management and CoreText for text display.

Regards,
-- 
Adam Strzelecki




More information about the wine-devel mailing list