Re: New way for Cocoa AU hosts to wrap Carbon AU GUIs?
Re: New way for Cocoa AU hosts to wrap Carbon AU GUIs?
- Subject: Re: New way for Cocoa AU hosts to wrap Carbon AU GUIs?
- From: William Stewart <email@hidden>
- Date: Wed, 25 May 2005 10:44:12 -0700
We found that this was extremely difficult to get right, and there is
one problem with the current AULab that we've since fixed to do with
activation...
We are planning on making more of this information available as soon
as we can - but I can't give you a date yet...
Bill
On 25/05/2005, at 8:04 AM, Evan Olcott wrote:
On May 25, 2005, at 9:49 AM, Luke Bellandi wrote:
It's no trick really. AU Lab installs event handlers on the Carbon
Windows that contain the AU to manage the deactivation events.
Namely:
EventTypeSpec applicationEventTypes[] = {
{kEventClassApplication, kEventAppActivated },
{kEventClassApplication, kEventAppDeactivated }
};
EventTypeSpec windowEventTypes[] = {
{kEventClassWindow, kEventWindowHandleDeactivate }
};
In the event handlers for window-deactivate, we trap and eat the
event so that it doesn't propagate to Carbon's standard event
handler (which would re-draw the view's controls with a disabled
appearance.)
- Luke
===
Personally, I'd consider that a trick... a very very clever one. ;)
So this is technically trapping the redraw if I'm reading it right
correct - so the Carbon window is actually *always* deactivated in
this state, but just not *drawn* as such... or is it the case where
the Carbon window never *knows* it's been deactivated in terms it's
knowledge of itself, but it actually is? (Basically what I'm saying
is does the Carbon window *know* it's not active?)
I'm assuming you've tested this with a number of AUs, and this
doesn't cause any issues with 3rd-party controls thinking they're
deactivated and not accessible but visually they're still active
(just thinking ahead - trapping and "patching" side effects have
hit me a lot in the past)..
I'd imagine the trapper itself is a very small code snippet - the
installation of the trapper and the trap itself...
Coming from the Cocoa side, getting into the Carbon headspace takes
a little bit - would you be willing to post the code snippet(s)?
Thanks for the trick! :)
Ev
Technical Knowledge Officer
Head Programmer/Designer
Audiofile Engineering
http://www.audiofile-engineering.com/
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Coreaudio-api mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden
--
mailto:email@hidden
tel: +1 408 974 4056
________________________________________________________________________
__
"Much human ingenuity has gone into finding the ultimate Before.
The current state of knowledge can be summarized thus:
In the beginning, there was nothing, which exploded" - Terry Pratchett
________________________________________________________________________
__
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Coreaudio-api mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden