69 lines
1.6 KiB
Objective-C
69 lines
1.6 KiB
Objective-C
/*
|
|
* 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 < __IPHONE_5_0
|
|
#error SDWebImage doesn't support Deployement 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);
|
|
|
|
#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);\
|
|
}
|