static/ext/src/draw/Sprite.js
function() {
        var me = this;
        //create element if it doesn't exist.
        if (!me.el) {
            me.surface.createSpriteElement(me);
        }
        me.dd = new Ext.draw.SpriteDD(me, Ext.isBoolean(me.draggable) ? null : me.draggable);
        me.on('beforedestroy', me.dd.destroy, me.dd);
    }
function() {
        var me = this;
        //create element if it doesn't exist.
        if (!me.el) {
            me.surface.createSpriteElement(me);
        }
        me.dd = new Ext.draw.SpriteDD(me, Ext.isBoolean(me.draggable) ? null : me.draggable);
        me.on('beforedestroy', me.dd.destroy, me.dd);
    }
function ( ) { var me = this ; //create element if it doesn't exist. if ( ! me . el ) { me . surface . createSpriteElement ( me ) ; } me . dd = new Ext . draw . SpriteDD ( me , Ext . isBoolean ( me . draggable ) ? null : me . draggable ) ; me . on ( 'beforedestroy' , me . dd . destroy , me . dd ) ; }
@property {Ext.dd.DragSource} dd
If this Sprite is configured {@link #draggable}, this property will contain
an instance of {@link Ext.dd.DragSource} which handles dragging the Sprite.

The developer must provide implementations of the abstract methods of {@link Ext.dd.DragSource}
in order to supply behaviour for each stage of the drag/drop process. See {@link #draggable}.
@property { Ext . dd . DragSource } dd If this Sprite is configured { @link #draggable } this property will contain an instance of { @link Ext . dd . DragSource } which handles dragging the Sprite .