On 30/10/2007, at 4:13, Jeff Hobbs wrote:
> Kevin Walzer wrote:
>> With Leopard's release, I'm taking another look at Tk Aqua's future.
>
> I still find your notes more alarmist than practical in any sense.
> Apple's changes over time need to be followed, but from reading
> various
> articles, even Cocoa users weren't spared in Leopard, and Carbon is
> far
> from singular to Tk.
indeed, IMO there is no immediate cause for alarm, Carbon is certain
to be around for a long time yet even if it is now in maintenance
mode (i.e. no new features). Just look at QuickDraw, that has been
deprecated essentially since 10.0 and we're still using it in Tk in
Leopard today (even though our dependency on it is much reduced by now).
We don't particularly need any of the new features that have been /
are being added to other frameworks, most are not very applicable to
Tk as a cross-platform toolkit anyway (e.g. how would you integrate
CoreAnimation into Tk in a way that made x-plat sense?)
The main thing that we loose in the short term by the remaining
reliance on HIToolbox in Tk is the ability to run as 64bit, it's not
clear to me that this is crucial in the immediate future...
Note that many of the Carbon APIs that we use are in fact available
in 64bit on Leopard, such as Carbon event handling, HITheme & more,
and these are not likely to disappear (e.g. Cocoa event handling is
based on Carbon events).
The problem areas are essentially the same as always: native widgets
(i.e. not Ttk) and window (toplevel) handling.
These were bits that were going to have to be ripped out and replaced
anyway in a move to HIView & compositing mode; now that HIView is
deprecated, the move will have to be to NSView instead...
The main challenge with both moves is to figure out how to integrate
Tk's X11 style of drawing at idle time in response to Expose events
with the HIView/NSView model where the OS tells you when you can draw
and passes in the drawing environment to use (the only way to get a
CGContext for drawing in this model is inside a draw event handler
resp. drawRect method). There is no concept of an update event in
this environment, and currently I see no practical way to synthesize
Expose events that doesn't involve massive hacks.
The best way forward may well be generic Tk reform to rely less on
low-level X11 details and use a higher level abstraction that can
encompass both styles of drawing...
Cheers,
Daniel
--
** Daniel A. Steffen **
** <mailto:
das@...> **
-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems? Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >>
http://get.splunk.com/_______________________________________________
Tcl-mac mailing list
tcl-mac@...
https://lists.sourceforge.net/lists/listinfo/tcl-mac