         origin = o
         size = s
     }
-    
+
+    /// Initializes a C4Rect from a CGRect
+    public init(_ rect: CGRect) {
+        origin = C4Point(rect.origin)
+        size = C4Size(rect.size)
+    }
     
     /// Returns a rectangle that contains all of the specified coordinates in an array.
     ///

            size.width = newValue
        }
    }
    public var height : Double {
        get {
            return size.height

import Foundation
import CoreGraphics

///  A structure that contains the location and dimensions of a rectangle.
public struct C4Rect : Equatable, CustomStringConvertible {
    /// The origin (top-left) of the rect.
    public var origin: C4Point

    /// The size (width / height) of the rect.
    public var size: C4Size

    /// The width of the rect.
    public var width : Double {
        get {
            return size.width
