I was just going through one code used to draw one chart. This code is written in the updateDisplayList function of the ItemRenderer of ColumnChart. I am not good at the graphics part of Flex. Can anybody please explain me what this code is doing? I can see the final output, but am not sure how is this achieved.
var rc:Rectangle = new Rectangle(0, 0, width , height);
var g:Graphics = graphics;
g.clear();
g.moveTo(rc.left,rc.top);
g.beginFill(fill);
g.lineTo(rc.right,rc.top);
g.lineTo(rc.right,rc.bottom);
g.lineTo(rc.left,rc.bottom);
g.lineTo(rc.left,rc.top);
g.endFill();
Regards, PK
It basically draws a rectangle.
Set the current drawing position to the top-left corner of the rectangle, which is 0, 0
Draw a line to top-right corner of the rectangle from the current location (which is top-left corner). The
lineTomethod updates the current location so that subsequent drawings start from the new point.Draw the remaining sides of the rectangle:
Check out the livedocs page for
Graphicsclass for more info.All the visual components in Flex inherit directly/indirectly from the
UIComponentclass. The updateDisplayList method ofUIComponentdraws the object and/or sizes and positions its children. This is an advanced method that you might override when creating a subclass ofUIComponent. When you override it in your child class, you should callsuper.updateDisplayListwith the correct parameters to make sure that the base class components are properly updated.