From ba7286a087d8ca433a97a57750274c458c0bd484 Mon Sep 17 00:00:00 2001 From: Julius Oklamcak Date: Tue, 17 Apr 2012 16:00:34 -0400 Subject: [PATCH] Version 2.5.6 --- README | 12 +++++++++++- Reader-Info.plist | 4 ++-- Resources/Reader.pdf | Bin 99276 -> 100423 bytes Sources/ReaderConstants.h | 3 ++- Sources/ReaderContentPage.m | 16 +++++++++++++++- Sources/ReaderThumbFetch.m | 14 +++++++++++--- 6 files changed, 41 insertions(+), 8 deletions(-) diff --git a/README b/README index fb17f8fb..0e210309 100644 --- a/README +++ b/README @@ -51,7 +51,7 @@ NOTES Version 2.x of the PDF reader/viewer code was originally developed and tested under Xcode 3.2.6, LLVM 1.7, iOS 4.3.5, iOS 4.2.1 with -current development and testing under Xcode 4.3, Clang 3.1, iOS 5. +current development and testing under Xcode 4.3.2, LLVM 3.1, iOS 5. The code uses manual memory management and will continue to do so. The overall PDF reader/viewer functionality is encapsulated in the @@ -145,6 +145,11 @@ READER_STANDALONE - If FALSE, a "Done" button is added to the toolbar and the -dismissReaderViewController: delegate method is messaged when it is tapped. +READER_DISABLE_RETINA - If TRUE, sets the CATiledLayer contentScale +to 1.0f. This effectively disables retina support and results in +non-retina device rendering speeds on retina display devices at +the loss of retina display quality. + ReaderDocument Archiving ------------------------ @@ -224,6 +229,11 @@ HISTORY - Bug fix to PDF link handling with cropboxed PDF files. - Some performance improvements on iPad 3rd generation. +2012-04-16: Version 2.5.6 + + - Now loads and decodes thumbnail PNGs on a background thread. + - Added READER_DISABLE_RETINA #define performance option. + CONTACT INFO ============ diff --git a/Reader-Info.plist b/Reader-Info.plist index 6b1e3f9f..77d3569f 100644 --- a/Reader-Info.plist +++ b/Reader-Info.plist @@ -26,9 +26,9 @@ CFBundleSignature ???? CFBundleVersion - 2.5.5 + 2.5.6 CFBundleShortVersionString - 2.5.5 + 2.5.6 LSRequiresIPhoneOS UIPrerenderedIcon diff --git a/Resources/Reader.pdf b/Resources/Reader.pdf index f5b7628b04aceb570b6a5b7c77825f6dd2b45cbb..fd39acbb1ae17576fdb5c005609fa2b297b55219 100644 GIT binary patch delta 28427 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 delta 27300 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 diff --git a/Sources/ReaderConstants.h b/Sources/ReaderConstants.h index 518e7128..57a887b2 100644 --- a/Sources/ReaderConstants.h +++ b/Sources/ReaderConstants.h @@ -1,6 +1,6 @@ // // ReaderConstants.h -// Reader v2.5.4 +// Reader v2.5.6 // // Created by Julius Oklamcak on 2011-07-01. // Copyright © 2011-2012 Julius Oklamcak. All rights reserved. @@ -29,6 +29,7 @@ #define READER_ENABLE_MAIL TRUE #define READER_ENABLE_PRINT TRUE #define READER_ENABLE_THUMBS TRUE +#define READER_DISABLE_RETINA FALSE #define READER_DISABLE_IDLE FALSE #define READER_SHOW_SHADOWS TRUE #define READER_STANDALONE FALSE diff --git a/Sources/ReaderContentPage.m b/Sources/ReaderContentPage.m index 7a9f020e..7f3e361a 100644 --- a/Sources/ReaderContentPage.m +++ b/Sources/ReaderContentPage.m @@ -1,6 +1,6 @@ // // ReaderContentPage.m -// Reader v2.5.5 +// Reader v2.5.6 // // Created by Julius Oklamcak on 2011-07-01. // Copyright © 2011-2012 Julius Oklamcak. All rights reserved. @@ -23,6 +23,7 @@ // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. // +#import "ReaderConstants.h" #import "ReaderContentPage.h" #import "ReaderContentTile.h" #import "CGPDFDocument.h" @@ -552,6 +553,19 @@ - (void)dealloc [super dealloc]; } +#if (READER_DISABLE_RETINA == TRUE) // Option + +- (void)didMoveToWindow +{ +#ifdef DEBUGX + NSLog(@"%s", __FUNCTION__); +#endif + + self.contentScaleFactor = 1.0f; // Override scale factor +} + +#endif // end of READER_DISABLE_RETINA Option + /* - (void)layoutSubviews { diff --git a/Sources/ReaderThumbFetch.m b/Sources/ReaderThumbFetch.m index d611ad21..0a550bae 100644 --- a/Sources/ReaderThumbFetch.m +++ b/Sources/ReaderThumbFetch.m @@ -1,6 +1,6 @@ // // ReaderThumbFetch.m -// Reader v2.5.4 +// Reader v2.5.6 // // Created by Julius Oklamcak on 2011-09-01. // Copyright © 2011-2012 Julius Oklamcak. All rights reserved. @@ -134,7 +134,15 @@ - (void)main CGImageRelease(imageRef); // Release the CGImage reference from the above thumb load code - [[ReaderThumbCache sharedInstance] setObject:image forKey:request.cacheKey]; // Update cache + UIGraphicsBeginImageContextWithOptions(image.size, YES, request.scale); // Graphics context + + [image drawAtPoint:CGPointZero]; // Decode and draw the image on this background thread + + UIImage *decoded = UIGraphicsGetImageFromCurrentImageContext(); // Newly decoded image + + UIGraphicsEndImageContext(); // Cleanup after the bitmap-based graphics drawing context + + [[ReaderThumbCache sharedInstance] setObject:decoded forKey:request.cacheKey]; // Update cache if (self.isCancelled == NO) // Show the image in the target thumb view on the main thread { @@ -144,7 +152,7 @@ - (void)main dispatch_async(dispatch_get_main_queue(), // Queue image show on main thread ^{ - if (thumbView.targetTag == targetTag) [thumbView showImage:image]; + if (thumbView.targetTag == targetTag) [thumbView showImage:decoded]; }); } }