Again I'd like to thank you guys for the great job you are doing here.
I'd like to ask you if ILayoutTarget will be mandatory for the viewable components, I've been looking the examples you gave me, and seems you already prepared some classes depending on this one, or maybe it's for the classes relying on the chromeLibrary.
I am asking this to you because I want to develop a dock plugin, and I'd like to prevent changes as much as I can for the sprint 10 release.
Thank you and great job.
A media element's view doesn't have to implement ILayoutTarget:
When a viewable media element gets added to a composite element (parallel or serial), then the composite's display object trait will be wrapping the child's display object in an internal class called MediaElementLayoutTarget. This wrapped element is what gets added to the composite display trait's own display object (which is a LayoutTargetSprite that has a LayoutRenderer associated (quite similar to what a MediaContainer does)).
In ChromeLibrary, the ControlBarBase class inherits from FadingSprite, that inherits from LayoutTargetSprite, that in turn implements ILayoutTarget. This is done in order to allow the controlbar to be added to a media container, so it can be positioned via the same layout renderer that also lays out the main media element (see line 165 of OSMFPlayer.as from the OSMFPlayer sample). The ControlBar object is not a MediaElement, though: previously it was simply staged and positioned manually, but we changed it to leverage the OSMF layout system instead.
More samples on using the layout API (for both media elements and non-media elements) are at: