/**
 * @private
 */
Ext.define('Ext.fx.animation.Pop', {
    extend: 'Ext.fx.animation.Abstract',
 
    alias: ['animation.pop', 'animation.popIn'],
 
    alternateClassName: 'Ext.fx.animation.PopIn',
 
    config: {
        /**
         * @cfg {Boolean} out True if you want to make this animation pop out, instead of pop in.
         * @accessor
         */
        out: false,
 
        before: {
            display: null,
            opacity: 0
        },
        after: {
            opacity: null
        }
    },
 
    getData: function() {
        var to = this.getTo(),
            from = this.getFrom(),
            out = this.getOut();
 
        if (out) {
            from.set('opacity', 1);
            from.setTransform({
                scale: 1
            });
 
            to.set('opacity', 0);
            to.setTransform({
                scale: 0
            });
        }
        else {
            from.set('opacity', 0);
            from.setTransform({
                scale: 0
            });
 
            to.set('opacity', 1);
            to.setTransform({
                scale: 1
            });
        }
 
        return this.callParent(arguments);
    }
});