import mx.core.DragSource;
import mx.core.IUIComponent;
import mx.events.DragEvent;
import mx.managers.DragManager;
private function mouseDownHandler( evt:MouseEvent ):void
{
var initiator:IUIComponent = evt.currentTarget as IUIComponent;
var dragSource:DragSource = new DragSource();
dragSource.addData( initiator, "box");
DragManager.doDrag( initiator, dragSource, evt );
}
private function dragEnterHandler( evt:DragEvent ):void
{
if( evt.dragSource.hasFormat( "box") )
{
DragManager.acceptDragDrop( Canvas( evt.currentTarget ) );
}
}
private function dropHandler( evt:DragEvent ):void
{
var box:Box = Box( evt.dragInitiator );
box.x = evt.localX;
box.y = evt.localY;
}