SDWebImage/SDWebImage
DreamPiggy a0879fc049 Feature: refactor decoding code and provide decoding plugin
- open the decoding/encoding procedures to the users
- switch from hardcoded decoding/encoding to pluginable decoders/encoders (builtin + user created)
- `SDWebImageCodersManager` is a singleton holding an array of `SDImageCoder` (protocol). Even though a singleton is not necesarily a good pattern, in this case it eliminates dealing with passing this array around
- uses a priority queue behind scenes, which means the latest added coders have priority.
- the priority is crucial when encoding/decoding something, we go through the list and ask each coder if they can handle the current data (see `canDecodeFromData:`, `canEncodeToFormat:`, `canIncrementallyDecodeFromData:`)
- each coder must conform to this protocol `SDImageCoder` describing all the required behavior for a coder
- we provide 3 built-in coders: `SDWebImageImageIOCoder` (for JPEG, PNG, TIFF), `SDWebImageGIFCoder` (for GIF), `SDWebImageWebPCoder` (for WebP and animated WebP)
- the user of SDWebImage can create custom coders by conforming to `SDImageCoder` and adding the coders to `SDWebImageCodersManager`. See `addCoder:` or `removeCoder:` or `coders` getter to get the array
- in order to preserve backwards compatibility, the UIImage categories were preserved, calling the new coders APIs described above
2017-10-16 19:52:18 +03:00
..
FLAnimatedImage Fix SDWebImage v4 can not import libwebp framework's header files. 2017-10-06 12:27:24 +08:00
MKAnnotationView+WebCache.h Fix #1764 Swift naming collision 2017-02-10 21:02:32 +08:00
MKAnnotationView+WebCache.m Refactored all the duplicate code from our WebCache categories into a UIView+WebCache category. All the other categories will make calls to this one. Customization of setting the image is done via the setImageBlock and the operationKey 2016-09-25 19:44:52 +03:00
NSData+ImageContentType.h Feature: refactor decoding code and provide decoding plugin 2017-10-16 19:52:18 +03:00
NSData+ImageContentType.m Feature: refactor decoding code and provide decoding plugin 2017-10-16 19:52:18 +03:00
NSImage+WebCache.h Fixed build due to latest animated WebP support that was not properly adapted for OSX. For OSX, this will not work because the `animatedImageWithImages:duration:` API does not have an equivalent there. 2016-09-30 09:32:34 +03:00
NSImage+WebCache.m Fixed build due to latest animated WebP support that was not properly adapted for OSX. For OSX, this will not work because the `animatedImageWithImages:duration:` API does not have an equivalent there. 2016-09-30 09:32:34 +03:00
SDImageCache.h SDImageCacheConfig forward declaration changed to import 2017-02-15 22:54:49 +10:00
SDImageCache.m Feature: refactor decoding code and provide decoding plugin 2017-10-16 19:52:18 +03:00
SDImageCacheConfig.h Updated copyright info - replaces #1806 2017-02-19 14:27:48 +02:00
SDImageCacheConfig.m Updated copyright info - replaces #1806 2017-02-19 14:27:48 +02:00
SDWebImageCoder.h Feature: refactor decoding code and provide decoding plugin 2017-10-16 19:52:18 +03:00
SDWebImageCoder.m Feature: refactor decoding code and provide decoding plugin 2017-10-16 19:52:18 +03:00
SDWebImageCodersManager.h Feature: refactor decoding code and provide decoding plugin 2017-10-16 19:52:18 +03:00
SDWebImageCodersManager.m Feature: refactor decoding code and provide decoding plugin 2017-10-16 19:52:18 +03:00
SDWebImageCompat.h CLANG_WARN_STRICT_PROTOTYPES: Yes please! 2017-08-14 15:05:46 +02:00
SDWebImageCompat.m Feature: refactor decoding code and provide decoding plugin 2017-10-16 19:52:18 +03:00
SDWebImageDownloader.h Feature: refactor decoding code and provide decoding plugin 2017-10-16 19:52:18 +03:00
SDWebImageDownloader.m Remove unused Image IO header 2017-09-30 12:03:57 +08:00
SDWebImageDownloaderOperation.h Use FOUNDATION_EXPORT over extern 2017-08-01 07:14:48 +08:00
SDWebImageDownloaderOperation.m Feature: refactor decoding code and provide decoding plugin 2017-10-16 19:52:18 +03:00
SDWebImageGIFCoder.h Feature: refactor decoding code and provide decoding plugin 2017-10-16 19:52:18 +03:00
SDWebImageGIFCoder.m Feature: refactor decoding code and provide decoding plugin 2017-10-16 19:52:18 +03:00
SDWebImageImageIOCoder.h Feature: refactor decoding code and provide decoding plugin 2017-10-16 19:52:18 +03:00
SDWebImageImageIOCoder.m Feature: refactor decoding code and provide decoding plugin 2017-10-16 19:52:18 +03:00
SDWebImageManager.h Marked the `SDWebImageManager` `initWithCache:downloader:` as designated initializer. 2016-10-07 12:54:20 +03:00
SDWebImageManager.m Feature: refactor decoding code and provide decoding plugin 2017-10-16 19:52:18 +03:00
SDWebImageOperation.h Fix source file headers 2012-11-05 18:21:19 +01:00
SDWebImagePrefetcher.h Small change 2017-07-28 21:16:22 +03:00
SDWebImagePrefetcher.m The shared objects (not really singletons) should allow subclassing, therefore the return type should be instancetype and not a fixed type. 2016-10-01 09:28:21 +03:00
SDWebImageWebPCoder.h Feature: refactor decoding code and provide decoding plugin 2017-10-16 19:52:18 +03:00
SDWebImageWebPCoder.m Feature: refactor decoding code and provide decoding plugin 2017-10-16 19:52:18 +03:00
UIButton+WebCache.h Fix issue #2001, add sd_currentBackgroundImageURL and sd_backgroundImageURLForState: for UIButton 2017-08-18 12:02:06 +08:00
UIButton+WebCache.m Set UIButton's placeholer-image even if the url is nil 2017-09-29 23:40:43 +08:00
UIImage+ForceDecode.h Feature: refactor decoding code and provide decoding plugin 2017-10-16 19:52:18 +03:00
UIImage+ForceDecode.m Feature: refactor decoding code and provide decoding plugin 2017-10-16 19:52:18 +03:00
UIImage+GIF.h OSX compatibility and target. (NSImage+WebCache) for UIImage compatibility 2016-06-12 23:23:53 +03:00
UIImage+GIF.m Feature: refactor decoding code and provide decoding plugin 2017-10-16 19:52:18 +03:00
UIImage+MultiFormat.h Feature: refactor decoding code and provide decoding plugin 2017-10-16 19:52:18 +03:00
UIImage+MultiFormat.m Feature: refactor decoding code and provide decoding plugin 2017-10-16 19:52:18 +03:00
UIImage+WebP.h Feature: refactor decoding code and provide decoding plugin 2017-10-16 19:52:18 +03:00
UIImage+WebP.m Feature: refactor decoding code and provide decoding plugin 2017-10-16 19:52:18 +03:00
UIImageView+HighlightedWebCache.h Fix #1764 Swift naming collision 2017-02-10 21:02:32 +08:00
UIImageView+HighlightedWebCache.m Refactored all the duplicate code from our WebCache categories into a UIView+WebCache category. All the other categories will make calls to this one. Customization of setting the image is done via the setImageBlock and the operationKey 2016-09-25 19:44:52 +03:00
UIImageView+WebCache.h Fix #1764 Swift naming collision 2017-02-10 21:02:32 +08:00
UIImageView+WebCache.m Fixed issue where animated image arrays could be populated out of order 2017-02-21 10:56:59 -08:00
UIView+WebCache.h #1089 properly stated on all API docs that the progressBlock is called on a background queue 2016-10-01 12:29:12 +03:00
UIView+WebCache.m Update for #1802 - made sure we don’t get into problems when checking for self.activityIndicator on one thread and allocating on another. Also, made sure `sd_removeActivityIndicator` executes on the main queue 2017-02-19 14:15:59 +02:00
UIView+WebCacheOperation.h OSX compatibility and target. (NSImage+WebCache) for UIImage compatibility 2016-06-12 23:23:53 +03:00
UIView+WebCacheOperation.m Made sure we don't crash here if the operation is nil at some point 2016-09-30 15:27:31 +03:00