Hi Mark. Try using the mx.graphics.LinearGradientFill class. It will proably make your life much easier than trying to use the graphics begingradientFill function. Ely.
________________________________ From: [email protected] [mailto:[EMAIL PROTECTED] On Behalf Of Mark Sent: Wednesday, March 21, 2007 1:08 PM To: [email protected] Subject: [flexcoders] Re: small problem with Bar Chart showing days OK, I got the size working, but now I have a new problem. I used a custom itemRenderer to change the size if the dates are the same. The code is redrawing the bars with a fill color of red (for now). I want that solid color to be a gradientFill, but I can't seem to get it to work at all. When I use the "beginGradientFill" like the code below all I get is 2 colors without an actual gradiant between them (and I'm trying for four colors). I tried using the Matrix but that just confused me more. Can someone lend a hand with that part? Here's what I have with the solid color -- package { import flash.display.Graphics; import flash.geom.Rectangle; import mx.charts.ChartItem; import mx.core.IDataRenderer; import mx.core.UIComponent; import mx.charts.chartClasses.LegendData; //import flash.display.GradientType; import flash.display.*; import flash.geom.Matrix; public class SetItemLength extends UIComponent implements IDataRenderer { // private var colors:Array = [0xFF9900,0xFFCC00, 0xA35901, 0x2B1500]; private var alphas:Array = [1, 1, 1, 1]; private var ratios:Array = [0, .20, .40, .85]; // // public function SetItemLength ():void { super(); } private var _chartItem:Object; public function get data():Object { return _chartItem; } public function set data(value:Object):void { if (_chartItem == value) return; // if(value is LegendData) return; _chartItem = ChartItem(value); } override protected function updateDisplayList (unscaledWidth:Number,unscaledHeight:Number):void { super.updateDisplayList(unscaledWidth, unscaledHeight); var rc:Rectangle = new Rectangle(0, 0, width , height ); var columnColor:uint; var g:Graphics = graphics; // // g.clear(); g.moveTo(rc.left,rc.top); // Only if the _chartItem has data if (_chartItem == null) return; // Only if the _chartItem has the attributes if(_chartItem.item.hasOwnProperty("startDate") && _chartItem.item.hasOwnProperty("endDate")){ // if (String(_chartItem.item.startDate) == String (_chartItem.item.endDate)){ rc.width = 2; g.beginGradientFill(GradientType.LINEAR, colors, alphas, ratios); } else g.beginGradientFill(GradientType.LINEAR, colors, alphas, ratios); } 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(); } } }

