NYXImagesHelper.h 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. //
  2. // NYXImagesHelper.h
  3. // NYXImagesKit
  4. //
  5. // Created by Matthias Tretter on 02/06/11.
  6. // Originally Created by @Nyx0uf on 02/05/11.
  7. // Copyright 2012 Nyx0uf. All rights reserved.
  8. // www.cocoaintheshell.com
  9. //
  10. #import <UIKit/UIKit.h>
  11. /* Number of components for an opaque grey colorSpace = 3 */
  12. #define kNyxNumberOfComponentsPerGreyPixel 3
  13. /* Number of components for an ARGB pixel (Alpha / Red / Green / Blue) = 4 */
  14. #define kNyxNumberOfComponentsPerARBGPixel 4
  15. /* Minimun value for a pixel component */
  16. #define kNyxMinPixelComponentValue (UInt8)0
  17. /* Maximum value for a pixel component */
  18. #define kNyxMaxPixelComponentValue (UInt8)255
  19. /* Convert degrees value to radians */
  20. #define NYX_DEGREES_TO_RADIANS(__DEGREES) (__DEGREES * 0.017453293) // (M_PI / 180.0f)
  21. /* Convert radians value to degrees */
  22. #define NYX_RADIANS_TO_DEGREES(__RADIANS) (__RADIANS * 57.295779513) // (180.0f / M_PI)
  23. /* Returns the lower value */
  24. #define NYX_MIN(__A, __B) ((__A) < (__B) ? (__A) : (__B))
  25. /* Returns the higher value */
  26. #define NYX_MAX(__A ,__B) ((__A) > (__B) ? (__A) : (__B))
  27. /* Returns a correct value for a pixel component (0 - 255) */
  28. #define NYX_SAFE_PIXEL_COMPONENT_VALUE(__COLOR) (NYX_MIN(kNyxMaxPixelComponentValue, NYX_MAX(kNyxMinPixelComponentValue, __COLOR)))
  29. /* iOS version runtime check */
  30. #define NYX_IOS_VERSION_LESS_THAN(__VERSIONSTRING) ([[[UIDevice currentDevice] systemVersion] compare:__VERSIONSTRING options:NSNumericSearch] == NSOrderedAscending)
  31. /* dispatch_release() not needed in iOS 6+ original idea from FMDB https://github.com/ccgus/fmdb/commit/aef763eeb64e6fa654e7d121f1df4c16a98d9f4f */
  32. #if __IPHONE_OS_VERSION_MIN_REQUIRED >= 60000
  33. #define NYX_DISPATCH_RELEASE(__QUEUE)
  34. #else
  35. #define NYX_DISPATCH_RELEASE(__QUEUE) (dispatch_release(__QUEUE))
  36. #endif
  37. CGContextRef NYXCreateARGBBitmapContext(const size_t width, const size_t height, const size_t bytesPerRow);
  38. CGImageRef NYXCreateGradientImage(const size_t pixelsWide, const size_t pixelsHigh, const CGFloat fromAlpha, const CGFloat toAlpha);
  39. CIContext* NYXGetCIContext(void);
  40. CGColorSpaceRef NYXGetRGBColorSpace(void);
  41. void NYXImagesKitRelease(void);