In looking at the code, unless explicitly sized, SkinnableComponent will get sized to the measuredWidth/Height of its skin.
If the skin defers its content, then the measurement might take place before the content defines the size in $width/$height. Or a subcomponent might get sized to 0 regardless of its content. HTH, -Alex On 12/31/14, 8:44 PM, "OmPrakash Muppirala" <bigosma...@gmail.com> wrote: >On Dec 31, 2014 3:30 PM, "Harbs" <harbs.li...@gmail.com> wrote: >> >> I think the width and height are set by the skin, and the host component >size is inferred from that. > >The failing tests are setting the BI's width and height, which does not >seem to propagate to the skin, at least in the test. > >> >> See Skin.as explicit min and max values and SkinableComponent.measure() >> >> Also, updateDisplayList() in SkinnableComponent calls setActualSize() on >the skin. > >As I am debugging through the tests, the values on these methods are >showing up as 0, which is what is so confusing. > >Thanks for taking the time to respond! > >Regards, >Om > >> >> Does that help? >> >> On Jan 1, 2015, at 1:00 AM, OmPrakash Muppirala <bigosma...@gmail.com> >wrote: >> >> > I am seeing that in the updateDisplayList() method of my BusyIndicator >> > skin, the unscaledWidth and unscaledHeight are showing up as 0. Even >> > hostComponent.width and hostComponent.height show up as 0. >> > >> > But hostComponent.$height and hostComponent.$width show the correct >values. >> > >> > >> > It looks like I might be missing something in the component <-> skin >> > contract. How does a skin know that a component has a new width and >height? >> > >> > This is one the reasons the BusyIndicator mustella tests are failing. >> > Anyone has insights on what could be happening here? >> > >> > Thanks, >> > Om >>