Dragging the point with mouse and drawing

Have a good day to all,

my problem is that when i drag the control point the rectangle is drawing on the different place.

I am enclosing the source where i am drawing the rectangle and also where i am redrawing when the point is dragged.

public function onMouseDownHandler(e:MouseEvent) {
//trace(“mouse down clicked!”);
if ( e.target is Stage )
{
GL.mouseIniX = mouseX;
GL.mouseIniY = mouseY;
switch(GL.isactive)
{
case “rect”:
GL.draw_obj_id ++;
// Create our new square and add some listeners to it to enabled dragging
var mc:Sprite = new Sprite();
mc.buttonMode = true;
mc.name = "Rect
"+GL._draw_obj_id;
mc.addEventListener(MouseEvent.MOUSE_DOWN, startDraging);
mc.addEventListener(MouseEvent.MOUSE_UP, stopDraging);
addChild( mc );
GL.activeObject = mc;
//setChildIndex(mc,numChildren-1);
//drawPointSquare();
// Hold a reference so we can update its graphics using the drawing API
GL.mcRef = mc;
GL.arrDrawObName.push(GL.mcRef.name);
GL.arrDrawOb.push(GL.mcRef);
// DRAW!
stage.addEventListener(Event.ENTER_FRAME, square);
/*
Xpos = GL.activeObject.x;
Ypos = GL.activeObject.y;
Xwidth = GL.activeObject.width;
Xheight = GL.activeObject.height;
drawPointSquare();
*/
break;
case “txt”:
trace(“text tool not yet!”);
break;
case “line”:
trace(“line tool not yet!”);
break;
}
}
}

public function square(e:Event):void
{
GL.mcRef.graphics.clear();
GL.mcRef.graphics.lineStyle(3, 0x000000, 1.0);
GL.mcRef.graphics.beginFill(0xff9900, 1.0);
GL.mcRef.graphics.drawRect(0, 0, mouseX - GL.mouseIniX, mouseY - GL.mouseIniY);
GL.mcRef.x = GL.mouseIniX;
GL.mcRef.y = GL.mouseIniY;
GL.mcRef.graphics.endFill();
}

first time i am drawing a rectangle with the above square function.

i am setting the sorroundings point with the belows function.

public function drawPointSquare()
{

var pointRow:Number = 0;

var pointCol:Number = 0;

for(var i:uint = 0; i<6; i++)
{

Xpos = GL.activeObject.x + ((GL.activeObject.width/2) * pointCol);

if(pointRow == 1)
{
//Xpos = GL.activeObject.x;
Ypos = GL.activeObject.y + Xheight;
}

var littleSquare:Sprite = new Sprite();
addChild(littleSquare);
arrayOfLittleSquare.push(littleSquare);
littleSquare.graphics.beginFill(0x000000);
drawShape(littleSquare,10,10);
littleSquare.graphics.endFill();
littleSquare.x = Xpos;
//trace(“existing x position:”+Xpos);
littleSquare.y = Ypos;

if(i == 2)
{
pointCol = 0;
pointRow = 1;
}
else
pointCol++;

arrayOfLittleSquare*.addEventListener(MouseEvent.MOUSE_DOWN, dragSquares);
arrayOfLittleSquare*.addEventListener(MouseEvent.MOUSE_UP, stopSquares);
}
}
public function drawShape(sprite:Sprite, Width:Number, Height:Number):void
{
sprite.graphics.moveTo(-Width/2,-Height/2);
sprite.graphics.lineTo(Width/2,-Height/2);
sprite.graphics.lineTo(Width/2,Height/2);
sprite.graphics.lineTo(-Width/2,Height/2);
sprite.graphics.lineTo(-Width/2,-Height/2);
}

and when you drag the small point then belows function will be called.

public function dragSquares(e:MouseEvent):void
{
e.target.startDrag();
e.target.addEventListener(Event.ENTER_FRAME, redrawShape);
}
public function stopSquares(e:MouseEvent):void
{
e.target.stopDrag();
e.target.removeEventListener(Event.ENTER_FRAME, redrawShape);
}

public function redrawShape(e:Event):void
{
drawDynamicShape(GL.activeObject);
}
public function drawDynamicShape(sprite:Sprite):void
{
sprite.graphics.clear();
sprite.graphics.lineStyle(3, 0x000000, 1.0);
sprite.graphics.beginFill(0xff9900, 1.0);
sprite.graphics.moveTo(arrayOfLittleSquare[0].x,arrayOfLittleSquare[0].y);
sprite.graphics.lineTo(arrayOfLittleSquare[1].x,arrayOfLittleSquare[1].y);
sprite.graphics.lineTo(arrayOfLittleSquare[2].x,arrayOfLittleSquare[2].y);
sprite.graphics.lineTo(arrayOfLittleSquare[5].x,arrayOfLittleSquare[5].y);
sprite.graphics.lineTo(arrayOfLittleSquare[4].x,arrayOfLittleSquare[4].y);
sprite.graphics.lineTo(arrayOfLittleSquare[3].x,arrayOfLittleSquare[3].y);
sprite.graphics.lineTo(arrayOfLittleSquare[0].x,arrayOfLittleSquare[0].y);
sprite.graphics.endFill();

/*
GL.mcRef.graphics.clear();
GL.mcRef.graphics.lineStyle(3, 0x000000, 1.0);
GL.mcRef.graphics.beginFill(0xff9900, 1.0);
GL.mcRef.graphics.drawRect(0, 0, mouseX - GL.mouseIniX, mouseY - GL.mouseIniY);
GL.mcRef.x = GL.mouseIniX;
GL.mcRef.y = GL.mouseIniY;
GL.mcRef.graphics.endFill();*/
}

can i use my same square() function when the small point is dragged to redwaw the rectangle.

If can then how.

Plese share your idea.

Thanks in advance.

PROB