/*
|
* This file is part of the SDWebImage package.
|
* (c) Olivier Poitrey <rs@dailymotion.com>
|
* (c) Jamie Pinkham
|
*
|
* For the full copyright and license information, please view the LICENSE
|
* file that was distributed with this source code.
|
*/
|
|
#import <TargetConditionals.h>
|
|
#ifdef __OBJC_GC__
|
#error SDWebImage does not support Objective-C Garbage Collection
|
#endif
|
|
#if __IPHONE_OS_VERSION_MIN_REQUIRED != 20000 && __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_5_0
|
#error SDWebImage doesn't support Deployment Target version < 5.0
|
#endif
|
|
#if !TARGET_OS_IPHONE
|
#import <AppKit/AppKit.h>
|
#ifndef UIImage
|
#define UIImage NSImage
|
#endif
|
#ifndef UIImageView
|
#define UIImageView NSImageView
|
#endif
|
#else
|
|
#import <UIKit/UIKit.h>
|
|
#endif
|
|
#ifndef NS_ENUM
|
#define NS_ENUM(_type, _name) enum _name : _type _name; enum _name : _type
|
#endif
|
|
#ifndef NS_OPTIONS
|
#define NS_OPTIONS(_type, _name) enum _name : _type _name; enum _name : _type
|
#endif
|
|
#if OS_OBJECT_USE_OBJC
|
#undef SDDispatchQueueRelease
|
#undef SDDispatchQueueSetterSementics
|
#define SDDispatchQueueRelease(q)
|
#define SDDispatchQueueSetterSementics strong
|
#else
|
#undef SDDispatchQueueRelease
|
#undef SDDispatchQueueSetterSementics
|
#define SDDispatchQueueRelease(q) (dispatch_release(q))
|
#define SDDispatchQueueSetterSementics assign
|
#endif
|
|
extern UIImage *SDScaledImageForKey(NSString *key, UIImage *image);
|
|
typedef void(^SDWebImageNoParamsBlock)();
|
|
extern NSString *const SDWebImageErrorDomain;
|
|
#define dispatch_main_sync_safe(block)\
|
if ([NSThread isMainThread]) {\
|
block();\
|
} else {\
|
dispatch_sync(dispatch_get_main_queue(), block);\
|
}
|
|
#define dispatch_main_async_safe(block)\
|
if ([NSThread isMainThread]) {\
|
block();\
|
} else {\
|
dispatch_async(dispatch_get_main_queue(), block);\
|
}
|