     func scaled(# scale:CGFloat) -> CGAffineTransform  {
         return CGAffineTransformScale(self, scale, scale)
     }
+    
+    func scaled(# scale:CGFloat, origin:CGPoint) -> CGAffineTransform  {
+        return self + CGAffineTransform(scale:scale, origin:origin)
+    }
 
     func rotated(angle:CGFloat) -> CGAffineTransform  {
         return CGAffineTransformRotate(self, angle)

    init(scale: CGFloat) {
        self = CGAffineTransformMakeScale(scale, scale)
    }

    /**
     Rotation


    mutating func scale(scale:CGFloat) -> CGAffineTransform  {
        self = scaled(sx:scale, sy:scale)
        return self
    }
    
    mutating func scale(scale:CGFloat, origin:CGPoint) -> CGAffineTransform  {
        self = scaled(scale:scale, origin:origin)
        return self
    }

