Programmatic skins in Flex

Posted by Flexer on Stack Overflow See other posts from Stack Overflow or by Flexer
Published on 2010-03-24T02:57:33Z Indexed on 2010/03/24 3:03 UTC
Read the original article Hit count: 533

Filed under:

Hi,

I am having 2 problems creating programmatic skin for Canvas.

First problem: I would like to have background with rounded corners and I am using GraphicsUtil.drawRoundRectComplex in order to have round corners for only the upper two corners. The problem is that drawRoundRectComplex takes for each corner one single parameter - the corner radius. However my scaleX and scaleY factors are different and in fact the corners are not properly rounded because I either can set the radius using scaleX or scaleY. Graphics.drawRoundRect is better because it takes two parameters for the corners - elipse width and height and then you could apply both scale factors but it doesn't allow me to specify different radius for different corners. I am looking for an idea how to use GraphicsUtil.drawRoundRectComplex when scaleX and scaleY are different.

Second problem: Even though I set my programmatic skin through style - <> the skin's updateDisplayList gets executed only once and after that somehow "backgroundImage" style gets "undefined" and my programmatic skin is not associated anymore to the Canvas instance. As a workaround I am setting on each resize event "backgroundImage" style again but this is ugly. What could cause such "silent" resetting of the "backgroundImage" style to undefined?

Thanks!

© Stack Overflow or respective owner

Related posts about flex