//
//  ANImageHelpers-Effects.h
//  AvisNocturnaCrossCore
//
//  Created by Mendel Kucharzeck on 27.12.11.
//  Copyright 2011 AvisNocturna Software. All rights reserved.
//

#import "ANImageHelper.h"

@interface ANImageHelper (Effects)

+ (CGImageRef) applyCIKernelWithFileName:(NSString*)fileName withSize:(CGSize)size withParams:(NSArray*)params;

+ (CGImageRef) colorizeMask:(CGImageRef)mask withPlattformColor:(id)color;

+ (CGImageRef) blurImage:(CGImageRef)imageRef withRadius:(float)radius;
+ (CGImageRef) motionBlurImage:(CGImageRef)imageRef withSize:(float)size andDirection:(float)angleDirection;

+ (CGImageRef) zoomBlurImage:(CGImageRef)imageRef withAmount:(float)amount andCenterX:(float)centerX andCenterY:(float)centerY;
+ (CGRect) extentRectForZoomBlurForRect:(CGRect)rect withAmount:(float)amount andCenterX:(float)centerX andCenterY:(float)centerY;

+ (CGImageRef) hueAdjustImage:(CGImageRef)imageRef withAngle:(float)angle;  //-3.141...3.141
+ (CGImageRef) colorControlImage:(CGImageRef)imageRef withBrightness:(float)brightness contrast:(float)contrast andSaturation:(float)saturation;
+ (CGImageRef) invertImage:(CGImageRef)imageRef;


+ (CGImageRef) dotScreenImage:(CGImageRef)imageRef withWidth:(float)width andSharpness:(float)sharpness;
+ (CGImageRef) halftoneImage:(CGImageRef)imageRef withWidth:(float)width andSharpness:(float)sharpness;

+ (CGImageRef) posterizeImage:(CGImageRef)imageRef withLevels:(float)levels;

+ (CGImageRef) hexagonalPixellateImage:(CGImageRef)imageRef withScale:(float)scale;
+ (CGImageRef) pixellateImage:(CGImageRef)imageRef withScale:(float)scale;
+ (CGImageRef) crystalizeImage:(CGImageRef)imageRef withRadius:(float)radius;

+ (CGImageRef) pageCurlImage:(CGImageRef)imageRef withExtend:(CIVector*)extend andTime:(float)time andRadius:(float)radius andAngle:(float)angle andShadingImage:(CGImageRef)shadingRef;

@end
