1////////////////////////////////////////////////////////////////////////////////
2//
3//  ADOBE SYSTEMS INCORPORATED
4//  Copyright 2009 Adobe Systems Incorporated
5//  All Rights Reserved.
6//
7//  NOTICE: Adobe permits you to use, modify, and distribute this file
8//  in accordance with the terms of the license agreement accompanying it.
9//
10////////////////////////////////////////////////////////////////////////////////
11
12package mx.charts.series.renderData
13{
14
15import mx.charts.chartClasses.RenderData
16
17/**
18 *  Represents all the information needed by the ColumnSeries to render.
19 *
20 *  @langversion 3.0
21 *  @playerversion Flash 9
22 *  @playerversion AIR 1.1
23 *  @productversion Flex 3
24 */
25public class ColumnSeriesRenderData extends RenderData
26{
27    include "../../../core/Version.as";
28
29    //--------------------------------------------------------------------------
30    //
31    //  Constructor
32    //
33    //--------------------------------------------------------------------------
34
35    /**
36     *  Constructor.
37     *
38     *  @param cache The list of ColumnSeriesItem objects representing the items in the dataProvider.
39     *  @param filteredCache The list of ColumnSeriesItem objects representing the items in the dataProvider that remain after filtering.
40     *  @param renderedBase The vertical position of the base of the columns, in pixels.
41     *  @param renderedHalfWidth Half the width of a column, in pixels.
42     *  @param renderedXOffset The offset of each column from its x value, in pixels.
43     *  @param labelScale The scale factor of the labels rendered by the column series.
44     *  @param labelData A structure of data associated with the layout of the labels rendered by the column series.
45     *
46     *  @langversion 3.0
47     *  @playerversion Flash 9
48     *  @playerversion AIR 1.1
49     *  @productversion Flex 3
50     */
51    public function  ColumnSeriesRenderData(cache:Array /* of ColumnSeriesItem */ = null,
52                                            filteredCache:Array /* of ColumnSeriesItem */ = null,
53                                            renderedBase:Number = 0,
54                                            renderedHalfWidth:Number = 0,
55                                            renderedXOffset:Number = 0,
56                                            labelScale:Number = 1,
57                                            labelData:Object = null)
58    {
59        super(cache, filteredCache);
60
61        this.renderedBase = renderedBase;
62        this.renderedHalfWidth = renderedHalfWidth;
63        this.renderedXOffset = renderedXOffset;
64        this.labelScale = labelScale;
65        this.labelData = labelData;
66    }
67
68    //--------------------------------------------------------------------------
69    //
70    //  Properties
71    //
72    //--------------------------------------------------------------------------
73
74    //----------------------------------
75    //  labelData
76    //----------------------------------
77
78    [Inspectable(environment="none")]
79
80    /**
81     *  A structure of data associated with the layout of the labels rendered by the column series.
82     *
83     *  @langversion 3.0
84     *  @playerversion Flash 9
85     *  @playerversion AIR 1.1
86     *  @productversion Flex 3
87     */
88    public var labelData:Object;
89
90    //----------------------------------
91    //  labelScale
92    //----------------------------------
93
94    [Inspectable(environment="none")]
95
96    /**
97     *  The scale factor of the labels rendered by the column series.
98     *
99     *  @langversion 3.0
100     *  @playerversion Flash 9
101     *  @playerversion AIR 1.1
102     *  @productversion Flex 3
103     */
104    public var labelScale:Number;
105
106    //----------------------------------
107    //  renderedBase
108    //----------------------------------
109
110    [Inspectable(environment="none")]
111
112    /**
113     *  The vertical position of the base of the columns, in pixels.
114     *
115     *  @langversion 3.0
116     *  @playerversion Flash 9
117     *  @playerversion AIR 1.1
118     *  @productversion Flex 3
119     */
120    public var renderedBase:Number;
121
122    //----------------------------------
123    //  renderedHalfWidth
124    //----------------------------------
125
126    [Inspectable(environment="none")]
127
128    /**
129     *  Half the width of a column, in pixels.
130     *
131     *  @langversion 3.0
132     *  @playerversion Flash 9
133     *  @playerversion AIR 1.1
134     *  @productversion Flex 3
135     */
136    public var renderedHalfWidth:Number;
137
138    //----------------------------------
139    //  renderedXOffset
140    //----------------------------------
141
142    [Inspectable(environment="none")]
143
144    /**
145     *  The offset of each column from its x value, in pixels.
146     *
147     *  @langversion 3.0
148     *  @playerversion Flash 9
149     *  @playerversion AIR 1.1
150     *  @productversion Flex 3
151     */
152    public var renderedXOffset:Number;
153
154    //--------------------------------------------------------------------------
155    //
156    //  Methods
157    //
158    //--------------------------------------------------------------------------
159
160    /**
161     *  @private
162     */
163    override public function clone():RenderData
164    {
165        return new ColumnSeriesRenderData(cache, filteredCache, renderedBase,
166                                          renderedHalfWidth, renderedXOffset,
167                                          labelScale, labelData);
168    }
169}
170
171}