             case .Rect(_, _):
                 return UIBezierPath(roundedRect: frame, cornerRadius: 0)
             case .RoundedRect(_, _, let radius):
+                return UIBezierPath(roundedRect: frame, cornerRadius: radius)
+            case .OvalWV(let view, let margin):
+                return UIBezierPath(roundedRect: frame, cornerRadius: radius(view, margin: margin))
+            case .RectWV(center: _, _):
+                return UIBezierPath(roundedRect: frame, cornerRadius: 0)
+            case .RoundedRectWV(_, let radius, _):
                 return UIBezierPath(roundedRect: frame, cornerRadius: radius)
             }
         }

                return center
            case .RoundedRect(let center, _, _):
                return center
            }
        }
        

                return size
            case .RoundedRect(_, let size, _):
                return size
            case .OvalWV(let view, let margin):
                return ovalSize(view, margin: margin)
            case .RectWV(let view, let margin):
                return rectSize(view, margin: margin)
            case .RoundedRectWV(let view, radius: _, let margin):
                return rectSize(view, margin: margin)
            }
        }
        
