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