From: Mats B. <ma...@pr...> - 2001-10-21 17:45:59
|
Jim Ingham wrote: > > On Saturday, October 20, 2001, at 03:19 AM, Mats Bengtsson wrote: > > No, it doesn't "hijack the event loop completely". It sets the function > that the Tcl event loop calls to convert a native event to a Tcl event. > IIRC (Bruce and I talked about this when he first did QTTcl, but it has > been a while...) you look at the events on the stream, and if you get a > "Play Movie" type event you handle it specially, and otherwise you send > it on to the function that was in place beforehand (TkMacConvertEvent). > Intercept is perhaps a better word for it. My point is that it stops other extensions from doing the same thing. > It would be much cleaner to have windows or subwindows register special > handlers for events at the native level, than to have to re-route the > whole event conversion mechanism. Another way to do this is to rely on Agree. Like WinProc in Win32, much better. > the Handler chain mechanism in Carbon Events, and so any event that the > Tk event converter doesn't recognize just gets sent up the chain, and > you will have to register a Carbon Event handler to deal with it. > Or perhaps the other way around, first low-level QT events etc., and then dispatch them to Tk. The Win32 code in QuickTimeTcl works like this. QT docs say that *all* events shall go through the "Is Player Event" handler, at least the Pre-Carbon docs. > I think something like this is what Jack needs as well. I need to take > a look at QTTcl again, figure out what things you need to do, and see if > I can come up with a good solution for you. I definitely want to get > this working, QTTcl is a VERY cool extension. But I never did like the > way it worked before, since it meant that you had to get your hands on > everybodies events to do something that was specific to your window... > Agree, it's terrible. > I want to get a better answer to the "how do I build any extensions at > all" question first, then I will look at this. However, if you want to > give it a try in the meantime, you are more than welcome. > My PowerBook is too old for X, but I can anyway start to make some Carbonization "in blindo". There are a few things that must be rewritten. /Mats |