     
     fileprivate var _radius:CGFloat!{
         get{
-            if  self.status == GLDownloadStatus.willDownload{
+            if self.radius != 0 {
+                return self.radius
+            }else if  self.status == GLDownloadStatus.willDownload{
                 return frame.width/8
             }else{
-                return (frame.width < frame.height ? frame.width : frame.height)/2
+                return (frame.width < frame.height ? frame.width : frame.height)/2 - 2
             }
         }
     }

    }
    
    @objc internal func tapEvent(sender:UIGestureRecognizer){
        switch self.status{
        case .willDownload:
            self.status = .downloading
            break
        case .downloading:
            self.status = .pending
            break
        case .pending:
            self.status = .downloaded
            break
        case .downloaded:
            self.status = .willDownload
            break
        }
        
        self.tapEvent?(self)
    }

        }
    }
    
    public var radius:CGFloat! = 0
    
    public var stopButtonWidth:CGFloat = 10{
        didSet{
            self.setNeedsDisplay()
        }
