Due ot some backward compatibility reasons, the container does not honor
bordermetrics of borders that are not IRectangularBorder.   I guess we
should have names IRectangularBorder something like
IBorderThatHasRectangularContentArea.  It sounds like your tapered
border is one of those so you'll have to either implement
IRectangularBorder or subclass the containers and have it honor an
IBorder's bordermetrics.

 

________________________________

From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On
Behalf Of Daniel Gold
Sent: Wednesday, April 02, 2008 7:46 AM
To: flexcoders@yahoogroups.com
Subject: Re: [flexcoders] Sizing when dealing with custom borderSkin

 

So what is the approach to use for non-rectangular borders? If someone
has some good resources for programmatic border skins I'll happily
digest them, I've read anything I can find.

So let's say I've got a VBox and I create a custom skin that tapers the
right side into a point. I extend Border because it's not rectangular in
nature, can I not use this skin with Flex containers? Do I need custom
containers that work with borderSkins that are not rectangular?

On Tue, Apr 1, 2008 at 11:28 PM, Alex Harui <[EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]> > wrote:

You may have to implement IRectangularBorder

 

________________________________

From: flexcoders@yahoogroups.com <mailto:flexcoders@yahoogroups.com>
[mailto:flexcoders@yahoogroups.com <mailto:flexcoders@yahoogroups.com> ]
On Behalf Of Danny Gold
Sent: Tuesday, April 01, 2008 1:23 PM
To: flexcoders@yahoogroups.com <mailto:flexcoders@yahoogroups.com> 
Subject: [flexcoders] Sizing when dealing with custom borderSkin

 

I've created a programmatic border skin that extends 'Border', but
something seems a little off. I override the get borderMetrics
function to return the EdgeMetrics object representing how large my
custom border is, and I override updateDisplayList to draw the border.
That's pretty much all this is in my skin class.

When I use this skin on a container of some sort like a VBox, if I
view the borderMetrics property of the VBox, it is all 0s, and the
VBox doesn't seem to be taking the borderMetrics of its borderSkin
property into account. 

Let's say the right side of my skin needs 20 pixels. The VBox contents
seem to be drawn over my border skin instead of stopping 20 pixels
before the width of the container to allow for the skin.

Did I miss something? This is the first time I've written a
programmatic borderSkin.

 

 

Reply via email to