       img = new Image()
       img.src = data.imageSrc
     createShape('Image', {x: data.x, y: data.y, image: img, scale: data.scale})
+  move: ( moveInfo={} ) ->
+    @x = @x - moveInfo.xDiff
+    @y = @y - moveInfo.yDiff
+  setUpperLeft: (upperLeft={}) ->
+    @x = upperLeft.x
+    @y = upperLeft.y
 
 
 defineShape 'Rectangle',

        x, y, size: data.strokeWidth, color: data.strokeColor
      })
    createShape('Polygon', data)


defineShape 'Text',

  }
  toJSON: -> {@x, @y, @width, @height, @strokeWidth, @strokeColor, @fillColor}
  fromJSON: (data) -> createShape('Ellipse', data)
  move: ( moveInfo={} ) ->
    @x = @x - moveInfo.xDiff
    @y = @y - moveInfo.yDiff
  setUpperLeft: (upperLeft={}) ->
    @x = upperLeft.x
    @y = upperLeft.y


defineShape 'Line',
