     /// The default value of this property is `false`.
     public var constrainsProportions : Bool = false
     
+    internal var _originalSize : C4Size = C4Size()
     /// The original size of the receiver when it was initialized.
-    internal var _originalSize : C4Size = C4Size()
     public var originalSize : C4Size {
         get {
             return _originalSize

    }
}

public class C4Image: C4View {
    
    //MARK: Initializers

import QuartzCore
import UIKit

///  A structure of 4 8-bit values that represent r,g,b,a values of a single point (i.e. a pixel)
public struct Pixel {
    var r : UInt8 = 0
    var g : UInt8 = 0
    var b : UInt8 = 0
    var a : UInt8 = 255

    ///  Initializes a pixel whose color is a specified gray.
    ///
    ///  - parameter gray: the gray color of the pixel
    public init(gray: Int) {
        self.init(gray,gray,gray,255)
    }

    ///  Initializes a Pixel structure
    ///
    ///  ````
    ///  let p = Pixel(255,255,255,255) // -> white
    ///  ````
    ///
    ///  Values are calculated from 0...255
    ///
    ///  - parameter r: the red component
    ///  - parameter g: the green component
    ///  - parameter b: the blue component
    ///  - parameter a: the alpha component
    public init(_ r : Int, _ g: Int, _ b: Int, _ a: UInt8) {
        self.r = UInt8(r)
        self.g = UInt8(g)
