1
9
10 import flash.display.BitmapData;
11 import flash.filters.BevelFilter;
12 import flash.filters.BitmapFilter;
13 import flash.filters.BlurFilter;
14 import flash.filters.ColorMatrixFilter;
15 import flash.filters.ConvolutionFilter;
16 import flash.filters.DisplacementMapFilter;
17 import flash.filters.DropShadowFilter;
18 import flash.filters.GlowFilter;
19 import flash.filters.GradientBevelFilter;
20 import flash.filters.GradientGlowFilter;
21 import flash.geom.Point;
22
23 import caurina.transitions.Tweener;
24 import caurina.transitions.AuxFunctions;
25
26 class caurina.transitions.properties.FilterShortcuts {
27
28
31 public function FilterShortcuts () {
32 trace ("This is an static class and should not be instantiated.")
33 }
34
35
38 public static function init():Void {
39
40
41 Tweener.registerSpecialPropertySplitter("_filter", _filter_splitter);
42
43
44
45 Tweener.registerSpecialProperty("_Bevel_angle", _filter_property_get, _filter_property_set, [BevelFilter, "angle"]);
46 Tweener.registerSpecialProperty("_Bevel_blurX", _filter_property_get, _filter_property_set, [BevelFilter, "blurX"]);
47 Tweener.registerSpecialProperty("_Bevel_blurY", _filter_property_get, _filter_property_set, [BevelFilter, "blurY"]);
48 Tweener.registerSpecialProperty("_Bevel_distance", _filter_property_get, _filter_property_set, [BevelFilter, "distance"]);
49 Tweener.registerSpecialProperty("_Bevel_highlightAlpha", _filter_property_get, _filter_property_set, [BevelFilter, "highlightAlpha"]);
50 Tweener.registerSpecialPropertySplitter("_Bevel_highlightColor", _generic_color_splitter, ["_Bevel_highlightColor_r", "_Bevel_highlightColor_g", "_Bevel_highlightColor_b"]);
51 Tweener.registerSpecialProperty("_Bevel_highlightColor_r", _filter_property_get, _filter_property_set, [BevelFilter, "highlightColor", "color", "r"]);
52 Tweener.registerSpecialProperty("_Bevel_highlightColor_g", _filter_property_get, _filter_property_set, [BevelFilter, "highlightColor", "color", "g"]);
53 Tweener.registerSpecialProperty("_Bevel_highlightColor_b", _filter_property_get, _filter_property_set, [BevelFilter, "highlightColor", "color", "b"]);
54 Tweener.registerSpecialProperty("_Bevel_knockout", _filter_property_get, _filter_property_set, [BevelFilter, "knockout"]);
55 Tweener.registerSpecialProperty("_Bevel_quality", _filter_property_get, _filter_property_set, [BevelFilter, "quality"]);
56 Tweener.registerSpecialProperty("_Bevel_shadowAlpha", _filter_property_get, _filter_property_set, [BevelFilter, "shadowAlpha"]);
57 Tweener.registerSpecialPropertySplitter("_Bevel_shadowColor", _generic_color_splitter, ["_Bevel_shadowColor_r", "_Bevel_shadowColor_g", "_Bevel_shadowColor_b"]);
58 Tweener.registerSpecialProperty("_Bevel_shadowColor_r", _filter_property_get, _filter_property_set, [BevelFilter, "shadowColor", "color", "r"]);
59 Tweener.registerSpecialProperty("_Bevel_shadowColor_g", _filter_property_get, _filter_property_set, [BevelFilter, "shadowColor", "color", "g"]);
60 Tweener.registerSpecialProperty("_Bevel_shadowColor_b", _filter_property_get, _filter_property_set, [BevelFilter, "shadowColor", "color", "b"]);
61 Tweener.registerSpecialProperty("_Bevel_strength", _filter_property_get, _filter_property_set, [BevelFilter, "strength"]);
62 Tweener.registerSpecialProperty("_Bevel_type", _filter_property_get, _filter_property_set, [BevelFilter, "type"]);
63
64
65
66 Tweener.registerSpecialProperty("_Blur_blurX", _filter_property_get, _filter_property_set, [BlurFilter, "blurX"]);
67 Tweener.registerSpecialProperty("_Blur_blurY", _filter_property_get, _filter_property_set, [BlurFilter, "blurY"]);
68 Tweener.registerSpecialProperty("_Blur_quality", _filter_property_get, _filter_property_set, [BlurFilter, "quality"]);
69
70
71
72 Tweener.registerSpecialPropertySplitter("_ColorMatrix_matrix", _generic_matrix_splitter, [[1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0],
73 ["_ColorMatrix_matrix_rr", "_ColorMatrix_matrix_rg", "_ColorMatrix_matrix_rb", "_ColorMatrix_matrix_ra", "_ColorMatrix_matrix_ro",
74 "_ColorMatrix_matrix_gr", "_ColorMatrix_matrix_gg", "_ColorMatrix_matrix_gb", "_ColorMatrix_matrix_ga", "_ColorMatrix_matrix_go",
75 "_ColorMatrix_matrix_br", "_ColorMatrix_matrix_bg", "_ColorMatrix_matrix_bb", "_ColorMatrix_matrix_ba", "_ColorMatrix_matrix_bo",
76 "_ColorMatrix_matrix_ar", "_ColorMatrix_matrix_ag", "_ColorMatrix_matrix_ab", "_ColorMatrix_matrix_aa", "_ColorMatrix_matrix_ao"]]);
77 Tweener.registerSpecialProperty("_ColorMatrix_matrix_rr", _filter_property_get, _filter_property_set, [ColorMatrixFilter, "matrix", "matrix", 0]);
78 Tweener.registerSpecialProperty("_ColorMatrix_matrix_rg", _filter_property_get, _filter_property_set, [ColorMatrixFilter, "matrix", "matrix", 1]);
79 Tweener.registerSpecialProperty("_ColorMatrix_matrix_rb", _filter_property_get, _filter_property_set, [ColorMatrixFilter, "matrix", "matrix", 2]);
80 Tweener.registerSpecialProperty("_ColorMatrix_matrix_ra", _filter_property_get, _filter_property_set, [ColorMatrixFilter, "matrix", "matrix", 3]);
81 Tweener.registerSpecialProperty("_ColorMatrix_matrix_ro", _filter_property_get, _filter_property_set, [ColorMatrixFilter, "matrix", "matrix", 4]);
82 Tweener.registerSpecialProperty("_ColorMatrix_matrix_gr", _filter_property_get, _filter_property_set, [ColorMatrixFilter, "matrix", "matrix", 5]);
83 Tweener.registerSpecialProperty("_ColorMatrix_matrix_gg", _filter_property_get, _filter_property_set, [ColorMatrixFilter, "matrix", "matrix", 6]);
84 Tweener.registerSpecialProperty("_ColorMatrix_matrix_gb", _filter_property_get, _filter_property_set, [ColorMatrixFilter, "matrix", "matrix", 7]);
85 Tweener.registerSpecialProperty("_ColorMatrix_matrix_ga", _filter_property_get, _filter_property_set, [ColorMatrixFilter, "matrix", "matrix", 8]);
86 Tweener.registerSpecialProperty("_ColorMatrix_matrix_go", _filter_property_get, _filter_property_set, [ColorMatrixFilter, "matrix", "matrix", 9]);
87 Tweener.registerSpecialProperty("_ColorMatrix_matrix_br", _filter_property_get, _filter_property_set, [ColorMatrixFilter, "matrix", "matrix", 10]);
88 Tweener.registerSpecialProperty("_ColorMatrix_matrix_bg", _filter_property_get, _filter_property_set, [ColorMatrixFilter, "matrix", "matrix", 11]);
89 Tweener.registerSpecialProperty("_ColorMatrix_matrix_bb", _filter_property_get, _filter_property_set, [ColorMatrixFilter, "matrix", "matrix", 12]);
90 Tweener.registerSpecialProperty("_ColorMatrix_matrix_ba", _filter_property_get, _filter_property_set, [ColorMatrixFilter, "matrix", "matrix", 13]);
91 Tweener.registerSpecialProperty("_ColorMatrix_matrix_bo", _filter_property_get, _filter_property_set, [ColorMatrixFilter, "matrix", "matrix", 14]);
92 Tweener.registerSpecialProperty("_ColorMatrix_matrix_ar", _filter_property_get, _filter_property_set, [ColorMatrixFilter, "matrix", "matrix", 15]);
93 Tweener.registerSpecialProperty("_ColorMatrix_matrix_ag", _filter_property_get, _filter_property_set, [ColorMatrixFilter, "matrix", "matrix", 16]);
94 Tweener.registerSpecialProperty("_ColorMatrix_matrix_ab", _filter_property_get, _filter_property_set, [ColorMatrixFilter, "matrix", "matrix", 17]);
95 Tweener.registerSpecialProperty("_ColorMatrix_matrix_aa", _filter_property_get, _filter_property_set, [ColorMatrixFilter, "matrix", "matrix", 18]);
96 Tweener.registerSpecialProperty("_ColorMatrix_matrix_ao", _filter_property_get, _filter_property_set, [ColorMatrixFilter, "matrix", "matrix", 19]);
97
98
99
100 Tweener.registerSpecialProperty("_Convolution_alpha", _filter_property_get, _filter_property_set, [ConvolutionFilter, "alpha"]);
101 Tweener.registerSpecialProperty("_Convolution_bias", _filter_property_get, _filter_property_set, [ConvolutionFilter, "bias"]);
102 Tweener.registerSpecialProperty("_Convolution_clamp", _filter_property_get, _filter_property_set, [ConvolutionFilter, "clamp"]);
103 Tweener.registerSpecialPropertySplitter("_Convolution_color", _generic_color_splitter, ["_Convolution_color_r", "_Convolution_color_g", "_Convolution_color_b"]);
104 Tweener.registerSpecialProperty("_Convolution_color_r", _filter_property_get, _filter_property_set, [ConvolutionFilter, "color", "color", "r"]);
105 Tweener.registerSpecialProperty("_Convolution_color_g", _filter_property_get, _filter_property_set, [ConvolutionFilter, "color", "color", "g"]);
106 Tweener.registerSpecialProperty("_Convolution_color_b", _filter_property_get, _filter_property_set, [ConvolutionFilter, "color", "color", "b"]);
107 Tweener.registerSpecialProperty("_Convolution_divisor", _filter_property_get, _filter_property_set, [ConvolutionFilter, "divisor"]);
108
109
110 Tweener.registerSpecialProperty("_Convolution_matrixX", _filter_property_get, _filter_property_set, [ConvolutionFilter, "matrixX"]);
111 Tweener.registerSpecialProperty("_Convolution_matrixY", _filter_property_get, _filter_property_set, [ConvolutionFilter, "matrixY"]);
112 Tweener.registerSpecialProperty("_Convolution_preserveAlpha", _filter_property_get, _filter_property_set, [ConvolutionFilter, "preserveAlpha"]);
113
114
115
116 Tweener.registerSpecialProperty("_DisplacementMap_alpha", _filter_property_get, _filter_property_set, [DisplacementMapFilter, "alpha"]);
117 Tweener.registerSpecialPropertySplitter("_DisplacementMap_color", _generic_color_splitter, ["_DisplacementMap_color_r", "_DisplacementMap_color_r", "_DisplacementMap_color_r"]);
118 Tweener.registerSpecialProperty("_DisplacementMap_color_r", _filter_property_get, _filter_property_set, [DisplacementMapFilter, "color", "color", "r"]);
119 Tweener.registerSpecialProperty("_DisplacementMap_color_g", _filter_property_get, _filter_property_set, [DisplacementMapFilter, "color", "color", "g"]);
120 Tweener.registerSpecialProperty("_DisplacementMap_color_b", _filter_property_get, _filter_property_set, [DisplacementMapFilter, "color", "color", "b"]);
121 Tweener.registerSpecialProperty("_DisplacementMap_componentX", _filter_property_get, _filter_property_set, [DisplacementMapFilter, "componentX"]);
122 Tweener.registerSpecialProperty("_DisplacementMap_componentY", _filter_property_get, _filter_property_set, [DisplacementMapFilter, "componentY"]);
123 Tweener.registerSpecialProperty("_DisplacementMap_mapBitmap", _filter_property_get, _filter_property_set, [DisplacementMapFilter, "mapBitmap"]);
124 Tweener.registerSpecialProperty("_DisplacementMap_mapPoint", _filter_property_get, _filter_property_set, [DisplacementMapFilter, "mapPoint"]);
125 Tweener.registerSpecialProperty("_DisplacementMap_mode", _filter_property_get, _filter_property_set, [DisplacementMapFilter, "mode"]);
126 Tweener.registerSpecialProperty("_DisplacementMap_scaleX", _filter_property_get, _filter_property_set, [DisplacementMapFilter, "scaleX"]);
127 Tweener.registerSpecialProperty("_DisplacementMap_scaleY", _filter_property_get, _filter_property_set, [DisplacementMapFilter, "scaleY"]);
128
129
130
131 Tweener.registerSpecialProperty("_DropShadow_alpha", _filter_property_get, _filter_property_set, [DropShadowFilter, "alpha"]);
132 Tweener.registerSpecialProperty("_DropShadow_angle", _filter_property_get, _filter_property_set, [DropShadowFilter, "angle"]);
133 Tweener.registerSpecialProperty("_DropShadow_blurX", _filter_property_get, _filter_property_set, [DropShadowFilter, "blurX"]);
134 Tweener.registerSpecialProperty("_DropShadow_blurY", _filter_property_get, _filter_property_set, [DropShadowFilter, "blurY"]);
135 Tweener.registerSpecialPropertySplitter("_DropShadow_color", _generic_color_splitter, ["_DropShadow_color_r", "_DropShadow_color_g", "_DropShadow_color_b"]);
136 Tweener.registerSpecialProperty("_DropShadow_color_r", _filter_property_get, _filter_property_set, [DropShadowFilter, "color", "color", "r"]);
137 Tweener.registerSpecialProperty("_DropShadow_color_g", _filter_property_get, _filter_property_set, [DropShadowFilter, "color", "color", "g"]);
138 Tweener.registerSpecialProperty("_DropShadow_color_b", _filter_property_get, _filter_property_set, [DropShadowFilter, "color", "color", "b"]);
139 Tweener.registerSpecialProperty("_DropShadow_distance", _filter_property_get, _filter_property_set, [DropShadowFilter, "distance"]);
140 Tweener.registerSpecialProperty("_DropShadow_hideObject", _filter_property_get, _filter_property_set, [DropShadowFilter, "hideObject"]);
141 Tweener.registerSpecialProperty("_DropShadow_inner", _filter_property_get, _filter_property_set, [DropShadowFilter, "inner"]);
142 Tweener.registerSpecialProperty("_DropShadow_knockout", _filter_property_get, _filter_property_set, [DropShadowFilter, "knockout"]);
143 Tweener.registerSpecialProperty("_DropShadow_quality", _filter_property_get, _filter_property_set, [DropShadowFilter, "quality"]);
144 Tweener.registerSpecialProperty("_DropShadow_strength", _filter_property_get, _filter_property_set, [DropShadowFilter, "strength"]);
145
146
147
148 Tweener.registerSpecialProperty("_Glow_alpha", _filter_property_get, _filter_property_set, [GlowFilter, "alpha"]);
149 Tweener.registerSpecialProperty("_Glow_blurX", _filter_property_get, _filter_property_set, [GlowFilter, "blurX"]);
150 Tweener.registerSpecialProperty("_Glow_blurY", _filter_property_get, _filter_property_set, [GlowFilter, "blurY"]);
151 Tweener.registerSpecialPropertySplitter("_Glow_color", _generic_color_splitter, ["_Glow_color_r", "_Glow_color_g", "_Glow_color_b"]);
152 Tweener.registerSpecialProperty("_Glow_color_r", _filter_property_get, _filter_property_set, [GlowFilter, "color", "color", "r"]);
153 Tweener.registerSpecialProperty("_Glow_color_g", _filter_property_get, _filter_property_set, [GlowFilter, "color", "color", "g"]);
154 Tweener.registerSpecialProperty("_Glow_color_b", _filter_property_get, _filter_property_set, [GlowFilter, "color", "color", "b"]);
155 Tweener.registerSpecialProperty("_Glow_inner", _filter_property_get, _filter_property_set, [GlowFilter, "inner"]);
156 Tweener.registerSpecialProperty("_Glow_knockout", _filter_property_get, _filter_property_set, [GlowFilter, "knockout"]);
157 Tweener.registerSpecialProperty("_Glow_quality", _filter_property_get, _filter_property_set, [GlowFilter, "quality"]);
158 Tweener.registerSpecialProperty("_Glow_strength", _filter_property_get, _filter_property_set, [GlowFilter, "strength"]);
159
160
161
162
163 Tweener.registerSpecialProperty("_GradientBevel_angle", _filter_property_get, _filter_property_set, [GradientBevelFilter, "angle"]);
164 Tweener.registerSpecialProperty("_GradientBevel_blurX", _filter_property_get, _filter_property_set, [GradientBevelFilter, "blurX"]);
165 Tweener.registerSpecialProperty("_GradientBevel_blurY", _filter_property_get, _filter_property_set, [GradientBevelFilter, "blurY"]);
166
167 Tweener.registerSpecialProperty("_GradientBevel_distance", _filter_property_get, _filter_property_set, [GradientBevelFilter, "distance"]);
168 Tweener.registerSpecialProperty("_GradientBevel_quality", _filter_property_get, _filter_property_set, [GradientBevelFilter, "quality"]);
169
170 Tweener.registerSpecialProperty("_GradientBevel_strength", _filter_property_get, _filter_property_set, [GradientBevelFilter, "strength"]);
171 Tweener.registerSpecialProperty("_GradientBevel_type", _filter_property_get, _filter_property_set, [GradientBevelFilter, "type"]);
172
173
174
175
176 Tweener.registerSpecialProperty("_GradientGlow_angle", _filter_property_get, _filter_property_set, [GradientGlowFilter, "angle"]);
177 Tweener.registerSpecialProperty("_GradientGlow_blurX", _filter_property_get, _filter_property_set, [GradientGlowFilter, "blurX"]);
178 Tweener.registerSpecialProperty("_GradientGlow_blurY", _filter_property_get, _filter_property_set, [GradientGlowFilter, "blurY"]);
179
180 Tweener.registerSpecialProperty("_GradientGlow_distance", _filter_property_get, _filter_property_set, [GradientGlowFilter, "distance"]);
181 Tweener.registerSpecialProperty("_GradientGlow_knockout", _filter_property_get, _filter_property_set, [GradientGlowFilter, "knockout"]);
182 Tweener.registerSpecialProperty("_GradientGlow_quality", _filter_property_get, _filter_property_set, [GradientGlowFilter, "quality"]);
183
184 Tweener.registerSpecialProperty("_GradientGlow_strength", _filter_property_get, _filter_property_set, [GradientGlowFilter, "strength"]);
185 Tweener.registerSpecialProperty("_GradientGlow_type", _filter_property_get, _filter_property_set, [GradientGlowFilter, "type"]);
186
187 }
188
189
190
191
192
193
194
195
196
202 public static function _generic_color_splitter (p_value:Number, p_parameters:Array):Array {
203 var nArray:Array = new Array();
204 nArray.push({name:p_parameters[0], value:AuxFunctions.numberToR(p_value)});
205 nArray.push({name:p_parameters[1], value:AuxFunctions.numberToG(p_value)});
206 nArray.push({name:p_parameters[2], value:AuxFunctions.numberToB(p_value)});
207 return nArray;
208 }
209
210
216 public static function _generic_matrix_splitter (p_value:Array, p_parameters:Array):Array {
217 if (p_value == null) p_value = p_parameters[0].concat();
218 var nArray:Array = new Array();
219 for (var i:Number = 0; i < p_value.length; i++) {
220 nArray.push({name:p_parameters[1][i], value:p_value[i]});
221 }
222 return nArray;
223 }
224
225
231
241
242
243
244
245
251 public static function _filter_splitter (p_value:BitmapFilter):Array {
252 var nArray:Array = new Array();
253 if (p_value instanceof BevelFilter) {
254 nArray.push({name:"_Bevel_angle", value:BevelFilter(p_value).angle});
255 nArray.push({name:"_Bevel_blurX", value:BevelFilter(p_value).blurX});
256 nArray.push({name:"_Bevel_blurY", value:BevelFilter(p_value).blurY});
257 nArray.push({name:"_Bevel_distance", value:BevelFilter(p_value).distance});
258 nArray.push({name:"_Bevel_highlightAlpha", value:BevelFilter(p_value).highlightAlpha});
259 nArray.push({name:"_Bevel_highlightColor", value:BevelFilter(p_value).highlightColor});
260 nArray.push({name:"_Bevel_knockout", value:BevelFilter(p_value).knockout});
261 nArray.push({name:"_Bevel_quality", value:BevelFilter(p_value).quality});
262 nArray.push({name:"_Bevel_shadowAlpha", value:BevelFilter(p_value).shadowAlpha});
263 nArray.push({name:"_Bevel_shadowColor", value:BevelFilter(p_value).shadowColor});
264 nArray.push({name:"_Bevel_strength", value:BevelFilter(p_value).strength});
265 nArray.push({name:"_Bevel_type", value:BevelFilter(p_value).type});
266 } else if (p_value instanceof BlurFilter) {
267 nArray.push({name:"_Blur_blurX", value:BlurFilter(p_value).blurX});
268 nArray.push({name:"_Blur_blurY", value:BlurFilter(p_value).blurY});
269 nArray.push({name:"_Blur_quality", value:BlurFilter(p_value).quality});
270 } else if (p_value instanceof ColorMatrixFilter) {
271 nArray.push({name:"_ColorMatrix_matrix", value:ColorMatrixFilter(p_value).matrix});
272 } else if (p_value instanceof ConvolutionFilter) {
273 nArray.push({name:"_Convolution_alpha", value:ConvolutionFilter(p_value).alpha});
274 nArray.push({name:"_Convolution_bias", value:ConvolutionFilter(p_value).bias});
275 nArray.push({name:"_Convolution_clamp", value:ConvolutionFilter(p_value).clamp});
276 nArray.push({name:"_Convolution_color", value:ConvolutionFilter(p_value).color});
277
278 nArray.push({name:"_Convolution_divisor", value:ConvolutionFilter(p_value).divisor});
279 nArray.push({name:"_Convolution_matrixX", value:ConvolutionFilter(p_value).matrixX});
280 nArray.push({name:"_Convolution_matrixY", value:ConvolutionFilter(p_value).matrixY});
281 nArray.push({name:"_Convolution_preserveAlpha", value:ConvolutionFilter(p_value).preserveAlpha});
282 } else if (p_value instanceof DisplacementMapFilter) {
283 nArray.push({name:"_DisplacementMap_alpha", value:DisplacementMapFilter(p_value).alpha});
284 nArray.push({name:"_DisplacementMap_color", value:DisplacementMapFilter(p_value).color});
285 nArray.push({name:"_DisplacementMap_componentX", value:DisplacementMapFilter(p_value).componentX});
286 nArray.push({name:"_DisplacementMap_componentY", value:DisplacementMapFilter(p_value).componentY});
287 nArray.push({name:"_DisplacementMap_mapBitmap", value:DisplacementMapFilter(p_value).mapBitmap});
288 nArray.push({name:"_DisplacementMap_mapPoint", value:DisplacementMapFilter(p_value).mapPoint});
289 nArray.push({name:"_DisplacementMap_mode", value:DisplacementMapFilter(p_value).mode});
290 nArray.push({name:"_DisplacementMap_scaleX", value:DisplacementMapFilter(p_value).scaleX});
291 nArray.push({name:"_DisplacementMap_scaleY", value:DisplacementMapFilter(p_value).scaleY});
292 } else if (p_value instanceof DropShadowFilter) {
293 nArray.push({name:"_DropShadow_alpha", value:DropShadowFilter(p_value).alpha});
294 nArray.push({name:"_DropShadow_angle", value:DropShadowFilter(p_value).angle});
295 nArray.push({name:"_DropShadow_blurX", value:DropShadowFilter(p_value).blurX});
296 nArray.push({name:"_DropShadow_blurY", value:DropShadowFilter(p_value).blurY});
297 nArray.push({name:"_DropShadow_color", value:DropShadowFilter(p_value).color});
298 nArray.push({name:"_DropShadow_distance", value:DropShadowFilter(p_value).distance});
299 nArray.push({name:"_DropShadow_hideObject", value:DropShadowFilter(p_value).hideObject});
300 nArray.push({name:"_DropShadow_inner", value:DropShadowFilter(p_value).inner});
301 nArray.push({name:"_DropShadow_knockout", value:DropShadowFilter(p_value).knockout});
302 nArray.push({name:"_DropShadow_quality", value:DropShadowFilter(p_value).quality});
303 nArray.push({name:"_DropShadow_strength", value:DropShadowFilter(p_value).strength});
304 } else if (p_value instanceof GlowFilter) {
305 nArray.push({name:"_Glow_alpha", value:GlowFilter(p_value).alpha});
306 nArray.push({name:"_Glow_blurX", value:GlowFilter(p_value).blurX});
307 nArray.push({name:"_Glow_blurY", value:GlowFilter(p_value).blurY});
308 nArray.push({name:"_Glow_color", value:GlowFilter(p_value).color});
309 nArray.push({name:"_Glow_inner", value:GlowFilter(p_value).inner});
310 nArray.push({name:"_Glow_knockout", value:GlowFilter(p_value).knockout});
311 nArray.push({name:"_Glow_quality", value:GlowFilter(p_value).quality});
312 nArray.push({name:"_Glow_strength", value:GlowFilter(p_value).strength});
313 } else if (p_value instanceof GradientBevelFilter) {
314
315 nArray.push({name:"_GradientBevel_angle", value:GradientBevelFilter(p_value).strength});
316 nArray.push({name:"_GradientBevel_blurX", value:GradientBevelFilter(p_value).blurX});
317 nArray.push({name:"_GradientBevel_blurY", value:GradientBevelFilter(p_value).blurY});
318
319 nArray.push({name:"_GradientBevel_distance", value:GradientBevelFilter(p_value).distance});
320 nArray.push({name:"_GradientBevel_quality", value:GradientBevelFilter(p_value).quality});
321
322 nArray.push({name:"_GradientBevel_strength", value:GradientBevelFilter(p_value).strength});
323 nArray.push({name:"_GradientBevel_type", value:GradientBevelFilter(p_value).type});
324 } else if (p_value instanceof GradientGlowFilter) {
325
326 nArray.push({name:"_GradientGlow_angle", value:GradientGlowFilter(p_value).strength});
327 nArray.push({name:"_GradientGlow_blurX", value:GradientGlowFilter(p_value).blurX});
328 nArray.push({name:"_GradientGlow_blurY", value:GradientGlowFilter(p_value).blurY});
329
330 nArray.push({name:"_GradientGlow_distance", value:GradientGlowFilter(p_value).distance});
331 nArray.push({name:"_GradientGlow_knockout", value:GradientGlowFilter(p_value).knockout});
332 nArray.push({name:"_GradientGlow_quality", value:GradientGlowFilter(p_value).quality});
333
334 nArray.push({name:"_GradientGlow_strength", value:GradientGlowFilter(p_value).strength});
335 nArray.push({name:"_GradientGlow_type", value:GradientGlowFilter(p_value).type});
336 } else {
337
338 trace ("Tweener FilterShortcuts Error :: Unknown filter class used");
339 }
340 return nArray;
341 }
342
343
344
345
346
347
348
349
350
354 public static function _filter_property_get (p_obj:Object, p_parameters:Array):Number {
355 var f:Array = p_obj.filters;
356 var i:Number;
357 var filterClass:Object = p_parameters[0];
358 var propertyName:String = p_parameters[1];
359 var splitType:String = p_parameters[2];
360 for (i = 0; i < f.length; i++) {
361 if (f[i] instanceof filterClass) {
362 if (splitType == "color") {
363
364 var colorComponent:String = p_parameters[3];
365 if (colorComponent == "r") return AuxFunctions.numberToR(f[i][propertyName]);
366 if (colorComponent == "g") return AuxFunctions.numberToG(f[i][propertyName]);
367 if (colorComponent == "b") return AuxFunctions.numberToB(f[i][propertyName]);
368 } else if (splitType == "matrix") {
369
370 return f[i][propertyName][p_parameters[3]];
371 } else {
372
373 return (f[i][propertyName]);
374 }
375 }
376 }
377
378
379
380 var defaultValues:Object;
381 switch (filterClass) {
382 case BevelFilter:
383 defaultValues = {angle:NaN, blurX:0, blurY:0, distance:0, highlightAlpha:1, highlightColor:NaN, knockout:null, quality:NaN, shadowAlpha:1, shadowColor:NaN, strength:2, type:null};
384 break;
385 case BlurFilter:
386 defaultValues = {blurX:0, blurY:0, quality:NaN};
387 break;
388 case ColorMatrixFilter:
389 defaultValues = {matrix:[1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0]};
390 break;
391 case ConvolutionFilter:
392 defaultValues = {alpha:0, bias:0, clamp:null, color:NaN, divisor:1, matrix:[1], matrixX:1, matrixY:1, preserveAlpha:null};
393 break;
394 case DisplacementMapFilter:
395 defaultValues = {alpha:0, color:NaN, componentX:null, componentY:null, mapBitmap:null, mapPoint:null, mode:null, scaleX:0, scaleY:0};
396 break;
397 case DropShadowFilter:
398 defaultValues = {distance:0, angle:NaN, color:NaN, alpha:1, blurX:0, blurY:0, strength:1, quality:NaN, inner:null, knockout:null, hideObject:null};
399 break;
400 case GlowFilter:
401 defaultValues = {alpha:1, blurX:0, blurY:0, color:NaN, inner:null, knockout:null, quality:NaN, strength:2};
402 break;
403 case GradientBevelFilter:
404 defaultValues = {alphas:null, angle:NaN, blurX:0, blurY:0, colors:null, distance:0, knockout:null, quality:NaN, ratios:NaN, strength:1, type:null};
405 break;
406 case GradientGlowFilter:
407 defaultValues = {alphas:null, angle:NaN, blurX:0, blurY:0, colors:null, distance:0, knockout:null, quality:NaN, ratios:NaN, strength:1, type:null};
408 break;
409 }
410
411
412
413 if (splitType == "color") {
414
415 return NaN;
416 } else if (splitType == "matrix") {
417
418 return defaultValues[propertyName][p_parameters[3]];
419 } else {
420
421 return defaultValues[propertyName];
422 }
423 }
424
425 public static function _filter_property_set (p_obj:Object, p_value:Number, p_parameters:Array):Void {
426 var f:Array = p_obj.filters;
427 var i:Number;
428 var filterClass:Object = p_parameters[0];
429 var propertyName:String = p_parameters[1];
430 var splitType:String = p_parameters[2];
431 for (i = 0; i < f.length; i++) {
432 if (f[i] instanceof filterClass) {
433 if (splitType == "color") {
434
435 var colorComponent:String = p_parameters[3];
436 if (colorComponent == "r") f[i][propertyName] = (f[i][propertyName] & 0xffff) | (p_value << 16);
437 if (colorComponent == "g") f[i][propertyName] = (f[i][propertyName] & 0xff00ff) | (p_value << 8);
438 if (colorComponent == "b") f[i][propertyName] = (f[i][propertyName] & 0xffff00) | p_value;
439 } else if (splitType == "matrix") {
440 var mtx:Array = f[i][propertyName];
441 mtx[p_parameters[3]] = p_value;
442 f[i][propertyName] = mtx;
443 } else {
444
445 f[i][propertyName] = p_value;
446 }
447 p_obj.filters = f;
448 return;
449 }
450 }
451
452
453 if (f == undefined) f = new Array();
454 var fi:BitmapFilter;
455 switch (filterClass) {
456 case BevelFilter:
457 fi = new BevelFilter(0, 45, 0xffffff, 1, 0x000000, 1, 0, 0);
458 break;
459 case BlurFilter:
460 fi = new BlurFilter(0, 0);
461 break;
462 case ColorMatrixFilter:
463 fi = new ColorMatrixFilter([1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0]);
464 break;
465 case ConvolutionFilter:
466 fi = new ConvolutionFilter(1, 1, [1], 1, 0, true, true, 0x000000, 0);
467 break;
468 case DisplacementMapFilter:
469
470 fi = new DisplacementMapFilter(new BitmapData(10, 10), new Point(0, 0), 0, 1, 0, 0);
471 break;
472 case DropShadowFilter:
473 fi = new DropShadowFilter(0, 45, 0x000000, 1, 0, 0);
474 break;
475 case GlowFilter:
476 fi = new GlowFilter(0xff0000, 1, 0, 0);
477 break;
478 case GradientBevelFilter:
479 fi = new GradientBevelFilter(0, 45, [0xffffff, 0x000000], [1, 1], [32, 223], 0, 0);
480 break;
481 case GradientGlowFilter:
482 fi = new GradientGlowFilter(0, 45, [0xffffff, 0x000000], [1, 1], [32, 223], 0, 0);
483 break;
484 }
485
486 f.push(fi);
487 p_obj.filters = f;
488 _filter_property_set(p_obj, p_value, p_parameters);
489 }
490
491 }
492