OK, it looks like the strange behavior seems to have been coming from
the following line in my child component's updateDisplayList method:
super.updateDisplayList(unscaledWidth, unscaleHeight);

When I changed this line to:
super.updateDisplayList(width, height);

I'd still welcome some explanation on this if anyone can comment.
Thanks,
-James

--- In [email protected], "jandersen1978"
<[EMAIL PROTECTED]> wrote:
>
> Flex Folk,
>    I apologize for this lengthy posting but I'm struggling and could use
> some help!
> I've got got 20 custom components that I'm laying out in a spiral
> pattern on a custom container.  I'm trying to use the scaleX and scaleY
> properties of the children to make the children on the outside of the
> spiral larger than the children on the inside... but I'm striking out...
> [:(]
> 
> I've implemented the measure method of the children as follows:
> override protected function measure():void {
>              super.measure();
> 
>              measuredWidth=110;
>              measuredMinWidth=50;
>              measuredHeight=110;
>              measuredMinHeight= 110;
>          }
> In the updateDisplayList method of the container I'm setting the scaleX
> and scaleY properties of each child in an attempt to gradually vary the
> size of each child from larger than 110 px (scale greater than 1) to
> smaller than 110 (scale less than 1) as the they go from the outer part
> of the spiral to the inner part.
> 
> However, all the children appear exactly the same size...  So I used
> trace within a resize event handler on the children and the
> updateDisplayList method of the container to try to figure out what's
> going on...  Here's what I found
> 
> The first output is from the resize handler on the children and looks
> like what I'd expect-- measured at 110x110 with default scaling and
> positioning
> child resize event--> measured w/h: 110/110 explicit w/h: NaN/NaN normal
> w/h: 110/110 x/y: 0/0 scaleX/Y: 1/1
> child resize event--> measured w/h: 110/110 explicit w/h: NaN/NaN normal
> w/h: 110/110 x/y: 0/0 scaleX/Y: 1/1
> child resize event--> measured w/h: 110/110 explicit w/h: NaN/NaN normal
> w/h: 110/110 x/y: 0/0 scaleX/Y: 1/1
> ...
> Next I get this output from the parent's updateDisplayList method.  The
> dimensions are still what I expected.  The updateDisplayList method 
> launches a Move effect on each child to move it to it's initial position
> in the spiral so it makes sense that x/y are still at zero.  The scale
> properties are now set appropriately and I would expect the children to
> be showing up at different sizes at this point:parent
> updateDisplayList-->measured w/h: 110/110 explicit w/h: NaN/NaN normal
> w/h: 110/110 x/y: 0/0 scaleX/Y: 0.5/0.5
> parent updateDisplayList-->measured w/h: 110/110 explicit w/h: NaN/NaN
> normal w/h: 110/110 x/y: 0/0 scaleX/Y: 0.535/0.535
> parent updateDisplayList-->measured w/h: 110/110 explicit w/h: NaN/NaN
> normal w/h: 110/110 x/y: 0/0 scaleX/Y:
> 0.5700000000000001/0.5700000000000001
> ...
> OK, here's where I start getting confused...  Now there's another resize
> event handled by each of the children which gives the following output. 
> I'm not sure why/how the children are getting resized since I'm not
> expliciting setting their width or height.  Does setting the scale
> properties cause a resize event?
> child resize event--> measured w/h: 55/55 explicit w/h: NaN/NaN normal
> w/h: 55/55 x/y: 3.4000000000000004/2.3000000000000003 scaleX/Y: 0.5/0.5
> child resize event--> measured w/h: 58.85/58.85 explicit w/h: NaN/NaN
> normal w/h: 58.85/58.85 x/y: 4.05/2 scaleX/Y: 0.535/0.535
> child resize event--> measured w/h: 62.70000000000001/62.70000000000001
> explicit w/h: NaN/NaN normal w/h: 62.70000000000001/62.70000000000001
> x/y: 4.65/1.8 scaleX/Y: 0.5700000000000001/0.5700000000000001
> ...
> From here on out the only output is from the parent's updateDisplayList
> method.  Even though the w/h show 55,  58, 62, etc.  on screen each
> child is exactly the same size!  Somehow the onscreen dimensions are
> equal to the measured dimensions divided by the scale properties  and I
> don't know why the measuredWidth is changing at all in the first place!
> parent updateDisplayList-->measured w/h: 55/55 explicit w/h: NaN/NaN
> normal w/h: 55/55 x/y: 3.4000000000000004/2.3000000000000003 scaleX/Y:
> 0.5/0.5
> parent updateDisplayList-->measured w/h: 58.85/58.85 explicit w/h:
> NaN/NaN normal w/h: 58.85/58.85 x/y: 4.05/2 scaleX/Y: 0.535/0.535
> parent updateDisplayList-->measured w/h:
> 62.70000000000001/62.70000000000001 explicit w/h: NaN/NaN normal w/h:
> 62.70000000000001/62.70000000000001 x/y: 4.65/1.8 scaleX/Y:
> 0.5700000000000001/0.5700000000000001Here's  one more item I
> encountered...  I got fed up with scaling and tried to explicitly set
> the width/height of each child but any time I explicitly set the
> width/height of the children they just disappeared!  Really not sure
> why...  This last bit was exceedingly frustrating!
> 
> I'm quite new to flex so if I'm going about things the wrong way please
> let me know.  This is great stuff and trying to get up to speed with
> it...  Any pointer on what's going on would be GREATLY appreciated!
> Thanks!
> -James
>


Reply via email to