diff --git a/Categories/UIImage+Filtering.h b/Categories/UIImage+Filtering.h new file mode 100644 index 0000000..0c7429e --- /dev/null +++ b/Categories/UIImage+Filtering.h @@ -0,0 +1,33 @@ +// +// UIImage+Filters.h +// NYXImagesUtilities +// +// Created by Nyx0uf on 5/2/11. +// Copyright 2011 Benjamin Godard. All rights reserved. +// + + +#import "NYXImagesUtilities.h" + + +@interface UIImage (NYX_Filtering) + +#ifdef kNYXReturnRetainedObjects + +-(UIImage*)sepia NS_RETURNS_RETAINED; + +-(UIImage*)grayscale NS_RETURNS_RETAINED; + +-(UIImage*)opacity:(CGFloat)value NS_RETURNS_RETAINED; + +#else + +-(UIImage*)sepia; + +-(UIImage*)grayscale; + +-(UIImage*)opacity:(CGFloat)value; + +#endif + +@end diff --git a/Categories/UIImage+Filtering.m b/Categories/UIImage+Filtering.m new file mode 100644 index 0000000..8d74a37 --- /dev/null +++ b/Categories/UIImage+Filtering.m @@ -0,0 +1,140 @@ +// +// UIImage+Filters.m +// NYXImagesUtilities +// +// Created by Nyx0uf on 5/2/11. +// Copyright 2011 Benjamin Godard. All rights reserved. +// + + +#import "UIImage+Filtering.h" + + +@implementation UIImage (NYX_Filtering) + +-(UIImage*)sepia +{ + CGImageRef cgImage = self.CGImage; + const size_t originalWidth = CGImageGetWidth(cgImage); + const size_t originalHeight = CGImageGetHeight(cgImage); + /// Number of bytes per row, each pixel in the bitmap will be represented by 4 bytes (ARGB), 8 bits of alpha/red/green/blue + const size_t bytesPerRow = originalWidth * 4; + + /// Create an ARGB bitmap context + CGContextRef bmContext = NYXImageCreateARGBBitmapContext(originalWidth, originalHeight, bytesPerRow); + if (!bmContext) + return nil; + + /// Draw the image in the bitmap context + CGContextDrawImage(bmContext, (CGRect){.origin.x = 0.0f, .origin.y = 0.0f, .size.width = originalWidth, .size.height = originalHeight}, cgImage); + + /// Grab the image raw data + UInt8* data = (UInt8*)CGBitmapContextGetData(bmContext); + if (!data) + { + CGContextRelease(bmContext); + return nil; + } + const size_t bitmapByteCount = bytesPerRow * originalHeight; + for (size_t i = 0; i < bitmapByteCount; i += 4) + { + UInt8 r = data[i + 1]; + UInt8 g = data[i + 2]; + UInt8 b = data[i + 3]; + + NSInteger newRed = (r * .393) + (g * .769) + (b * .189); + NSInteger newGreen = (r * .349) + (g * .686) + (b * .168); + NSInteger newBlue = (r * .272) + (g * .534) + (b * .131); + + if (newRed > 255) newRed = 255; + if (newGreen > 255) newGreen = 255; + if (newBlue > 255) newBlue = 255; + + data[i + 1] = (UInt8)newRed; + data[i + 2] = (UInt8)newGreen; + data[i + 3] = (UInt8)newBlue; + } + + /// Create an image object from the context + CGImageRef sepiaImageRef = CGBitmapContextCreateImage(bmContext); +#ifdef kNYXReturnRetainedObjects + UIImage* sepia = [[UIImage alloc] initWithCGImage:sepiaImageRef]; +#else + UIImage* sepia = [UIImage imageWithCGImage:sepiaImageRef]; +#endif + + /// Cleanup + CGImageRelease(sepiaImageRef); + CGContextRelease(bmContext); + + return sepia; +} + +-(UIImage*)grayscale +{ + CGImageRef cgImage = self.CGImage; + const CGFloat originalWidth = CGImageGetWidth(cgImage); + const CGFloat originalHeight = CGImageGetHeight(cgImage); + + /// Create a gray bitmap context + CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceGray(); + CGContextRef bmContext = CGBitmapContextCreate(NULL, originalWidth, originalHeight, 8/*Bits per component*/, /*CGImageGetBytesPerRow(cgImage)*/ 3 * originalWidth, colorSpace, kCGImageAlphaNone); + CGColorSpaceRelease(colorSpace); + if (!bmContext) + return nil; + + /// Image quality + CGContextSetShouldAntialias(bmContext, false); + CGContextSetInterpolationQuality(bmContext, kCGInterpolationHigh); + + /// Draw the image in the bitmap context + CGContextDrawImage(bmContext, (CGRect){.origin.x = 0.0f, .origin.y = 0.0f, .size.width = originalWidth, .size.height = originalHeight}, cgImage); + + /// Create an image object from the context + CGImageRef grayscaledImageRef = CGBitmapContextCreateImage(bmContext); +#ifdef kNYXReturnRetainedObjects + UIImage* grayscaled = [[UIImage alloc] initWithCGImage:grayscaledImageRef]; +#else + UIImage* grayscaled = [UIImage imageWithCGImage:grayscaledImageRef]; +#endif + + /// Cleanup + CGImageRelease(grayscaledImageRef); + CGContextRelease(bmContext); + + return grayscaled; +} + +-(UIImage*)opacity:(CGFloat)value +{ + CGImageRef cgImage = self.CGImage; + const CGFloat originalWidth = CGImageGetWidth(cgImage); + const CGFloat originalHeight = CGImageGetHeight(cgImage); + /// Number of bytes per row, each pixel in the bitmap will be represented by 4 bytes (ARGB), 8 bits of alpha/red/green/blue + const size_t bytesPerRow = originalWidth * 4; + + /// Create an ARGB bitmap context + CGContextRef bmContext = NYXImageCreateARGBBitmapContext(originalWidth, originalHeight, bytesPerRow); + if (!bmContext) + return nil; + + /// Draw the image in the bitmap context + CGContextSetAlpha(bmContext, value); + CGContextDrawImage(bmContext, (CGRect){.origin.x = 0.0f, .origin.y = 0.0f, .size.width = originalWidth, .size.height = originalHeight}, cgImage); + + /// Create an image object from the context + CGImageRef transparentImageRef = CGBitmapContextCreateImage(bmContext); +#ifdef kNYXReturnRetainedObjects + UIImage* transparent = [[UIImage alloc] initWithCGImage:transparentImageRef]; +#else + UIImage* transparent = [UIImage imageWithCGImage:transparentImageRef]; +#endif + + /// Cleanup + CGImageRelease(transparentImageRef); + CGContextRelease(bmContext); + + return transparent; +} + +@end diff --git a/Categories/UIImage+Masking.h b/Categories/UIImage+Masking.h new file mode 100644 index 0000000..3654277 --- /dev/null +++ b/Categories/UIImage+Masking.h @@ -0,0 +1,25 @@ +// +// UIImage+Masking.h +// NYXImagesUtilities +// +// Created by Nyx0uf on 6/2/11. +// Copyright 2011 Benjamin Godard. All rights reserved. +// + + +#import "NYXImagesUtilities.h" + + +@interface UIImage (NYX_Masking) + +#ifdef kNYXReturnRetainedObjects + +-(UIImage*)maskWithImage:(UIImage*)mask NS_RETURNS_RETAINED; + +#else + +-(UIImage*)maskWithImage:(UIImage*)mask; + +#endif + +@end diff --git a/Categories/UIImage+Masking.m b/Categories/UIImage+Masking.m new file mode 100644 index 0000000..d4f163d --- /dev/null +++ b/Categories/UIImage+Masking.m @@ -0,0 +1,61 @@ +// +// UIImage+Masking.m +// NYXImagesUtilities +// +// Created by Nyx0uf on 6/2/11. +// Copyright 2011 Benjamin Godard. All rights reserved. +// + + +#import "UIImage+Masking.h" + + +@implementation UIImage (NYX_Masking) + +-(UIImage*)maskWithImage:(UIImage*)maskImage +{ + CGImageRef cgImage = self.CGImage; + const size_t originalWidth = CGImageGetWidth(cgImage); + const size_t originalHeight = CGImageGetHeight(cgImage); + + /// Create a bitmap context with valid alpha + CGContextRef bmContext = NYXImageCreateARGBBitmapContext(originalWidth, originalHeight, 0); + //CGContextRef bmContext = CGBitmapContextCreate(NULL, originalWidth, originalHeight, 8/*Bits per component*/, 0, CGImageGetColorSpace(cgImage), kCGBitmapByteOrderDefault | kCGImageAlphaPremultipliedFirst); + if (!bmContext) + return nil; + + /// Image quality + CGContextSetShouldAntialias(bmContext, true); + CGContextSetAllowsAntialiasing(bmContext, true); + CGContextSetInterpolationQuality(bmContext, kCGInterpolationHigh); + + /// Image mask + CGImageRef cgMaskImage = maskImage.CGImage; + CGImageRef mask = CGImageMaskCreate(CGImageGetWidth(cgMaskImage), CGImageGetHeight(cgMaskImage), CGImageGetBitsPerComponent(cgMaskImage), CGImageGetBitsPerPixel(cgMaskImage), CGImageGetBytesPerRow(cgMaskImage), CGImageGetDataProvider(cgMaskImage), NULL, false); + + /// Draw the original image in the bitmap context + const CGRect r = (CGRect){.origin.x = 0.0f, .origin.y = 0.0f, .size.width = originalWidth, .size.height = originalHeight}; + CGContextClipToMask(bmContext, r, cgMaskImage); + CGContextDrawImage(bmContext, r, cgImage); + + /// Get the CGImage object + CGImageRef imageRefWithAlpha = CGBitmapContextCreateImage(bmContext); + /// Apply the mask + CGImageRef maskedImageRef = CGImageCreateWithMask(imageRefWithAlpha, mask); + +#ifdef kNYXReturnRetainedObjects + UIImage* result = [[UIImage alloc] initWithCGImage:maskedImageRef]; +#else + UIImage* result = [UIImage imageWithCGImage:maskedImageRef]; +#endif + + /// Cleanup + CGImageRelease(maskedImageRef); + CGImageRelease(imageRefWithAlpha); + CGContextRelease(bmContext); + CGImageRelease(mask); + + return result; +} + +@end diff --git a/Categories/UIImage+Resizing.h b/Categories/UIImage+Resizing.h new file mode 100644 index 0000000..7dd2e6e --- /dev/null +++ b/Categories/UIImage+Resizing.h @@ -0,0 +1,51 @@ +// +// UIImage+Resize.h +// NYXImagesUtilities +// +// Created by Nyx0uf on 5/2/11. +// Copyright 2011 Benjamin Godard. All rights reserved. +// + + +#import "NYXImagesUtilities.h" + + +typedef enum +{ + NYXCropModeTopLeft, + NYXCropModeTopCenter, + NYXCropModeTopRight, + NYXCropModeBottomLeft, + NYXCropModeBottomCenter, + NYXCropModeBottomRight, + NYXCropModeLeftCenter, + NYXCropModeRightCenter, + NYXCropModeCenter +} NYXCropMode; + + +@interface UIImage (NYX_Resizing) + +#ifdef kNYXReturnRetainedObjects + +-(UIImage*)cropToSize:(CGSize)newSize usingMode:(NYXCropMode)cropMode NS_RETURNS_RETAINED; + +-(UIImage*)cropToSize:(CGSize)newSize NS_RETURNS_RETAINED; + +-(UIImage*)scaleByFactor:(CGFloat)scaleFactor NS_RETURNS_RETAINED; + +-(UIImage*)scaleToFitSize:(CGSize)newSize NS_RETURNS_RETAINED; + +#else + +-(UIImage*)cropToSize:(CGSize)newSize usingMode:(NYXCropMode)cropMode; + +-(UIImage*)cropToSize:(CGSize)newSize; + +-(UIImage*)scaleByFactor:(CGFloat)scaleFactor; + +-(UIImage*)scaleToFitSize:(CGSize)newSize; + +#endif + +@end diff --git a/Categories/UIImage+Resizing.m b/Categories/UIImage+Resizing.m new file mode 100644 index 0000000..2cd7e10 --- /dev/null +++ b/Categories/UIImage+Resizing.m @@ -0,0 +1,208 @@ +// +// UIImage+Resize.m +// NYXImagesUtilities +// +// Created by Nyx0uf on 5/2/11. +// Copyright 2011 Benjamin Godard. All rights reserved. +// + + +#import "UIImage+Resizing.h" + + +@implementation UIImage (NYX_Resizing) + +-(UIImage*)cropToSize:(CGSize)newSize usingMode:(NYXCropMode)cropMode +{ + const CGSize size = self.size; + CGFloat x, y; + switch (cropMode) + { + case NYXCropModeTopLeft: + x = y = 0.0f; + break; + case NYXCropModeTopCenter: + x = (size.width - newSize.width) * 0.5f; + y = 0.0f; + break; + case NYXCropModeTopRight: + x = size.width - newSize.width; + y = 0.0f; + break; + case NYXCropModeBottomLeft: + x = 0.0f; + y = size.height - newSize.height; + break; + case NYXCropModeBottomCenter: + x = newSize.width * 0.5f; + y = size.height - newSize.height; + break; + case NYXCropModeBottomRight: + x = size.width - newSize.width; + y = size.height - newSize.height; + break; + case NYXCropModeLeftCenter: + x = 0.0f; + y = (size.height - newSize.height) * 0.5f; + break; + case NYXCropModeRightCenter: + x = size.width - newSize.width; + y = (size.height - newSize.height) * 0.5f; + break; + case NYXCropModeCenter: + x = (size.width - newSize.width) * 0.5f; + y = (size.height - newSize.height) * 0.5f; + break; + default: // Default to top left + x = y = 0.0f; + break; + } + + /// Create the cropped image + CGImageRef croppedImageRef = CGImageCreateWithImageInRect(self.CGImage, (CGRect){.origin.x = x, .origin.y = y, .size = newSize}); +#ifdef kNYXReturnRetainedObjects + UIImage* cropped = [[UIImage alloc] initWithCGImage:croppedImageRef]; +#else + UIImage* cropped = [UIImage imageWithCGImage:croppedImageRef]; +#endif + + /// Cleanup + CGImageRelease(croppedImageRef); + + return cropped; +} + +/* Convenience method to crop the image from the top left corner */ +-(UIImage*)cropToSize:(CGSize)newSize +{ + return [self cropToSize:newSize usingMode:NYXCropModeTopLeft]; +} + +-(UIImage*)scaleByFactor:(CGFloat)scaleFactor +{ + CGImageRef cgImage = self.CGImage; + const size_t originalWidth = CGImageGetWidth(cgImage) * scaleFactor; + const size_t originalHeight = CGImageGetHeight(cgImage) * scaleFactor; + /// Number of bytes per row, each pixel in the bitmap will be represented by 4 bytes (ARGB), 8 bits of alpha/red/green/blue + const size_t bytesPerRow = originalWidth * 4; + + /// Create an ARGB bitmap context + CGContextRef bmContext = NYXImageCreateARGBBitmapContext(originalWidth, originalHeight, bytesPerRow); + if (!bmContext) + return nil; + + /// Handle orientation + if (UIImageOrientationLeft == self.imageOrientation) + { + CGContextRotateCTM(bmContext, M_PI_2); + CGContextTranslateCTM(bmContext, 0, -originalHeight); + } + else if (UIImageOrientationRight == self.imageOrientation) + { + CGContextRotateCTM(bmContext, -M_PI_2); + CGContextTranslateCTM(bmContext, -originalWidth, 0); + } + else if (UIImageOrientationDown == self.imageOrientation) + { + CGContextTranslateCTM(bmContext, originalWidth, originalHeight); + CGContextRotateCTM(bmContext, -M_PI); + } + + /// Image quality + CGContextSetShouldAntialias(bmContext, true); + CGContextSetAllowsAntialiasing(bmContext, true); + CGContextSetInterpolationQuality(bmContext, kCGInterpolationHigh); + + /// Draw the image in the bitmap context + CGContextDrawImage(bmContext, (CGRect){.origin.x = 0.0f, .origin.y = 0.0f, .size.width = originalWidth, .size.height = originalHeight}, cgImage); + + /// Create an image object from the context + CGImageRef scaledImageRef = CGBitmapContextCreateImage(bmContext); +#ifdef kNYXReturnRetainedObjects + UIImage* scaled = [[UIImage alloc] initWithCGImage:scaledImageRef]; +#else + UIImage* scaled = [UIImage imageWithCGImage:scaledImageRef]; +#endif + + /// Cleanup + CGImageRelease(scaledImageRef); + CGContextRelease(bmContext); + + return scaled; +} + +-(UIImage*)scaleToFitSize:(CGSize)newSize +{ + CGImageRef cgImage = self.CGImage; + const size_t originalWidth = CGImageGetWidth(cgImage); + const size_t originalHeight = CGImageGetHeight(cgImage); + + /// Keep aspect ratio + size_t destWidth, destHeight; + if (originalWidth > originalHeight) + { + destWidth = newSize.width; + destHeight = originalHeight * newSize.width / originalWidth; + } + else + { + destHeight = newSize.height; + destWidth = originalWidth * newSize.height / originalHeight; + } + if (destWidth > newSize.width) + { + destWidth = newSize.width; + destHeight = originalHeight * newSize.width / originalWidth; + } + if (destHeight > newSize.height) + { + destHeight = newSize.height; + destWidth = originalWidth * newSize.height / originalHeight; + } + + /// Create an ARGB bitmap context + CGContextRef bmContext = NYXImageCreateARGBBitmapContext(destWidth, destHeight, 4 * destWidth); + if (!bmContext) + return nil; + + /// Handle orientation + if (UIImageOrientationLeft == self.imageOrientation) + { + CGContextRotateCTM(bmContext, M_PI_2); + CGContextTranslateCTM(bmContext, 0, -destHeight); + } + else if (UIImageOrientationRight == self.imageOrientation) + { + CGContextRotateCTM(bmContext, -M_PI_2); + CGContextTranslateCTM(bmContext, -destWidth, 0); + } + else if (UIImageOrientationDown == self.imageOrientation) + { + CGContextTranslateCTM(bmContext, destWidth, destHeight); + CGContextRotateCTM(bmContext, -M_PI); + } + + /// Image quality + CGContextSetShouldAntialias(bmContext, true); + CGContextSetAllowsAntialiasing(bmContext, true); + CGContextSetInterpolationQuality(bmContext, kCGInterpolationHigh); + + /// Draw the image in the bitmap context + CGContextDrawImage(bmContext, (CGRect){.origin.x = 0.0f, .origin.y = 0.0f, .size.width = destWidth, .size.height = destHeight}, cgImage); + + /// Create an image object from the context + CGImageRef scaledImageRef = CGBitmapContextCreateImage(bmContext); +#ifdef kNYXReturnRetainedObjects + UIImage* scaled = [[UIImage alloc] initWithCGImage:scaledImageRef]; +#else + UIImage* scaled = [UIImage imageWithCGImage:scaledImageRef]; +#endif + + /// Cleanup + CGImageRelease(scaledImageRef); + CGContextRelease(bmContext); + + return scaled; +} + +@end diff --git a/Categories/UIImage+Rotating.h b/Categories/UIImage+Rotating.h new file mode 100644 index 0000000..0130097 --- /dev/null +++ b/Categories/UIImage+Rotating.h @@ -0,0 +1,37 @@ +// +// UIImage+Rotation.h +// NYXImagesUtilities +// +// Created by Nyx0uf on 5/2/11. +// Copyright 2011 Benjamin Godard. All rights reserved. +// + + +#import "NYXImagesUtilities.h" + + +@interface UIImage (NYX_Rotating) + +#ifdef kNYXReturnRetainedObjects + +-(UIImage*)rotateInDegrees:(CGFloat)degrees NS_RETURNS_RETAINED; + +-(UIImage*)rotateInRadians:(CGFloat)radians NS_RETURNS_RETAINED; + +-(UIImage*)verticalFlip NS_RETURNS_RETAINED; + +-(UIImage*)horizontalFlip NS_RETURNS_RETAINED; + +#else + +-(UIImage*)rotateInDegrees:(CGFloat)degrees; + +-(UIImage*)rotateInRadians:(CGFloat)radians; + +-(UIImage*)verticalFlip; + +-(UIImage*)horizontalFlip; + +#endif + +@end diff --git a/Categories/UIImage+Rotating.m b/Categories/UIImage+Rotating.m new file mode 100644 index 0000000..665f94d --- /dev/null +++ b/Categories/UIImage+Rotating.m @@ -0,0 +1,121 @@ +// +// UIImage+Rotation.m +// NYXImagesUtilities +// +// Created by Nyx0uf on 5/2/11. +// Copyright 2011 Benjamin Godard. All rights reserved. +// + + +#import "UIImage+Rotating.h" + +@interface UIImage (NYX_Rotating_private) +#ifdef kNYXReturnRetainedObjects +-(UIImage*)flip:(BOOL)horizontal NS_RETURNS_RETAINED; +#else +-(UIImage*)flip:(BOOL)horizontal; +#endif +@end + + +@implementation UIImage (NYX_Rotating) + +-(UIImage*)rotateInRadians:(CGFloat)radians +{ + CGImageRef cgImage = self.CGImage; + const CGFloat originalWidth = CGImageGetWidth(cgImage); + const CGFloat originalHeight = CGImageGetHeight(cgImage); + + const CGRect imgRect = (CGRect){.origin.x = 0.0f, .origin.y = 0.0f, .size.width = originalWidth, .size.height = originalHeight}; + const CGRect rotatedRect = CGRectApplyAffineTransform(imgRect, CGAffineTransformMakeRotation(radians)); + + /// Create an ARGB bitmap context + CGContextRef bmContext = NYXImageCreateARGBBitmapContext(rotatedRect.size.width, rotatedRect.size.height, 0); + if (!bmContext) + return nil; + + /// Image quality + CGContextSetShouldAntialias(bmContext, true); + CGContextSetAllowsAntialiasing(bmContext, true); + CGContextSetInterpolationQuality(bmContext, kCGInterpolationHigh); + + /// Rotation happen here + CGContextTranslateCTM(bmContext, +(rotatedRect.size.width * 0.5f), +(rotatedRect.size.height * 0.5f)); + CGContextRotateCTM(bmContext, radians); + + /// Draw the image in the bitmap context + CGContextDrawImage(bmContext, (CGRect){.origin.x = -originalWidth * 0.5f, .origin.y = -originalHeight * 0.5f, .size.width = originalWidth, .size.height = originalHeight}, cgImage); + + /// Create an image object from the context + CGImageRef rotatedImageRef = CGBitmapContextCreateImage(bmContext); +#ifdef kNYXReturnRetainedObjects + UIImage* rotated = [[UIImage alloc] initWithCGImage:rotatedImageRef]; +#else + UIImage* rotated = [UIImage imageWithCGImage:rotatedImageRef]; +#endif + + /// Cleanup + CGImageRelease(rotatedImageRef); + CGContextRelease(bmContext); + + return rotated; +} + +/* Convenience method to rotate an image which take the angle in degrees */ +-(UIImage*)rotateInDegrees:(CGFloat)degrees +{ + return [self rotateInRadians:degrees_to_radians(degrees)]; +} + +/* Convenience method to rotate an image at 180 degrees */ +-(UIImage*)verticalFlip +{ + return [self flip:NO]; +} + +-(UIImage*)horizontalFlip +{ + return [self flip:YES]; +} + +#pragma mark - Private +-(UIImage*)flip:(BOOL)horizontal +{ + CGImageRef cgImage = self.CGImage; + const CGFloat originalWidth = CGImageGetWidth(cgImage); + const CGFloat originalHeight = CGImageGetHeight(cgImage); + /// Number of bytes per row, each pixel in the bitmap will be represented by 4 bytes (ARGB), 8 bits of alpha/red/green/blue + const size_t bytesPerRow = originalWidth * 4; + + /// Create an ARGB bitmap context + CGContextRef bmContext = NYXImageCreateARGBBitmapContext(originalWidth, originalHeight, bytesPerRow); + if (!bmContext) + return nil; + + /// Image quality + CGContextSetShouldAntialias(bmContext, true); + CGContextSetAllowsAntialiasing(bmContext, true); + CGContextSetInterpolationQuality(bmContext, kCGInterpolationHigh); + + horizontal ? CGContextScaleCTM(bmContext, -1.0f, 1.0f) : CGContextScaleCTM(bmContext, 1.0f, -1.0f); + + /// Draw the image in the bitmap context + const CGRect r = horizontal ? (CGRect){.origin.x = -originalWidth, .origin.y = 0.0f, .size.width = originalWidth, .size.height = originalHeight}: (CGRect){.origin.x = 0.0f, .origin.y = -originalHeight, .size.width = originalWidth, .size.height = originalHeight}; + CGContextDrawImage(bmContext, r, cgImage); + + /// Create an image object from the context + CGImageRef flippedImageRef = CGBitmapContextCreateImage(bmContext); +#ifdef kNYXReturnRetainedObjects + UIImage* flipped = [[UIImage alloc] initWithCGImage:flippedImageRef]; +#else + UIImage* flipped = [UIImage imageWithCGImage:flippedImageRef]; +#endif + + /// Cleanup + CGImageRelease(flippedImageRef); + CGContextRelease(bmContext); + + return flipped; +} + +@end diff --git a/Classes/.DS_Store b/Classes/.DS_Store new file mode 100644 index 0000000..5008ddf Binary files /dev/null and b/Classes/.DS_Store differ diff --git a/Classes/AppDelegate.h b/Classes/AppDelegate.h new file mode 100644 index 0000000..e833053 --- /dev/null +++ b/Classes/AppDelegate.h @@ -0,0 +1,21 @@ +// +// AppDelegate.h +// NYXImagesUtilities +// +// Created by Nyx0uf on 5/2/11. +// Copyright 2011 Benjamin Godard. All rights reserved. +// + + +@class NYXRootViewController; + +@interface AppDelegate : NSObject +{ +@private + /// Window + UIWindow* _window; + /// Root view controller + NYXRootViewController* _rootVC; +} + +@end diff --git a/Classes/AppDelegate.m b/Classes/AppDelegate.m new file mode 100644 index 0000000..2de53b8 --- /dev/null +++ b/Classes/AppDelegate.m @@ -0,0 +1,35 @@ +// +// AppDelegate.m +// NYXImagesUtilities +// +// Created by Nyx0uf on 5/2/11. +// Copyright 2011 Benjamin Godard. All rights reserved. +// + + +#import "AppDelegate.h" +#import "NYXRootViewController.h" + + +@implementation AppDelegate + +-(BOOL)application:(UIApplication*)application didFinishLaunchingWithOptions:(NSDictionary*)launchOptions +{ + _window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; + + _rootVC = [[NYXRootViewController alloc] init]; + + [_window addSubview:_rootVC.view]; + [_window makeKeyAndVisible]; + + return YES; +} + +-(void)dealloc +{ + SAFE_RELEASE(_rootVC); + SAFE_RELEASE(_window); + [super dealloc]; +} + +@end diff --git a/Classes/NYXRootViewController.h b/Classes/NYXRootViewController.h new file mode 100644 index 0000000..d073741 --- /dev/null +++ b/Classes/NYXRootViewController.h @@ -0,0 +1,23 @@ +// +// NYXRootViewController.h +// NYXImagesUtilities +// +// Created by Nyx0uf on 5/2/11. +// Copyright 2011 Benjamin Godard. All rights reserved. +// + + +@interface NYXRootViewController : UIViewController +{ +@private + /// Original image display + UIImageView* _originalImageView; + /// Modified image display + UIImageView* _modifiedImageView; + /// Bench result label + UILabel* _resultLabel; + /// Test image + UIImage* _image; +} + +@end diff --git a/Classes/NYXRootViewController.m b/Classes/NYXRootViewController.m new file mode 100644 index 0000000..f422f02 --- /dev/null +++ b/Classes/NYXRootViewController.m @@ -0,0 +1,99 @@ +// +// NYXRootViewController.m +// NYXImagesUtilities +// +// Created by Nyx0uf on 5/2/11. +// Copyright 2011 Benjamin Godard. All rights reserved. +// + + +#import "NYXRootViewController.h" +#import "UIImage+Filtering.h" +#import "UIImage+Resizing.h" +#import "UIImage+Rotating.h" +#import "UIImage+Masking.h" + + +@interface NYXRootViewController() +-(void)bench:(id)sender; +@end + + +@implementation NYXRootViewController + +#pragma mark - Allocations / Deallocations / Memory +-(id)init +{ + if ((self = [super init])) + { + _originalImageView = nil; + _modifiedImageView = nil; + _resultLabel = nil; + _image = [[UIImage alloc] initWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"sample" ofType:@"jpg"]]; + } + return self; +} + +-(void)dealloc +{ + SAFE_RELEASE(_image); + SAFE_RELEASE(_originalImageView); + SAFE_RELEASE(_modifiedImageView); + SAFE_RELEASE(_resultLabel); + [super dealloc]; +} + +#pragma mark - UIViewController events +-(void)viewDidLoad +{ + [super viewDidLoad]; + + self.view.backgroundColor = [UIColor lightGrayColor]; + + _originalImageView = [[UIImageView alloc] initWithFrame:(CGRect){.origin.x = 0.0f, .origin.y = 30.0f, .size.width = 320.0f, .size.height = 200.0f}]; + _originalImageView.backgroundColor = [UIColor grayColor]; + _originalImageView.contentMode = UIViewContentModeScaleAspectFit; + _originalImageView.image = _image; + [self.view addSubview:_originalImageView]; + + _modifiedImageView = [[UIImageView alloc] initWithFrame:(CGRect){.origin.x = 0.0f, .origin.y = 230.0f, .size.width = 320.0f, .size.height = 200.0f}]; + _modifiedImageView.backgroundColor = [UIColor grayColor]; + [self.view addSubview:_modifiedImageView]; + + UIButton* btn = [UIButton buttonWithType:UIButtonTypeRoundedRect]; + btn.frame = (CGRect){.origin.x = 110.0f, .origin.y = 2.0f, .size.width = 100.0f, .size.height = 18.0f}; + [btn addTarget:self action:@selector(bench:) forControlEvents:UIControlEventTouchUpInside]; + [btn setTitle:@"Transform" forState:UIControlStateNormal]; + [self.view addSubview:btn]; + + _resultLabel = [[UILabel alloc] initWithFrame:(CGRect){.origin.x = 110.0f, .origin.y = 462.0f, .size.width = 100.0f, .size.height = 18.0f}]; + _resultLabel.backgroundColor = [UIColor clearColor]; + _resultLabel.textColor = [UIColor redColor]; + _resultLabel.textAlignment = UITextAlignmentCenter; + [self.view addSubview:_resultLabel]; +} + +-(BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation +{ + return (interfaceOrientation == UIInterfaceOrientationPortrait); +} + +#pragma mark - Private +-(void)bench:(id)sender +{ + UIImage* final = nil; + const NSTimeInterval t1 = [[NSDate date] timeIntervalSince1970]; + final = [[_image sepia] maskWithImage:[UIImage imageNamed:@"mask.png"]]; + const NSTimeInterval t2 = [[NSDate date] timeIntervalSince1970]; + + _resultLabel.text = [NSString stringWithFormat:@"%fs", t2 - t1]; + _modifiedImageView.contentMode = (final.size.width < _modifiedImageView.frame.size.width && final.size.height < _modifiedImageView.frame.size.height) ? UIViewContentModeCenter : UIViewContentModeScaleAspectFit; + _modifiedImageView.image = final; + + /*CGImageDestinationRef dest = CGImageDestinationCreateWithURL((CFURLRef)[NSURL fileURLWithPath:@"path"], CFSTR("public.png"), 1, NULL); + CGImageDestinationAddImage(dest, maskedImageRef, (CFDictionaryRef)[NSDictionary dictionaryWithObject:(id)[NSNumber numberWithFloat:1.0f] forKey:(id)kCGImageDestinationLossyCompressionQuality]); + CGImageDestinationFinalize(dest); + CFRelease(dest);*/ +} + +@end diff --git a/LICENSE.txt b/LICENSE.txt new file mode 100644 index 0000000..dd5a73c --- /dev/null +++ b/LICENSE.txt @@ -0,0 +1,25 @@ +Copyright 2011 Benjamin Godard. All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, are +permitted provided that the following conditions are met: + + 1. Redistributions of source code must retain the above copyright notice, this list of + conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright notice, this list + of conditions and the following disclaimer in the documentation and/or other materials + provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY BENJAMIN GODARD ``AS IS'' AND ANY EXPRESS OR IMPLIED +WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BENJAMIN GODARD OR +CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +The views and conclusions contained in the software and documentation are those of the +authors and should not be interpreted as representing official policies, either expressed +or implied, of Benjamin Godard. \ No newline at end of file diff --git a/NYXImagesUtilities.xcodeproj/project.pbxproj b/NYXImagesUtilities.xcodeproj/project.pbxproj new file mode 100644 index 0000000..08e2770 --- /dev/null +++ b/NYXImagesUtilities.xcodeproj/project.pbxproj @@ -0,0 +1,329 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 46; + objects = { + +/* Begin PBXBuildFile section */ + 1E16763C1373215A00F953C5 /* UIImage+Filtering.m in Sources */ = {isa = PBXBuildFile; fileRef = 1E1676351373215A00F953C5 /* UIImage+Filtering.m */; }; + 1E16763D1373215A00F953C5 /* UIImage+Masking.m in Sources */ = {isa = PBXBuildFile; fileRef = 1E1676371373215A00F953C5 /* UIImage+Masking.m */; }; + 1E16763E1373215A00F953C5 /* UIImage+Resizing.m in Sources */ = {isa = PBXBuildFile; fileRef = 1E1676391373215A00F953C5 /* UIImage+Resizing.m */; }; + 1E16763F1373215A00F953C5 /* UIImage+Rotating.m in Sources */ = {isa = PBXBuildFile; fileRef = 1E16763B1373215A00F953C5 /* UIImage+Rotating.m */; }; + FC2F3180136ECA8500486142 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FC2F317F136ECA8500486142 /* UIKit.framework */; }; + FC2F3182136ECA8500486142 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FC2F3181136ECA8500486142 /* Foundation.framework */; }; + FC2F3184136ECA8500486142 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FC2F3183136ECA8500486142 /* CoreGraphics.framework */; }; + FC2F319D136ECBAC00486142 /* ImageIO.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FC2F319B136ECBAC00486142 /* ImageIO.framework */; }; + FC2F319E136ECBAC00486142 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FC2F319C136ECBAC00486142 /* QuartzCore.framework */; }; + FC2F31AD136ECC6400486142 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = FC2F31AB136ECC6400486142 /* main.m */; }; + FC2F31B2136ECC6D00486142 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = FC2F31AF136ECC6D00486142 /* AppDelegate.m */; }; + FC2F31B3136ECC6D00486142 /* NYXRootViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = FC2F31B1136ECC6D00486142 /* NYXRootViewController.m */; }; + FC2F31C5136ECD5200486142 /* NYXImagesUtilities.m in Sources */ = {isa = PBXBuildFile; fileRef = FC2F31C4136ECD5200486142 /* NYXImagesUtilities.m */; }; + FC312599137000A10097007F /* mask.png in Resources */ = {isa = PBXBuildFile; fileRef = FC312598137000A10097007F /* mask.png */; }; + FC446F1D136ED1F400D3BE2D /* sample.jpg in Resources */ = {isa = PBXBuildFile; fileRef = FC446F1B136ED1F400D3BE2D /* sample.jpg */; }; + FC446F1E136ED1F400D3BE2D /* sample.png in Resources */ = {isa = PBXBuildFile; fileRef = FC446F1C136ED1F400D3BE2D /* sample.png */; }; +/* End PBXBuildFile section */ + +/* Begin PBXFileReference section */ + 1E1676341373215A00F953C5 /* UIImage+Filtering.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIImage+Filtering.h"; sourceTree = ""; }; + 1E1676351373215A00F953C5 /* UIImage+Filtering.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIImage+Filtering.m"; sourceTree = ""; }; + 1E1676361373215A00F953C5 /* UIImage+Masking.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIImage+Masking.h"; sourceTree = ""; }; + 1E1676371373215A00F953C5 /* UIImage+Masking.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIImage+Masking.m"; sourceTree = ""; }; + 1E1676381373215A00F953C5 /* UIImage+Resizing.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIImage+Resizing.h"; sourceTree = ""; }; + 1E1676391373215A00F953C5 /* UIImage+Resizing.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIImage+Resizing.m"; sourceTree = ""; }; + 1E16763A1373215A00F953C5 /* UIImage+Rotating.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIImage+Rotating.h"; sourceTree = ""; }; + 1E16763B1373215A00F953C5 /* UIImage+Rotating.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIImage+Rotating.m"; sourceTree = ""; }; + FC2F317B136ECA8500486142 /* NYXImagesUtilities.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = NYXImagesUtilities.app; sourceTree = BUILT_PRODUCTS_DIR; }; + FC2F317F136ECA8500486142 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; }; + FC2F3181136ECA8500486142 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; }; + FC2F3183136ECA8500486142 /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; }; + FC2F319B136ECBAC00486142 /* ImageIO.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = ImageIO.framework; path = System/Library/Frameworks/ImageIO.framework; sourceTree = SDKROOT; }; + FC2F319C136ECBAC00486142 /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; }; + FC2F31A9136ECC5A00486142 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = Resources/Info.plist; sourceTree = ""; }; + FC2F31AB136ECC6400486142 /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = main.m; path = "Other Sources/main.m"; sourceTree = ""; }; + FC2F31AC136ECC6400486142 /* Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Prefix.pch; path = "Other Sources/Prefix.pch"; sourceTree = ""; }; + FC2F31AE136ECC6D00486142 /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AppDelegate.h; path = Classes/AppDelegate.h; sourceTree = ""; }; + FC2F31AF136ECC6D00486142 /* AppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AppDelegate.m; path = Classes/AppDelegate.m; sourceTree = ""; }; + FC2F31B0136ECC6D00486142 /* NYXRootViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = NYXRootViewController.h; path = Classes/NYXRootViewController.h; sourceTree = ""; }; + FC2F31B1136ECC6D00486142 /* NYXRootViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = NYXRootViewController.m; path = Classes/NYXRootViewController.m; sourceTree = ""; }; + FC2F31C3136ECD5200486142 /* NYXImagesUtilities.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = NYXImagesUtilities.h; path = "Other Sources/NYXImagesUtilities.h"; sourceTree = ""; }; + FC2F31C4136ECD5200486142 /* NYXImagesUtilities.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = NYXImagesUtilities.m; path = "Other Sources/NYXImagesUtilities.m"; sourceTree = ""; }; + FC312598137000A10097007F /* mask.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = mask.png; path = Resources/mask.png; sourceTree = ""; }; + FC446F1B136ED1F400D3BE2D /* sample.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; name = sample.jpg; path = Resources/sample.jpg; sourceTree = ""; }; + FC446F1C136ED1F400D3BE2D /* sample.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = sample.png; path = Resources/sample.png; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + FC2F3178136ECA8500486142 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + FC2F319D136ECBAC00486142 /* ImageIO.framework in Frameworks */, + FC2F319E136ECBAC00486142 /* QuartzCore.framework in Frameworks */, + FC2F3180136ECA8500486142 /* UIKit.framework in Frameworks */, + FC2F3182136ECA8500486142 /* Foundation.framework in Frameworks */, + FC2F3184136ECA8500486142 /* CoreGraphics.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 1E1676331373215A00F953C5 /* Categories */ = { + isa = PBXGroup; + children = ( + 1E1676341373215A00F953C5 /* UIImage+Filtering.h */, + 1E1676351373215A00F953C5 /* UIImage+Filtering.m */, + 1E1676361373215A00F953C5 /* UIImage+Masking.h */, + 1E1676371373215A00F953C5 /* UIImage+Masking.m */, + 1E1676381373215A00F953C5 /* UIImage+Resizing.h */, + 1E1676391373215A00F953C5 /* UIImage+Resizing.m */, + 1E16763A1373215A00F953C5 /* UIImage+Rotating.h */, + 1E16763B1373215A00F953C5 /* UIImage+Rotating.m */, + ); + path = Categories; + sourceTree = ""; + }; + FC2F3170136ECA8500486142 = { + isa = PBXGroup; + children = ( + FC2F3199136ECB5600486142 /* Classes */, + 1E1676331373215A00F953C5 /* Categories */, + FC2F319A136ECB6400486142 /* Other Sources */, + FC2F319F136ECBCD00486142 /* Resources */, + FC2F317E136ECA8500486142 /* Frameworks */, + FC2F317C136ECA8500486142 /* Products */, + ); + sourceTree = ""; + }; + FC2F317C136ECA8500486142 /* Products */ = { + isa = PBXGroup; + children = ( + FC2F317B136ECA8500486142 /* NYXImagesUtilities.app */, + ); + name = Products; + sourceTree = ""; + }; + FC2F317E136ECA8500486142 /* Frameworks */ = { + isa = PBXGroup; + children = ( + FC2F319B136ECBAC00486142 /* ImageIO.framework */, + FC2F319C136ECBAC00486142 /* QuartzCore.framework */, + FC2F317F136ECA8500486142 /* UIKit.framework */, + FC2F3181136ECA8500486142 /* Foundation.framework */, + FC2F3183136ECA8500486142 /* CoreGraphics.framework */, + ); + name = Frameworks; + sourceTree = ""; + }; + FC2F3199136ECB5600486142 /* Classes */ = { + isa = PBXGroup; + children = ( + FC2F31AE136ECC6D00486142 /* AppDelegate.h */, + FC2F31AF136ECC6D00486142 /* AppDelegate.m */, + FC2F31B0136ECC6D00486142 /* NYXRootViewController.h */, + FC2F31B1136ECC6D00486142 /* NYXRootViewController.m */, + ); + name = Classes; + sourceTree = ""; + }; + FC2F319A136ECB6400486142 /* Other Sources */ = { + isa = PBXGroup; + children = ( + FC2F31C3136ECD5200486142 /* NYXImagesUtilities.h */, + FC2F31C4136ECD5200486142 /* NYXImagesUtilities.m */, + FC2F31AB136ECC6400486142 /* main.m */, + FC2F31AC136ECC6400486142 /* Prefix.pch */, + ); + name = "Other Sources"; + sourceTree = ""; + }; + FC2F319F136ECBCD00486142 /* Resources */ = { + isa = PBXGroup; + children = ( + FC312598137000A10097007F /* mask.png */, + FC446F1B136ED1F400D3BE2D /* sample.jpg */, + FC446F1C136ED1F400D3BE2D /* sample.png */, + FC2F31A9136ECC5A00486142 /* Info.plist */, + ); + name = Resources; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + FC2F317A136ECA8500486142 /* NYXImagesUtilities */ = { + isa = PBXNativeTarget; + buildConfigurationList = FC2F3196136ECA8500486142 /* Build configuration list for PBXNativeTarget "NYXImagesUtilities" */; + buildPhases = ( + FC2F3177136ECA8500486142 /* Sources */, + FC2F3178136ECA8500486142 /* Frameworks */, + FC2F3179136ECA8500486142 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = NYXImagesUtilities; + productName = NYXImagesUtilities; + productReference = FC2F317B136ECA8500486142 /* NYXImagesUtilities.app */; + productType = "com.apple.product-type.application"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + FC2F3172136ECA8500486142 /* Project object */ = { + isa = PBXProject; + buildConfigurationList = FC2F3175136ECA8500486142 /* Build configuration list for PBXProject "NYXImagesUtilities" */; + compatibilityVersion = "Xcode 3.2"; + developmentRegion = English; + hasScannedForEncodings = 0; + knownRegions = ( + en, + ); + mainGroup = FC2F3170136ECA8500486142; + productRefGroup = FC2F317C136ECA8500486142 /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + FC2F317A136ECA8500486142 /* NYXImagesUtilities */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + FC2F3179136ECA8500486142 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + FC446F1D136ED1F400D3BE2D /* sample.jpg in Resources */, + FC446F1E136ED1F400D3BE2D /* sample.png in Resources */, + FC312599137000A10097007F /* mask.png in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + FC2F3177136ECA8500486142 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + FC2F31AD136ECC6400486142 /* main.m in Sources */, + FC2F31B2136ECC6D00486142 /* AppDelegate.m in Sources */, + FC2F31B3136ECC6D00486142 /* NYXRootViewController.m in Sources */, + FC2F31C5136ECD5200486142 /* NYXImagesUtilities.m in Sources */, + 1E16763C1373215A00F953C5 /* UIImage+Filtering.m in Sources */, + 1E16763D1373215A00F953C5 /* UIImage+Masking.m in Sources */, + 1E16763E1373215A00F953C5 /* UIImage+Resizing.m in Sources */, + 1E16763F1373215A00F953C5 /* UIImage+Rotating.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin XCBuildConfiguration section */ + FC2F3194136ECA8500486142 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ARCHS = "$(ARCHS_STANDARD_32_BIT)"; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = DEBUG; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; + GCC_WARN_ABOUT_MISSING_FIELD_INITIALIZERS = YES; + GCC_WARN_ABOUT_MISSING_NEWLINE = YES; + GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_INITIALIZER_NOT_FULLY_BRACKETED = YES; + GCC_WARN_SHADOW = YES; + GCC_WARN_SIGN_COMPARE = YES; + GCC_WARN_UNUSED_LABEL = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 4.0; + RUN_CLANG_STATIC_ANALYZER = YES; + SCAN_ALL_SOURCE_FILES_FOR_INCLUDES = YES; + SDKROOT = iphoneos; + }; + name = Debug; + }; + FC2F3195136ECA8500486142 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ARCHS = "$(ARCHS_STANDARD_32_BIT)"; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; + GCC_WARN_ABOUT_MISSING_FIELD_INITIALIZERS = YES; + GCC_WARN_ABOUT_MISSING_NEWLINE = YES; + GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_INITIALIZER_NOT_FULLY_BRACKETED = YES; + GCC_WARN_SHADOW = YES; + GCC_WARN_SIGN_COMPARE = YES; + GCC_WARN_UNUSED_LABEL = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 4.0; + OTHER_CFLAGS = "-DNS_BLOCK_ASSERTIONS=1"; + RUN_CLANG_STATIC_ANALYZER = YES; + SCAN_ALL_SOURCE_FILES_FOR_INCLUDES = YES; + SDKROOT = iphoneos; + }; + name = Release; + }; + FC2F3197136ECA8500486142 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + COPY_PHASE_STRIP = NO; + GCC_DYNAMIC_NO_PIC = NO; + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = "Other Sources/Prefix.pch"; + INFOPLIST_FILE = Resources/Info.plist; + PRODUCT_NAME = "$(TARGET_NAME)"; + WRAPPER_EXTENSION = app; + }; + name = Debug; + }; + FC2F3198136ECA8500486142 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + COPY_PHASE_STRIP = YES; + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = "Other Sources/Prefix.pch"; + INFOPLIST_FILE = Resources/Info.plist; + PRODUCT_NAME = "$(TARGET_NAME)"; + VALIDATE_PRODUCT = YES; + WRAPPER_EXTENSION = app; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + FC2F3175136ECA8500486142 /* Build configuration list for PBXProject "NYXImagesUtilities" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + FC2F3194136ECA8500486142 /* Debug */, + FC2F3195136ECA8500486142 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + FC2F3196136ECA8500486142 /* Build configuration list for PBXNativeTarget "NYXImagesUtilities" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + FC2F3197136ECA8500486142 /* Debug */, + FC2F3198136ECA8500486142 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = FC2F3172136ECA8500486142 /* Project object */; +} diff --git a/NYXImagesUtilities.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/NYXImagesUtilities.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..245ab9e --- /dev/null +++ b/NYXImagesUtilities.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/NYXImagesUtilities.xcodeproj/project.xcworkspace/xcuserdata/Nyxouf.xcuserdatad/UserInterfaceState.xcuserstate b/NYXImagesUtilities.xcodeproj/project.xcworkspace/xcuserdata/Nyxouf.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100644 index 0000000..ccf1cac --- /dev/null +++ b/NYXImagesUtilities.xcodeproj/project.xcworkspace/xcuserdata/Nyxouf.xcuserdatad/UserInterfaceState.xcuserstate @@ -0,0 +1,2605 @@ + + + + + $archiver + NSKeyedArchiver + $objects + + $null + + $class + + CF$UID + 160 + + NS.keys + + + CF$UID + 2 + + + CF$UID + 3 + + + NS.objects + + + CF$UID + 4 + + + CF$UID + 103 + + + + IDEWorkspaceDocument + 94A6EB36-F555-46B9-86E4-0540BC8CD87C + + $class + + CF$UID + 33 + + NS.keys + + + CF$UID + 5 + + + CF$UID + 6 + + + CF$UID + 7 + + + CF$UID + 8 + + + CF$UID + 9 + + + CF$UID + 10 + + + CF$UID + 11 + + + CF$UID + 12 + + + CF$UID + 13 + + + CF$UID + 14 + + + NS.objects + + + CF$UID + 15 + + + CF$UID + 16 + + + CF$UID + 30 + + + CF$UID + 55 + + + CF$UID + 58 + + + CF$UID + 63 + + + CF$UID + 97 + + + CF$UID + 98 + + + CF$UID + 15 + + + CF$UID + 15 + + + + BreakpointsActivated + DefaultEditorStatesForURLs + DebuggingWindowBehavior + ActiveScheme + ActiveRunDestination + LastCompletedPersistentSchemeBasedActivityReport + DocumentWindows + RecentEditorDocumentURLs + AppFocusInMiniDebugging + MiniDebuggingConsole + + + $class + + CF$UID + 33 + + NS.keys + + + CF$UID + 17 + + + CF$UID + 18 + + + NS.objects + + + CF$UID + 19 + + + CF$UID + 34 + + + + IDEQuickLookEditor.Editor + Xcode.IDEKit.EditorDocument.SourceCode + + $class + + CF$UID + 33 + + NS.keys + + + CF$UID + 20 + + + NS.objects + + + CF$UID + 24 + + + + + $class + + CF$UID + 23 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 21 + + + + $class + + CF$UID + 22 + + NS.string + file://localhost/Users/Nyxouf/Dropbox/Projects/NYXImagesUtilities/Resources/GITS.jpg + + + $classes + + NSMutableString + NSString + NSObject + + $classname + NSMutableString + + + $classes + + NSURL + NSObject + + $classname + NSURL + + + $class + + CF$UID + 33 + + NS.keys + + + CF$UID + 25 + + + NS.objects + + + CF$UID + 26 + + + + SelectedDocumentLocations + + $class + + CF$UID + 32 + + NS.objects + + + CF$UID + 27 + + + + + $class + + CF$UID + 31 + + IDEQuickLookPageNumber + + CF$UID + 30 + + documentURL + + CF$UID + 28 + + timestamp + + CF$UID + 29 + + + file://localhost/Users/Nyxouf/Dropbox/Projects/NYXImagesUtilities/Resources/GITS.jpg + 326235199.71717203 + 0 + + $classes + + IDEQuickLookDocumentLocation + DVTDocumentLocation + NSObject + + $classname + IDEQuickLookDocumentLocation + + + $classes + + NSArray + NSObject + + $classname + NSArray + + + $classes + + NSMutableDictionary + NSDictionary + NSObject + + $classname + NSMutableDictionary + + + $class + + CF$UID + 33 + + NS.keys + + + CF$UID + 35 + + + CF$UID + 37 + + + NS.objects + + + CF$UID + 39 + + + CF$UID + 47 + + + + + $class + + CF$UID + 23 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 36 + + + + $class + + CF$UID + 22 + + NS.string + file://localhost/Users/Nyxouf/Dropbox/Projects/NYXImagesUtilities/Classes/AppDelegate.m + + + $class + + CF$UID + 23 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 38 + + + + $class + + CF$UID + 22 + + NS.string + file://localhost/Users/Nyxouf/Dropbox/Projects/NYXImagesUtilities/Classes/NYXRootViewController.m + + + $class + + CF$UID + 33 + + NS.keys + + + CF$UID + 40 + + + CF$UID + 41 + + + CF$UID + 42 + + + CF$UID + 43 + + + NS.objects + + + CF$UID + 44 + + + CF$UID + 45 + + + CF$UID + 15 + + + CF$UID + 46 + + + + PrimaryDocumentTimestamp + PrimaryDocumentVisibleCharacterRange + HideAllIssues + PrimaryDocumentSelectedCharacterRange + 326234080.12733197 + {0, 640} + {0, 0} + + $class + + CF$UID + 33 + + NS.keys + + + CF$UID + 48 + + + CF$UID + 49 + + + CF$UID + 50 + + + CF$UID + 51 + + + NS.objects + + + CF$UID + 52 + + + CF$UID + 53 + + + CF$UID + 15 + + + CF$UID + 54 + + + + PrimaryDocumentTimestamp + PrimaryDocumentVisibleCharacterRange + HideAllIssues + PrimaryDocumentSelectedCharacterRange + 326312294.90582699 + {0, 938} + {681, 0} + + $class + + CF$UID + 33 + + NS.keys + + + CF$UID + 56 + + + NS.objects + + + CF$UID + 57 + + + + IDENameString + NYXImagesUtilities + + $class + + CF$UID + 33 + + NS.keys + + + CF$UID + 59 + + + CF$UID + 60 + + + NS.objects + + + CF$UID + 61 + + + CF$UID + 62 + + + + IDEDeviceLocation + IDEDeviceArchitecture + dvtdevice-iphonesimulator:/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator4.0.sdk-iPhone + i386 + + $class + + CF$UID + 33 + + NS.keys + + + CF$UID + 64 + + + CF$UID + 65 + + + CF$UID + 66 + + + NS.objects + + + CF$UID + 67 + + + CF$UID + 95 + + + CF$UID + 96 + + + + IDEActivityReportCompletionSummaryStringSegments + IDEActivityReportOptions + IDEActivityReportTitle + + $class + + CF$UID + 94 + + NS.objects + + + CF$UID + 68 + + + CF$UID + 75 + + + CF$UID + 79 + + + CF$UID + 84 + + + + + $class + + CF$UID + 33 + + NS.keys + + + CF$UID + 69 + + + CF$UID + 70 + + + CF$UID + 71 + + + NS.objects + + + CF$UID + 72 + + + CF$UID + 73 + + + CF$UID + 74 + + + + IDEActivityReportStringSegmentPriority + IDEActivityReportStringSegmentBackSeparator + IDEActivityReportStringSegmentStringValue + 2 + + Build + + $class + + CF$UID + 33 + + NS.keys + + + CF$UID + 69 + + + CF$UID + 70 + + + CF$UID + 71 + + + NS.objects + + + CF$UID + 76 + + + CF$UID + 77 + + + CF$UID + 78 + + + + 4 + : + NYXImagesUtilities + + $class + + CF$UID + 33 + + NS.keys + + + CF$UID + 69 + + + CF$UID + 70 + + + CF$UID + 71 + + + NS.objects + + + CF$UID + 80 + + + CF$UID + 81 + + + CF$UID + 82 + + + + 1 + + + $class + + CF$UID + 83 + + NS.data + + YnBsaXN0MDDUAQIDBAUGOzxYJHZlcnNpb25YJG9iamVjdHNZJGFy + Y2hpdmVyVCR0b3ASAAGGoK0HCA8QGhscJCUrMTQ3VSRudWxs0wkK + CwwNDlxOU0F0dHJpYnV0ZXNWJGNsYXNzWE5TU3RyaW5ngAOADIAC + WVN1Y2NlZWRlZNMKERITFBdXTlMua2V5c1pOUy5vYmplY3RzgAui + FRaABIAFohgZgAaACVZOU0ZvbnRXTlNDb2xvctQKHR4fICEiI1ZO + U05hbWVWTlNTaXplWE5TZkZsYWdzgAiAByNAJgAAAAAAABENEF8Q + EUx1Y2lkYUdyYW5kZS1Cb2xk0iYnKClaJGNsYXNzbmFtZVgkY2xh + c3Nlc1ZOU0ZvbnSiKCpYTlNPYmplY3TTCiwtLi8wXE5TQ29sb3JT + cGFjZVdOU1doaXRlgAoQA0IwANImJzIzV05TQ29sb3KiMirSJic1 + NlxOU0RpY3Rpb25hcnmiNSrSJic4OV8QEk5TQXR0cmlidXRlZFN0 + cmluZ6I6Kl8QEk5TQXR0cmlidXRlZFN0cmluZ18QD05TS2V5ZWRB + cmNoaXZlctE9PlRyb290gAEACAARABoAIwAtADIANwBFAEsAUgBf + AGYAbwBxAHMAdQB/AIYAjgCZAJsAngCgAKIApQCnAKkAsAC4AMEA + yADPANgA2gDcAOUA6AD8AQEBDAEVARwBHwEoAS8BPAFEAUYBSAFL + AVABWAFbAWABbQFwAXUBigGNAaIBtAG3AbwAAAAAAAACAQAAAAAA + AAA/AAAAAAAAAAAAAAAAAAABvg== + + + + $classes + + NSMutableData + NSData + NSObject + + $classname + NSMutableData + + + $class + + CF$UID + 33 + + NS.keys + + + CF$UID + 69 + + + CF$UID + 85 + + + CF$UID + 86 + + + CF$UID + 71 + + + CF$UID + 87 + + + CF$UID + 88 + + + NS.objects + + + CF$UID + 89 + + + CF$UID + 90 + + + CF$UID + 91 + + + CF$UID + 93 + + + CF$UID + 90 + + + CF$UID + 90 + + + + IDEActivityReportStringSegmentType + IDEActivityReportStringSegmentDate + IDEActivityReportStringSegmentDateStyle + IDEActivityReportStringSegmentTimeStyle + 3 + 1 + + $class + + CF$UID + 92 + + NS.time + 326312289.90504098 + + + $classes + + NSDate + NSObject + + $classname + NSDate + + Today at 8:18 PM + + $classes + + NSMutableArray + NSArray + NSObject + + $classname + NSMutableArray + + 106 + NYXImagesUtilities + + $class + + CF$UID + 94 + + NS.objects + + + CF$UID + 3 + + + + + $class + + CF$UID + 94 + + NS.objects + + + CF$UID + 99 + + + CF$UID + 101 + + + + + $class + + CF$UID + 23 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 100 + + + file://localhost/Users/Nyxouf/Dropbox/Projects/NYXImagesUtilities/Classes/NYXRootViewController.m + + $class + + CF$UID + 23 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 102 + + + file://localhost/Users/Nyxouf/Dropbox/Projects/NYXImagesUtilities/Classes/AppDelegate.m + + $class + + CF$UID + 33 + + NS.keys + + + CF$UID + 104 + + + CF$UID + 105 + + + CF$UID + 106 + + + CF$UID + 107 + + + CF$UID + 108 + + + CF$UID + 109 + + + NS.objects + + + CF$UID + 110 + + + CF$UID + 111 + + + CF$UID + 112 + + + CF$UID + 109 + + + CF$UID + 3 + + + CF$UID + 113 + + + + IDEWindowFrame + IDEOrderedWorkspaceTabControllers + IDEWindowToolbarIsVisible + IDEActiveWorkspaceTabController + IDEWorkspaceWindowControllerUniqueIdentifier + IDEWorkspaceTabController_5DEA57CB-0716-449F-93C3-D0632482935E + {{0, 4}, {1680, 1024}} + + $class + + CF$UID + 32 + + NS.objects + + + CF$UID + 109 + + + + + + $class + + CF$UID + 33 + + NS.keys + + + CF$UID + 114 + + + CF$UID + 115 + + + CF$UID + 116 + + + CF$UID + 117 + + + CF$UID + 118 + + + CF$UID + 119 + + + CF$UID + 120 + + + CF$UID + 121 + + + NS.objects + + + CF$UID + 122 + + + CF$UID + 112 + + + CF$UID + 123 + + + CF$UID + 214 + + + CF$UID + 221 + + + CF$UID + 245 + + + CF$UID + 15 + + + CF$UID + 30 + + + + IDETabLabel + IDEShowNavigator + IDEEditorArea + IDEWorkspaceTabControllerUtilityAreaSplitView + IDENavigatorArea + IDEWorkspaceTabControllerDesignAreaSplitView + IDEShowUtilities + AssistantEditorsLayout + NYXRootViewController.m + + $class + + CF$UID + 33 + + NS.keys + + + CF$UID + 124 + + + CF$UID + 125 + + + CF$UID + 126 + + + CF$UID + 127 + + + CF$UID + 128 + + + CF$UID + 129 + + + CF$UID + 130 + + + CF$UID + 131 + + + NS.objects + + + CF$UID + 15 + + + CF$UID + 132 + + + CF$UID + 167 + + + CF$UID + 112 + + + CF$UID + 30 + + + CF$UID + 196 + + + CF$UID + 204 + + + CF$UID + 205 + + + + ShowDebuggerArea + IDEEditorMode_Standard + IDEEDitorArea_DebugArea + IDEShowEditor + EditorMode + DebuggerSplitView + DefaultPersistentRepresentations + layoutTree + + $class + + CF$UID + 33 + + NS.keys + + + CF$UID + 133 + + + NS.objects + + + CF$UID + 134 + + + + EditorLayout_PersistentRepresentation + + $class + + CF$UID + 33 + + NS.keys + + + CF$UID + 135 + + + NS.objects + + + CF$UID + 136 + + + + Main + + $class + + CF$UID + 160 + + NS.keys + + + CF$UID + 137 + + + CF$UID + 138 + + + CF$UID + 139 + + + NS.objects + + + CF$UID + 140 + + + CF$UID + 30 + + + CF$UID + 165 + + + + EditorLayout_StateSavingStateDictionaries + EditorLayout_Selected + EditorLayout_Geometry + + $class + + CF$UID + 32 + + NS.objects + + + CF$UID + 141 + + + + + $class + + CF$UID + 33 + + NS.keys + + + CF$UID + 142 + + + CF$UID + 143 + + + CF$UID + 144 + + + CF$UID + 145 + + + CF$UID + 146 + + + CF$UID + 147 + + + CF$UID + 148 + + + NS.objects + + + CF$UID + 149 + + + CF$UID + 150 + + + CF$UID + 156 + + + CF$UID + 161 + + + CF$UID + 162 + + + CF$UID + 163 + + + CF$UID + 164 + + + + FileDataType + ArchivableRepresentation + EditorState + NavigableItemName + DocumentNavigableItemName + DocumentExtensionIdentifier + DocumentURL + public.objective-c-source + + $class + + CF$UID + 155 + + DocumentLocation + + CF$UID + 153 + + DomainIdentifier + + CF$UID + 0 + + IdentifierPath + + CF$UID + 151 + + IndexOfDocumentIdentifier + + CF$UID + 152 + + + + $class + + CF$UID + 32 + + NS.objects + + + 9223372036854775807 + + $class + + CF$UID + 154 + + documentURL + + CF$UID + 100 + + timestamp + + CF$UID + 0 + + + + $classes + + DVTDocumentLocation + NSObject + + $classname + DVTDocumentLocation + + + $classes + + IDENavigableItemArchivableRepresentation + NSObject + + $classname + IDENavigableItemArchivableRepresentation + + + $class + + CF$UID + 160 + + NS.keys + + + CF$UID + 48 + + + CF$UID + 49 + + + CF$UID + 50 + + + CF$UID + 51 + + + NS.objects + + + CF$UID + 157 + + + CF$UID + 158 + + + CF$UID + 15 + + + CF$UID + 159 + + + + 326312294.90732002 + {0, 938} + {681, 0} + + $classes + + NSDictionary + NSObject + + $classname + NSDictionary + + -init + NYXRootViewController.m + Xcode.IDEKit.EditorDocument.SourceCode + + $class + + CF$UID + 23 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 100 + + + + $class + + CF$UID + 32 + + NS.objects + + + CF$UID + 166 + + + + {{0, 0}, {1420, 948}} + + $class + + CF$UID + 33 + + NS.keys + + + CF$UID + 168 + + + CF$UID + 169 + + + CF$UID + 170 + + + CF$UID + 171 + + + CF$UID + 172 + + + CF$UID + 173 + + + NS.objects + + + CF$UID + 90 + + + CF$UID + 174 + + + CF$UID + 176 + + + CF$UID + 90 + + + CF$UID + 187 + + + CF$UID + 193 + + + + LayoutFocusMode + console + IDEDebuggerAreaSplitView + LayoutMode + IDEDebugArea_SplitView + variables + + $class + + CF$UID + 33 + + NS.keys + + + CF$UID + 175 + + + NS.objects + + + CF$UID + 30 + + + + ConsoleFilterMode + + $class + + CF$UID + 33 + + NS.keys + + + CF$UID + 177 + + + NS.objects + + + CF$UID + 178 + + + + DVTSplitViewItems + + $class + + CF$UID + 94 + + NS.objects + + + CF$UID + 179 + + + CF$UID + 184 + + + + + $class + + CF$UID + 160 + + NS.keys + + + CF$UID + 180 + + + CF$UID + 181 + + + NS.objects + + + CF$UID + 182 + + + CF$UID + 183 + + + + DVTIdentifier + DVTViewMagnitude + VariablesView + 298 + + $class + + CF$UID + 160 + + NS.keys + + + CF$UID + 180 + + + CF$UID + 181 + + + NS.objects + + + CF$UID + 185 + + + CF$UID + 186 + + + + ConsoleArea + 1121 + + $class + + CF$UID + 33 + + NS.keys + + + CF$UID + 177 + + + NS.objects + + + CF$UID + 188 + + + + + $class + + CF$UID + 94 + + NS.objects + + + CF$UID + 189 + + + CF$UID + 191 + + + + + $class + + CF$UID + 160 + + NS.keys + + + CF$UID + 180 + + + CF$UID + 181 + + + NS.objects + + + CF$UID + 182 + + + CF$UID + 190 + + + + 298 + + $class + + CF$UID + 160 + + NS.keys + + + CF$UID + 180 + + + CF$UID + 181 + + + NS.objects + + + CF$UID + 185 + + + CF$UID + 192 + + + + 1121 + + $class + + CF$UID + 33 + + NS.keys + + + CF$UID + 194 + + + NS.objects + + + CF$UID + 195 + + + + DBGVariablesViewFilterMode + 2 + + $class + + CF$UID + 33 + + NS.keys + + + CF$UID + 177 + + + NS.objects + + + CF$UID + 197 + + + + + $class + + CF$UID + 94 + + NS.objects + + + CF$UID + 198 + + + CF$UID + 201 + + + + + $class + + CF$UID + 160 + + NS.keys + + + CF$UID + 180 + + + CF$UID + 181 + + + NS.objects + + + CF$UID + 199 + + + CF$UID + 200 + + + + IDEEditor + 833 + + $class + + CF$UID + 160 + + NS.keys + + + CF$UID + 180 + + + CF$UID + 181 + + + NS.objects + + + CF$UID + 202 + + + CF$UID + 203 + + + + IDEDebuggerArea + 115 + + $class + + CF$UID + 33 + + NS.keys + + NS.objects + + + + $class + + CF$UID + 213 + + geniusEditorContextNode + + CF$UID + 0 + + primaryEditorContextNode + + CF$UID + 206 + + rootLayoutTreeNode + + CF$UID + 210 + + + + $class + + CF$UID + 212 + + children + + CF$UID + 0 + + contentType + 1 + documentArchivableRepresentation + + CF$UID + 207 + + orientation + 0 + parent + + CF$UID + 210 + + + + $class + + CF$UID + 155 + + DocumentLocation + + CF$UID + 153 + + DomainIdentifier + + CF$UID + 0 + + IdentifierPath + + CF$UID + 208 + + IndexOfDocumentIdentifier + + CF$UID + 209 + + + + $class + + CF$UID + 32 + + NS.objects + + + 9223372036854775807 + + $class + + CF$UID + 212 + + children + + CF$UID + 211 + + contentType + 0 + documentArchivableRepresentation + + CF$UID + 0 + + orientation + 0 + parent + + CF$UID + 0 + + + + $class + + CF$UID + 32 + + NS.objects + + + CF$UID + 206 + + + + + $classes + + IDEWorkspaceTabControllerLayoutTreeNode + NSObject + + $classname + IDEWorkspaceTabControllerLayoutTreeNode + + + $classes + + IDEWorkspaceTabControllerLayoutTree + NSObject + + $classname + IDEWorkspaceTabControllerLayoutTree + + + $class + + CF$UID + 33 + + NS.keys + + + CF$UID + 177 + + + NS.objects + + + CF$UID + 215 + + + + + $class + + CF$UID + 94 + + NS.objects + + + CF$UID + 216 + + + CF$UID + 219 + + + + + $class + + CF$UID + 160 + + NS.keys + + + CF$UID + 180 + + + CF$UID + 181 + + + NS.objects + + + CF$UID + 217 + + + CF$UID + 218 + + + + + 724 + + $class + + CF$UID + 160 + + NS.keys + + + CF$UID + 180 + + + CF$UID + 181 + + + NS.objects + + + CF$UID + 217 + + + CF$UID + 220 + + + + 224 + + $class + + CF$UID + 33 + + NS.keys + + + CF$UID + 222 + + + CF$UID + 223 + + + NS.objects + + + CF$UID + 223 + + + CF$UID + 224 + + + + SelectedNavigator + Xcode.IDEKit.Navigator.Structure + + $class + + CF$UID + 33 + + NS.keys + + + CF$UID + 225 + + + CF$UID + 226 + + + CF$UID + 227 + + + CF$UID + 228 + + + CF$UID + 229 + + + CF$UID + 230 + + + CF$UID + 231 + + + NS.objects + + + CF$UID + 232 + + + CF$UID + 15 + + + CF$UID + 233 + + + CF$UID + 15 + + + CF$UID + 15 + + + CF$UID + 235 + + + CF$UID + 236 + + + + IDEVisibleRect + IDEUnsavedDocumentFilteringEnabled + IDENavigatorExpandedItemsBeforeFilteringSet + IDERecentDocumentFilteringEnabled + IDESCMStatusFilteringEnabled + IDESelectedObjects + IDEExpandedItemsSet + {{0, 0}, {259, 904}} + + $class + + CF$UID + 234 + + NS.objects + + + + $classes + + NSSet + NSObject + + $classname + NSSet + + + $class + + CF$UID + 32 + + NS.objects + + + + $class + + CF$UID + 234 + + NS.objects + + + CF$UID + 237 + + + CF$UID + 239 + + + CF$UID + 241 + + + CF$UID + 243 + + + + + $class + + CF$UID + 94 + + NS.objects + + + CF$UID + 238 + + + + NYXImagesUtilities + + $class + + CF$UID + 94 + + NS.objects + + + CF$UID + 238 + + + CF$UID + 240 + + + + Resources + + $class + + CF$UID + 94 + + NS.objects + + + CF$UID + 238 + + + CF$UID + 242 + + + + Classes + + $class + + CF$UID + 94 + + NS.objects + + + CF$UID + 238 + + + CF$UID + 244 + + + + Categories + + $class + + CF$UID + 33 + + NS.keys + + + CF$UID + 177 + + + NS.objects + + + CF$UID + 246 + + + + + $class + + CF$UID + 94 + + NS.objects + + + CF$UID + 247 + + + CF$UID + 249 + + + CF$UID + 251 + + + + + $class + + CF$UID + 160 + + NS.keys + + + CF$UID + 180 + + + CF$UID + 181 + + + NS.objects + + + CF$UID + 118 + + + CF$UID + 248 + + + + 260 + + $class + + CF$UID + 160 + + NS.keys + + + CF$UID + 180 + + + CF$UID + 181 + + + NS.objects + + + CF$UID + 116 + + + CF$UID + 250 + + + + 1420 + + $class + + CF$UID + 160 + + NS.keys + + + CF$UID + 180 + + + CF$UID + 181 + + + NS.objects + + + CF$UID + 252 + + + CF$UID + 253 + + + + IDEUtilitiesArea + 260 + + $top + + State + + CF$UID + 1 + + + $version + 100000 + + diff --git a/NYXImagesUtilities.xcodeproj/project.xcworkspace/xcuserdata/benjgodard.xcuserdatad/UserInterfaceState.xcuserstate b/NYXImagesUtilities.xcodeproj/project.xcworkspace/xcuserdata/benjgodard.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100644 index 0000000..60ec750 --- /dev/null +++ b/NYXImagesUtilities.xcodeproj/project.xcworkspace/xcuserdata/benjgodard.xcuserdatad/UserInterfaceState.xcuserstate @@ -0,0 +1,12617 @@ + + + + + $archiver + NSKeyedArchiver + $objects + + $null + + $class + + CF$UID + 86 + + NS.keys + + + CF$UID + 2 + + + CF$UID + 3 + + + CF$UID + 4 + + + NS.objects + + + CF$UID + 5 + + + CF$UID + 525 + + + CF$UID + 650 + + + + IDEWorkspaceDocument + 4C72AD80-F33D-48BC-ACDA-3B04AA33FC16 + A056BE06-A389-4BE3-AD5E-DBAEAB20A9AE + + $class + + CF$UID + 35 + + NS.keys + + + CF$UID + 6 + + + CF$UID + 7 + + + CF$UID + 8 + + + CF$UID + 9 + + + CF$UID + 10 + + + CF$UID + 11 + + + CF$UID + 12 + + + CF$UID + 13 + + + CF$UID + 14 + + + CF$UID + 15 + + + NS.objects + + + CF$UID + 16 + + + CF$UID + 17 + + + CF$UID + 431 + + + CF$UID + 464 + + + CF$UID + 469 + + + CF$UID + 472 + + + CF$UID + 503 + + + CF$UID + 504 + + + CF$UID + 16 + + + CF$UID + 16 + + + + BreakpointsActivated + DefaultEditorStatesForURLs + DebuggingWindowBehavior + ActiveRunDestination + ActiveScheme + LastCompletedPersistentSchemeBasedActivityReport + DocumentWindows + RecentEditorDocumentURLs + AppFocusInMiniDebugging + MiniDebuggingConsole + + + $class + + CF$UID + 35 + + NS.keys + + + CF$UID + 18 + + + CF$UID + 19 + + + CF$UID + 20 + + + CF$UID + 21 + + + CF$UID + 22 + + + CF$UID + 23 + + + NS.objects + + + CF$UID + 24 + + + CF$UID + 44 + + + CF$UID + 68 + + + CF$UID + 117 + + + CF$UID + 385 + + + CF$UID + 411 + + + + Xcode.IDEKit.CocoaTouchIntegration.EditorDocument.CocoaTouch + Xcode.IDEKit.EditorDocument.PlistEditor + Xcode.Xcode3ProjectSupport.EditorDocument.Xcode3Project + Xcode.IDEKit.EditorDocument.SourceCode + Xcode.IDEKit.EditorDocument.LogDocument + IDEQuickLookEditor.Editor + + $class + + CF$UID + 35 + + NS.keys + + + CF$UID + 25 + + + NS.objects + + + CF$UID + 29 + + + + + $class + + CF$UID + 28 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 26 + + + + $class + + CF$UID + 27 + + NS.string + file://localhost/Users/benjgodard/Desktop/NYXImagesUtilities/NYXImagesUtilities/en.lproj/MainWindow.xib + + + $classes + + NSMutableString + NSString + NSObject + + $classname + NSMutableString + + + $classes + + NSURL + NSObject + + $classname + NSURL + + + $class + + CF$UID + 35 + + NS.keys + + + CF$UID + 30 + + + CF$UID + 31 + + + CF$UID + 32 + + + CF$UID + 33 + + + NS.objects + + + CF$UID + 34 + + + CF$UID + 36 + + + CF$UID + 33 + + + CF$UID + 39 + + + + IBDockViewController + SelectedObjectIDs + SelectionProvider + IBCanvasViewController + + $class + + CF$UID + 35 + + NS.keys + + NS.objects + + + + $classes + + NSMutableDictionary + NSDictionary + NSObject + + $classname + NSMutableDictionary + + + $class + + CF$UID + 38 + + NS.objects + + + CF$UID + 37 + + + + 2 + + $classes + + NSMutableArray + NSArray + NSObject + + $classname + NSMutableArray + + + $class + + CF$UID + 35 + + NS.keys + + + CF$UID + 40 + + + CF$UID + 41 + + + NS.objects + + + CF$UID + 42 + + + CF$UID + 43 + + + + ObjectIDToLastKnownCanvasPositionMap + EditedTopLevelObjectIDs + + $class + + CF$UID + 35 + + NS.keys + + NS.objects + + + + $class + + CF$UID + 38 + + NS.objects + + + CF$UID + 37 + + + + + $class + + CF$UID + 35 + + NS.keys + + + CF$UID + 45 + + + CF$UID + 47 + + + CF$UID + 49 + + + NS.objects + + + CF$UID + 51 + + + CF$UID + 61 + + + CF$UID + 65 + + + + + $class + + CF$UID + 28 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 46 + + + + $class + + CF$UID + 27 + + NS.string + file://localhost/Users/benjgodard/Desktop/NYXImagesUtilities/NYXImagesUtilities/Info.plist + + + $class + + CF$UID + 28 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 48 + + + + $class + + CF$UID + 27 + + NS.string + file://localhost/Users/benjgodard/Dropbox/Projects/NYXImagesUtilities/Resources/Info.plist + + + $class + + CF$UID + 28 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 50 + + + + $class + + CF$UID + 27 + + NS.string + file://localhost/Users/benjgodard/Desktop/NYXImagesUtilities/NYXImagesUtilities/NYXImagesUtilities-Info.plist + + + $class + + CF$UID + 35 + + NS.keys + + + CF$UID + 52 + + + CF$UID + 53 + + + CF$UID + 54 + + + NS.objects + + + CF$UID + 55 + + + CF$UID + 58 + + + CF$UID + 59 + + + + IDE_PLIST_EDITOR_SELECTION_KEY + IDE_PLIST_EDITOR_VISIBLERECT_KEY + IDE_PLIST_EDITOR_EXPANSION_KEY + + $class + + CF$UID + 57 + + NS.objects + + + CF$UID + 56 + + + + LSApplicationCategoryType + + $classes + + NSArray + NSObject + + $classname + NSArray + + {{0, 0}, {1140, 837}} + + $class + + CF$UID + 60 + + NS.objects + + + + $classes + + NSMutableSet + NSSet + NSObject + + $classname + NSMutableSet + + + $class + + CF$UID + 35 + + NS.keys + + + CF$UID + 52 + + + CF$UID + 53 + + + CF$UID + 54 + + + NS.objects + + + CF$UID + 62 + + + CF$UID + 63 + + + CF$UID + 64 + + + + + $class + + CF$UID + 57 + + NS.objects + + + {{0, 0}, {1660, 1037}} + + $class + + CF$UID + 60 + + NS.objects + + + + $class + + CF$UID + 35 + + NS.keys + + + CF$UID + 52 + + + CF$UID + 53 + + + CF$UID + 54 + + + NS.objects + + + CF$UID + 62 + + + CF$UID + 66 + + + CF$UID + 67 + + + + {{0, 0}, {571, 837}} + + $class + + CF$UID + 60 + + NS.objects + + + + $class + + CF$UID + 35 + + NS.keys + + + CF$UID + 69 + + + NS.objects + + + CF$UID + 71 + + + + + $class + + CF$UID + 28 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 70 + + + + $class + + CF$UID + 27 + + NS.string + file://localhost/Users/benjgodard/Desktop/NYXImagesUtilities/NYXImagesUtilities.xcodeproj + + + $class + + CF$UID + 35 + + NS.keys + + + CF$UID + 72 + + + CF$UID + 73 + + + CF$UID + 74 + + + CF$UID + 75 + + + CF$UID + 76 + + + NS.objects + + + CF$UID + 77 + + + CF$UID + 78 + + + CF$UID + 89 + + + CF$UID + 90 + + + CF$UID + 102 + + + + Xcode3ProjectEditorPreviousProjectEditorClass + Xcode3ProjectEditor.sourceList.splitview + Xcode3ProjectEditorPreviousTargetEditorClass + Xcode3ProjectEditorSelectedDocumentLocations + Xcode3ProjectEditor_Xcode3BuildPhasesEditor + Xcode3BuildSettingsEditor + + $class + + CF$UID + 35 + + NS.keys + + + CF$UID + 79 + + + NS.objects + + + CF$UID + 80 + + + + DVTSplitViewItems + + $class + + CF$UID + 38 + + NS.objects + + + CF$UID + 81 + + + CF$UID + 87 + + + + + $class + + CF$UID + 86 + + NS.keys + + + CF$UID + 82 + + + CF$UID + 83 + + + NS.objects + + + CF$UID + 84 + + + CF$UID + 85 + + + + DVTIdentifier + DVTViewMagnitude + + 170 + + $classes + + NSDictionary + NSObject + + $classname + NSDictionary + + + $class + + CF$UID + 86 + + NS.keys + + + CF$UID + 82 + + + CF$UID + 83 + + + NS.objects + + + CF$UID + 84 + + + CF$UID + 88 + + + + 970 + Xcode3BuildPhasesEditor + + $class + + CF$UID + 57 + + NS.objects + + + CF$UID + 91 + + + + + $class + + CF$UID + 101 + + documentURL + + CF$UID + 92 + + selection + + CF$UID + 94 + + timestamp + + CF$UID + 93 + + + file://localhost/Users/benjgodard/Desktop/NYXImagesUtilities/NYXImagesUtilities.xcodeproj/ + 326028793.09790403 + + $class + + CF$UID + 35 + + NS.keys + + + CF$UID + 95 + + + CF$UID + 96 + + + CF$UID + 97 + + + NS.objects + + + CF$UID + 89 + + + CF$UID + 98 + + + CF$UID + 99 + + + + Editor + Target + Xcode3BuildPhasesEditorLocations + NYXImagesUtilities + + $class + + CF$UID + 57 + + NS.objects + + + CF$UID + 100 + + + + + $class + + CF$UID + 35 + + NS.keys + + NS.objects + + + + $classes + + Xcode3ProjectDocumentLocation + DVTDocumentLocation + NSObject + + $classname + Xcode3ProjectDocumentLocation + + + $class + + CF$UID + 35 + + NS.keys + + + CF$UID + 103 + + + CF$UID + 104 + + + CF$UID + 105 + + + CF$UID + 106 + + + CF$UID + 107 + + + CF$UID + 108 + + + NS.objects + + + CF$UID + 109 + + + CF$UID + 110 + + + CF$UID + 111 + + + CF$UID + 114 + + + CF$UID + 115 + + + CF$UID + 116 + + + + FC2F3179136ECA8500486142 + kXcode3BuildPhasesEditorScrollPointKey + Xcode3BuildPhasesEditorDisclosedNamesKey + FC2F3177136ECA8500486142 + FC2F3178136ECA8500486142 + FC2F317A136ECA8500486142 + + $class + + CF$UID + 35 + + NS.keys + + NS.objects + + + {0, 0} + + $class + + CF$UID + 38 + + NS.objects + + + CF$UID + 112 + + + CF$UID + 113 + + + + Link Binary With Libraries + Copy Bundle Resources + + $class + + CF$UID + 35 + + NS.keys + + NS.objects + + + + $class + + CF$UID + 35 + + NS.keys + + NS.objects + + + + $class + + CF$UID + 35 + + NS.keys + + NS.objects + + + + $class + + CF$UID + 35 + + NS.keys + + + CF$UID + 118 + + + CF$UID + 120 + + + CF$UID + 122 + + + CF$UID + 124 + + + CF$UID + 126 + + + CF$UID + 128 + + + CF$UID + 130 + + + CF$UID + 132 + + + CF$UID + 134 + + + CF$UID + 136 + + + CF$UID + 138 + + + CF$UID + 140 + + + CF$UID + 142 + + + CF$UID + 144 + + + CF$UID + 146 + + + CF$UID + 148 + + + CF$UID + 150 + + + CF$UID + 152 + + + CF$UID + 154 + + + CF$UID + 156 + + + CF$UID + 158 + + + CF$UID + 160 + + + CF$UID + 162 + + + CF$UID + 164 + + + CF$UID + 166 + + + CF$UID + 168 + + + CF$UID + 170 + + + CF$UID + 172 + + + CF$UID + 174 + + + CF$UID + 176 + + + CF$UID + 178 + + + CF$UID + 180 + + + CF$UID + 182 + + + CF$UID + 184 + + + CF$UID + 186 + + + CF$UID + 188 + + + CF$UID + 190 + + + CF$UID + 192 + + + CF$UID + 194 + + + CF$UID + 196 + + + CF$UID + 198 + + + CF$UID + 200 + + + CF$UID + 202 + + + CF$UID + 204 + + + CF$UID + 206 + + + CF$UID + 208 + + + NS.objects + + + CF$UID + 210 + + + CF$UID + 218 + + + CF$UID + 221 + + + CF$UID + 225 + + + CF$UID + 228 + + + CF$UID + 232 + + + CF$UID + 236 + + + CF$UID + 239 + + + CF$UID + 243 + + + CF$UID + 247 + + + CF$UID + 255 + + + CF$UID + 258 + + + CF$UID + 262 + + + CF$UID + 265 + + + CF$UID + 269 + + + CF$UID + 273 + + + CF$UID + 277 + + + CF$UID + 281 + + + CF$UID + 285 + + + CF$UID + 289 + + + CF$UID + 293 + + + CF$UID + 297 + + + CF$UID + 301 + + + CF$UID + 304 + + + CF$UID + 308 + + + CF$UID + 311 + + + CF$UID + 314 + + + CF$UID + 317 + + + CF$UID + 320 + + + CF$UID + 324 + + + CF$UID + 326 + + + CF$UID + 329 + + + CF$UID + 333 + + + CF$UID + 337 + + + CF$UID + 341 + + + CF$UID + 344 + + + CF$UID + 348 + + + CF$UID + 352 + + + CF$UID + 356 + + + CF$UID + 360 + + + CF$UID + 364 + + + CF$UID + 367 + + + CF$UID + 371 + + + CF$UID + 374 + + + CF$UID + 378 + + + CF$UID + 382 + + + + + $class + + CF$UID + 28 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 119 + + + + $class + + CF$UID + 27 + + NS.string + file://localhost/Users/benjgodard/Dropbox/Projects/NYXImagesUtilities/Classes/Categories/UIImage+Rotation.m + + + $class + + CF$UID + 28 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 121 + + + + $class + + CF$UID + 27 + + NS.string + file://localhost/Users/benjgodard/Desktop/NYXImagesUtilities/Classes/Categories/UIImage+Resize.h + + + $class + + CF$UID + 28 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 123 + + + + $class + + CF$UID + 27 + + NS.string + file://localhost/Users/benjgodard/Dropbox/Projects/NYXImagesUtilities/Classes/Categories/UIImage+Resize.h + + + $class + + CF$UID + 28 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 125 + + + + $class + + CF$UID + 27 + + NS.string + file://localhost/Users/benjgodard/Desktop/NYXImagesUtilities/Classes/Categories/UIImage+Rotation.h + + + $class + + CF$UID + 28 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 127 + + + + $class + + CF$UID + 27 + + NS.string + file://localhost/Users/benjgodard/Desktop/NYXImagesUtilities/NYXImagesUtilities/AppDelegate.h + + + $class + + CF$UID + 28 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 129 + + + + $class + + CF$UID + 27 + + NS.string + file://localhost/Users/benjgodard/Desktop/NYXImagesUtilities/Classes/AppDelegate.h + + + $class + + CF$UID + 28 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 131 + + + + $class + + CF$UID + 27 + + NS.string + file://localhost/Users/benjgodard/Dropbox/Projects/NYXImagesUtilities/Classes/AppDelegate.h + + + $class + + CF$UID + 28 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 133 + + + + $class + + CF$UID + 27 + + NS.string + file://localhost/Users/benjgodard/Dropbox/Projects/NYXImagesUtilities/Classes/Categories/UIImage+Rotation.h + + + $class + + CF$UID + 28 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 135 + + + + $class + + CF$UID + 27 + + NS.string + file://localhost/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.3.sdk/usr/include/Availability.h + + + $class + + CF$UID + 28 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 137 + + + + $class + + CF$UID + 27 + + NS.string + file://localhost/Users/benjgodard/Dropbox/Projects/NYXImagesUtilities/Classes/Categories/UIImage+Resizing.h + + + $class + + CF$UID + 28 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 139 + + + + $class + + CF$UID + 27 + + NS.string + file://localhost/Users/benjgodard/Desktop/NYXImagesUtilities/NYXImagesUtilities/en.lproj/InfoPlist.strings + + + $class + + CF$UID + 28 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 141 + + + + $class + + CF$UID + 27 + + NS.string + file://localhost/Users/benjgodard/Desktop/NYXImagesUtilities/Other%20Sources/main.m + + + $class + + CF$UID + 28 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 143 + + + + $class + + CF$UID + 27 + + NS.string + file://localhost/Users/benjgodard/Desktop/NYXImagesUtilities/Classes/Categories/UIImage+Tint.h + + + $class + + CF$UID + 28 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 145 + + + + $class + + CF$UID + 27 + + NS.string + file://localhost/Users/benjgodard/Dropbox/Projects/NYXImagesUtilities/Classes/Categories/UIImage+Masking.h + + + $class + + CF$UID + 28 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 147 + + + + $class + + CF$UID + 27 + + NS.string + file://localhost/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.3.sdk/System/Library/Frameworks/CoreGraphics.framework/Headers/CGContext.h + + + $class + + CF$UID + 28 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 149 + + + + $class + + CF$UID + 27 + + NS.string + file://localhost/Users/benjgodard/Dropbox/Projects/NYXImagesUtilities/Other%20Sources/main.m + + + $class + + CF$UID + 28 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 151 + + + + $class + + CF$UID + 27 + + NS.string + file://localhost/Users/benjgodard/Desktop/NYXImagesUtilities/Classes/NYXRootViewController.h + + + $class + + CF$UID + 28 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 153 + + + + $class + + CF$UID + 27 + + NS.string + file://localhost/Users/benjgodard/Dropbox/Projects/NYXImagesUtilities/Classes/NYXRootViewController.h + + + $class + + CF$UID + 28 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 155 + + + + $class + + CF$UID + 27 + + NS.string + file://localhost/Users/benjgodard/Dropbox/Projects/NYXImagesUtilities/Classes/Categories/UIImage+Masking.m + + + $class + + CF$UID + 28 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 157 + + + + $class + + CF$UID + 27 + + NS.string + file://localhost/Users/benjgodard/Dropbox/Projects/NYXImagesUtilities/Classes/Categories/UIImage+Resizing.m + + + $class + + CF$UID + 28 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 159 + + + + $class + + CF$UID + 27 + + NS.string + file://localhost/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.3.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIView.h + + + $class + + CF$UID + 28 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 161 + + + + $class + + CF$UID + 27 + + NS.string + file://localhost/Users/benjgodard/Dropbox/Projects/NYXImagesUtilities/Classes/Categories/UIImage+Filters.m + + + $class + + CF$UID + 28 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 163 + + + + $class + + CF$UID + 27 + + NS.string + file://localhost/Users/benjgodard/Desktop/NYXImagesUtilities/Classes/Categories/UIImage+Filters.m + + + $class + + CF$UID + 28 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 165 + + + + $class + + CF$UID + 27 + + NS.string + file://localhost/Users/benjgodard/Desktop/NYXImagesUtilities/Classes/Categories/UIImage+Sepia.m + + + $class + + CF$UID + 28 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 167 + + + + $class + + CF$UID + 27 + + NS.string + file://localhost/Users/benjgodard/Desktop/NYXImagesUtilities/NYXImagesUtilities/AppDelegate.m + + + $class + + CF$UID + 28 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 169 + + + + $class + + CF$UID + 27 + + NS.string + file://localhost/Users/benjgodard/Desktop/NYXImagesUtilities/Classes/AppDelegate.m + + + $class + + CF$UID + 28 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 171 + + + + $class + + CF$UID + 27 + + NS.string + file://localhost/Users/benjgodard/Desktop/NYXImagesUtilities/NYXImagesUtilities/NYXImagesUtilitiesAppDelegate.h + + + $class + + CF$UID + 28 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 173 + + + + $class + + CF$UID + 27 + + NS.string + file://localhost/Users/benjgodard/Dropbox/Projects/NYXImagesUtilities/Classes/AppDelegate.m + + + $class + + CF$UID + 28 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 175 + + + + $class + + CF$UID + 27 + + NS.string + file://localhost/Users/benjgodard/Dropbox/Projects/NYXImagesUtilities/Other%20Sources/NYXImagesUtilities.h + + + $class + + CF$UID + 28 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 177 + + + + $class + + CF$UID + 27 + + NS.string + file://localhost/Users/benjgodard/Desktop/NYXImagesUtilities/NYXImagesUtilities/Prefix.pch + + + $class + + CF$UID + 28 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 179 + + + + $class + + CF$UID + 27 + + NS.string + file://localhost/Users/benjgodard/Desktop/NYXImagesUtilities/Classes/Categories/UIImage+Resize.m + + + $class + + CF$UID + 28 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 181 + + + + $class + + CF$UID + 27 + + NS.string + file://localhost/Users/benjgodard/Dropbox/Projects/NYXImagesUtilities/Classes/Categories/UIImage+Resize.m + + + $class + + CF$UID + 28 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 183 + + + + $class + + CF$UID + 27 + + NS.string + file://localhost/Users/benjgodard/Dropbox/Projects/NYXImagesUtilities/Other%20Sources/Prefix.pch + + + $class + + CF$UID + 28 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 185 + + + + $class + + CF$UID + 27 + + NS.string + file://localhost/Users/benjgodard/Dropbox/Projects/NYXImagesUtilities/Other%20Sources/NYXImagesUtilities.m + + + $class + + CF$UID + 28 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 187 + + + + $class + + CF$UID + 27 + + NS.string + file://localhost/Users/benjgodard/Dropbox/Projects/NYXImagesUtilities/Other%20Sources/NYXUtilities.m + + + $class + + CF$UID + 28 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 189 + + + + $class + + CF$UID + 27 + + NS.string + file://localhost/Users/benjgodard/Dropbox/Projects/NYXImagesUtilities/Classes/Categories/UIImage+Filtering.h + + + $class + + CF$UID + 28 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 191 + + + + $class + + CF$UID + 27 + + NS.string + file://localhost/Users/benjgodard/Dropbox/Projects/NYXImagesUtilities/Classes/Categories/UIImage+Filtering.m + + + $class + + CF$UID + 28 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 193 + + + + $class + + CF$UID + 27 + + NS.string + file://localhost/Users/benjgodard/Dropbox/Projects/NYXImagesUtilities/Classes/Categories/UIImage+Rotating.m + + + $class + + CF$UID + 28 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 195 + + + + $class + + CF$UID + 27 + + NS.string + file://localhost/Users/benjgodard/Desktop/NYXImagesUtilities/Classes/NYXRootViewController.m + + + $class + + CF$UID + 28 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 197 + + + + $class + + CF$UID + 27 + + NS.string + file://localhost/Users/benjgodard/Dropbox/Projects/NYXImagesUtilities/Classes/NYXRootViewController.m + + + $class + + CF$UID + 28 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 199 + + + + $class + + CF$UID + 27 + + NS.string + file://localhost/Users/benjgodard/Desktop/NYXImagesUtilities/NYXImagesUtilities/NYXImagesUtilitiesAppDelegate.m + + + $class + + CF$UID + 28 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 201 + + + + $class + + CF$UID + 27 + + NS.string + file://localhost/Users/benjgodard/Dropbox/Projects/NYXImagesUtilities/Other%20Sources/NYXUtilities.h + + + $class + + CF$UID + 28 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 203 + + + + $class + + CF$UID + 27 + + NS.string + file://localhost/Users/benjgodard/Desktop/NYXImagesUtilities/Classes/Categories/UIImage+Filters.h + + + $class + + CF$UID + 28 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 205 + + + + $class + + CF$UID + 27 + + NS.string + file://localhost/Users/benjgodard/Dropbox/Projects/NYXImagesUtilities/Classes/Categories/UIImage+Filters.h + + + $class + + CF$UID + 28 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 207 + + + + $class + + CF$UID + 27 + + NS.string + file://localhost/Users/benjgodard/Dropbox/Projects/NYXImagesUtilities/Classes/Categories/UIImage+Rotating.h + + + $class + + CF$UID + 28 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 209 + + + + $class + + CF$UID + 27 + + NS.string + file://localhost/Users/benjgodard/Desktop/NYXImagesUtilities/Classes/Categories/UIImage+Rotation.m + + + $class + + CF$UID + 35 + + NS.keys + + + CF$UID + 211 + + + CF$UID + 212 + + + CF$UID + 213 + + + CF$UID + 214 + + + NS.objects + + + CF$UID + 215 + + + CF$UID + 216 + + + CF$UID + 16 + + + CF$UID + 217 + + + + PrimaryDocumentTimestamp + PrimaryDocumentVisibleCharacterRange + HideAllIssues + PrimaryDocumentSelectedCharacterRange + 326115087.93704301 + {0, 1792} + {253, 0} + + $class + + CF$UID + 35 + + NS.keys + + + CF$UID + 211 + + + CF$UID + 212 + + + CF$UID + 213 + + + CF$UID + 214 + + + NS.objects + + + CF$UID + 219 + + + CF$UID + 220 + + + CF$UID + 16 + + + CF$UID + 110 + + + + 326028710.27464402 + {0, 482} + + $class + + CF$UID + 35 + + NS.keys + + + CF$UID + 211 + + + CF$UID + 212 + + + CF$UID + 213 + + + CF$UID + 214 + + + NS.objects + + + CF$UID + 222 + + + CF$UID + 223 + + + CF$UID + 16 + + + CF$UID + 224 + + + + 326115030.46011502 + {0, 996} + {177, 0} + + $class + + CF$UID + 35 + + NS.keys + + + CF$UID + 211 + + + CF$UID + 212 + + + CF$UID + 213 + + + CF$UID + 214 + + + NS.objects + + + CF$UID + 226 + + + CF$UID + 227 + + + CF$UID + 16 + + + CF$UID + 110 + + + + 326028714.16757703 + {0, 131} + + $class + + CF$UID + 35 + + NS.keys + + + CF$UID + 211 + + + CF$UID + 212 + + + CF$UID + 213 + + + CF$UID + 214 + + + NS.objects + + + CF$UID + 229 + + + CF$UID + 230 + + + CF$UID + 16 + + + CF$UID + 231 + + + + 326028138.95228899 + {0, 287} + {223, 0} + + $class + + CF$UID + 35 + + NS.keys + + + CF$UID + 211 + + + CF$UID + 212 + + + CF$UID + 213 + + + CF$UID + 214 + + + NS.objects + + + CF$UID + 233 + + + CF$UID + 234 + + + CF$UID + 16 + + + CF$UID + 235 + + + + 326029208.49456298 + {0, 341} + {140, 0} + + $class + + CF$UID + 35 + + NS.keys + + + CF$UID + 211 + + + CF$UID + 212 + + + CF$UID + 213 + + + CF$UID + 214 + + + NS.objects + + + CF$UID + 237 + + + CF$UID + 234 + + + CF$UID + 16 + + + CF$UID + 238 + + + + 326039496.4813 + {66, 0} + + $class + + CF$UID + 35 + + NS.keys + + + CF$UID + 211 + + + CF$UID + 212 + + + CF$UID + 213 + + + CF$UID + 214 + + + NS.objects + + + CF$UID + 240 + + + CF$UID + 241 + + + CF$UID + 16 + + + CF$UID + 242 + + + + 326115080.86421001 + {0, 641} + {212, 0} + + $class + + CF$UID + 35 + + NS.keys + + + CF$UID + 211 + + + CF$UID + 212 + + + CF$UID + 213 + + + CF$UID + 214 + + + NS.objects + + + CF$UID + 244 + + + CF$UID + 245 + + + CF$UID + 16 + + + CF$UID + 246 + + + + 326028172.17382902 + {5244, 1506} + {5897, 12} + + $class + + CF$UID + 35 + + NS.keys + + + CF$UID + 248 + + + CF$UID + 249 + + + CF$UID + 250 + + + CF$UID + 251 + + + NS.objects + + + CF$UID + 252 + + + CF$UID + 253 + + + CF$UID + 16 + + + CF$UID + 254 + + + + PrimaryDocumentTimestamp + PrimaryDocumentVisibleCharacterRange + HideAllIssues + PrimaryDocumentSelectedCharacterRange + 326299694.49152702 + {0, 996} + {192, 0} + + $class + + CF$UID + 35 + + NS.keys + + + CF$UID + 211 + + + CF$UID + 212 + + + CF$UID + 213 + + + CF$UID + 214 + + + NS.objects + + + CF$UID + 256 + + + CF$UID + 257 + + + CF$UID + 16 + + + CF$UID + 110 + + + + 326028255.603688 + {0, 45} + + $class + + CF$UID + 35 + + NS.keys + + + CF$UID + 211 + + + CF$UID + 212 + + + CF$UID + 213 + + + CF$UID + 214 + + + NS.objects + + + CF$UID + 259 + + + CF$UID + 260 + + + CF$UID + 16 + + + CF$UID + 261 + + + + 326029202.57643098 + {0, 331} + {107, 0} + + $class + + CF$UID + 35 + + NS.keys + + + CF$UID + 211 + + + CF$UID + 212 + + + CF$UID + 213 + + + CF$UID + 214 + + + NS.objects + + + CF$UID + 263 + + + CF$UID + 264 + + + CF$UID + 16 + + + CF$UID + 110 + + + + 326028651.24455702 + {0, 275} + + $class + + CF$UID + 35 + + NS.keys + + + CF$UID + 211 + + + CF$UID + 212 + + + CF$UID + 213 + + + CF$UID + 214 + + + NS.objects + + + CF$UID + 266 + + + CF$UID + 267 + + + CF$UID + 16 + + + CF$UID + 268 + + + + 326122708.39629799 + {0, 371} + {357, 0} + + $class + + CF$UID + 35 + + NS.keys + + + CF$UID + 211 + + + CF$UID + 212 + + + CF$UID + 213 + + + CF$UID + 214 + + + NS.objects + + + CF$UID + 270 + + + CF$UID + 271 + + + CF$UID + 16 + + + CF$UID + 272 + + + + 326108212.11442602 + {16157, 2640} + {18498, 64} + + $class + + CF$UID + 35 + + NS.keys + + + CF$UID + 248 + + + CF$UID + 249 + + + CF$UID + 250 + + + CF$UID + 251 + + + NS.objects + + + CF$UID + 274 + + + CF$UID + 275 + + + CF$UID + 16 + + + CF$UID + 276 + + + + 326299550.55878198 + {0, 331} + {0, 132} + + $class + + CF$UID + 35 + + NS.keys + + + CF$UID + 211 + + + CF$UID + 212 + + + CF$UID + 213 + + + CF$UID + 214 + + + NS.objects + + + CF$UID + 278 + + + CF$UID + 279 + + + CF$UID + 16 + + + CF$UID + 280 + + + + 326029212.30955303 + {0, 347} + {0, 149} + + $class + + CF$UID + 35 + + NS.keys + + + CF$UID + 211 + + + CF$UID + 212 + + + CF$UID + 213 + + + CF$UID + 214 + + + NS.objects + + + CF$UID + 282 + + + CF$UID + 283 + + + CF$UID + 16 + + + CF$UID + 284 + + + + 326123216.87496603 + {0, 429} + {330, 0} + + $class + + CF$UID + 35 + + NS.keys + + + CF$UID + 248 + + + CF$UID + 249 + + + CF$UID + 250 + + + CF$UID + 251 + + + NS.objects + + + CF$UID + 286 + + + CF$UID + 287 + + + CF$UID + 16 + + + CF$UID + 288 + + + + 326299911.91469401 + {0, 1948} + {976, 0} + + $class + + CF$UID + 35 + + NS.keys + + + CF$UID + 248 + + + CF$UID + 249 + + + CF$UID + 250 + + + CF$UID + 251 + + + NS.objects + + + CF$UID + 290 + + + CF$UID + 291 + + + CF$UID + 16 + + + CF$UID + 292 + + + + 326299864.36712003 + {3657, 1418} + {3948, 0} + + $class + + CF$UID + 35 + + NS.keys + + + CF$UID + 211 + + + CF$UID + 212 + + + CF$UID + 213 + + + CF$UID + 214 + + + NS.objects + + + CF$UID + 294 + + + CF$UID + 295 + + + CF$UID + 16 + + + CF$UID + 296 + + + + 326124871.33441001 + {89, 2226} + {867, 23} + + $class + + CF$UID + 35 + + NS.keys + + + CF$UID + 211 + + + CF$UID + 212 + + + CF$UID + 213 + + + CF$UID + 214 + + + NS.objects + + + CF$UID + 298 + + + CF$UID + 299 + + + CF$UID + 16 + + + CF$UID + 300 + + + + 326114975.39735401 + {2630, 1871} + {3886, 0} + + $class + + CF$UID + 35 + + NS.keys + + + CF$UID + 211 + + + CF$UID + 212 + + + CF$UID + 213 + + + CF$UID + 214 + + + NS.objects + + + CF$UID + 302 + + + CF$UID + 303 + + + CF$UID + 16 + + + CF$UID + 110 + + + + 326029173.26056898 + {0, 1353} + + $class + + CF$UID + 35 + + NS.keys + + + CF$UID + 211 + + + CF$UID + 212 + + + CF$UID + 213 + + + CF$UID + 214 + + + NS.objects + + + CF$UID + 305 + + + CF$UID + 306 + + + CF$UID + 16 + + + CF$UID + 307 + + + + 326028647.54356599 + {0, 1514} + {8, 0} + + $class + + CF$UID + 35 + + NS.keys + + + CF$UID + 211 + + + CF$UID + 212 + + + CF$UID + 213 + + + CF$UID + 214 + + + NS.objects + + + CF$UID + 309 + + + CF$UID + 310 + + + CF$UID + 16 + + + CF$UID + 110 + + + + 326028282.68112999 + {0, 1400} + + $class + + CF$UID + 35 + + NS.keys + + + CF$UID + 211 + + + CF$UID + 212 + + + CF$UID + 213 + + + CF$UID + 214 + + + NS.objects + + + CF$UID + 312 + + + CF$UID + 313 + + + CF$UID + 16 + + + CF$UID + 235 + + + + 326029211.20554399 + {0, 632} + + $class + + CF$UID + 35 + + NS.keys + + + CF$UID + 211 + + + CF$UID + 212 + + + CF$UID + 213 + + + CF$UID + 214 + + + NS.objects + + + CF$UID + 315 + + + CF$UID + 260 + + + CF$UID + 16 + + + CF$UID + 316 + + + + 326028059.765939 + {197, 29} + + $class + + CF$UID + 35 + + NS.keys + + + CF$UID + 211 + + + CF$UID + 212 + + + CF$UID + 213 + + + CF$UID + 214 + + + NS.objects + + + CF$UID + 318 + + + CF$UID + 319 + + + CF$UID + 16 + + + CF$UID + 238 + + + + 326105640.274997 + {0, 640} + + $class + + CF$UID + 35 + + NS.keys + + + CF$UID + 248 + + + CF$UID + 249 + + + CF$UID + 250 + + + CF$UID + 251 + + + NS.objects + + + CF$UID + 321 + + + CF$UID + 322 + + + CF$UID + 16 + + + CF$UID + 323 + + + + 326299799.86014199 + {0, 1263} + {312, 0} + + $class + + CF$UID + 35 + + NS.keys + + + CF$UID + 211 + + + CF$UID + 212 + + + CF$UID + 213 + + + CF$UID + 214 + + + NS.objects + + + CF$UID + 325 + + + CF$UID + 267 + + + CF$UID + 16 + + + CF$UID + 284 + + + + 326028243.61082 + + $class + + CF$UID + 35 + + NS.keys + + + CF$UID + 211 + + + CF$UID + 212 + + + CF$UID + 213 + + + CF$UID + 214 + + + NS.objects + + + CF$UID + 327 + + + CF$UID + 328 + + + CF$UID + 16 + + + CF$UID + 110 + + + + 326028712.570113 + {0, 1001} + + $class + + CF$UID + 35 + + NS.keys + + + CF$UID + 211 + + + CF$UID + 212 + + + CF$UID + 213 + + + CF$UID + 214 + + + NS.objects + + + CF$UID + 330 + + + CF$UID + 331 + + + CF$UID + 16 + + + CF$UID + 332 + + + + 326115025.453062 + {0, 1195} + {166, 4} + + $class + + CF$UID + 35 + + NS.keys + + + CF$UID + 248 + + + CF$UID + 249 + + + CF$UID + 250 + + + CF$UID + 251 + + + NS.objects + + + CF$UID + 334 + + + CF$UID + 335 + + + CF$UID + 16 + + + CF$UID + 336 + + + + 326299594.74853098 + {0, 486} + {485, 0} + + $class + + CF$UID + 35 + + NS.keys + + + CF$UID + 248 + + + CF$UID + 249 + + + CF$UID + 250 + + + CF$UID + 251 + + + NS.objects + + + CF$UID + 338 + + + CF$UID + 339 + + + CF$UID + 16 + + + CF$UID + 340 + + + + 326299926.03574002 + {0, 853} + {796, 0} + + $class + + CF$UID + 35 + + NS.keys + + + CF$UID + 211 + + + CF$UID + 212 + + + CF$UID + 213 + + + CF$UID + 214 + + + NS.objects + + + CF$UID + 342 + + + CF$UID + 343 + + + CF$UID + 16 + + + CF$UID + 110 + + + + 326039155.43947399 + {0, 669} + + $class + + CF$UID + 35 + + NS.keys + + + CF$UID + 211 + + + CF$UID + 212 + + + CF$UID + 213 + + + CF$UID + 214 + + + NS.objects + + + CF$UID + 345 + + + CF$UID + 346 + + + CF$UID + 16 + + + CF$UID + 347 + + + + 326115514.77834499 + {0, 485} + {447, 7} + + $class + + CF$UID + 35 + + NS.keys + + + CF$UID + 248 + + + CF$UID + 249 + + + CF$UID + 250 + + + CF$UID + 251 + + + NS.objects + + + CF$UID + 349 + + + CF$UID + 350 + + + CF$UID + 16 + + + CF$UID + 351 + + + + 326299921.02473301 + {141, 1657} + {4467, 0} + + $class + + CF$UID + 35 + + NS.keys + + + CF$UID + 248 + + + CF$UID + 249 + + + CF$UID + 250 + + + CF$UID + 251 + + + NS.objects + + + CF$UID + 353 + + + CF$UID + 354 + + + CF$UID + 16 + + + CF$UID + 355 + + + + 326299830.819848 + {2234, 1700} + {345, 0} + + $class + + CF$UID + 35 + + NS.keys + + + CF$UID + 211 + + + CF$UID + 212 + + + CF$UID + 213 + + + CF$UID + 214 + + + NS.objects + + + CF$UID + 357 + + + CF$UID + 358 + + + CF$UID + 16 + + + CF$UID + 359 + + + + 326029240.24152601 + {0, 759} + {2533, 0} + + $class + + CF$UID + 35 + + NS.keys + + + CF$UID + 248 + + + CF$UID + 249 + + + CF$UID + 250 + + + CF$UID + 251 + + + NS.objects + + + CF$UID + 361 + + + CF$UID + 362 + + + CF$UID + 16 + + + CF$UID + 363 + + + + 326299926.03588599 + {962, 2550} + {2418, 0} + + $class + + CF$UID + 35 + + NS.keys + + + CF$UID + 211 + + + CF$UID + 212 + + + CF$UID + 213 + + + CF$UID + 214 + + + NS.objects + + + CF$UID + 365 + + + CF$UID + 366 + + + CF$UID + 16 + + + CF$UID + 110 + + + + 326028054.72835201 + {0, 1436} + + $class + + CF$UID + 35 + + NS.keys + + + CF$UID + 211 + + + CF$UID + 212 + + + CF$UID + 213 + + + CF$UID + 214 + + + NS.objects + + + CF$UID + 368 + + + CF$UID + 369 + + + CF$UID + 16 + + + CF$UID + 370 + + + + 326039147.16620702 + {0, 609} + {82, 0} + + $class + + CF$UID + 35 + + NS.keys + + + CF$UID + 211 + + + CF$UID + 212 + + + CF$UID + 213 + + + CF$UID + 214 + + + NS.objects + + + CF$UID + 372 + + + CF$UID + 373 + + + CF$UID + 16 + + + CF$UID + 110 + + + + 326028706.25809801 + {0, 80} + + $class + + CF$UID + 35 + + NS.keys + + + CF$UID + 211 + + + CF$UID + 212 + + + CF$UID + 213 + + + CF$UID + 214 + + + NS.objects + + + CF$UID + 375 + + + CF$UID + 376 + + + CF$UID + 16 + + + CF$UID + 377 + + + + 326114968.746912 + {0, 499} + {355, 0} + + $class + + CF$UID + 35 + + NS.keys + + + CF$UID + 248 + + + CF$UID + 249 + + + CF$UID + 250 + + + CF$UID + 251 + + + NS.objects + + + CF$UID + 379 + + + CF$UID + 380 + + + CF$UID + 16 + + + CF$UID + 381 + + + + 326299810.98519701 + {0, 641} + {293, 19} + + $class + + CF$UID + 35 + + NS.keys + + + CF$UID + 211 + + + CF$UID + 212 + + + CF$UID + 213 + + + CF$UID + 214 + + + NS.objects + + + CF$UID + 383 + + + CF$UID + 384 + + + CF$UID + 16 + + + CF$UID + 110 + + + + 326028749.30245 + {0, 1579} + + $class + + CF$UID + 35 + + NS.keys + + + CF$UID + 386 + + + CF$UID + 388 + + + CF$UID + 390 + + + NS.objects + + + CF$UID + 392 + + + CF$UID + 401 + + + CF$UID + 406 + + + + + $class + + CF$UID + 28 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 387 + + + x-xcode-log://E24FD443-7086-4941-B703-DF114AF394D2 + + $class + + CF$UID + 28 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 389 + + + x-xcode-log://D9B7EFF5-144A-4675-88B8-45F36B7C0F8B + + $class + + CF$UID + 28 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 391 + + + x-xcode-log://9B9A7FE4-7024-4DD5-B6BF-8D43E1A88016 + + $class + + CF$UID + 35 + + NS.keys + + + CF$UID + 393 + + + NS.objects + + + CF$UID + 394 + + + + SelectedDocumentLocations + + $class + + CF$UID + 57 + + NS.objects + + + CF$UID + 395 + + + + + $class + + CF$UID + 400 + + documentURL + + CF$UID + 387 + + expandTranscript + + indexPath + + CF$UID + 396 + + timestamp + + CF$UID + 0 + + + + $class + + CF$UID + 399 + + NSIndexPathData + + CF$UID + 397 + + NSIndexPathLength + 2 + + + $class + + CF$UID + 398 + + NS.data + + AAI= + + + + $classes + + NSMutableData + NSData + NSObject + + $classname + NSMutableData + + + $classes + + NSIndexPath + NSObject + + $classname + NSIndexPath + + + $classes + + IDELogDocumentLocation + DVTDocumentLocation + NSObject + + $classname + IDELogDocumentLocation + + + $class + + CF$UID + 35 + + NS.keys + + + CF$UID + 393 + + + NS.objects + + + CF$UID + 402 + + + + + $class + + CF$UID + 57 + + NS.objects + + + CF$UID + 403 + + + + + $class + + CF$UID + 400 + + documentURL + + CF$UID + 389 + + expandTranscript + + indexPath + + CF$UID + 404 + + timestamp + + CF$UID + 0 + + + + $class + + CF$UID + 399 + + NSIndexPathData + + CF$UID + 405 + + NSIndexPathLength + 2 + + + $class + + CF$UID + 398 + + NS.data + + AAA= + + + + $class + + CF$UID + 35 + + NS.keys + + + CF$UID + 393 + + + NS.objects + + + CF$UID + 407 + + + + + $class + + CF$UID + 57 + + NS.objects + + + CF$UID + 408 + + + + + $class + + CF$UID + 400 + + documentURL + + CF$UID + 391 + + expandTranscript + + indexPath + + CF$UID + 409 + + timestamp + + CF$UID + 0 + + + + $class + + CF$UID + 399 + + NSIndexPathData + + CF$UID + 410 + + NSIndexPathLength + 2 + + + $class + + CF$UID + 398 + + NS.data + + ACs= + + + + $class + + CF$UID + 35 + + NS.keys + + + CF$UID + 412 + + + CF$UID + 414 + + + CF$UID + 416 + + + CF$UID + 418 + + + CF$UID + 420 + + + CF$UID + 422 + + + CF$UID + 424 + + + NS.objects + + + CF$UID + 426 + + + CF$UID + 433 + + + CF$UID + 439 + + + CF$UID + 444 + + + CF$UID + 449 + + + CF$UID + 454 + + + CF$UID + 459 + + + + + $class + + CF$UID + 28 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 413 + + + + $class + + CF$UID + 27 + + NS.string + file://localhost/Users/benjgodard/Dropbox/Projects/NYXImagesUtilities/Resources/TEST.jpg + + + $class + + CF$UID + 28 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 415 + + + + $class + + CF$UID + 27 + + NS.string + file://localhost/Users/benjgodard/Dropbox/Projects/NYXImagesUtilities/Resources/BLA.png + + + $class + + CF$UID + 28 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 417 + + + + $class + + CF$UID + 27 + + NS.string + file://localhost/Users/benjgodard/Dropbox/Projects/NYXImagesUtilities/Resources/niu_orig.jpg + + + $class + + CF$UID + 28 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 419 + + + + $class + + CF$UID + 27 + + NS.string + file://localhost/Users/benjgodard/Dropbox/Projects/NYXImagesUtilities/Resources/sample.jpg + + + $class + + CF$UID + 28 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 421 + + + + $class + + CF$UID + 27 + + NS.string + file://localhost/Users/benjgodard/Dropbox/Projects/NYXImagesUtilities/Resources/TEST.png + + + $class + + CF$UID + 28 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 423 + + + + $class + + CF$UID + 27 + + NS.string + file://localhost/Users/benjgodard/Dropbox/Projects/NYXImagesUtilities/Resources/mask2.png + + + $class + + CF$UID + 28 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 425 + + + + $class + + CF$UID + 27 + + NS.string + file://localhost/Users/benjgodard/Dropbox/Projects/NYXImagesUtilities/Resources/mask.png + + + $class + + CF$UID + 35 + + NS.keys + + + CF$UID + 393 + + + NS.objects + + + CF$UID + 427 + + + + + $class + + CF$UID + 57 + + NS.objects + + + CF$UID + 428 + + + + + $class + + CF$UID + 432 + + IDEQuickLookPageNumber + + CF$UID + 431 + + documentURL + + CF$UID + 429 + + timestamp + + CF$UID + 430 + + + file://localhost/Users/benjgodard/Dropbox/Projects/NYXImagesUtilities/Resources/TEST.jpg + 326122301.95286697 + 0 + + $classes + + IDEQuickLookDocumentLocation + DVTDocumentLocation + NSObject + + $classname + IDEQuickLookDocumentLocation + + + $class + + CF$UID + 35 + + NS.keys + + + CF$UID + 434 + + + NS.objects + + + CF$UID + 435 + + + + SelectedDocumentLocations + + $class + + CF$UID + 57 + + NS.objects + + + CF$UID + 436 + + + + + $class + + CF$UID + 432 + + IDEQuickLookPageNumber + + CF$UID + 431 + + documentURL + + CF$UID + 437 + + timestamp + + CF$UID + 438 + + + file://localhost/Users/benjgodard/Dropbox/Projects/NYXImagesUtilities/Resources/BLA.png + 326299531.47940701 + + $class + + CF$UID + 35 + + NS.keys + + + CF$UID + 393 + + + NS.objects + + + CF$UID + 440 + + + + + $class + + CF$UID + 57 + + NS.objects + + + CF$UID + 441 + + + + + $class + + CF$UID + 432 + + IDEQuickLookPageNumber + + CF$UID + 431 + + documentURL + + CF$UID + 442 + + timestamp + + CF$UID + 443 + + + file://localhost/Users/benjgodard/Dropbox/Projects/NYXImagesUtilities/Resources/niu_orig.jpg + 326296249.00023699 + + $class + + CF$UID + 35 + + NS.keys + + + CF$UID + 393 + + + NS.objects + + + CF$UID + 445 + + + + + $class + + CF$UID + 57 + + NS.objects + + + CF$UID + 446 + + + + + $class + + CF$UID + 432 + + IDEQuickLookPageNumber + + CF$UID + 431 + + documentURL + + CF$UID + 447 + + timestamp + + CF$UID + 448 + + + file://localhost/Users/benjgodard/Dropbox/Projects/NYXImagesUtilities/Resources/sample.jpg + 326107734.53613597 + + $class + + CF$UID + 35 + + NS.keys + + + CF$UID + 393 + + + NS.objects + + + CF$UID + 450 + + + + + $class + + CF$UID + 57 + + NS.objects + + + CF$UID + 451 + + + + + $class + + CF$UID + 432 + + IDEQuickLookPageNumber + + CF$UID + 431 + + documentURL + + CF$UID + 452 + + timestamp + + CF$UID + 453 + + + file://localhost/Users/benjgodard/Dropbox/Projects/NYXImagesUtilities/Resources/TEST.png + 326110006.88334101 + + $class + + CF$UID + 35 + + NS.keys + + + CF$UID + 434 + + + NS.objects + + + CF$UID + 455 + + + + + $class + + CF$UID + 57 + + NS.objects + + + CF$UID + 456 + + + + + $class + + CF$UID + 432 + + IDEQuickLookPageNumber + + CF$UID + 431 + + documentURL + + CF$UID + 457 + + timestamp + + CF$UID + 458 + + + file://localhost/Users/benjgodard/Dropbox/Projects/NYXImagesUtilities/Resources/mask2.png + 326299528.61070198 + + $class + + CF$UID + 35 + + NS.keys + + + CF$UID + 393 + + + NS.objects + + + CF$UID + 460 + + + + + $class + + CF$UID + 57 + + NS.objects + + + CF$UID + 461 + + + + + $class + + CF$UID + 432 + + IDEQuickLookPageNumber + + CF$UID + 431 + + documentURL + + CF$UID + 462 + + timestamp + + CF$UID + 463 + + + file://localhost/Users/benjgodard/Dropbox/Projects/NYXImagesUtilities/Resources/mask.png + 326107737.38441497 + + $class + + CF$UID + 35 + + NS.keys + + + CF$UID + 465 + + + CF$UID + 466 + + + NS.objects + + + CF$UID + 467 + + + CF$UID + 468 + + + + IDEDeviceLocation + IDEDeviceArchitecture + dvtdevice-iphonesimulator:/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator4.3.sdk-iPhone + i386 + + $class + + CF$UID + 35 + + NS.keys + + + CF$UID + 470 + + + NS.objects + + + CF$UID + 471 + + + + IDENameString + NYXImagesUtilities + + $class + + CF$UID + 35 + + NS.keys + + + CF$UID + 473 + + + CF$UID + 474 + + + CF$UID + 475 + + + NS.objects + + + CF$UID + 476 + + + CF$UID + 502 + + + CF$UID + 483 + + + + IDEActivityReportCompletionSummaryStringSegments + IDEActivityReportOptions + IDEActivityReportTitle + + $class + + CF$UID + 38 + + NS.objects + + + CF$UID + 477 + + + CF$UID + 484 + + + CF$UID + 488 + + + CF$UID + 492 + + + + + $class + + CF$UID + 35 + + NS.keys + + + CF$UID + 478 + + + CF$UID + 479 + + + CF$UID + 480 + + + NS.objects + + + CF$UID + 481 + + + CF$UID + 482 + + + CF$UID + 483 + + + + IDEActivityReportStringSegmentPriority + IDEActivityReportStringSegmentBackSeparator + IDEActivityReportStringSegmentStringValue + 2 + + Build + + $class + + CF$UID + 35 + + NS.keys + + + CF$UID + 478 + + + CF$UID + 479 + + + CF$UID + 480 + + + NS.objects + + + CF$UID + 485 + + + CF$UID + 486 + + + CF$UID + 487 + + + + 4 + : + NYXImagesUtilities + + $class + + CF$UID + 35 + + NS.keys + + + CF$UID + 478 + + + CF$UID + 479 + + + CF$UID + 480 + + + NS.objects + + + CF$UID + 489 + + + CF$UID + 490 + + + CF$UID + 491 + + + + 1 + + + $class + + CF$UID + 398 + + NS.data + + YnBsaXN0MDDUAQIDBAUGOzxYJHZlcnNpb25YJG9iamVjdHNZJGFy + Y2hpdmVyVCR0b3ASAAGGoK0HCA8QGhscJCUrMTQ3VSRudWxs0wkK + CwwNDlxOU0F0dHJpYnV0ZXNWJGNsYXNzWE5TU3RyaW5ngAOADIAC + WVN1Y2NlZWRlZNMKERITFBdXTlMua2V5c1pOUy5vYmplY3RzgAui + FRaABIAFohgZgAaACVZOU0ZvbnRXTlNDb2xvctQKHR4fICEiI1ZO + U05hbWVWTlNTaXplWE5TZkZsYWdzgAiAByNAJgAAAAAAABENEF8Q + EUx1Y2lkYUdyYW5kZS1Cb2xk0iYnKClaJGNsYXNzbmFtZVgkY2xh + c3Nlc1ZOU0ZvbnSiKCpYTlNPYmplY3TTCiwtLi8wXE5TQ29sb3JT + cGFjZVdOU1doaXRlgAoQA0IwANImJzIzV05TQ29sb3KiMirSJic1 + NlxOU0RpY3Rpb25hcnmiNSrSJic4OV8QEk5TQXR0cmlidXRlZFN0 + cmluZ6I6Kl8QEk5TQXR0cmlidXRlZFN0cmluZ18QD05TS2V5ZWRB + cmNoaXZlctE9PlRyb290gAEACAARABoAIwAtADIANwBFAEsAUgBf + AGYAbwBxAHMAdQB/AIYAjgCZAJsAngCgAKIApQCnAKkAsAC4AMEA + yADPANgA2gDcAOUA6AD8AQEBDAEVARwBHwEoAS8BPAFEAUYBSAFL + AVABWAFbAWABbQFwAXUBigGNAaIBtAG3AbwAAAAAAAACAQAAAAAA + AAA/AAAAAAAAAAAAAAAAAAABvg== + + + + $class + + CF$UID + 35 + + NS.keys + + + CF$UID + 478 + + + CF$UID + 493 + + + CF$UID + 494 + + + CF$UID + 480 + + + CF$UID + 495 + + + CF$UID + 496 + + + NS.objects + + + CF$UID + 497 + + + CF$UID + 498 + + + CF$UID + 499 + + + CF$UID + 501 + + + CF$UID + 498 + + + CF$UID + 498 + + + + IDEActivityReportStringSegmentType + IDEActivityReportStringSegmentDate + IDEActivityReportStringSegmentDateStyle + IDEActivityReportStringSegmentTimeStyle + 3 + 1 + + $class + + CF$UID + 500 + + NS.time + 326299890.45809299 + + + $classes + + NSDate + NSObject + + $classname + NSDate + + Today at 4:51 PM + 106 + + $class + + CF$UID + 38 + + NS.objects + + + CF$UID + 4 + + + + + $class + + CF$UID + 38 + + NS.objects + + + CF$UID + 505 + + + CF$UID + 507 + + + CF$UID + 509 + + + CF$UID + 511 + + + CF$UID + 513 + + + CF$UID + 515 + + + CF$UID + 517 + + + CF$UID + 519 + + + CF$UID + 521 + + + CF$UID + 523 + + + + + $class + + CF$UID + 28 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 506 + + + file://localhost/Users/benjgodard/Dropbox/Projects/NYXImagesUtilities/Classes/NYXRootViewController.m + + $class + + CF$UID + 28 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 508 + + + file://localhost/Users/benjgodard/Dropbox/Projects/NYXImagesUtilities/Classes/Categories/UIImage+Filtering.m + + $class + + CF$UID + 28 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 510 + + + file://localhost/Users/benjgodard/Dropbox/Projects/NYXImagesUtilities/Classes/Categories/UIImage+Masking.m + + $class + + CF$UID + 28 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 512 + + + file://localhost/Users/benjgodard/Dropbox/Projects/NYXImagesUtilities/Other%20Sources/NYXImagesUtilities.m + + $class + + CF$UID + 28 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 514 + + + file://localhost/Users/benjgodard/Dropbox/Projects/NYXImagesUtilities/Classes/Categories/UIImage+Resizing.m + + $class + + CF$UID + 28 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 516 + + + file://localhost/Users/benjgodard/Dropbox/Projects/NYXImagesUtilities/Classes/Categories/UIImage+Rotating.m + + $class + + CF$UID + 28 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 518 + + + file://localhost/Users/benjgodard/Dropbox/Projects/NYXImagesUtilities/Other%20Sources/NYXImagesUtilities.h + + $class + + CF$UID + 28 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 520 + + + file://localhost/Users/benjgodard/Dropbox/Projects/NYXImagesUtilities/Classes/Categories/UIImage+Resizing.h + + $class + + CF$UID + 28 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 522 + + + file://localhost/Users/benjgodard/Dropbox/Projects/NYXImagesUtilities/Classes/Categories/UIImage+Rotating.h + + $class + + CF$UID + 28 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 524 + + + file://localhost/Users/benjgodard/Dropbox/Projects/NYXImagesUtilities/Other%20Sources/Prefix.pch + + $class + + CF$UID + 35 + + NS.keys + + + CF$UID + 526 + + + CF$UID + 527 + + + CF$UID + 528 + + + CF$UID + 529 + + + CF$UID + 530 + + + CF$UID + 531 + + + NS.objects + + + CF$UID + 532 + + + CF$UID + 533 + + + CF$UID + 16 + + + CF$UID + 534 + + + CF$UID + 529 + + + CF$UID + 3 + + + + IDEWindowFrame + IDEOrderedWorkspaceTabControllers + IDEWindowToolbarIsVisible + IDEWorkspaceTabController_0286B698-3565-4EA5-8F0E-997800485BE3 + IDEActiveWorkspaceTabController + IDEWorkspaceWindowControllerUniqueIdentifier + {{285, 423}, {600, 624}} + + $class + + CF$UID + 57 + + NS.objects + + + CF$UID + 529 + + + + + $class + + CF$UID + 35 + + NS.keys + + + CF$UID + 535 + + + CF$UID + 536 + + + CF$UID + 537 + + + CF$UID + 538 + + + CF$UID + 539 + + + CF$UID + 540 + + + CF$UID + 541 + + + NS.objects + + + CF$UID + 542 + + + CF$UID + 16 + + + CF$UID + 604 + + + CF$UID + 610 + + + CF$UID + 641 + + + CF$UID + 16 + + + CF$UID + 431 + + + + IDEEditorArea + IDEShowNavigator + IDEWorkspaceTabControllerUtilityAreaSplitView + IDENavigatorArea + IDEWorkspaceTabControllerDesignAreaSplitView + IDEShowUtilities + AssistantEditorsLayout + + $class + + CF$UID + 35 + + NS.keys + + + CF$UID + 543 + + + CF$UID + 544 + + + CF$UID + 545 + + + CF$UID + 546 + + + CF$UID + 547 + + + CF$UID + 548 + + + CF$UID + 549 + + + CF$UID + 550 + + + NS.objects + + + CF$UID + 16 + + + CF$UID + 551 + + + CF$UID + 563 + + + CF$UID + 588 + + + CF$UID + 431 + + + CF$UID + 589 + + + CF$UID + 597 + + + CF$UID + 598 + + + + ShowDebuggerArea + IDEEditorMode_Standard + IDEEDitorArea_DebugArea + IDEShowEditor + EditorMode + DebuggerSplitView + DefaultPersistentRepresentations + layoutTree + + $class + + CF$UID + 35 + + NS.keys + + + CF$UID + 552 + + + NS.objects + + + CF$UID + 553 + + + + EditorLayout_PersistentRepresentation + + $class + + CF$UID + 35 + + NS.keys + + + CF$UID + 554 + + + NS.objects + + + CF$UID + 555 + + + + Main + + $class + + CF$UID + 86 + + NS.keys + + + CF$UID + 556 + + + CF$UID + 557 + + + CF$UID + 558 + + + NS.objects + + + CF$UID + 559 + + + CF$UID + 431 + + + CF$UID + 561 + + + + EditorLayout_StateSavingStateDictionaries + EditorLayout_Selected + EditorLayout_Geometry + + $class + + CF$UID + 57 + + NS.objects + + + CF$UID + 560 + + + + + $class + + CF$UID + 35 + + NS.keys + + NS.objects + + + + $class + + CF$UID + 57 + + NS.objects + + + CF$UID + 562 + + + + {{0, 0}, {600, 600}} + + $class + + CF$UID + 35 + + NS.keys + + + CF$UID + 564 + + + CF$UID + 565 + + + CF$UID + 566 + + + CF$UID + 567 + + + CF$UID + 568 + + + CF$UID + 569 + + + NS.objects + + + CF$UID + 498 + + + CF$UID + 570 + + + CF$UID + 572 + + + CF$UID + 498 + + + CF$UID + 580 + + + CF$UID + 586 + + + + LayoutFocusMode + console + IDEDebuggerAreaSplitView + LayoutMode + IDEDebugArea_SplitView + variables + + $class + + CF$UID + 35 + + NS.keys + + + CF$UID + 571 + + + NS.objects + + + CF$UID + 431 + + + + ConsoleFilterMode + + $class + + CF$UID + 35 + + NS.keys + + + CF$UID + 79 + + + NS.objects + + + CF$UID + 573 + + + + + $class + + CF$UID + 38 + + NS.objects + + + CF$UID + 574 + + + CF$UID + 577 + + + + + $class + + CF$UID + 86 + + NS.keys + + + CF$UID + 82 + + + CF$UID + 83 + + + NS.objects + + + CF$UID + 575 + + + CF$UID + 576 + + + + VariablesView + 298 + + $class + + CF$UID + 86 + + NS.keys + + + CF$UID + 82 + + + CF$UID + 83 + + + NS.objects + + + CF$UID + 578 + + + CF$UID + 579 + + + + ConsoleArea + 301 + + $class + + CF$UID + 35 + + NS.keys + + + CF$UID + 79 + + + NS.objects + + + CF$UID + 581 + + + + + $class + + CF$UID + 38 + + NS.objects + + + CF$UID + 582 + + + CF$UID + 584 + + + + + $class + + CF$UID + 86 + + NS.keys + + + CF$UID + 82 + + + CF$UID + 83 + + + NS.objects + + + CF$UID + 575 + + + CF$UID + 583 + + + + 298 + + $class + + CF$UID + 86 + + NS.keys + + + CF$UID + 82 + + + CF$UID + 83 + + + NS.objects + + + CF$UID + 578 + + + CF$UID + 585 + + + + 301 + + $class + + CF$UID + 35 + + NS.keys + + + CF$UID + 587 + + + NS.objects + + + CF$UID + 37 + + + + DBGVariablesViewFilterMode + + + $class + + CF$UID + 35 + + NS.keys + + + CF$UID + 79 + + + NS.objects + + + CF$UID + 590 + + + + + $class + + CF$UID + 38 + + NS.objects + + + CF$UID + 591 + + + CF$UID + 594 + + + + + $class + + CF$UID + 86 + + NS.keys + + + CF$UID + 82 + + + CF$UID + 83 + + + NS.objects + + + CF$UID + 592 + + + CF$UID + 593 + + + + IDEEditor + 203 + + $class + + CF$UID + 86 + + NS.keys + + + CF$UID + 82 + + + CF$UID + 83 + + + NS.objects + + + CF$UID + 595 + + + CF$UID + 596 + + + + IDEDebuggerArea + 115 + + $class + + CF$UID + 35 + + NS.keys + + NS.objects + + + + $class + + CF$UID + 603 + + geniusEditorContextNode + + CF$UID + 0 + + primaryEditorContextNode + + CF$UID + 599 + + rootLayoutTreeNode + + CF$UID + 600 + + + + $class + + CF$UID + 602 + + children + + CF$UID + 0 + + contentType + 1 + documentArchivableRepresentation + + CF$UID + 0 + + orientation + 0 + parent + + CF$UID + 600 + + + + $class + + CF$UID + 602 + + children + + CF$UID + 601 + + contentType + 0 + documentArchivableRepresentation + + CF$UID + 0 + + orientation + 0 + parent + + CF$UID + 0 + + + + $class + + CF$UID + 57 + + NS.objects + + + CF$UID + 599 + + + + + $classes + + IDEWorkspaceTabControllerLayoutTreeNode + NSObject + + $classname + IDEWorkspaceTabControllerLayoutTreeNode + + + $classes + + IDEWorkspaceTabControllerLayoutTree + NSObject + + $classname + IDEWorkspaceTabControllerLayoutTree + + + $class + + CF$UID + 35 + + NS.keys + + + CF$UID + 79 + + + NS.objects + + + CF$UID + 605 + + + + + $class + + CF$UID + 38 + + NS.objects + + + CF$UID + 606 + + + CF$UID + 608 + + + + + $class + + CF$UID + 86 + + NS.keys + + + CF$UID + 82 + + + CF$UID + 83 + + + NS.objects + + + CF$UID + 84 + + + CF$UID + 607 + + + + 376 + + $class + + CF$UID + 86 + + NS.keys + + + CF$UID + 82 + + + CF$UID + 83 + + + NS.objects + + + CF$UID + 84 + + + CF$UID + 609 + + + + 224 + + $class + + CF$UID + 35 + + NS.keys + + + CF$UID + 611 + + + CF$UID + 612 + + + CF$UID + 613 + + + NS.objects + + + CF$UID + 614 + + + CF$UID + 613 + + + CF$UID + 625 + + + + Xcode.IDEKit.Navigator.Structure + SelectedNavigator + Xcode.IDEKit.Navigator.Issues + + $class + + CF$UID + 35 + + NS.keys + + + CF$UID + 615 + + + CF$UID + 616 + + + CF$UID + 617 + + + CF$UID + 618 + + + CF$UID + 619 + + + CF$UID + 620 + + + CF$UID + 621 + + + NS.objects + + + CF$UID + 622 + + + CF$UID + 16 + + + CF$UID + 623 + + + CF$UID + 16 + + + CF$UID + 16 + + + CF$UID + 62 + + + CF$UID + 623 + + + + IDEVisibleRect + IDEUnsavedDocumentFilteringEnabled + IDENavigatorExpandedItemsBeforeFilteringSet + IDERecentDocumentFilteringEnabled + IDESCMStatusFilteringEnabled + IDESelectedObjects + IDEExpandedItemsSet + {{0, 0}, {259, 832}} + + $class + + CF$UID + 624 + + NS.objects + + + + $classes + + NSSet + NSObject + + $classname + NSSet + + + $class + + CF$UID + 35 + + NS.keys + + + CF$UID + 626 + + + CF$UID + 615 + + + CF$UID + 627 + + + CF$UID + 628 + + + CF$UID + 629 + + + CF$UID + 630 + + + CF$UID + 631 + + + CF$UID + 632 + + + CF$UID + 633 + + + CF$UID + 634 + + + NS.objects + + + CF$UID + 16 + + + CF$UID + 635 + + + CF$UID + 636 + + + CF$UID + 637 + + + CF$UID + 638 + + + CF$UID + 16 + + + CF$UID + 16 + + + CF$UID + 639 + + + CF$UID + 16 + + + CF$UID + 640 + + + + IDEErrorFilteringEnabled + IDECollapsedFiles + IDEExpandedIssues + IDESelectedNavigables + IDEShowsByType + IDESchemeFilteringEnabled + IDECollapsedTypes + IDERecentFilteringEnabled + IDECollapsedGroups + {{0, 0}, {0, 0}} + + $class + + CF$UID + 60 + + NS.objects + + + + $class + + CF$UID + 60 + + NS.objects + + + + $class + + CF$UID + 38 + + NS.objects + + + + $class + + CF$UID + 60 + + NS.objects + + + + $class + + CF$UID + 60 + + NS.objects + + + + $class + + CF$UID + 35 + + NS.keys + + + CF$UID + 79 + + + NS.objects + + + CF$UID + 642 + + + + + $class + + CF$UID + 38 + + NS.objects + + + CF$UID + 643 + + + CF$UID + 645 + + + CF$UID + 647 + + + + + $class + + CF$UID + 86 + + NS.keys + + + CF$UID + 82 + + + CF$UID + 83 + + + NS.objects + + + CF$UID + 538 + + + CF$UID + 644 + + + + 260 + + $class + + CF$UID + 86 + + NS.keys + + + CF$UID + 82 + + + CF$UID + 83 + + + NS.objects + + + CF$UID + 535 + + + CF$UID + 646 + + + + 1140 + + $class + + CF$UID + 86 + + NS.keys + + + CF$UID + 82 + + + CF$UID + 83 + + + NS.objects + + + CF$UID + 648 + + + CF$UID + 649 + + + + IDEUtilitiesArea + 260 + + $class + + CF$UID + 35 + + NS.keys + + + CF$UID + 651 + + + CF$UID + 652 + + + CF$UID + 653 + + + CF$UID + 654 + + + CF$UID + 531 + + + CF$UID + 655 + + + CF$UID + 656 + + + NS.objects + + + CF$UID + 657 + + + CF$UID + 658 + + + CF$UID + 897 + + + CF$UID + 898 + + + CF$UID + 4 + + + CF$UID + 654 + + + CF$UID + 588 + + + + IDEWindowFrame + IDEWorkspaceTabController_6112762B-9C72-4BF1-8DBB-04FC58461981 + IDEOrderedWorkspaceTabControllers + IDEWorkspaceTabController_B9D4DD4F-C995-40A4-ADF3-5E96844F36CC + IDEActiveWorkspaceTabController + IDEWindowToolbarIsVisible + {{0, 4}, {1920, 1174}} + + $class + + CF$UID + 35 + + NS.keys + + + CF$UID + 659 + + + CF$UID + 660 + + + CF$UID + 661 + + + CF$UID + 662 + + + CF$UID + 663 + + + CF$UID + 664 + + + CF$UID + 665 + + + CF$UID + 666 + + + NS.objects + + + CF$UID + 431 + + + CF$UID + 588 + + + CF$UID + 667 + + + CF$UID + 668 + + + CF$UID + 678 + + + CF$UID + 736 + + + CF$UID + 16 + + + CF$UID + 745 + + + + AssistantEditorsLayout + IDEShowNavigator + IDETabLabel + IDEWorkspaceTabControllerUtilityAreaSplitView + IDENavigatorArea + IDEWorkspaceTabControllerDesignAreaSplitView + IDEShowUtilities + IDEEditorArea + NYXImagesUtilities.m + + $class + + CF$UID + 35 + + NS.keys + + + CF$UID + 669 + + + NS.objects + + + CF$UID + 670 + + + + DVTSplitViewItems + + $class + + CF$UID + 38 + + NS.objects + + + CF$UID + 671 + + + CF$UID + 676 + + + + + $class + + CF$UID + 86 + + NS.keys + + + CF$UID + 672 + + + CF$UID + 673 + + + NS.objects + + + CF$UID + 674 + + + CF$UID + 675 + + + + DVTIdentifier + DVTViewMagnitude + + 816 + + $class + + CF$UID + 86 + + NS.keys + + + CF$UID + 672 + + + CF$UID + 673 + + + NS.objects + + + CF$UID + 674 + + + CF$UID + 677 + + + + 260 + + $class + + CF$UID + 35 + + NS.keys + + + CF$UID + 679 + + + CF$UID + 680 + + + CF$UID + 681 + + + CF$UID + 682 + + + NS.objects + + + CF$UID + 683 + + + CF$UID + 706 + + + CF$UID + 679 + + + CF$UID + 719 + + + + Xcode.IDEKit.Navigator.Structure + Xcode.IDEKit.Navigator.BatchFind + SelectedNavigator + Xcode.IDEKit.Navigator.Issues + + $class + + CF$UID + 35 + + NS.keys + + + CF$UID + 684 + + + CF$UID + 685 + + + CF$UID + 686 + + + CF$UID + 687 + + + CF$UID + 688 + + + CF$UID + 689 + + + CF$UID + 690 + + + NS.objects + + + CF$UID + 691 + + + CF$UID + 16 + + + CF$UID + 623 + + + CF$UID + 16 + + + CF$UID + 16 + + + CF$UID + 692 + + + CF$UID + 697 + + + + IDEVisibleRect + IDEUnsavedDocumentFilteringEnabled + IDENavigatorExpandedItemsBeforeFilteringSet + IDERecentDocumentFilteringEnabled + IDESCMStatusFilteringEnabled + IDESelectedObjects + IDEExpandedItemsSet + {{0, 0}, {259, 1032}} + + $class + + CF$UID + 57 + + NS.objects + + + CF$UID + 693 + + + + + $class + + CF$UID + 38 + + NS.objects + + + CF$UID + 694 + + + CF$UID + 695 + + + CF$UID + 696 + + + + NYXImagesUtilities + Other Sources + NYXImagesUtilities.h + + $class + + CF$UID + 624 + + NS.objects + + + CF$UID + 698 + + + CF$UID + 699 + + + CF$UID + 700 + + + CF$UID + 703 + + + CF$UID + 704 + + + + + $class + + CF$UID + 38 + + NS.objects + + + CF$UID + 694 + + + + + $class + + CF$UID + 38 + + NS.objects + + + CF$UID + 694 + + + CF$UID + 695 + + + + + $class + + CF$UID + 38 + + NS.objects + + + CF$UID + 694 + + + CF$UID + 701 + + + CF$UID + 702 + + + + Classes + Categories + + $class + + CF$UID + 38 + + NS.objects + + + CF$UID + 694 + + + CF$UID + 701 + + + + + $class + + CF$UID + 38 + + NS.objects + + + CF$UID + 694 + + + CF$UID + 705 + + + + Resources + + $class + + CF$UID + 35 + + NS.keys + + + CF$UID + 707 + + + CF$UID + 708 + + + CF$UID + 709 + + + CF$UID + 710 + + + CF$UID + 711 + + + CF$UID + 712 + + + CF$UID + 713 + + + NS.objects + + + CF$UID + 431 + + + CF$UID + 16 + + + CF$UID + 84 + + + CF$UID + 714 + + + CF$UID + 715 + + + CF$UID + 431 + + + CF$UID + 717 + + + + IDEBatchFindNavigatorScrollPosition + IDEBatchFindNavigatorShowsOptions + IDEBatchFindNavigatorReplaceString + IDEBatchFindNavigatorFindString + IDEBatchFindNavigatorSelectedRowIndexes + IDEBatchFindNavigatorFindMode + IDEBatchFindNavigatorCollapsedGroups + Nyxouf + + $class + + CF$UID + 716 + + NSRangeCount + 0 + + + $classes + + NSIndexSet + NSObject + + $classname + NSIndexSet + + + $class + + CF$UID + 718 + + NSRangeCount + 0 + + + $classes + + NSMutableIndexSet + NSIndexSet + NSObject + + $classname + NSMutableIndexSet + + + $class + + CF$UID + 35 + + NS.keys + + + CF$UID + 720 + + + CF$UID + 721 + + + CF$UID + 722 + + + CF$UID + 723 + + + CF$UID + 724 + + + CF$UID + 725 + + + CF$UID + 726 + + + CF$UID + 727 + + + CF$UID + 728 + + + CF$UID + 729 + + + NS.objects + + + CF$UID + 16 + + + CF$UID + 730 + + + CF$UID + 731 + + + CF$UID + 732 + + + CF$UID + 733 + + + CF$UID + 16 + + + CF$UID + 16 + + + CF$UID + 734 + + + CF$UID + 16 + + + CF$UID + 735 + + + + IDEErrorFilteringEnabled + IDEVisibleRect + IDECollapsedFiles + IDEExpandedIssues + IDESelectedNavigables + IDEShowsByType + IDESchemeFilteringEnabled + IDECollapsedTypes + IDERecentFilteringEnabled + IDECollapsedGroups + {{0, 0}, {259, 1010}} + + $class + + CF$UID + 60 + + NS.objects + + + + $class + + CF$UID + 60 + + NS.objects + + + + $class + + CF$UID + 38 + + NS.objects + + + + $class + + CF$UID + 60 + + NS.objects + + + + $class + + CF$UID + 60 + + NS.objects + + + + $class + + CF$UID + 35 + + NS.keys + + + CF$UID + 669 + + + NS.objects + + + CF$UID + 737 + + + + + $class + + CF$UID + 38 + + NS.objects + + + CF$UID + 738 + + + CF$UID + 740 + + + CF$UID + 742 + + + + + $class + + CF$UID + 86 + + NS.keys + + + CF$UID + 672 + + + CF$UID + 673 + + + NS.objects + + + CF$UID + 663 + + + CF$UID + 739 + + + + 260 + + $class + + CF$UID + 86 + + NS.keys + + + CF$UID + 672 + + + CF$UID + 673 + + + NS.objects + + + CF$UID + 666 + + + CF$UID + 741 + + + + 1660 + + $class + + CF$UID + 86 + + NS.keys + + + CF$UID + 672 + + + CF$UID + 673 + + + NS.objects + + + CF$UID + 743 + + + CF$UID + 744 + + + + IDEUtilitiesArea + 260 + + $class + + CF$UID + 35 + + NS.keys + + + CF$UID + 746 + + + CF$UID + 747 + + + CF$UID + 748 + + + CF$UID + 749 + + + CF$UID + 750 + + + CF$UID + 751 + + + CF$UID + 752 + + + CF$UID + 753 + + + CF$UID + 754 + + + NS.objects + + + CF$UID + 755 + + + CF$UID + 771 + + + CF$UID + 796 + + + CF$UID + 588 + + + CF$UID + 431 + + + CF$UID + 830 + + + CF$UID + 838 + + + CF$UID + 839 + + + CF$UID + 16 + + + + layoutTree + IDEEDitorArea_DebugArea + IDEEditorMode_Standard + IDEShowEditor + EditorMode + DebuggerSplitView + DefaultPersistentRepresentations + IDEEditorMode_Genius + ShowDebuggerArea + + $class + + CF$UID + 603 + + geniusEditorContextNode + + CF$UID + 0 + + primaryEditorContextNode + + CF$UID + 756 + + rootLayoutTreeNode + + CF$UID + 769 + + + + $class + + CF$UID + 602 + + children + + CF$UID + 0 + + contentType + 1 + documentArchivableRepresentation + + CF$UID + 757 + + orientation + 0 + parent + + CF$UID + 769 + + + + $class + + CF$UID + 768 + + DocumentLocation + + CF$UID + 766 + + DomainIdentifier + + CF$UID + 758 + + IdentifierPath + + CF$UID + 759 + + IndexOfDocumentIdentifier + + CF$UID + 431 + + + Xcode.IDENavigableItemDomain.WorkspaceStructure + + $class + + CF$UID + 57 + + NS.objects + + + CF$UID + 760 + + + CF$UID + 763 + + + CF$UID + 764 + + + + + $class + + CF$UID + 762 + + Identifier + + CF$UID + 761 + + + NYXImagesUtilities.m + + $classes + + IDEArchivableStringIndexPair + NSObject + + $classname + IDEArchivableStringIndexPair + + + $class + + CF$UID + 762 + + Identifier + + CF$UID + 695 + + + + $class + + CF$UID + 762 + + Identifier + + CF$UID + 765 + + + NYXImagesUtilities + + $class + + CF$UID + 767 + + documentURL + + CF$UID + 185 + + timestamp + + CF$UID + 0 + + + + $classes + + DVTDocumentLocation + NSObject + + $classname + DVTDocumentLocation + + + $classes + + IDENavigableItemArchivableRepresentation + NSObject + + $classname + IDENavigableItemArchivableRepresentation + + + $class + + CF$UID + 602 + + children + + CF$UID + 770 + + contentType + 0 + documentArchivableRepresentation + + CF$UID + 0 + + orientation + 0 + parent + + CF$UID + 0 + + + + $class + + CF$UID + 57 + + NS.objects + + + CF$UID + 756 + + + + + $class + + CF$UID + 35 + + NS.keys + + + CF$UID + 772 + + + CF$UID + 773 + + + CF$UID + 774 + + + CF$UID + 775 + + + CF$UID + 776 + + + CF$UID + 777 + + + NS.objects + + + CF$UID + 498 + + + CF$UID + 778 + + + CF$UID + 780 + + + CF$UID + 498 + + + CF$UID + 782 + + + CF$UID + 790 + + + + LayoutFocusMode + console + variables + LayoutMode + IDEDebuggerAreaSplitView + IDEDebugArea_SplitView + + $class + + CF$UID + 35 + + NS.keys + + + CF$UID + 779 + + + NS.objects + + + CF$UID + 431 + + + + ConsoleFilterMode + + $class + + CF$UID + 35 + + NS.keys + + + CF$UID + 781 + + + NS.objects + + + CF$UID + 431 + + + + DBGVariablesViewFilterMode + + $class + + CF$UID + 35 + + NS.keys + + + CF$UID + 669 + + + NS.objects + + + CF$UID + 783 + + + + + $class + + CF$UID + 38 + + NS.objects + + + CF$UID + 784 + + + CF$UID + 787 + + + + + $class + + CF$UID + 86 + + NS.keys + + + CF$UID + 672 + + + CF$UID + 673 + + + NS.objects + + + CF$UID + 785 + + + CF$UID + 786 + + + + VariablesView + 298 + + $class + + CF$UID + 86 + + NS.keys + + + CF$UID + 672 + + + CF$UID + 673 + + + NS.objects + + + CF$UID + 788 + + + CF$UID + 789 + + + + ConsoleArea + 1361 + + $class + + CF$UID + 35 + + NS.keys + + + CF$UID + 669 + + + NS.objects + + + CF$UID + 791 + + + + + $class + + CF$UID + 38 + + NS.objects + + + CF$UID + 792 + + + CF$UID + 794 + + + + + $class + + CF$UID + 86 + + NS.keys + + + CF$UID + 672 + + + CF$UID + 673 + + + NS.objects + + + CF$UID + 785 + + + CF$UID + 793 + + + + 298 + + $class + + CF$UID + 86 + + NS.keys + + + CF$UID + 672 + + + CF$UID + 673 + + + NS.objects + + + CF$UID + 788 + + + CF$UID + 795 + + + + 1361 + + $class + + CF$UID + 35 + + NS.keys + + + CF$UID + 797 + + + NS.objects + + + CF$UID + 798 + + + + EditorLayout_PersistentRepresentation + + $class + + CF$UID + 35 + + NS.keys + + + CF$UID + 799 + + + NS.objects + + + CF$UID + 800 + + + + Main + + $class + + CF$UID + 86 + + NS.keys + + + CF$UID + 801 + + + CF$UID + 802 + + + CF$UID + 803 + + + NS.objects + + + CF$UID + 804 + + + CF$UID + 431 + + + CF$UID + 828 + + + + EditorLayout_StateSavingStateDictionaries + EditorLayout_Selected + EditorLayout_Geometry + + $class + + CF$UID + 57 + + NS.objects + + + CF$UID + 805 + + + + + $class + + CF$UID + 35 + + NS.keys + + + CF$UID + 806 + + + CF$UID + 807 + + + CF$UID + 808 + + + CF$UID + 809 + + + CF$UID + 810 + + + CF$UID + 811 + + + CF$UID + 812 + + + NS.objects + + + CF$UID + 813 + + + CF$UID + 814 + + + CF$UID + 820 + + + CF$UID + 824 + + + CF$UID + 761 + + + CF$UID + 825 + + + CF$UID + 826 + + + + FileDataType + ArchivableRepresentation + EditorState + NavigableItemName + DocumentNavigableItemName + DocumentExtensionIdentifier + DocumentURL + public.objective-c-source + + $class + + CF$UID + 768 + + DocumentLocation + + CF$UID + 766 + + DomainIdentifier + + CF$UID + 758 + + IdentifierPath + + CF$UID + 815 + + IndexOfDocumentIdentifier + + CF$UID + 431 + + + + $class + + CF$UID + 57 + + NS.objects + + + CF$UID + 816 + + + CF$UID + 817 + + + CF$UID + 818 + + + + + $class + + CF$UID + 762 + + Identifier + + CF$UID + 761 + + + + $class + + CF$UID + 762 + + Identifier + + CF$UID + 695 + + + + $class + + CF$UID + 762 + + Identifier + + CF$UID + 819 + + + NYXImagesUtilities + + $class + + CF$UID + 86 + + NS.keys + + + CF$UID + 248 + + + CF$UID + 249 + + + CF$UID + 250 + + + CF$UID + 251 + + + NS.objects + + + CF$UID + 821 + + + CF$UID + 822 + + + CF$UID + 16 + + + CF$UID + 823 + + + + 326299926.03853703 + {0, 853} + {796, 0} + NYXImageCreateARGBBitmapContext() + Xcode.IDEKit.EditorDocument.SourceCode + + $class + + CF$UID + 28 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 827 + + + file://localhost/Users/benjgodard/Dropbox/Projects/NYXImagesUtilities/Other%20Sources/NYXImagesUtilities.m + + $class + + CF$UID + 57 + + NS.objects + + + CF$UID + 829 + + + + {{0, 0}, {1660, 1076}} + + $class + + CF$UID + 35 + + NS.keys + + + CF$UID + 669 + + + NS.objects + + + CF$UID + 831 + + + + + $class + + CF$UID + 38 + + NS.objects + + + CF$UID + 832 + + + CF$UID + 835 + + + + + $class + + CF$UID + 86 + + NS.keys + + + CF$UID + 672 + + + CF$UID + 673 + + + NS.objects + + + CF$UID + 833 + + + CF$UID + 834 + + + + IDEEditor + 961 + + $class + + CF$UID + 86 + + NS.keys + + + CF$UID + 672 + + + CF$UID + 673 + + + NS.objects + + + CF$UID + 836 + + + CF$UID + 837 + + + + IDEDebuggerArea + 115 + + $class + + CF$UID + 35 + + NS.keys + + NS.objects + + + + $class + + CF$UID + 35 + + NS.keys + + + CF$UID + 840 + + + CF$UID + 552 + + + NS.objects + + + CF$UID + 841 + + + CF$UID + 842 + + + + SplitPosition + 0.50087720155715942 + + $class + + CF$UID + 35 + + NS.keys + + + CF$UID + 843 + + + CF$UID + 554 + + + NS.objects + + + CF$UID + 844 + + + CF$UID + 877 + + + + Alternate + + $class + + CF$UID + 86 + + NS.keys + + + CF$UID + 556 + + + CF$UID + 557 + + + CF$UID + 558 + + + NS.objects + + + CF$UID + 845 + + + CF$UID + 431 + + + CF$UID + 875 + + + + + $class + + CF$UID + 38 + + NS.objects + + + CF$UID + 846 + + + + + $class + + CF$UID + 35 + + NS.keys + + + CF$UID + 847 + + + CF$UID + 848 + + + CF$UID + 849 + + + CF$UID + 850 + + + CF$UID + 851 + + + CF$UID + 852 + + + CF$UID + 853 + + + NS.objects + + + CF$UID + 854 + + + CF$UID + 855 + + + CF$UID + 870 + + + CF$UID + 858 + + + CF$UID + 858 + + + CF$UID + 19 + + + CF$UID + 873 + + + + FileDataType + ArchivableRepresentation + EditorState + NavigableItemName + DocumentNavigableItemName + DocumentExtensionIdentifier + DocumentURL + com.apple.xml-property-list + + $class + + CF$UID + 768 + + DocumentLocation + + CF$UID + 868 + + DomainIdentifier + + CF$UID + 0 + + IdentifierPath + + CF$UID + 856 + + IndexOfDocumentIdentifier + + CF$UID + 431 + + + + $class + + CF$UID + 57 + + NS.objects + + + CF$UID + 857 + + + CF$UID + 859 + + + CF$UID + 861 + + + CF$UID + 862 + + + CF$UID + 865 + + + + + $class + + CF$UID + 762 + + Identifier + + CF$UID + 858 + + + Info.plist + + $class + + CF$UID + 762 + + Identifier + + CF$UID + 860 + + + Supporting Files + + $class + + CF$UID + 762 + + Identifier + + CF$UID + 98 + + + + $class + + CF$UID + 35 + + NS.keys + + + CF$UID + 863 + + + CF$UID + 864 + + + NS.objects + + + CF$UID + 758 + + + CF$UID + 98 + + + + manualDomainIdentifier + navigableItem_name + + $class + + CF$UID + 35 + + NS.keys + + + CF$UID + 866 + + + NS.objects + + + CF$UID + 867 + + + + identifier + Xcode.IDEKit.GeniusCategory.Manual + + $class + + CF$UID + 767 + + documentURL + + CF$UID + 869 + + timestamp + + CF$UID + 0 + + + + $class + + CF$UID + 27 + + NS.string + file://localhost/Users/benjgodard/Desktop/NYXImagesUtilities/NYXImagesUtilities/Info.plist + + + $class + + CF$UID + 86 + + NS.keys + + + CF$UID + 52 + + + CF$UID + 53 + + + CF$UID + 54 + + + NS.objects + + + CF$UID + 62 + + + CF$UID + 871 + + + CF$UID + 872 + + + + {{0, 0}, {568, 837}} + + $class + + CF$UID + 60 + + NS.objects + + + + $class + + CF$UID + 28 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 874 + + + file://localhost/Users/benjgodard/Desktop/NYXImagesUtilities/NYXImagesUtilities/Info.plist + + $class + + CF$UID + 38 + + NS.objects + + + CF$UID + 876 + + + + {{0, 0}, {568, 876}} + + $class + + CF$UID + 86 + + NS.keys + + + CF$UID + 556 + + + CF$UID + 557 + + + CF$UID + 558 + + + NS.objects + + + CF$UID + 878 + + + CF$UID + 431 + + + CF$UID + 895 + + + + + $class + + CF$UID + 57 + + NS.objects + + + CF$UID + 879 + + + + + $class + + CF$UID + 35 + + NS.keys + + + CF$UID + 847 + + + CF$UID + 848 + + + CF$UID + 849 + + + CF$UID + 850 + + + CF$UID + 851 + + + CF$UID + 852 + + + CF$UID + 853 + + + NS.objects + + + CF$UID + 880 + + + CF$UID + 881 + + + CF$UID + 890 + + + CF$UID + 884 + + + CF$UID + 884 + + + CF$UID + 21 + + + CF$UID + 893 + + + + public.precompiled-c-header + + $class + + CF$UID + 768 + + DocumentLocation + + CF$UID + 888 + + DomainIdentifier + + CF$UID + 758 + + IdentifierPath + + CF$UID + 882 + + IndexOfDocumentIdentifier + + CF$UID + 431 + + + + $class + + CF$UID + 57 + + NS.objects + + + CF$UID + 883 + + + CF$UID + 885 + + + CF$UID + 886 + + + CF$UID + 887 + + + + + $class + + CF$UID + 762 + + Identifier + + CF$UID + 884 + + + Prefix.pch + + $class + + CF$UID + 762 + + Identifier + + CF$UID + 860 + + + + $class + + CF$UID + 762 + + Identifier + + CF$UID + 98 + + + + $class + + CF$UID + 762 + + Identifier + + CF$UID + 98 + + + + $class + + CF$UID + 767 + + documentURL + + CF$UID + 889 + + timestamp + + CF$UID + 0 + + + + $class + + CF$UID + 27 + + NS.string + file://localhost/Users/benjgodard/Desktop/NYXImagesUtilities/NYXImagesUtilities/Prefix.pch + + + $class + + CF$UID + 86 + + NS.keys + + + CF$UID + 211 + + + CF$UID + 212 + + + CF$UID + 213 + + + CF$UID + 214 + + + NS.objects + + + CF$UID + 891 + + + CF$UID + 892 + + + CF$UID + 16 + + + CF$UID + 110 + + + + 326028087.49386299 + {0, 336} + + $class + + CF$UID + 28 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 894 + + + file://localhost/Users/benjgodard/Desktop/NYXImagesUtilities/NYXImagesUtilities/Prefix.pch + + $class + + CF$UID + 57 + + NS.objects + + + CF$UID + 896 + + + + {{0, 0}, {1140, 876}} + + $class + + CF$UID + 57 + + NS.objects + + + CF$UID + 652 + + + CF$UID + 654 + + + + + $class + + CF$UID + 35 + + NS.keys + + + CF$UID + 661 + + + CF$UID + 660 + + + CF$UID + 666 + + + CF$UID + 662 + + + CF$UID + 663 + + + CF$UID + 664 + + + CF$UID + 665 + + + CF$UID + 659 + + + NS.objects + + + CF$UID + 899 + + + CF$UID + 588 + + + CF$UID + 900 + + + CF$UID + 955 + + + CF$UID + 961 + + + CF$UID + 980 + + + CF$UID + 16 + + + CF$UID + 431 + + + + NYXRootViewController.m + + $class + + CF$UID + 35 + + NS.keys + + + CF$UID + 746 + + + CF$UID + 747 + + + CF$UID + 748 + + + CF$UID + 749 + + + CF$UID + 750 + + + CF$UID + 751 + + + CF$UID + 752 + + + CF$UID + 753 + + + CF$UID + 754 + + + NS.objects + + + CF$UID + 901 + + + CF$UID + 913 + + + CF$UID + 928 + + + CF$UID + 588 + + + CF$UID + 431 + + + CF$UID + 948 + + + CF$UID + 954 + + + CF$UID + 839 + + + CF$UID + 16 + + + + + $class + + CF$UID + 603 + + geniusEditorContextNode + + CF$UID + 0 + + primaryEditorContextNode + + CF$UID + 902 + + rootLayoutTreeNode + + CF$UID + 911 + + + + $class + + CF$UID + 602 + + children + + CF$UID + 0 + + contentType + 1 + documentArchivableRepresentation + + CF$UID + 903 + + orientation + 0 + parent + + CF$UID + 911 + + + + $class + + CF$UID + 768 + + DocumentLocation + + CF$UID + 910 + + DomainIdentifier + + CF$UID + 758 + + IdentifierPath + + CF$UID + 904 + + IndexOfDocumentIdentifier + + CF$UID + 431 + + + + $class + + CF$UID + 57 + + NS.objects + + + CF$UID + 905 + + + CF$UID + 907 + + + CF$UID + 908 + + + + + $class + + CF$UID + 762 + + Identifier + + CF$UID + 906 + + + NYXRootViewController.m + + $class + + CF$UID + 762 + + Identifier + + CF$UID + 701 + + + + $class + + CF$UID + 762 + + Identifier + + CF$UID + 909 + + + NYXImagesUtilities + + $class + + CF$UID + 767 + + documentURL + + CF$UID + 197 + + timestamp + + CF$UID + 0 + + + + $class + + CF$UID + 602 + + children + + CF$UID + 912 + + contentType + 0 + documentArchivableRepresentation + + CF$UID + 0 + + orientation + 0 + parent + + CF$UID + 0 + + + + $class + + CF$UID + 57 + + NS.objects + + + CF$UID + 902 + + + + + $class + + CF$UID + 35 + + NS.keys + + + CF$UID + 772 + + + CF$UID + 773 + + + CF$UID + 774 + + + CF$UID + 775 + + + CF$UID + 776 + + + CF$UID + 777 + + + NS.objects + + + CF$UID + 498 + + + CF$UID + 914 + + + CF$UID + 915 + + + CF$UID + 498 + + + CF$UID + 916 + + + CF$UID + 922 + + + + + $class + + CF$UID + 35 + + NS.keys + + + CF$UID + 779 + + + NS.objects + + + CF$UID + 431 + + + + + $class + + CF$UID + 35 + + NS.keys + + + CF$UID + 781 + + + NS.objects + + + CF$UID + 37 + + + + + $class + + CF$UID + 35 + + NS.keys + + + CF$UID + 669 + + + NS.objects + + + CF$UID + 917 + + + + + $class + + CF$UID + 38 + + NS.objects + + + CF$UID + 918 + + + CF$UID + 920 + + + + + $class + + CF$UID + 86 + + NS.keys + + + CF$UID + 672 + + + CF$UID + 673 + + + NS.objects + + + CF$UID + 785 + + + CF$UID + 919 + + + + 298 + + $class + + CF$UID + 86 + + NS.keys + + + CF$UID + 672 + + + CF$UID + 673 + + + NS.objects + + + CF$UID + 788 + + + CF$UID + 921 + + + + 1361 + + $class + + CF$UID + 35 + + NS.keys + + + CF$UID + 669 + + + NS.objects + + + CF$UID + 923 + + + + + $class + + CF$UID + 38 + + NS.objects + + + CF$UID + 924 + + + CF$UID + 926 + + + + + $class + + CF$UID + 86 + + NS.keys + + + CF$UID + 672 + + + CF$UID + 673 + + + NS.objects + + + CF$UID + 785 + + + CF$UID + 925 + + + + 298 + + $class + + CF$UID + 86 + + NS.keys + + + CF$UID + 672 + + + CF$UID + 673 + + + NS.objects + + + CF$UID + 788 + + + CF$UID + 927 + + + + 1361 + + $class + + CF$UID + 35 + + NS.keys + + + CF$UID + 797 + + + NS.objects + + + CF$UID + 929 + + + + + $class + + CF$UID + 35 + + NS.keys + + + CF$UID + 799 + + + NS.objects + + + CF$UID + 930 + + + + + $class + + CF$UID + 86 + + NS.keys + + + CF$UID + 801 + + + CF$UID + 802 + + + CF$UID + 803 + + + NS.objects + + + CF$UID + 931 + + + CF$UID + 431 + + + CF$UID + 946 + + + + + $class + + CF$UID + 57 + + NS.objects + + + CF$UID + 932 + + + + + $class + + CF$UID + 35 + + NS.keys + + + CF$UID + 806 + + + CF$UID + 807 + + + CF$UID + 808 + + + CF$UID + 809 + + + CF$UID + 810 + + + CF$UID + 811 + + + CF$UID + 812 + + + NS.objects + + + CF$UID + 813 + + + CF$UID + 933 + + + CF$UID + 939 + + + CF$UID + 943 + + + CF$UID + 906 + + + CF$UID + 825 + + + CF$UID + 944 + + + + + $class + + CF$UID + 768 + + DocumentLocation + + CF$UID + 910 + + DomainIdentifier + + CF$UID + 758 + + IdentifierPath + + CF$UID + 934 + + IndexOfDocumentIdentifier + + CF$UID + 431 + + + + $class + + CF$UID + 57 + + NS.objects + + + CF$UID + 935 + + + CF$UID + 936 + + + CF$UID + 937 + + + + + $class + + CF$UID + 762 + + Identifier + + CF$UID + 906 + + + + $class + + CF$UID + 762 + + Identifier + + CF$UID + 701 + + + + $class + + CF$UID + 762 + + Identifier + + CF$UID + 938 + + + NYXImagesUtilities + + $class + + CF$UID + 86 + + NS.keys + + + CF$UID + 248 + + + CF$UID + 249 + + + CF$UID + 250 + + + CF$UID + 251 + + + NS.objects + + + CF$UID + 940 + + + CF$UID + 941 + + + CF$UID + 16 + + + CF$UID + 942 + + + + 326299926.03918803 + {962, 2550} + {2418, 0} + -shouldAutorotateToInterfaceOrientation: + + $class + + CF$UID + 28 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 945 + + + file://localhost/Users/benjgodard/Dropbox/Projects/NYXImagesUtilities/Classes/NYXRootViewController.m + + $class + + CF$UID + 57 + + NS.objects + + + CF$UID + 947 + + + + {{0, 0}, {1660, 1076}} + + $class + + CF$UID + 35 + + NS.keys + + + CF$UID + 669 + + + NS.objects + + + CF$UID + 949 + + + + + $class + + CF$UID + 38 + + NS.objects + + + CF$UID + 950 + + + CF$UID + 952 + + + + + $class + + CF$UID + 86 + + NS.keys + + + CF$UID + 672 + + + CF$UID + 673 + + + NS.objects + + + CF$UID + 833 + + + CF$UID + 951 + + + + 833 + + $class + + CF$UID + 86 + + NS.keys + + + CF$UID + 672 + + + CF$UID + 673 + + + NS.objects + + + CF$UID + 836 + + + CF$UID + 953 + + + + 243 + + $class + + CF$UID + 35 + + NS.keys + + NS.objects + + + + $class + + CF$UID + 35 + + NS.keys + + + CF$UID + 669 + + + NS.objects + + + CF$UID + 956 + + + + + $class + + CF$UID + 38 + + NS.objects + + + CF$UID + 957 + + + CF$UID + 959 + + + + + $class + + CF$UID + 86 + + NS.keys + + + CF$UID + 672 + + + CF$UID + 673 + + + NS.objects + + + CF$UID + 674 + + + CF$UID + 958 + + + + 816 + + $class + + CF$UID + 86 + + NS.keys + + + CF$UID + 672 + + + CF$UID + 673 + + + NS.objects + + + CF$UID + 674 + + + CF$UID + 960 + + + + 260 + + $class + + CF$UID + 35 + + NS.keys + + + CF$UID + 679 + + + CF$UID + 680 + + + CF$UID + 681 + + + CF$UID + 613 + + + NS.objects + + + CF$UID + 962 + + + CF$UID + 706 + + + CF$UID + 679 + + + CF$UID + 973 + + + + + $class + + CF$UID + 35 + + NS.keys + + + CF$UID + 684 + + + CF$UID + 685 + + + CF$UID + 686 + + + CF$UID + 687 + + + CF$UID + 688 + + + CF$UID + 689 + + + CF$UID + 690 + + + NS.objects + + + CF$UID + 963 + + + CF$UID + 16 + + + CF$UID + 623 + + + CF$UID + 16 + + + CF$UID + 16 + + + CF$UID + 964 + + + CF$UID + 967 + + + + {{0, 0}, {259, 1032}} + + $class + + CF$UID + 57 + + NS.objects + + + CF$UID + 965 + + + + + $class + + CF$UID + 38 + + NS.objects + + + CF$UID + 966 + + + CF$UID + 701 + + + CF$UID + 906 + + + + NYXImagesUtilities + + $class + + CF$UID + 624 + + NS.objects + + + CF$UID + 968 + + + CF$UID + 969 + + + CF$UID + 970 + + + CF$UID + 971 + + + CF$UID + 972 + + + + + $class + + CF$UID + 38 + + NS.objects + + + CF$UID + 966 + + + + + $class + + CF$UID + 38 + + NS.objects + + + CF$UID + 966 + + + CF$UID + 695 + + + + + $class + + CF$UID + 38 + + NS.objects + + + CF$UID + 966 + + + CF$UID + 701 + + + + + $class + + CF$UID + 38 + + NS.objects + + + CF$UID + 966 + + + CF$UID + 705 + + + + + $class + + CF$UID + 38 + + NS.objects + + + CF$UID + 966 + + + CF$UID + 701 + + + CF$UID + 702 + + + + + $class + + CF$UID + 35 + + NS.keys + + + CF$UID + 626 + + + CF$UID + 615 + + + CF$UID + 627 + + + CF$UID + 628 + + + CF$UID + 629 + + + CF$UID + 630 + + + CF$UID + 631 + + + CF$UID + 632 + + + CF$UID + 633 + + + CF$UID + 634 + + + NS.objects + + + CF$UID + 16 + + + CF$UID + 974 + + + CF$UID + 975 + + + CF$UID + 976 + + + CF$UID + 977 + + + CF$UID + 16 + + + CF$UID + 16 + + + CF$UID + 978 + + + CF$UID + 16 + + + CF$UID + 979 + + + + {{0, 0}, {259, 1010}} + + $class + + CF$UID + 60 + + NS.objects + + + + $class + + CF$UID + 60 + + NS.objects + + + + $class + + CF$UID + 38 + + NS.objects + + + + $class + + CF$UID + 60 + + NS.objects + + + + $class + + CF$UID + 60 + + NS.objects + + + + $class + + CF$UID + 35 + + NS.keys + + + CF$UID + 669 + + + NS.objects + + + CF$UID + 981 + + + + + $class + + CF$UID + 38 + + NS.objects + + + CF$UID + 982 + + + CF$UID + 984 + + + CF$UID + 986 + + + + + $class + + CF$UID + 86 + + NS.keys + + + CF$UID + 672 + + + CF$UID + 673 + + + NS.objects + + + CF$UID + 663 + + + CF$UID + 983 + + + + 260 + + $class + + CF$UID + 86 + + NS.keys + + + CF$UID + 672 + + + CF$UID + 673 + + + NS.objects + + + CF$UID + 666 + + + CF$UID + 985 + + + + 1660 + + $class + + CF$UID + 86 + + NS.keys + + + CF$UID + 672 + + + CF$UID + 673 + + + NS.objects + + + CF$UID + 743 + + + CF$UID + 987 + + + + 260 + + $top + + State + + CF$UID + 1 + + + $version + 100000 + + diff --git a/NYXImagesUtilities.xcodeproj/project.xcworkspace/xcuserdata/benjgodard.xcuserdatad/WorkspaceSettings.xcsettings b/NYXImagesUtilities.xcodeproj/project.xcworkspace/xcuserdata/benjgodard.xcuserdatad/WorkspaceSettings.xcsettings new file mode 100644 index 0000000..06c7d50 --- /dev/null +++ b/NYXImagesUtilities.xcodeproj/project.xcworkspace/xcuserdata/benjgodard.xcuserdatad/WorkspaceSettings.xcsettings @@ -0,0 +1,10 @@ + + + + + IDEWorkspaceUserSettings_HasAskedToTakeAutomaticSnapshotBeforeSignificantChanges + + IDEWorkspaceUserSettings_SnapshotAutomaticallyBeforeSignificantChanges + + + diff --git a/NYXImagesUtilities.xcodeproj/xcuserdata/Nyxouf.xcuserdatad/xcschemes/NYXImagesUtilities.xcscheme b/NYXImagesUtilities.xcodeproj/xcuserdata/Nyxouf.xcuserdatad/xcschemes/NYXImagesUtilities.xcscheme new file mode 100644 index 0000000..8f636ab --- /dev/null +++ b/NYXImagesUtilities.xcodeproj/xcuserdata/Nyxouf.xcuserdatad/xcschemes/NYXImagesUtilities.xcscheme @@ -0,0 +1,76 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/NYXImagesUtilities.xcodeproj/xcuserdata/Nyxouf.xcuserdatad/xcschemes/xcschememanagement.plist b/NYXImagesUtilities.xcodeproj/xcuserdata/Nyxouf.xcuserdatad/xcschemes/xcschememanagement.plist new file mode 100644 index 0000000..d83ea6e --- /dev/null +++ b/NYXImagesUtilities.xcodeproj/xcuserdata/Nyxouf.xcuserdatad/xcschemes/xcschememanagement.plist @@ -0,0 +1,22 @@ + + + + + SchemeUserState + + NYXImagesUtilities.xcscheme + + orderHint + 0 + + + SuppressBuildableAutocreation + + FC2F317A136ECA8500486142 + + primary + + + + + diff --git a/NYXImagesUtilities.xcodeproj/xcuserdata/benjgodard.xcuserdatad/xcschemes/NYXImagesUtilities.xcscheme b/NYXImagesUtilities.xcodeproj/xcuserdata/benjgodard.xcuserdatad/xcschemes/NYXImagesUtilities.xcscheme new file mode 100644 index 0000000..8f636ab --- /dev/null +++ b/NYXImagesUtilities.xcodeproj/xcuserdata/benjgodard.xcuserdatad/xcschemes/NYXImagesUtilities.xcscheme @@ -0,0 +1,76 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/NYXImagesUtilities.xcodeproj/xcuserdata/benjgodard.xcuserdatad/xcschemes/xcschememanagement.plist b/NYXImagesUtilities.xcodeproj/xcuserdata/benjgodard.xcuserdatad/xcschemes/xcschememanagement.plist new file mode 100644 index 0000000..d83ea6e --- /dev/null +++ b/NYXImagesUtilities.xcodeproj/xcuserdata/benjgodard.xcuserdatad/xcschemes/xcschememanagement.plist @@ -0,0 +1,22 @@ + + + + + SchemeUserState + + NYXImagesUtilities.xcscheme + + orderHint + 0 + + + SuppressBuildableAutocreation + + FC2F317A136ECA8500486142 + + primary + + + + + diff --git a/Other Sources/NYXImagesUtilities.h b/Other Sources/NYXImagesUtilities.h new file mode 100644 index 0000000..e0f0e66 --- /dev/null +++ b/Other Sources/NYXImagesUtilities.h @@ -0,0 +1,51 @@ +// +// NYXImagesUtilities.h +// NYXImagesUtilities +// +// Created by Nyx0uf on 5/2/11. +// Copyright 2011 Benjamin Godard. All rights reserved. +// + + +/* If defined, categories methods will return object with a +1 retain count, so you have to release them manually */ +//#define kNYXReturnRetainedObjects + +/* Source : http://clang-analyzer.llvm.org/annotations + Better place it in your Prefix.pch file + */ +#ifndef __has_feature // Optional. + #define __has_feature(x) 0 // Compatibility with non-clang compilers. +#endif + +#ifndef NS_RETURNS_RETAINED + #if __has_feature(attribute_ns_returns_retained) + #define NS_RETURNS_RETAINED __attribute__((ns_returns_retained)) + #else + #define NS_RETURNS_RETAINED + #endif +#endif + +/* Represents an ARGB pixel */ +typedef struct +{ + /// Alpha component + UInt8 _a; + /// Red component + UInt8 _r; + /// Green component + UInt8 _g; + /// Blue component + UInt8 _b; +} ARGBPixel; + +static inline CGFloat degrees_to_radians(const CGFloat degrees) +{ + return degrees * 0.017453293; // (M_PI / 180.0f) +} + +static inline CGFloat radians_to_degrees(const CGFloat radians) +{ + return radians * 57.295779513; // (180.0f / M_PI) +} + +CGContextRef NYXImageCreateARGBBitmapContext(const size_t width, const size_t height, const size_t bytesPerRow); diff --git a/Other Sources/NYXImagesUtilities.m b/Other Sources/NYXImagesUtilities.m new file mode 100644 index 0000000..0e3edf6 --- /dev/null +++ b/Other Sources/NYXImagesUtilities.m @@ -0,0 +1,25 @@ +// +// NYXImagesUtilities.m +// NYXImagesUtilities +// +// Created by Nyx0uf on 5/2/11. +// Copyright 2011 Benjamin Godard. All rights reserved. +// + + +#include "NYXImagesUtilities.h" + + +CGContextRef NYXImageCreateARGBBitmapContext(const size_t width, const size_t height, const size_t bytesPerRow) +{ + /// Use the generic RGB color space + /// We avoid the NULL check because CGColorSpaceRelease() NULL check the value anyway, and worst case scenario = fail to create context + CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB(); + + /// Create the bitmap context, we want pre-multiplied ARGB, 8-bits per component + CGContextRef bmContext = CGBitmapContextCreate(NULL, width, height, 8/*Bits per component*/, bytesPerRow, colorSpace, kCGBitmapByteOrderDefault | kCGImageAlphaPremultipliedFirst); + + CGColorSpaceRelease(colorSpace); + + return bmContext; +} diff --git a/Other Sources/Prefix.pch b/Other Sources/Prefix.pch new file mode 100644 index 0000000..ae4cb0c --- /dev/null +++ b/Other Sources/Prefix.pch @@ -0,0 +1,18 @@ +// +// Prefix header for all source files of the 'NYXImagesUtilities' target in the 'NYXImagesUtilities' project +// + +#import + +#ifndef __IPHONE_4_0 +#warning "This project uses features only available in iPhone SDK 4.0 and later." +#endif + +#ifdef __OBJC__ + #import + #import + #import +#endif + +/* Release an object and set it to nil */ +#define SAFE_RELEASE(__POINTER) {[__POINTER release]; __POINTER = nil;} diff --git a/Other Sources/main.m b/Other Sources/main.m new file mode 100644 index 0000000..d818ca4 --- /dev/null +++ b/Other Sources/main.m @@ -0,0 +1,15 @@ +// +// main.m +// NYXImagesUtilities +// +// Created by Nyx0uf on 5/2/11. +// Copyright 2011 Benjamin Godard. All rights reserved. +// + +int main(int argc, char* argv[]) +{ + NSAutoreleasePool* pool = [[NSAutoreleasePool alloc] init]; + int retVal = UIApplicationMain(argc, argv, nil, @"AppDelegate"); + [pool release]; + return retVal; +} diff --git a/README.md b/README.md new file mode 100644 index 0000000..445c0ad --- /dev/null +++ b/README.md @@ -0,0 +1,103 @@ +# NYXImagesUtilities # + +This is a project for iOS which regroups a collection of useful UIImage categories to handle operations such as filtering, masking, rotating, resizing. +***NYXImagesUtilities*** requires at least iOS 4.0, I don't intend to support older versions. + + +## Installation ## + +- Link with **QuartzCore** framework. +- Add #import <QuartzCore/QuartzCore.h> in your Prefix.pch file. +- Add **NYXImagesUtilities.h** & **NYXImagesUtilities.m** and the categories you want to your project. + +By default the methods return auto-released objects, if you want them to return retained objects in order to manage memory yourself, just uncomment the kNYXReturnRetainedObjects constant in **NYXImagesUtilities.h**. + + +## UIImage+Filtering ## + +This category allows you to apply filters on a UIImage object, currently there are 3 filters : Sepia, Grayscale and changing opacity. + +Sepia image +Using these filters is very easy : + + UIImage* sepia = [myImage sepia]; + UIImage* gray = [myImage grayscale]; + UIImage* transparent = [myImage opacity:0.5f]; + +
+ + + +
+ + +## UIImage+Masking ## + +This category is composed of a single method which allow to mask an image, you just have to create the mask you desire. + + UIImage* masked = [myImage maskWithImage:[UIImage imageNamed:@"mask.png"]]; + + + +## UIImage+Resizing ## + +This category can be used to crop or to scale images. + + +### Cropping ### + +You can crop your image by 9 different ways : + +1. Top left +2. Top center +3. Top right +4. Bottom left +5. Bottom center +6. Bottom right +7. Left center +8. Right center +9. Center + +To crop an image object just call -(UIImage*)cropToSize:(CGSize)newSize usingMode:(NYXCropMode)cropMode; like this : + + UIImage* cropped = [myImage cropToSize:(CGSize){width, height} usingMode:NYXCropModeCenter]; + + +NYXCropMode is an enum type which can be found in the header file, it is used to represent the 9 modes above. + +There is also a convenience method which crop from the top left corner by default : -(UIImage*)cropToSize:(CGSize)newSize; + + +### Scaling ### + +You have the choice between two methods to scale images, the two methods will keep the aspect ratio of the original image. + + UIImage* scaled1 = [myImage scaleByFactor:0.5f]; + UIImage* scaled2 = [myImage scaleToFitSize:(CGSize){width, height}]; + + + +## UIImage+Rotating ## + +With this category you can rotate or flip an UIImage object, flipping is useful if you want to create a reflect effect. + + UIImage* rotated1 = [myImage rotateInDegrees:217.0f]; + UIImage* rotated2 = [myImage rotateInRadians:M_PI_2]; + + + UIImage* flipped1 = [myImage verticalFlip]; + UIImage* flipped2 = [myImage forizontalFlip]; + + + +## License ## + +***NYXImageUtilities*** is released under the Simplified BSD license, see LICENSE.txt. + +I hope you will find this useful, if you would like to see more features you can send me an email. + +Benjamin Godard. + +Blog : + +Twitter : @Nyx0uf diff --git a/Resources/Info.plist b/Resources/Info.plist new file mode 100644 index 0000000..8de3765 --- /dev/null +++ b/Resources/Info.plist @@ -0,0 +1,38 @@ + + + + + CFBundleDevelopmentRegion + en + CFBundleDisplayName + ${PRODUCT_NAME} + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIconFile + + CFBundleIdentifier + com.cocoabyss.${PRODUCT_NAME:rfc1034identifier} + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + ${PRODUCT_NAME} + CFBundlePackageType + APPL + CFBundleShortVersionString + 1.0 + CFBundleSignature + ???? + CFBundleVersion + 1.0 + LSApplicationCategoryType + + LSRequiresIPhoneOS + + UIStatusBarHidden + + UISupportedInterfaceOrientations + + UIInterfaceOrientationPortrait + + + diff --git a/Resources/mask.png b/Resources/mask.png new file mode 100644 index 0000000..9fdcdd9 Binary files /dev/null and b/Resources/mask.png differ diff --git a/Resources/sample.jpg b/Resources/sample.jpg new file mode 100644 index 0000000..583f603 Binary files /dev/null and b/Resources/sample.jpg differ diff --git a/Resources/sample.png b/Resources/sample.png new file mode 100644 index 0000000..54cb604 Binary files /dev/null and b/Resources/sample.png differ