 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)

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

    }
}

/// A C4Image provides a view-based container for displaying a single image. You can create images from files, from other image objects, or from raw image data you receive.
public class C4Image: C4View {
    
    //MARK: Initializers
