clone (GradientGlowFilter.clone method)

public clone() : GradientGlowFilter

Returns a copy of this filter object.

Availability: ActionScript 1.0; Flash Player 8

Returns

GradientGlowFilter - A new GradientGlowFilter instance with all the same properties as the original GradientGlowFilter instance.

Example

The following example creates three GradientGlowFilter objects and compares them; filter_1 is created by using the GradientGlowFilter construtor; filter_2 is created by setting it equal to filter_1; and, clonedFilter is created by cloning filter_1. Notice that although filter_2 evaluates as being equal to filter_1, clonedFilter, even though it contains the same values as filter_1, does not.

import flash.filters.GradientGlowFilter;

var colors:Array = [0xFFFFFF, 0xFF0000, 0xFFFF00, 0x00CCFF];
var alphas:Array = [0, 1, 1, 1];
var ratios:Array = [0, 63, 126, 255];
var filter_1:GradientGlowFilter = new GradientGlowFilter(0, 45, colors, alphas, ratios, 55, 55, 2.5, 2, "outer", false);
var filter_2:GradientGlowFilter = filter_1;
var clonedFilter:GradientGlowFilter = filter_1.clone();

trace(filter_1 == filter_2); // true
trace(filter_1 == clonedFilter); // false

for(var i in filter_1) {
    trace(">> " + i + ": " + filter_1[i]);
    // >> clone: [type Function]
    // >> type: outer
    // >> knockout: false
    // >> strength: 2.5
    // >> quality: 2
    // >> blurY: 55
    // >> blurX: 55
    // >> ratios: 0,63,126,255
    // >> alphas: 0,1,1,1
    // >> colors: 16777215,16711680,16776960,52479
    // >> angle: 45
    // >> distance: 0
}

for(var i in clonedFilter) {
    trace(">> " + i + ": " + clonedFilter[i]);
    // >> clone: [type Function]
    // >> type: outer
    // >> knockout: false
    // >> strength: 2.5
    // >> quality: 2
    // >> blurY: 55
    // >> blurX: 55
    // >> ratios: 0,63,126,255
    // >> alphas: 0,1,1,1
    // >> colors: 16777215,16711680,16776960,52479
    // >> angle: 45
    // >> distance: 0
}

To further demonstrate the relationships between filter_1, filter_2, and clonedFilter, the following example below modifies the knockout property of filter_1. Modifying knockout demonstrates that the clone() method creates a new instance based on the values of filter_1 instead of pointing to them in reference.

import flash.filters.GradientGlowFilter;

var colors:Array = [0xFFFFFF, 0xFF0000, 0xFFFF00, 0x00CCFF];
var alphas:Array = [0, 1, 1, 1];
var ratios:Array = [0, 63, 126, 255];
var filter_1:GradientGlowFilter = new GradientGlowFilter(0, 45, colors, alphas, ratios, 55, 55, 2.5, 2, "outer", false);
var filter_2:GradientGlowFilter = filter_1;
var clonedFilter:GradientGlowFilter = filter_1.clone();

trace(filter_1.knockout); // false
trace(filter_2.knockout); // false
trace(clonedFilter.knockout); // false

filter_1.knockout = true;

trace(filter_1.knockout); // true
trace(filter_2.knockout); // true
trace(clonedFilter.knockout); // false