From 89c0c048818804f1523efad022bc496ae6d93469 Mon Sep 17 00:00:00 2001 From: Norbert Schmidt Date: Tue, 15 May 2018 12:31:48 +0200 Subject: [PATCH] Add files via upload --- Night Reader/Night Reader/Icon-72.png | Bin 0 -> 12202 bytes Night Reader/Night Reader/Icon-72@2x.png | Bin 0 -> 32553 bytes Night Reader/Night Reader/Icon-Small-50.png | Bin 0 -> 7853 bytes .../Night Reader/Icon-Small-50@2x.png | Bin 0 -> 19061 bytes Night Reader/Night Reader/Icon-Small.png | Bin 0 -> 4772 bytes Night Reader/Night Reader/Icon-Small@2x.png | Bin 0 -> 9323 bytes Night Reader/Night Reader/Icon.png | Bin 0 -> 9149 bytes Night Reader/Night Reader/Icon@2x.png | Bin 0 -> 23021 bytes .../Night Reader.xcodeproj/project.pbxproj | 530 ++++++++++ .../contents.xcworkspacedata | 7 + .../UserInterfaceState.xcuserstate | Bin 0 -> 56972 bytes .../WorkspaceSettings.xcsettings | 10 + .../UserInterfaceState.xcuserstate | Bin 0 -> 31296 bytes .../xcdebugger/Breakpoints.xcbkptlist | 20 + .../xcdebugger/Breakpoints_v2.xcbkptlist | 23 + .../xcschemes/Night Reader.xcscheme | 86 ++ .../xcschemes/xcschememanagement.plist | 22 + .../xcschemes/Night Reader.xcscheme | 86 ++ .../xcschemes/xcschememanagement.plist | 22 + .../Night Reader/84-lightbulb.png | Bin 0 -> 1132 bytes .../Night Reader/84-lightbulb@2x.png | Bin 0 -> 1485 bytes .../Night Reader/Night Reader/AppDelegate.h | 19 + .../Night Reader/Night Reader/AppDelegate.m | 56 ++ .../Night Reader/Night Reader/CGPDFDocument.h | 35 + .../Night Reader/Night Reader/CGPDFDocument.m | 136 +++ .../Night Reader/Default-568h@2x.png | Bin 0 -> 18594 bytes .../Night Reader/Night Reader/Default.png | Bin 0 -> 6540 bytes .../Night Reader/Night Reader/Default@2x.png | Bin 0 -> 16107 bytes .../Night Reader/Night Reader-Info.plist | 64 ++ .../Night Reader/Night Reader-Prefix.pch | 14 + .../NightReaderViewController-ipad.xib | 257 +++++ .../Night Reader/NightReaderViewController.h | 21 + .../Night Reader/NightReaderViewController.m | 173 ++++ .../NightReaderViewController.xib | 263 +++++ .../Night Reader/ReaderAppDelegate.h | 30 + .../Night Reader/ReaderAppDelegate.m | 103 ++ .../Night Reader/ReaderBookDelegate.h | 30 + .../Night Reader/ReaderBookDelegate.m | 121 +++ .../Night Reader/ReaderConstants.h | 42 + .../Night Reader/ReaderConstants.m | 28 + .../Night Reader/ReaderContentPage.h | 52 + .../Night Reader/ReaderContentPage.m | 602 ++++++++++++ .../Night Reader/ReaderContentTile.h | 31 + .../Night Reader/ReaderContentTile.m | 72 ++ .../Night Reader/ReaderContentView.h | 66 ++ .../Night Reader/ReaderContentView.m | 332 +++++++ .../Night Reader/ReaderDemoController.h | 30 + .../Night Reader/ReaderDemoController.m | 217 +++++ .../Night Reader/ReaderDocument.h | 51 + .../Night Reader/ReaderDocument.m | 358 +++++++ .../Night Reader/ReaderDocumentOutline.h | 47 + .../Night Reader/ReaderDocumentOutline.m | 467 +++++++++ .../Night Reader/ReaderMainPagebar.h | 88 ++ .../Night Reader/ReaderMainPagebar.m | 625 ++++++++++++ .../Night Reader/ReaderMainToolbar.h | 56 ++ .../Night Reader/ReaderMainToolbar.m | 334 +++++++ .../Night Reader/ReaderThumbCache.h | 54 ++ .../Night Reader/ReaderThumbCache.m | 228 +++++ .../Night Reader/ReaderThumbFetch.h | 36 + .../Night Reader/ReaderThumbFetch.m | 128 +++ .../Night Reader/ReaderThumbQueue.h | 54 ++ .../Night Reader/ReaderThumbQueue.m | 141 +++ .../Night Reader/ReaderThumbRender.h | 36 + .../Night Reader/ReaderThumbRender.m | 204 ++++ .../Night Reader/ReaderThumbRequest.h | 47 + .../Night Reader/ReaderThumbRequest.m | 96 ++ .../Night Reader/ReaderThumbView.h | 45 + .../Night Reader/ReaderThumbView.m | 93 ++ .../Night Reader/ReaderThumbsView.h | 68 ++ .../Night Reader/ReaderThumbsView.m | 545 +++++++++++ .../Night Reader/ReaderViewController.h | 46 + .../Night Reader/ReaderViewController.m | 916 ++++++++++++++++++ .../Night Reader/ThumbsMainToolbar.h | 47 + .../Night Reader/ThumbsMainToolbar.m | 149 +++ .../Night Reader/ThumbsViewController.h | 66 ++ .../Night Reader/ThumbsViewController.m | 480 +++++++++ .../Night Reader/UIXToolbarView.h | 40 + .../Night Reader/UIXToolbarView.m | 105 ++ .../Night Reader/en.lproj/InfoPlist.strings | 2 + .../en.lproj/MTViewController_iPhone.xib | 262 +++++ Night Reader/Night Reader/Night Reader/main.m | 18 + .../Night Reader/Night Reader/redslider2.png | Bin 0 -> 2996 bytes Night Reader/Night Reader/iTunesArtwork | Bin 0 -> 182408 bytes Night Reader/Night Reader/iTunesArtwork@2x | Bin 0 -> 516202 bytes 84 files changed, 9532 insertions(+) create mode 100644 Night Reader/Night Reader/Icon-72.png create mode 100644 Night Reader/Night Reader/Icon-72@2x.png create mode 100644 Night Reader/Night Reader/Icon-Small-50.png create mode 100644 Night Reader/Night Reader/Icon-Small-50@2x.png create mode 100644 Night Reader/Night Reader/Icon-Small.png create mode 100644 Night Reader/Night Reader/Icon-Small@2x.png create mode 100644 Night Reader/Night Reader/Icon.png create mode 100644 Night Reader/Night Reader/Icon@2x.png create mode 100644 Night Reader/Night Reader/Night Reader.xcodeproj/project.pbxproj create mode 100644 Night Reader/Night Reader/Night Reader.xcodeproj/project.xcworkspace/contents.xcworkspacedata create mode 100644 Night Reader/Night Reader/Night Reader.xcodeproj/project.xcworkspace/xcuserdata/nop.xcuserdatad/UserInterfaceState.xcuserstate create mode 100644 Night Reader/Night Reader/Night Reader.xcodeproj/project.xcworkspace/xcuserdata/nop.xcuserdatad/WorkspaceSettings.xcsettings create mode 100644 Night Reader/Night Reader/Night Reader.xcodeproj/project.xcworkspace/xcuserdata/norbertschmidt.xcuserdatad/UserInterfaceState.xcuserstate create mode 100644 Night Reader/Night Reader/Night Reader.xcodeproj/xcuserdata/nop.xcuserdatad/xcdebugger/Breakpoints.xcbkptlist create mode 100644 Night Reader/Night Reader/Night Reader.xcodeproj/xcuserdata/nop.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist create mode 100644 Night Reader/Night Reader/Night Reader.xcodeproj/xcuserdata/nop.xcuserdatad/xcschemes/Night Reader.xcscheme create mode 100644 Night Reader/Night Reader/Night Reader.xcodeproj/xcuserdata/nop.xcuserdatad/xcschemes/xcschememanagement.plist create mode 100644 Night Reader/Night Reader/Night Reader.xcodeproj/xcuserdata/norbertschmidt.xcuserdatad/xcschemes/Night Reader.xcscheme create mode 100644 Night Reader/Night Reader/Night Reader.xcodeproj/xcuserdata/norbertschmidt.xcuserdatad/xcschemes/xcschememanagement.plist create mode 100644 Night Reader/Night Reader/Night Reader/84-lightbulb.png create mode 100644 Night Reader/Night Reader/Night Reader/84-lightbulb@2x.png create mode 100644 Night Reader/Night Reader/Night Reader/AppDelegate.h create mode 100644 Night Reader/Night Reader/Night Reader/AppDelegate.m create mode 100644 Night Reader/Night Reader/Night Reader/CGPDFDocument.h create mode 100644 Night Reader/Night Reader/Night Reader/CGPDFDocument.m create mode 100644 Night Reader/Night Reader/Night Reader/Default-568h@2x.png create mode 100644 Night Reader/Night Reader/Night Reader/Default.png create mode 100644 Night Reader/Night Reader/Night Reader/Default@2x.png create mode 100644 Night Reader/Night Reader/Night Reader/Night Reader-Info.plist create mode 100644 Night Reader/Night Reader/Night Reader/Night Reader-Prefix.pch create mode 100644 Night Reader/Night Reader/Night Reader/NightReaderViewController-ipad.xib create mode 100644 Night Reader/Night Reader/Night Reader/NightReaderViewController.h create mode 100644 Night Reader/Night Reader/Night Reader/NightReaderViewController.m create mode 100644 Night Reader/Night Reader/Night Reader/NightReaderViewController.xib create mode 100644 Night Reader/Night Reader/Night Reader/ReaderAppDelegate.h create mode 100644 Night Reader/Night Reader/Night Reader/ReaderAppDelegate.m create mode 100644 Night Reader/Night Reader/Night Reader/ReaderBookDelegate.h create mode 100644 Night Reader/Night Reader/Night Reader/ReaderBookDelegate.m create mode 100644 Night Reader/Night Reader/Night Reader/ReaderConstants.h create mode 100644 Night Reader/Night Reader/Night Reader/ReaderConstants.m create mode 100644 Night Reader/Night Reader/Night Reader/ReaderContentPage.h create mode 100644 Night Reader/Night Reader/Night Reader/ReaderContentPage.m create mode 100644 Night Reader/Night Reader/Night Reader/ReaderContentTile.h create mode 100644 Night Reader/Night Reader/Night Reader/ReaderContentTile.m create mode 100644 Night Reader/Night Reader/Night Reader/ReaderContentView.h create mode 100644 Night Reader/Night Reader/Night Reader/ReaderContentView.m create mode 100644 Night Reader/Night Reader/Night Reader/ReaderDemoController.h create mode 100644 Night Reader/Night Reader/Night Reader/ReaderDemoController.m create mode 100644 Night Reader/Night Reader/Night Reader/ReaderDocument.h create mode 100644 Night Reader/Night Reader/Night Reader/ReaderDocument.m create mode 100644 Night Reader/Night Reader/Night Reader/ReaderDocumentOutline.h create mode 100644 Night Reader/Night Reader/Night Reader/ReaderDocumentOutline.m create mode 100644 Night Reader/Night Reader/Night Reader/ReaderMainPagebar.h create mode 100644 Night Reader/Night Reader/Night Reader/ReaderMainPagebar.m create mode 100644 Night Reader/Night Reader/Night Reader/ReaderMainToolbar.h create mode 100644 Night Reader/Night Reader/Night Reader/ReaderMainToolbar.m create mode 100644 Night Reader/Night Reader/Night Reader/ReaderThumbCache.h create mode 100644 Night Reader/Night Reader/Night Reader/ReaderThumbCache.m create mode 100644 Night Reader/Night Reader/Night Reader/ReaderThumbFetch.h create mode 100644 Night Reader/Night Reader/Night Reader/ReaderThumbFetch.m create mode 100644 Night Reader/Night Reader/Night Reader/ReaderThumbQueue.h create mode 100644 Night Reader/Night Reader/Night Reader/ReaderThumbQueue.m create mode 100644 Night Reader/Night Reader/Night Reader/ReaderThumbRender.h create mode 100644 Night Reader/Night Reader/Night Reader/ReaderThumbRender.m create mode 100644 Night Reader/Night Reader/Night Reader/ReaderThumbRequest.h create mode 100644 Night Reader/Night Reader/Night Reader/ReaderThumbRequest.m create mode 100644 Night Reader/Night Reader/Night Reader/ReaderThumbView.h create mode 100644 Night Reader/Night Reader/Night Reader/ReaderThumbView.m create mode 100644 Night Reader/Night Reader/Night Reader/ReaderThumbsView.h create mode 100644 Night Reader/Night Reader/Night Reader/ReaderThumbsView.m create mode 100644 Night Reader/Night Reader/Night Reader/ReaderViewController.h create mode 100644 Night Reader/Night Reader/Night Reader/ReaderViewController.m create mode 100644 Night Reader/Night Reader/Night Reader/ThumbsMainToolbar.h create mode 100644 Night Reader/Night Reader/Night Reader/ThumbsMainToolbar.m create mode 100644 Night Reader/Night Reader/Night Reader/ThumbsViewController.h create mode 100644 Night Reader/Night Reader/Night Reader/ThumbsViewController.m create mode 100644 Night Reader/Night Reader/Night Reader/UIXToolbarView.h create mode 100644 Night Reader/Night Reader/Night Reader/UIXToolbarView.m create mode 100644 Night Reader/Night Reader/Night Reader/en.lproj/InfoPlist.strings create mode 100644 Night Reader/Night Reader/Night Reader/en.lproj/MTViewController_iPhone.xib create mode 100644 Night Reader/Night Reader/Night Reader/main.m create mode 100644 Night Reader/Night Reader/Night Reader/redslider2.png create mode 100644 Night Reader/Night Reader/iTunesArtwork create mode 100644 Night Reader/Night Reader/iTunesArtwork@2x diff --git a/Night Reader/Night Reader/Icon-72.png b/Night Reader/Night Reader/Icon-72.png new file mode 100644 index 0000000000000000000000000000000000000000..ab99e372410475407fb82d0b42a3380c6b0bcce3 GIT binary patch literal 12202 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 literal 0 HcmV?d00001 diff --git a/Night Reader/Night Reader/Icon-72@2x.png b/Night Reader/Night Reader/Icon-72@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..1903a5ade2448383b133ccc3e984a4881bb0967e GIT binary patch literal 32553 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 QZU6uP07*qoM6N<$f|lEFZU6uP literal 0 HcmV?d00001 diff --git a/Night Reader/Night Reader/Icon-Small-50.png b/Night Reader/Night Reader/Icon-Small-50.png new file mode 100644 index 0000000000000000000000000000000000000000..87534c415e7c775901c660eaa41d73263d628b12 GIT binary patch literal 7853 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 Z{{W>;V!h|R>e>JR002ovPDHLkV1k?v?9c!J literal 0 HcmV?d00001 diff --git a/Night Reader/Night Reader/Icon.png b/Night Reader/Night Reader/Icon.png new file mode 100644 index 0000000000000000000000000000000000000000..9d3187e8c12b7483ffc195a1cecaa6f0ebb66e71 GIT binary patch literal 9149 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 Hu0mjfib|bi literal 0 HcmV?d00001 diff --git a/Night Reader/Night Reader/Icon@2x.png b/Night Reader/Night Reader/Icon@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..6dd961824b0a69eb64d605886590bc22eced73f4 GIT binary patch literal 23021 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 AZvX%Q literal 0 HcmV?d00001 diff --git a/Night Reader/Night Reader/Night Reader.xcodeproj/project.pbxproj b/Night Reader/Night Reader/Night Reader.xcodeproj/project.pbxproj new file mode 100644 index 0000000..544e862 --- /dev/null +++ b/Night Reader/Night Reader/Night Reader.xcodeproj/project.pbxproj @@ -0,0 +1,530 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 46; + objects = { + +/* Begin PBXBuildFile section */ + F09BBB9717B7C6C400900F01 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F09BBB9617B7C6C300900F01 /* UIKit.framework */; }; + F09BBB9917B7C6C400900F01 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F09BBB9817B7C6C400900F01 /* Foundation.framework */; }; + F09BBB9B17B7C6C400900F01 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F09BBB9A17B7C6C400900F01 /* CoreGraphics.framework */; }; + F09BBBA117B7C6C400900F01 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = F09BBB9F17B7C6C400900F01 /* InfoPlist.strings */; }; + F09BBBA317B7C6C400900F01 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = F09BBBA217B7C6C400900F01 /* main.m */; }; + F09BBBA717B7C6C400900F01 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = F09BBBA617B7C6C400900F01 /* AppDelegate.m */; }; + F09BBBA917B7C6C400900F01 /* Default.png in Resources */ = {isa = PBXBuildFile; fileRef = F09BBBA817B7C6C400900F01 /* Default.png */; }; + F09BBBAB17B7C6C400900F01 /* Default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = F09BBBAA17B7C6C400900F01 /* Default@2x.png */; }; + F09BBBAD17B7C6C400900F01 /* Default-568h@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = F09BBBAC17B7C6C400900F01 /* Default-568h@2x.png */; }; + F09BBBBD17B7C6DC00900F01 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F09BBBBC17B7C6DC00900F01 /* QuartzCore.framework */; }; + F09BBBBF17B7C6E600900F01 /* ImageIO.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F09BBBBE17B7C6E600900F01 /* ImageIO.framework */; }; + F09BBBC117B7C6F100900F01 /* MessageUI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F09BBBC017B7C6F100900F01 /* MessageUI.framework */; }; + F09BBBF417B7C8BC00900F01 /* CGPDFDocument.m in Sources */ = {isa = PBXBuildFile; fileRef = F09BBBCD17B7C8BC00900F01 /* CGPDFDocument.m */; }; + F09BBBF517B7C8BC00900F01 /* ReaderConstants.m in Sources */ = {isa = PBXBuildFile; fileRef = F09BBBCF17B7C8BC00900F01 /* ReaderConstants.m */; }; + F09BBBF617B7C8BC00900F01 /* ReaderContentPage.m in Sources */ = {isa = PBXBuildFile; fileRef = F09BBBD117B7C8BC00900F01 /* ReaderContentPage.m */; }; + F09BBBF717B7C8BC00900F01 /* ReaderContentTile.m in Sources */ = {isa = PBXBuildFile; fileRef = F09BBBD317B7C8BC00900F01 /* ReaderContentTile.m */; }; + F09BBBF817B7C8BC00900F01 /* ReaderContentView.m in Sources */ = {isa = PBXBuildFile; fileRef = F09BBBD517B7C8BC00900F01 /* ReaderContentView.m */; }; + F09BBBF917B7C8BC00900F01 /* ReaderDocument.m in Sources */ = {isa = PBXBuildFile; fileRef = F09BBBD717B7C8BC00900F01 /* ReaderDocument.m */; }; + F09BBBFA17B7C8BC00900F01 /* ReaderDocumentOutline.m in Sources */ = {isa = PBXBuildFile; fileRef = F09BBBD917B7C8BC00900F01 /* ReaderDocumentOutline.m */; }; + F09BBBFB17B7C8BC00900F01 /* ReaderMainPagebar.m in Sources */ = {isa = PBXBuildFile; fileRef = F09BBBDB17B7C8BC00900F01 /* ReaderMainPagebar.m */; }; + F09BBBFC17B7C8BC00900F01 /* ReaderMainToolbar.m in Sources */ = {isa = PBXBuildFile; fileRef = F09BBBDD17B7C8BC00900F01 /* ReaderMainToolbar.m */; }; + F09BBBFD17B7C8BC00900F01 /* ReaderThumbCache.m in Sources */ = {isa = PBXBuildFile; fileRef = F09BBBDF17B7C8BC00900F01 /* ReaderThumbCache.m */; }; + F09BBBFE17B7C8BC00900F01 /* ReaderThumbFetch.m in Sources */ = {isa = PBXBuildFile; fileRef = F09BBBE117B7C8BC00900F01 /* ReaderThumbFetch.m */; }; + F09BBBFF17B7C8BC00900F01 /* ReaderThumbQueue.m in Sources */ = {isa = PBXBuildFile; fileRef = F09BBBE317B7C8BC00900F01 /* ReaderThumbQueue.m */; }; + F09BBC0017B7C8BC00900F01 /* ReaderThumbRender.m in Sources */ = {isa = PBXBuildFile; fileRef = F09BBBE517B7C8BC00900F01 /* ReaderThumbRender.m */; }; + F09BBC0117B7C8BC00900F01 /* ReaderThumbRequest.m in Sources */ = {isa = PBXBuildFile; fileRef = F09BBBE717B7C8BC00900F01 /* ReaderThumbRequest.m */; }; + F09BBC0217B7C8BC00900F01 /* ReaderThumbsView.m in Sources */ = {isa = PBXBuildFile; fileRef = F09BBBE917B7C8BC00900F01 /* ReaderThumbsView.m */; }; + F09BBC0317B7C8BC00900F01 /* ReaderThumbView.m in Sources */ = {isa = PBXBuildFile; fileRef = F09BBBEB17B7C8BC00900F01 /* ReaderThumbView.m */; }; + F09BBC0417B7C8BC00900F01 /* ReaderViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = F09BBBED17B7C8BC00900F01 /* ReaderViewController.m */; }; + F09BBC0517B7C8BC00900F01 /* ThumbsMainToolbar.m in Sources */ = {isa = PBXBuildFile; fileRef = F09BBBEF17B7C8BC00900F01 /* ThumbsMainToolbar.m */; }; + F09BBC0617B7C8BC00900F01 /* ThumbsViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = F09BBBF117B7C8BC00900F01 /* ThumbsViewController.m */; }; + F09BBC0717B7C8BC00900F01 /* UIXToolbarView.m in Sources */ = {isa = PBXBuildFile; fileRef = F09BBBF317B7C8BC00900F01 /* UIXToolbarView.m */; }; + F09BBC0E17B7C8EA00900F01 /* ReaderAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = F09BBC0917B7C8EA00900F01 /* ReaderAppDelegate.m */; }; + F09BBC0F17B7C8EA00900F01 /* ReaderBookDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = F09BBC0B17B7C8EA00900F01 /* ReaderBookDelegate.m */; }; + F09BBC1017B7C8EA00900F01 /* ReaderDemoController.m in Sources */ = {isa = PBXBuildFile; fileRef = F09BBC0D17B7C8EA00900F01 /* ReaderDemoController.m */; }; + F09BBC1D17B7D62B00900F01 /* NightReaderViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = F09BBC1B17B7D62A00900F01 /* NightReaderViewController.m */; }; + F09BBC1E17B7D62B00900F01 /* NightReaderViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = F09BBC1C17B7D62B00900F01 /* NightReaderViewController.xib */; }; + F09BBC2317B8D4EB00900F01 /* NightReaderViewController-ipad.xib in Resources */ = {isa = PBXBuildFile; fileRef = F09BBC2117B8D4EB00900F01 /* NightReaderViewController-ipad.xib */; }; + F09BBC2717B8DA2900900F01 /* 84-lightbulb.png in Resources */ = {isa = PBXBuildFile; fileRef = F09BBC2417B8DA2900900F01 /* 84-lightbulb.png */; }; + F09BBC2817B8DA2900900F01 /* 84-lightbulb@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = F09BBC2517B8DA2900900F01 /* 84-lightbulb@2x.png */; }; + F09BBC2917B8DA2900900F01 /* redslider2.png in Resources */ = {isa = PBXBuildFile; fileRef = F09BBC2617B8DA2900900F01 /* redslider2.png */; }; + F09BBC3417B8E34100900F01 /* Icon-72.png in Resources */ = {isa = PBXBuildFile; fileRef = F09BBC2A17B8E34000900F01 /* Icon-72.png */; }; + F09BBC3517B8E34100900F01 /* Icon-72@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = F09BBC2B17B8E34000900F01 /* Icon-72@2x.png */; }; + F09BBC3617B8E34100900F01 /* Icon-Small-50.png in Resources */ = {isa = PBXBuildFile; fileRef = F09BBC2C17B8E34000900F01 /* Icon-Small-50.png */; }; + F09BBC3717B8E34100900F01 /* Icon-Small-50@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = F09BBC2D17B8E34000900F01 /* Icon-Small-50@2x.png */; }; + F09BBC3817B8E34100900F01 /* Icon-Small.png in Resources */ = {isa = PBXBuildFile; fileRef = F09BBC2E17B8E34000900F01 /* Icon-Small.png */; }; + F09BBC3917B8E34100900F01 /* Icon-Small@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = F09BBC2F17B8E34000900F01 /* Icon-Small@2x.png */; }; + F09BBC3A17B8E34100900F01 /* Icon.png in Resources */ = {isa = PBXBuildFile; fileRef = F09BBC3017B8E34000900F01 /* Icon.png */; }; + F09BBC3B17B8E34100900F01 /* Icon@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = F09BBC3117B8E34100900F01 /* Icon@2x.png */; }; + F09BBC3C17B8E34100900F01 /* iTunesArtwork in Resources */ = {isa = PBXBuildFile; fileRef = F09BBC3217B8E34100900F01 /* iTunesArtwork */; }; + F09BBC3D17B8E34100900F01 /* iTunesArtwork@2x in Resources */ = {isa = PBXBuildFile; fileRef = F09BBC3317B8E34100900F01 /* iTunesArtwork@2x */; }; +/* End PBXBuildFile section */ + +/* Begin PBXFileReference section */ + F09BBB9317B7C6C300900F01 /* Night Reader.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "Night Reader.app"; sourceTree = BUILT_PRODUCTS_DIR; }; + F09BBB9617B7C6C300900F01 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; }; + F09BBB9817B7C6C400900F01 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; }; + F09BBB9A17B7C6C400900F01 /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; }; + F09BBB9E17B7C6C400900F01 /* Night Reader-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "Night Reader-Info.plist"; sourceTree = ""; }; + F09BBBA017B7C6C400900F01 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = ""; }; + F09BBBA217B7C6C400900F01 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; + F09BBBA417B7C6C400900F01 /* Night Reader-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Night Reader-Prefix.pch"; sourceTree = ""; }; + F09BBBA517B7C6C400900F01 /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = ""; }; + F09BBBA617B7C6C400900F01 /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = ""; }; + F09BBBA817B7C6C400900F01 /* Default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = Default.png; sourceTree = ""; }; + F09BBBAA17B7C6C400900F01 /* Default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Default@2x.png"; sourceTree = ""; }; + F09BBBAC17B7C6C400900F01 /* Default-568h@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Default-568h@2x.png"; sourceTree = ""; }; + F09BBBBC17B7C6DC00900F01 /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; }; + F09BBBBE17B7C6E600900F01 /* ImageIO.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = ImageIO.framework; path = System/Library/Frameworks/ImageIO.framework; sourceTree = SDKROOT; }; + F09BBBC017B7C6F100900F01 /* MessageUI.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MessageUI.framework; path = System/Library/Frameworks/MessageUI.framework; sourceTree = SDKROOT; }; + F09BBBCC17B7C8BC00900F01 /* CGPDFDocument.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CGPDFDocument.h; sourceTree = ""; }; + F09BBBCD17B7C8BC00900F01 /* CGPDFDocument.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CGPDFDocument.m; sourceTree = ""; }; + F09BBBCE17B7C8BC00900F01 /* ReaderConstants.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ReaderConstants.h; sourceTree = ""; }; + F09BBBCF17B7C8BC00900F01 /* ReaderConstants.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ReaderConstants.m; sourceTree = ""; }; + F09BBBD017B7C8BC00900F01 /* ReaderContentPage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ReaderContentPage.h; sourceTree = ""; }; + F09BBBD117B7C8BC00900F01 /* ReaderContentPage.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ReaderContentPage.m; sourceTree = ""; }; + F09BBBD217B7C8BC00900F01 /* ReaderContentTile.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ReaderContentTile.h; sourceTree = ""; }; + F09BBBD317B7C8BC00900F01 /* ReaderContentTile.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ReaderContentTile.m; sourceTree = ""; }; + F09BBBD417B7C8BC00900F01 /* ReaderContentView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ReaderContentView.h; sourceTree = ""; }; + F09BBBD517B7C8BC00900F01 /* ReaderContentView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ReaderContentView.m; sourceTree = ""; }; + F09BBBD617B7C8BC00900F01 /* ReaderDocument.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ReaderDocument.h; sourceTree = ""; }; + F09BBBD717B7C8BC00900F01 /* ReaderDocument.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ReaderDocument.m; sourceTree = ""; }; + F09BBBD817B7C8BC00900F01 /* ReaderDocumentOutline.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ReaderDocumentOutline.h; sourceTree = ""; }; + F09BBBD917B7C8BC00900F01 /* ReaderDocumentOutline.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ReaderDocumentOutline.m; sourceTree = ""; }; + F09BBBDA17B7C8BC00900F01 /* ReaderMainPagebar.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ReaderMainPagebar.h; sourceTree = ""; }; + F09BBBDB17B7C8BC00900F01 /* ReaderMainPagebar.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ReaderMainPagebar.m; sourceTree = ""; }; + F09BBBDC17B7C8BC00900F01 /* ReaderMainToolbar.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ReaderMainToolbar.h; sourceTree = ""; }; + F09BBBDD17B7C8BC00900F01 /* ReaderMainToolbar.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ReaderMainToolbar.m; sourceTree = ""; }; + F09BBBDE17B7C8BC00900F01 /* ReaderThumbCache.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ReaderThumbCache.h; sourceTree = ""; }; + F09BBBDF17B7C8BC00900F01 /* ReaderThumbCache.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ReaderThumbCache.m; sourceTree = ""; }; + F09BBBE017B7C8BC00900F01 /* ReaderThumbFetch.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ReaderThumbFetch.h; sourceTree = ""; }; + F09BBBE117B7C8BC00900F01 /* ReaderThumbFetch.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ReaderThumbFetch.m; sourceTree = ""; }; + F09BBBE217B7C8BC00900F01 /* ReaderThumbQueue.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ReaderThumbQueue.h; sourceTree = ""; }; + F09BBBE317B7C8BC00900F01 /* ReaderThumbQueue.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ReaderThumbQueue.m; sourceTree = ""; }; + F09BBBE417B7C8BC00900F01 /* ReaderThumbRender.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ReaderThumbRender.h; sourceTree = ""; }; + F09BBBE517B7C8BC00900F01 /* ReaderThumbRender.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ReaderThumbRender.m; sourceTree = ""; }; + F09BBBE617B7C8BC00900F01 /* ReaderThumbRequest.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ReaderThumbRequest.h; sourceTree = ""; }; + F09BBBE717B7C8BC00900F01 /* ReaderThumbRequest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ReaderThumbRequest.m; sourceTree = ""; }; + F09BBBE817B7C8BC00900F01 /* ReaderThumbsView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ReaderThumbsView.h; sourceTree = ""; }; + F09BBBE917B7C8BC00900F01 /* ReaderThumbsView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ReaderThumbsView.m; sourceTree = ""; }; + F09BBBEA17B7C8BC00900F01 /* ReaderThumbView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ReaderThumbView.h; sourceTree = ""; }; + F09BBBEB17B7C8BC00900F01 /* ReaderThumbView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ReaderThumbView.m; sourceTree = ""; }; + F09BBBEC17B7C8BC00900F01 /* ReaderViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ReaderViewController.h; sourceTree = ""; }; + F09BBBED17B7C8BC00900F01 /* ReaderViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ReaderViewController.m; sourceTree = ""; }; + F09BBBEE17B7C8BC00900F01 /* ThumbsMainToolbar.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ThumbsMainToolbar.h; sourceTree = ""; }; + F09BBBEF17B7C8BC00900F01 /* ThumbsMainToolbar.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ThumbsMainToolbar.m; sourceTree = ""; }; + F09BBBF017B7C8BC00900F01 /* ThumbsViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ThumbsViewController.h; sourceTree = ""; }; + F09BBBF117B7C8BC00900F01 /* ThumbsViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ThumbsViewController.m; sourceTree = ""; }; + F09BBBF217B7C8BC00900F01 /* UIXToolbarView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UIXToolbarView.h; sourceTree = ""; }; + F09BBBF317B7C8BC00900F01 /* UIXToolbarView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UIXToolbarView.m; sourceTree = ""; }; + F09BBC0817B7C8EA00900F01 /* ReaderAppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ReaderAppDelegate.h; sourceTree = ""; }; + F09BBC0917B7C8EA00900F01 /* ReaderAppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ReaderAppDelegate.m; sourceTree = ""; }; + F09BBC0A17B7C8EA00900F01 /* ReaderBookDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ReaderBookDelegate.h; sourceTree = ""; }; + F09BBC0B17B7C8EA00900F01 /* ReaderBookDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ReaderBookDelegate.m; sourceTree = ""; }; + F09BBC0C17B7C8EA00900F01 /* ReaderDemoController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ReaderDemoController.h; sourceTree = ""; }; + F09BBC0D17B7C8EA00900F01 /* ReaderDemoController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ReaderDemoController.m; sourceTree = ""; }; + F09BBC1A17B7D62A00900F01 /* NightReaderViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NightReaderViewController.h; sourceTree = ""; }; + F09BBC1B17B7D62A00900F01 /* NightReaderViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = NightReaderViewController.m; sourceTree = ""; }; + F09BBC1C17B7D62B00900F01 /* NightReaderViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = NightReaderViewController.xib; sourceTree = ""; }; + F09BBC2117B8D4EB00900F01 /* NightReaderViewController-ipad.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = "NightReaderViewController-ipad.xib"; sourceTree = ""; }; + F09BBC2417B8DA2900900F01 /* 84-lightbulb.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "84-lightbulb.png"; path = "Night Reader/84-lightbulb.png"; sourceTree = ""; }; + F09BBC2517B8DA2900900F01 /* 84-lightbulb@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "84-lightbulb@2x.png"; path = "Night Reader/84-lightbulb@2x.png"; sourceTree = ""; }; + F09BBC2617B8DA2900900F01 /* redslider2.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = redslider2.png; path = "Night Reader/redslider2.png"; sourceTree = ""; }; + F09BBC2A17B8E34000900F01 /* Icon-72.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Icon-72.png"; sourceTree = ""; }; + F09BBC2B17B8E34000900F01 /* Icon-72@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Icon-72@2x.png"; sourceTree = ""; }; + F09BBC2C17B8E34000900F01 /* Icon-Small-50.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Icon-Small-50.png"; sourceTree = ""; }; + F09BBC2D17B8E34000900F01 /* Icon-Small-50@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Icon-Small-50@2x.png"; sourceTree = ""; }; + F09BBC2E17B8E34000900F01 /* Icon-Small.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Icon-Small.png"; sourceTree = ""; }; + F09BBC2F17B8E34000900F01 /* Icon-Small@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Icon-Small@2x.png"; sourceTree = ""; }; + F09BBC3017B8E34000900F01 /* Icon.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = Icon.png; sourceTree = ""; }; + F09BBC3117B8E34100900F01 /* Icon@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Icon@2x.png"; sourceTree = ""; }; + F09BBC3217B8E34100900F01 /* iTunesArtwork */ = {isa = PBXFileReference; lastKnownFileType = file; path = iTunesArtwork; sourceTree = ""; }; + F09BBC3317B8E34100900F01 /* iTunesArtwork@2x */ = {isa = PBXFileReference; lastKnownFileType = file; path = "iTunesArtwork@2x"; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + F09BBB9017B7C6C300900F01 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + F09BBBC117B7C6F100900F01 /* MessageUI.framework in Frameworks */, + F09BBBBF17B7C6E600900F01 /* ImageIO.framework in Frameworks */, + F09BBBBD17B7C6DC00900F01 /* QuartzCore.framework in Frameworks */, + F09BBB9717B7C6C400900F01 /* UIKit.framework in Frameworks */, + F09BBB9917B7C6C400900F01 /* Foundation.framework in Frameworks */, + F09BBB9B17B7C6C400900F01 /* CoreGraphics.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + F09BBB8A17B7C6C300900F01 = { + isa = PBXGroup; + children = ( + F09BBC3E17B8E6B700900F01 /* Artwork */, + F09BBB9C17B7C6C400900F01 /* Night Reader */, + F09BBB9517B7C6C300900F01 /* Frameworks */, + F09BBB9417B7C6C300900F01 /* Products */, + ); + sourceTree = ""; + }; + F09BBB9417B7C6C300900F01 /* Products */ = { + isa = PBXGroup; + children = ( + F09BBB9317B7C6C300900F01 /* Night Reader.app */, + ); + name = Products; + sourceTree = ""; + }; + F09BBB9517B7C6C300900F01 /* Frameworks */ = { + isa = PBXGroup; + children = ( + F09BBBC017B7C6F100900F01 /* MessageUI.framework */, + F09BBBBE17B7C6E600900F01 /* ImageIO.framework */, + F09BBBBC17B7C6DC00900F01 /* QuartzCore.framework */, + F09BBB9617B7C6C300900F01 /* UIKit.framework */, + F09BBB9817B7C6C400900F01 /* Foundation.framework */, + F09BBB9A17B7C6C400900F01 /* CoreGraphics.framework */, + ); + name = Frameworks; + sourceTree = ""; + }; + F09BBB9C17B7C6C400900F01 /* Night Reader */ = { + isa = PBXGroup; + children = ( + F09BBBCB17B7C8A300900F01 /* Sources */, + F09BBBA517B7C6C400900F01 /* AppDelegate.h */, + F09BBBA617B7C6C400900F01 /* AppDelegate.m */, + F09BBC1A17B7D62A00900F01 /* NightReaderViewController.h */, + F09BBC1B17B7D62A00900F01 /* NightReaderViewController.m */, + F09BBC1C17B7D62B00900F01 /* NightReaderViewController.xib */, + F09BBC2117B8D4EB00900F01 /* NightReaderViewController-ipad.xib */, + F09BBB9D17B7C6C400900F01 /* Supporting Files */, + ); + path = "Night Reader"; + sourceTree = ""; + }; + F09BBB9D17B7C6C400900F01 /* Supporting Files */ = { + isa = PBXGroup; + children = ( + F09BBB9E17B7C6C400900F01 /* Night Reader-Info.plist */, + F09BBB9F17B7C6C400900F01 /* InfoPlist.strings */, + F09BBBA217B7C6C400900F01 /* main.m */, + F09BBBA417B7C6C400900F01 /* Night Reader-Prefix.pch */, + F09BBBA817B7C6C400900F01 /* Default.png */, + F09BBBAA17B7C6C400900F01 /* Default@2x.png */, + F09BBBAC17B7C6C400900F01 /* Default-568h@2x.png */, + ); + name = "Supporting Files"; + sourceTree = ""; + }; + F09BBBCB17B7C8A300900F01 /* Sources */ = { + isa = PBXGroup; + children = ( + F09BBC0817B7C8EA00900F01 /* ReaderAppDelegate.h */, + F09BBC0917B7C8EA00900F01 /* ReaderAppDelegate.m */, + F09BBC0A17B7C8EA00900F01 /* ReaderBookDelegate.h */, + F09BBC0B17B7C8EA00900F01 /* ReaderBookDelegate.m */, + F09BBC0C17B7C8EA00900F01 /* ReaderDemoController.h */, + F09BBC0D17B7C8EA00900F01 /* ReaderDemoController.m */, + F09BBBCC17B7C8BC00900F01 /* CGPDFDocument.h */, + F09BBBCD17B7C8BC00900F01 /* CGPDFDocument.m */, + F09BBBCE17B7C8BC00900F01 /* ReaderConstants.h */, + F09BBBCF17B7C8BC00900F01 /* ReaderConstants.m */, + F09BBBD017B7C8BC00900F01 /* ReaderContentPage.h */, + F09BBBD117B7C8BC00900F01 /* ReaderContentPage.m */, + F09BBBD217B7C8BC00900F01 /* ReaderContentTile.h */, + F09BBBD317B7C8BC00900F01 /* ReaderContentTile.m */, + F09BBBD417B7C8BC00900F01 /* ReaderContentView.h */, + F09BBBD517B7C8BC00900F01 /* ReaderContentView.m */, + F09BBBD617B7C8BC00900F01 /* ReaderDocument.h */, + F09BBBD717B7C8BC00900F01 /* ReaderDocument.m */, + F09BBBD817B7C8BC00900F01 /* ReaderDocumentOutline.h */, + F09BBBD917B7C8BC00900F01 /* ReaderDocumentOutline.m */, + F09BBBDA17B7C8BC00900F01 /* ReaderMainPagebar.h */, + F09BBBDB17B7C8BC00900F01 /* ReaderMainPagebar.m */, + F09BBBDC17B7C8BC00900F01 /* ReaderMainToolbar.h */, + F09BBBDD17B7C8BC00900F01 /* ReaderMainToolbar.m */, + F09BBBDE17B7C8BC00900F01 /* ReaderThumbCache.h */, + F09BBBDF17B7C8BC00900F01 /* ReaderThumbCache.m */, + F09BBBE017B7C8BC00900F01 /* ReaderThumbFetch.h */, + F09BBBE117B7C8BC00900F01 /* ReaderThumbFetch.m */, + F09BBBE217B7C8BC00900F01 /* ReaderThumbQueue.h */, + F09BBBE317B7C8BC00900F01 /* ReaderThumbQueue.m */, + F09BBBE417B7C8BC00900F01 /* ReaderThumbRender.h */, + F09BBBE517B7C8BC00900F01 /* ReaderThumbRender.m */, + F09BBBE617B7C8BC00900F01 /* ReaderThumbRequest.h */, + F09BBBE717B7C8BC00900F01 /* ReaderThumbRequest.m */, + F09BBBE817B7C8BC00900F01 /* ReaderThumbsView.h */, + F09BBBE917B7C8BC00900F01 /* ReaderThumbsView.m */, + F09BBBEA17B7C8BC00900F01 /* ReaderThumbView.h */, + F09BBBEB17B7C8BC00900F01 /* ReaderThumbView.m */, + F09BBBEC17B7C8BC00900F01 /* ReaderViewController.h */, + F09BBBED17B7C8BC00900F01 /* ReaderViewController.m */, + F09BBBEE17B7C8BC00900F01 /* ThumbsMainToolbar.h */, + F09BBBEF17B7C8BC00900F01 /* ThumbsMainToolbar.m */, + F09BBBF017B7C8BC00900F01 /* ThumbsViewController.h */, + F09BBBF117B7C8BC00900F01 /* ThumbsViewController.m */, + F09BBBF217B7C8BC00900F01 /* UIXToolbarView.h */, + F09BBBF317B7C8BC00900F01 /* UIXToolbarView.m */, + ); + name = Sources; + sourceTree = ""; + }; + F09BBC3E17B8E6B700900F01 /* Artwork */ = { + isa = PBXGroup; + children = ( + F09BBC2417B8DA2900900F01 /* 84-lightbulb.png */, + F09BBC2517B8DA2900900F01 /* 84-lightbulb@2x.png */, + F09BBC2617B8DA2900900F01 /* redslider2.png */, + F09BBC2A17B8E34000900F01 /* Icon-72.png */, + F09BBC2B17B8E34000900F01 /* Icon-72@2x.png */, + F09BBC2C17B8E34000900F01 /* Icon-Small-50.png */, + F09BBC2D17B8E34000900F01 /* Icon-Small-50@2x.png */, + F09BBC2E17B8E34000900F01 /* Icon-Small.png */, + F09BBC2F17B8E34000900F01 /* Icon-Small@2x.png */, + F09BBC3017B8E34000900F01 /* Icon.png */, + F09BBC3117B8E34100900F01 /* Icon@2x.png */, + F09BBC3217B8E34100900F01 /* iTunesArtwork */, + F09BBC3317B8E34100900F01 /* iTunesArtwork@2x */, + ); + name = Artwork; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + F09BBB9217B7C6C300900F01 /* Night Reader */ = { + isa = PBXNativeTarget; + buildConfigurationList = F09BBBB917B7C6C400900F01 /* Build configuration list for PBXNativeTarget "Night Reader" */; + buildPhases = ( + F09BBB8F17B7C6C300900F01 /* Sources */, + F09BBB9017B7C6C300900F01 /* Frameworks */, + F09BBB9117B7C6C300900F01 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = "Night Reader"; + productName = "Night Reader"; + productReference = F09BBB9317B7C6C300900F01 /* Night Reader.app */; + productType = "com.apple.product-type.application"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + F09BBB8B17B7C6C300900F01 /* Project object */ = { + isa = PBXProject; + attributes = { + LastUpgradeCheck = 0460; + ORGANIZATIONNAME = "Norbert Schmidt"; + }; + buildConfigurationList = F09BBB8E17B7C6C300900F01 /* Build configuration list for PBXProject "Night Reader" */; + compatibilityVersion = "Xcode 3.2"; + developmentRegion = English; + hasScannedForEncodings = 0; + knownRegions = ( + en, + ); + mainGroup = F09BBB8A17B7C6C300900F01; + productRefGroup = F09BBB9417B7C6C300900F01 /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + F09BBB9217B7C6C300900F01 /* Night Reader */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + F09BBB9117B7C6C300900F01 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + F09BBBA117B7C6C400900F01 /* InfoPlist.strings in Resources */, + F09BBBA917B7C6C400900F01 /* Default.png in Resources */, + F09BBBAB17B7C6C400900F01 /* Default@2x.png in Resources */, + F09BBBAD17B7C6C400900F01 /* Default-568h@2x.png in Resources */, + F09BBC1E17B7D62B00900F01 /* NightReaderViewController.xib in Resources */, + F09BBC2317B8D4EB00900F01 /* NightReaderViewController-ipad.xib in Resources */, + F09BBC2717B8DA2900900F01 /* 84-lightbulb.png in Resources */, + F09BBC2817B8DA2900900F01 /* 84-lightbulb@2x.png in Resources */, + F09BBC2917B8DA2900900F01 /* redslider2.png in Resources */, + F09BBC3417B8E34100900F01 /* Icon-72.png in Resources */, + F09BBC3517B8E34100900F01 /* Icon-72@2x.png in Resources */, + F09BBC3617B8E34100900F01 /* Icon-Small-50.png in Resources */, + F09BBC3717B8E34100900F01 /* Icon-Small-50@2x.png in Resources */, + F09BBC3817B8E34100900F01 /* Icon-Small.png in Resources */, + F09BBC3917B8E34100900F01 /* Icon-Small@2x.png in Resources */, + F09BBC3A17B8E34100900F01 /* Icon.png in Resources */, + F09BBC3B17B8E34100900F01 /* Icon@2x.png in Resources */, + F09BBC3C17B8E34100900F01 /* iTunesArtwork in Resources */, + F09BBC3D17B8E34100900F01 /* iTunesArtwork@2x in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + F09BBB8F17B7C6C300900F01 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + F09BBBA317B7C6C400900F01 /* main.m in Sources */, + F09BBBA717B7C6C400900F01 /* AppDelegate.m in Sources */, + F09BBBF417B7C8BC00900F01 /* CGPDFDocument.m in Sources */, + F09BBBF517B7C8BC00900F01 /* ReaderConstants.m in Sources */, + F09BBBF617B7C8BC00900F01 /* ReaderContentPage.m in Sources */, + F09BBBF717B7C8BC00900F01 /* ReaderContentTile.m in Sources */, + F09BBBF817B7C8BC00900F01 /* ReaderContentView.m in Sources */, + F09BBBF917B7C8BC00900F01 /* ReaderDocument.m in Sources */, + F09BBBFA17B7C8BC00900F01 /* ReaderDocumentOutline.m in Sources */, + F09BBBFB17B7C8BC00900F01 /* ReaderMainPagebar.m in Sources */, + F09BBBFC17B7C8BC00900F01 /* ReaderMainToolbar.m in Sources */, + F09BBBFD17B7C8BC00900F01 /* ReaderThumbCache.m in Sources */, + F09BBBFE17B7C8BC00900F01 /* ReaderThumbFetch.m in Sources */, + F09BBBFF17B7C8BC00900F01 /* ReaderThumbQueue.m in Sources */, + F09BBC0017B7C8BC00900F01 /* ReaderThumbRender.m in Sources */, + F09BBC0117B7C8BC00900F01 /* ReaderThumbRequest.m in Sources */, + F09BBC0217B7C8BC00900F01 /* ReaderThumbsView.m in Sources */, + F09BBC0317B7C8BC00900F01 /* ReaderThumbView.m in Sources */, + F09BBC0417B7C8BC00900F01 /* ReaderViewController.m in Sources */, + F09BBC0517B7C8BC00900F01 /* ThumbsMainToolbar.m in Sources */, + F09BBC0617B7C8BC00900F01 /* ThumbsViewController.m in Sources */, + F09BBC0717B7C8BC00900F01 /* UIXToolbarView.m in Sources */, + F09BBC0E17B7C8EA00900F01 /* ReaderAppDelegate.m in Sources */, + F09BBC0F17B7C8EA00900F01 /* ReaderBookDelegate.m in Sources */, + F09BBC1017B7C8EA00900F01 /* ReaderDemoController.m in Sources */, + F09BBC1D17B7D62B00900F01 /* NightReaderViewController.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXVariantGroup section */ + F09BBB9F17B7C6C400900F01 /* InfoPlist.strings */ = { + isa = PBXVariantGroup; + children = ( + F09BBBA017B7C6C400900F01 /* en */, + ); + name = InfoPlist.strings; + sourceTree = ""; + }; +/* End PBXVariantGroup section */ + +/* Begin XCBuildConfiguration section */ + F09BBBB717B7C6C400900F01 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_DYNAMIC_NO_PIC = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 6.1; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = iphoneos; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; + }; + F09BBBB817B7C6C400900F01 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = YES; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 6.1; + OTHER_CFLAGS = "-DNS_BLOCK_ASSERTIONS=1"; + SDKROOT = iphoneos; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + F09BBBBA17B7C6C400900F01 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_IDENTITY = "iPhone Distribution: Stichting Klinisch Wetenschappelijk Onderzoek Slotervaartziekenhuis (94KAKB756Z)"; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Distribution: Stichting Klinisch Wetenschappelijk Onderzoek Slotervaartziekenhuis (94KAKB756Z)"; + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = "Night Reader/Night Reader-Prefix.pch"; + INFOPLIST_FILE = "Night Reader/Night Reader-Info.plist"; + PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE = "A2DA4094-40CD-40A9-8FDA-5A589F41622C"; + "PROVISIONING_PROFILE[sdk=iphoneos*]" = "A2DA4094-40CD-40A9-8FDA-5A589F41622C"; + WRAPPER_EXTENSION = app; + }; + name = Debug; + }; + F09BBBBB17B7C6C400900F01 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_IDENTITY = "iPhone Distribution: Stichting Klinisch Wetenschappelijk Onderzoek Slotervaartziekenhuis (94KAKB756Z)"; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Distribution: Stichting Klinisch Wetenschappelijk Onderzoek Slotervaartziekenhuis (94KAKB756Z)"; + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = "Night Reader/Night Reader-Prefix.pch"; + INFOPLIST_FILE = "Night Reader/Night Reader-Info.plist"; + PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE = "A2DA4094-40CD-40A9-8FDA-5A589F41622C"; + "PROVISIONING_PROFILE[sdk=iphoneos*]" = "A2DA4094-40CD-40A9-8FDA-5A589F41622C"; + WRAPPER_EXTENSION = app; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + F09BBB8E17B7C6C300900F01 /* Build configuration list for PBXProject "Night Reader" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + F09BBBB717B7C6C400900F01 /* Debug */, + F09BBBB817B7C6C400900F01 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + F09BBBB917B7C6C400900F01 /* Build configuration list for PBXNativeTarget "Night Reader" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + F09BBBBA17B7C6C400900F01 /* Debug */, + F09BBBBB17B7C6C400900F01 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = F09BBB8B17B7C6C300900F01 /* Project object */; +} diff --git a/Night Reader/Night Reader/Night Reader.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/Night Reader/Night Reader/Night Reader.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..37bc8a3 --- /dev/null +++ b/Night Reader/Night Reader/Night Reader.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/Night Reader/Night Reader/Night Reader.xcodeproj/project.xcworkspace/xcuserdata/nop.xcuserdatad/UserInterfaceState.xcuserstate b/Night Reader/Night Reader/Night Reader.xcodeproj/project.xcworkspace/xcuserdata/nop.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100644 index 0000000000000000000000000000000000000000..2218e29ddae8afea4295908db8d7223b1dd08499 GIT binary patch literal 56972 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 + + + + HasAskedToTakeAutomaticSnapshotBeforeSignificantChanges + + SnapshotAutomaticallyBeforeSignificantChanges + + + diff --git a/Night Reader/Night Reader/Night Reader.xcodeproj/project.xcworkspace/xcuserdata/norbertschmidt.xcuserdatad/UserInterfaceState.xcuserstate b/Night Reader/Night Reader/Night Reader.xcodeproj/project.xcworkspace/xcuserdata/norbertschmidt.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100644 index 0000000000000000000000000000000000000000..3c4e4af0c30adc71fa633a30d1916b293555315a GIT binary patch literal 31296 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 Gr~V&>>i9qa literal 0 HcmV?d00001 diff --git a/Night Reader/Night Reader/Night Reader.xcodeproj/xcuserdata/nop.xcuserdatad/xcdebugger/Breakpoints.xcbkptlist b/Night Reader/Night Reader/Night Reader.xcodeproj/xcuserdata/nop.xcuserdatad/xcdebugger/Breakpoints.xcbkptlist new file mode 100644 index 0000000..2fd6102 --- /dev/null +++ b/Night Reader/Night Reader/Night Reader.xcodeproj/xcuserdata/nop.xcuserdatad/xcdebugger/Breakpoints.xcbkptlist @@ -0,0 +1,20 @@ + + + + + + + diff --git a/Night Reader/Night Reader/Night Reader.xcodeproj/xcuserdata/nop.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist b/Night Reader/Night Reader/Night Reader.xcodeproj/xcuserdata/nop.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist new file mode 100644 index 0000000..5b4ef0f --- /dev/null +++ b/Night Reader/Night Reader/Night Reader.xcodeproj/xcuserdata/nop.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist @@ -0,0 +1,23 @@ + + + + + + + + + diff --git a/Night Reader/Night Reader/Night Reader.xcodeproj/xcuserdata/nop.xcuserdatad/xcschemes/Night Reader.xcscheme b/Night Reader/Night Reader/Night Reader.xcodeproj/xcuserdata/nop.xcuserdatad/xcschemes/Night Reader.xcscheme new file mode 100644 index 0000000..5bfd779 --- /dev/null +++ b/Night Reader/Night Reader/Night Reader.xcodeproj/xcuserdata/nop.xcuserdatad/xcschemes/Night Reader.xcscheme @@ -0,0 +1,86 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Night Reader/Night Reader/Night Reader.xcodeproj/xcuserdata/nop.xcuserdatad/xcschemes/xcschememanagement.plist b/Night Reader/Night Reader/Night Reader.xcodeproj/xcuserdata/nop.xcuserdatad/xcschemes/xcschememanagement.plist new file mode 100644 index 0000000..3616801 --- /dev/null +++ b/Night Reader/Night Reader/Night Reader.xcodeproj/xcuserdata/nop.xcuserdatad/xcschemes/xcschememanagement.plist @@ -0,0 +1,22 @@ + + + + + SchemeUserState + + Night Reader.xcscheme + + orderHint + 0 + + + SuppressBuildableAutocreation + + F09BBB9217B7C6C300900F01 + + primary + + + + + diff --git a/Night Reader/Night Reader/Night Reader.xcodeproj/xcuserdata/norbertschmidt.xcuserdatad/xcschemes/Night Reader.xcscheme b/Night Reader/Night Reader/Night Reader.xcodeproj/xcuserdata/norbertschmidt.xcuserdatad/xcschemes/Night Reader.xcscheme new file mode 100644 index 0000000..b2c9d00 --- /dev/null +++ b/Night Reader/Night Reader/Night Reader.xcodeproj/xcuserdata/norbertschmidt.xcuserdatad/xcschemes/Night Reader.xcscheme @@ -0,0 +1,86 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Night Reader/Night Reader/Night Reader.xcodeproj/xcuserdata/norbertschmidt.xcuserdatad/xcschemes/xcschememanagement.plist b/Night Reader/Night Reader/Night Reader.xcodeproj/xcuserdata/norbertschmidt.xcuserdatad/xcschemes/xcschememanagement.plist new file mode 100644 index 0000000..3616801 --- /dev/null +++ b/Night Reader/Night Reader/Night Reader.xcodeproj/xcuserdata/norbertschmidt.xcuserdatad/xcschemes/xcschememanagement.plist @@ -0,0 +1,22 @@ + + + + + SchemeUserState + + Night Reader.xcscheme + + orderHint + 0 + + + SuppressBuildableAutocreation + + F09BBB9217B7C6C300900F01 + + primary + + + + + diff --git a/Night Reader/Night Reader/Night Reader/84-lightbulb.png b/Night Reader/Night Reader/Night Reader/84-lightbulb.png new file mode 100644 index 0000000000000000000000000000000000000000..91d4ce1f9400e2e700fe89819dbfde06bf0c88e1 GIT binary patch literal 1132 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 literal 0 HcmV?d00001 diff --git a/Night Reader/Night Reader/Night Reader/AppDelegate.h b/Night Reader/Night Reader/Night Reader/AppDelegate.h new file mode 100644 index 0000000..ede74c6 --- /dev/null +++ b/Night Reader/Night Reader/Night Reader/AppDelegate.h @@ -0,0 +1,19 @@ +// +// AppDelegate.h +// Night Reader +// +// Created by Norbert Schmidt on 11-08-13. +// Copyright (c) 2013 Norbert Schmidt. All rights reserved. +// + +#import + +@class NightReaderViewController; + +@interface AppDelegate : UIResponder + +@property (strong, nonatomic) UIWindow *window; + +@property (strong, nonatomic) NightReaderViewController *viewController; + +@end diff --git a/Night Reader/Night Reader/Night Reader/AppDelegate.m b/Night Reader/Night Reader/Night Reader/AppDelegate.m new file mode 100644 index 0000000..61a63b4 --- /dev/null +++ b/Night Reader/Night Reader/Night Reader/AppDelegate.m @@ -0,0 +1,56 @@ +// +// AppDelegate.m +// Night Reader +// +// Created by Norbert Schmidt on 11-08-13. +// Copyright (c) 2013 Norbert Schmidt. All rights reserved. +// + +#import "AppDelegate.h" + +#import "NightReaderViewController.h" + +@implementation AppDelegate + +- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions +{ + self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; + // Override point for customization after application launch. + if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone) { + self.viewController = [[NightReaderViewController alloc] initWithNibName:@"NightReaderViewController" bundle:nil]; + } else { + self.viewController = [[NightReaderViewController alloc] initWithNibName:@"NightReaderViewController-ipad" bundle:nil]; + } + self.window.rootViewController = self.viewController; + [self.window makeKeyAndVisible]; + return YES; +} + +- (void)applicationWillResignActive:(UIApplication *)application +{ + // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state. + // Use this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. Games should use this method to pause the game. +} + +- (void)applicationDidEnterBackground:(UIApplication *)application +{ + // Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later. + // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits. +} + +- (void)applicationWillEnterForeground:(UIApplication *)application +{ + // Called as part of the transition from the background to the inactive state; here you can undo many of the changes made on entering the background. +} + +- (void)applicationDidBecomeActive:(UIApplication *)application +{ + // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface. +} + +- (void)applicationWillTerminate:(UIApplication *)application +{ + // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:. +} + +@end diff --git a/Night Reader/Night Reader/Night Reader/CGPDFDocument.h b/Night Reader/Night Reader/Night Reader/CGPDFDocument.h new file mode 100644 index 0000000..54c02ff --- /dev/null +++ b/Night Reader/Night Reader/Night Reader/CGPDFDocument.h @@ -0,0 +1,35 @@ +// +// CGPDFDocument.h +// Reader v2.6.0 +// +// Created by Julius Oklamcak on 2011-07-01. +// Copyright © 2011-2013 Julius Oklamcak. All rights reserved. +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights to +// use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +// of the Software, and to permit persons to whom the Software is furnished to +// do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in all +// copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +// CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +// + +#import +#import + +// +// Custom CGPDFDocument[...] functions +// + +CGPDFDocumentRef CGPDFDocumentCreateX(CFURLRef theURL, NSString *password); + +BOOL CGPDFDocumentNeedsPassword(CFURLRef theURL, NSString *password); diff --git a/Night Reader/Night Reader/Night Reader/CGPDFDocument.m b/Night Reader/Night Reader/Night Reader/CGPDFDocument.m new file mode 100644 index 0000000..2176cae --- /dev/null +++ b/Night Reader/Night Reader/Night Reader/CGPDFDocument.m @@ -0,0 +1,136 @@ +// +// CGPDFDocument.m +// Reader v2.6.0 +// +// Created by Julius Oklamcak on 2011-07-01. +// Copyright © 2011-2013 Julius Oklamcak. All rights reserved. +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights to +// use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +// of the Software, and to permit persons to whom the Software is furnished to +// do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in all +// copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +// CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +// + +#import "CGPDFDocument.h" + +// +// CGPDFDocumentRef CGPDFDocumentCreateX(CFURLRef, NSString *) function +// +// OF HIER DOEN NOP + +CGPDFDocumentRef CGPDFDocumentCreateX(CFURLRef theURL, NSString *password) +{ + CGPDFDocumentRef thePDFDocRef = NULL; + + if (theURL != NULL) // Check for non-NULL CFURLRef + { + thePDFDocRef = CGPDFDocumentCreateWithURL(theURL); + + if (thePDFDocRef != NULL) // Check for non-NULL CGPDFDocumentRef + { + if (CGPDFDocumentIsEncrypted(thePDFDocRef) == TRUE) // Encrypted + { + // Try a blank password first, per Apple's Quartz PDF example + + if (CGPDFDocumentUnlockWithPassword(thePDFDocRef, "") == FALSE) + { + // Nope, now let's try the provided password to unlock the PDF + + if ((password != nil) && ([password length] > 0)) // Not blank? + { + char text[128]; // char array buffer for the string conversion + + [password getCString:text maxLength:126 encoding:NSUTF8StringEncoding]; + + if (CGPDFDocumentUnlockWithPassword(thePDFDocRef, text) == FALSE) // Log failure + { + #ifdef DEBUG + NSLog(@"CGPDFDocumentCreateX: Unable to unlock [%@] with [%@]", theURL, password); + #endif + } + } + } + + if (CGPDFDocumentIsUnlocked(thePDFDocRef) == FALSE) // Cleanup unlock failure + { + CGPDFDocumentRelease(thePDFDocRef), thePDFDocRef = NULL; + } + } + } + } + else // Log an error diagnostic + { + #ifdef DEBUG + NSLog(@"CGPDFDocumentCreateX: theURL == NULL"); + #endif + } + + return thePDFDocRef; +} + +// +// BOOL CGPDFDocumentNeedsPassword(CFURLRef, NSString *) function +// + +BOOL CGPDFDocumentNeedsPassword(CFURLRef theURL, NSString *password) +{ + BOOL needPassword = NO; // Default flag + + if (theURL != NULL) // Check for non-NULL CFURLRef + { + CGPDFDocumentRef thePDFDocRef = CGPDFDocumentCreateWithURL(theURL); + + if (thePDFDocRef != NULL) // Check for non-NULL CGPDFDocumentRef + { + if (CGPDFDocumentIsEncrypted(thePDFDocRef) == TRUE) // Encrypted + { + // Try a blank password first, per Apple's Quartz PDF example + + if (CGPDFDocumentUnlockWithPassword(thePDFDocRef, "") == FALSE) + { + // Nope, now let's try the provided password to unlock the PDF + + if ((password != nil) && ([password length] > 0)) // Not blank? + { + char text[128]; // char array buffer for the string conversion + + [password getCString:text maxLength:126 encoding:NSUTF8StringEncoding]; + + if (CGPDFDocumentUnlockWithPassword(thePDFDocRef, text) == FALSE) + { + needPassword = YES; + } + } + else + { + needPassword = YES; + } + } + } + + CGPDFDocumentRelease(thePDFDocRef); // Cleanup CGPDFDocumentRef + } + } + else // Log an error diagnostic + { + #ifdef DEBUG + NSLog(@"CGPDFDocumentNeedsPassword: theURL == NULL"); + #endif + } + + return needPassword; +} + +// EOF diff --git a/Night Reader/Night Reader/Night Reader/Default-568h@2x.png b/Night Reader/Night Reader/Night Reader/Default-568h@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..0891b7aabfcf3422423b109c8beed2bab838c607 GIT binary patch literal 18594 zcmeI4X;f257Jx&9fS`ixvS;&$x8J@slQFSel)6zJN=?13FB7H(lQjRkSy8x_-S~tvu2gzn1oS+dLcF#eqtq$ z%tf9TTvX?`)R@}3uBI;jzS-=ZR-Td&MHaS&;!0?Ni*#$#`n*~CcQK)Q9vAQ~TUpnI!j)a2biYK^R)M~A5wUDZhx?ULMX z3x1P&qt=trOY6P2U67L=m=U?F|5#Uj(eCueNTZaHs_ceWiHeET+j+tp3Jt9g(ekqP z2WOvfR{qV+9r+o4J5?qK>7;;^+I7tGv-i)es$X_D=EoKF+S?zsyj^oRFElP}c}JT< zd8SUs-?O?}2YD#ngKbnHgzHBcboxK_2r9l(?eNCl-pEzkJm}fY?WC*jnS?VBE4EpY zO$fEejz6fU;W2Kl>JeQBZBl-%Irg`obSlg*@4QB;Dd1H7^Oi5wvt4d{RZ!8Og?^aE z)k0$1g+V3fd(gdQ3d&q2q-FL*uy#}|bc^=VhFsl0jBgUGJ+-s3U8MK9A!YJJMxpci z5hJ%|{DwV48fZn0{n5l$N_KcSb#NKE4plB`9I6Zt=Z!~-zw0{9tg$L&Ju1F0X)Cy8 zKF;(&lJ>x)Jw(=;p~sF(Sd9VWGwFE2rnyS9!f^DZ8+aCLq zQ};>lcJ1GDLqjm6Hd>|Eabno@P`~Bn(~6^aD_#yoEH(a?Nm1S<;S+hSxI5d16^<1lEM3NPFi zkqPrpL)+ zgnseFikg`gJVBha1&7C4;O6>h=dt~`ND+;Zd?W(4v2JIb7Pt>Td42%M-Ju-XAH#Pns762L}K3 zDhvsRqN0Ni(1UrishD2YvV?4*h2iFj$+&N||Fn$4n|^NSU+o?~jq`0jVQt8T9l{7b zXiwwODFh2V!Q6sqP9S>WH$oOf$N~=d0-bqTlD61!=`&0eAP-F>XN?*|gtOXX{ zQVTWyYo4ZK0GAw!GHf|pz9`D;-bbb*5LBX*{bnz|+)$@&P9|ORM2o?95{;ejvo&r- zq8cBhTN6nn)7~W>54U)%-F_-b?YKdfk5I8MHcuzBD5)!;yv#Z&R&^y=@=>VTIMy#r zX&U<=BsPkdqcMe<_}2+>H%XKyrr5ZR8_KVe>ZqYN z^=^~TFD};;rHJ$U;{~w^hYojl4hRI@SH$^K{YEo=sg)WY87r!*7blQK&qnpDo0`Vn zkl)9u9g=mCh&ZCJS(L4yN3k0kQ zuvg$h2KEEk51T+O0JQ+r0`R>g{jvqM0Mr6d3qUOZwE!?PI7HY@CE|dr sfw?Q;rAv?G4&^^8-z_>&sWXMxvD*gPOU4CBe-*@OtE+wfmVJNyHv)PfH~;_u literal 0 HcmV?d00001 diff --git a/Night Reader/Night Reader/Night Reader/Default.png b/Night Reader/Night Reader/Night Reader/Default.png new file mode 100644 index 0000000000000000000000000000000000000000..4c8ca6f693f96d511e9113c0eb59eec552354e42 GIT binary patch literal 6540 zcmeAS@N?(olHy`uVBq!ia0y~yU~~ZD2OMlbkt;o0To@QwR5G2N13aCb6#|O#(=u~X z85k@CTSM>X-wqM6>&y>YB4)1;;ojbLbbV-W^iFB1wa3^zCog^LCAReC4K0-?R_2{6 zrP*)4+_uWUy3w5N52M3PW_}MFMP9a~>YLvVZ1D_k*IMQ2QT^fwzoOb(*3gH$%aYWC zkHmcab=va2<#X%jakpJ;<1@F;k__#bwtC&%^D0v(FBh9K&$sK+<}2RJS609D)17$w ztdQP8(eLM8Ka}m_IQ@3wyMKP)l=oM4-?`YS_*P?4V_ORLPxsj&7Ju#kH;>6^Kp?T7~ zl+q?{UOOqV==?+d{=)5s|M~T1mwtH@+Z^$G&eEO9JNP^AX@3jZ*J*!!>lc|1-W%fA z@AOQpXZ_Lt>rxFXrGp*zLPiW@uo_c7C{As>j zWeX)wi+LTp_)@KYZCX{j;H?|1yXT4DnlS(Fr8gyP5|uaX_gLvaW0ScZdnG7o+u{T6 zFI-%d{ls*WuCDa5UJ@|RXv&ejZe}*BMkiWY51&pnRPw(hlykSzvj6e%mYz-GdvzBD zF10?szF_~!jS=?2HyQuPCvARXAe}C}WP|yQ*>5~~=*Nxq8+HHW1~FMDRCP^TcacKuk$ z(U#REVv)D!PhJ*ecH-ELFUrfyV&*)Z)>UCOuS?yd^L@Afk>ihynYPc{^CRwu+JHX+#$@YsC4c|l0tGigsn@jy) zXD($Ouk>H+V(Mr6NQT0S9BFM~V6nkj;1OBOz`zY;a|<&v%$g$sEJPk;hD4M^`1)8S z=jZArrsOB3>Q&?x097+E*i={nnYpPYi3%0DIeEoa6}C!X6;?ntNLXJ<0j#7X+g2&U zH$cHTzbI9~RL@Y)NXd>%K|#T$C?(A*$i)q+9mum)$|xx*u+rBrFE7_CH`dE9O4m2E zw6xSWFw!?N(gmu}Ew0QfNvzP#D^`XW0yD=YwK%ybv!En1KTiQ3|)OBHVcpi zp&D%TL4k-AsNfg_g$9~9p}$+4Ynr|VULLgiakg&)DD)EWO!OHC@snXr}UI${nVUP zpr1>Mf#G6^ng~;pt%^&NvQm>vU@-wn)!_JWN=(;B61LIDR86%A1?G9U(@`={MPdPF zbOKdd`R1o&rd7HmmZaJl85kPr8kp-EnTHsfS{ayIfdU*&4N@e5WSomq6HD@oLh|!- z?7;Dr3*ssm=^5w&a}>G?yzvAH17L|`#|6|0E4}QvA~xC{V_*wu2^AHZU}H9f($4F$btFf{}TLQXUhF5fht1@YV$^ z9BUdFV+73^nIsvRXRM40U}6b7z_6}kHbY}i1LK(xT@6Mi?F5GKBfbp|ZU-3BR*6kv zXcRSQ(0-)mprD+wTr)o_4I;(%zOu)+jEgNB)_SXCVoSa}|F?cfwR!69+L=W3IX z!UiU`0@ph%94Rb33Cpq^IY*r_8XBW%V>G9XmK&p`=xCiXTEmXEH%41uqixaAmicH0 zVYIt6!aI*K%s=kP-v##6IXGZ2Cama>{@)81;C?K-P&M2k<0!GL}5+H~XTq*@SQi|Ft z2*0X`$`8S!qO#)xBeJRkf?;t189=ZB6Imw-h=`q;FP(2UpWZvmJ@=k-@45M(dtb7r zyVEiaLk$=Vw#>zu;st}j6Jf9=m1+nXCFe!$1PrEZ%5Ze_ba8YX_9-*rJujiLuQmJo&2v+Cxes}ec zU|qeux&7*yz#W=X_|wGQskL7*OHNjwFs@sEC+64Hb$Z(#H21Gh$Pe2WzOubdr6fzg z{l{!k%OD?N5Z7j33SoK?YdV6Scm>})U+MIQLNRgIvkZQEc^mP9XBPg%y|S$~Br|;N zk?-!-(Qqh_mQ|6WINQ{hHAjBRV#O#!FkAJ+oxy`L#f8V45*VvWMJFBB5m zG6vOLtDvgoDjHlSq-*h5xM56O>Jjau2f2IxKItIb@coX4XTyf$^{LZG&lI|D95wN1 z!fo0)q>WV7-V;q|A?HR!*bgozJw%j98-~gwBKVV0;=hZIF>7oJSr2YjOWO*rSxz#& z;KXnDrJVZp;Yduiy1-H%s$ZFz6Q=x@$V_B@Tqwl?>6e;EHt|MiK<(#hXQMuj@Jseeh&eN{FxsQ$iw>D1aX1HMMlUbh?Z zmhY4eHffn5&LUbL_}o8|$JYz&$WFiLWmEg0ZPX+;W>@CxQz-%{E5+P7dH9&ey_y$R z@Zzje>2B%z!i!7Brqi{t5Y)~5>vpqRs~2aXD8DVE8vKl=`k(`duI1-k@?!pJ^HA6S zS;3WpuhjQHyoC>X>Xf8gze%_8^#+^RTV>V9&YPAWMjd~%xpSg?ON?kK^X*Pb(o8jR zz;DmaOWMMr6=M~K?MFx4_xDkARTxLJ@W@ohAx z5RD0jGgk?QL@H`VubD2k4}?VtB8@g`%hHBA$2pJ(gK5g1HMNysXEF_BNu-p!&+Qa8_APgopHWnRgg=TZZF*sXWTMQPD z!Q(Au5|+F;7M~`tWbsU98~NA{h0Y7%GB|t&n}w9OOABU4^X*V5xuN;rY(M#ouuqm) zyt!e?28fY!FgP?8GvBsMl_aM^UUVKiGFsleFN?t^<46kO#pF-cX0;sIOb(aM z)^jQgX^Z6pKA9mC@N)_aiHj9HxD2|?A@Y9B_h}(*v3%ek8CXc1Qy^jFPF&zrMa1OZ zSVaF{&ZY|(|H0XE&X>-XQz1`=fF2n@VKC_|h3jlKVM&-jmyMavllcYr`6LVtfq2ou zd+8zkkCB+2)rxq0Lkq_&Ad@g(O8;pAm96>tu79?81T@Z<;gm^3ZtPG-SR94Mr<3tm z9NrR3u*4I5aMlo(09g@8m_;%Rf+XiSa_KZao9n}7N0JrsV#;5Ucr+F*TTzQ8{%f3O zeIUy?WDS|-$LvMc@Z7320)tr}bfIka5hx9H;8H|%our=C+Do0CSFRWue14o5#r8v2 zw=|&r4*eMX%lgCV(ka?*j%H^UuP4LmBC(ON`)&7>NF-|PDRU{-7o`CU0HNbd&c~))@yl9IKu_ zXA+A-!khpP_yx=f#qt2_0ptmgBf4gF!{Y)MW6R$cC1d7@$Yb?+_j zYwfE^5_e`vhT zX=u3r>4$fsxP&apbm@Rcbyuc2T=giqZiMo9@9=oua6#YH0hO-1ak9^rJTPMM qY4Yr5Cu^v99p{E9VdroUHKlRW;M8#BJ^AOQE?e9wSHJo8(7yq;BYKSh literal 0 HcmV?d00001 diff --git a/Night Reader/Night Reader/Night Reader/Night Reader-Info.plist b/Night Reader/Night Reader/Night Reader/Night Reader-Info.plist new file mode 100644 index 0000000..2855fdc --- /dev/null +++ b/Night Reader/Night Reader/Night Reader/Night Reader-Info.plist @@ -0,0 +1,64 @@ + + + + + CFBundleDevelopmentRegion + en + CFBundleDisplayName + Night Reader + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIcons + + CFBundlePrimaryIcon + + CFBundleIconFiles + + Icon.png + Icon@2x.png + + UIPrerenderedIcon + + + + CFBundleIdentifier + nl.slz.30minutes + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + ${PRODUCT_NAME} + CFBundlePackageType + APPL + CFBundleShortVersionString + 1.0 + CFBundleSignature + ???? + CFBundleVersion + 1.0 + LSRequiresIPhoneOS + + UIFileSharingEnabled + + UIPrerenderedIcon + + UIRequiredDeviceCapabilities + + armv7 + + UIStatusBarHidden + + UISupportedInterfaceOrientations + + UIInterfaceOrientationPortrait + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + UISupportedInterfaceOrientations~ipad + + UIInterfaceOrientationPortrait + UIInterfaceOrientationPortraitUpsideDown + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + + diff --git a/Night Reader/Night Reader/Night Reader/Night Reader-Prefix.pch b/Night Reader/Night Reader/Night Reader/Night Reader-Prefix.pch new file mode 100644 index 0000000..ecf9ca3 --- /dev/null +++ b/Night Reader/Night Reader/Night Reader/Night Reader-Prefix.pch @@ -0,0 +1,14 @@ +// +// Prefix header for all source files of the 'Night Reader' target in the 'Night Reader' project +// + +#import + +#ifndef __IPHONE_4_0 +#warning "This project uses features only available in iOS SDK 4.0 and later." +#endif + +#ifdef __OBJC__ + #import + #import +#endif diff --git a/Night Reader/Night Reader/Night Reader/NightReaderViewController-ipad.xib b/Night Reader/Night Reader/Night Reader/NightReaderViewController-ipad.xib new file mode 100644 index 0000000..30aebe2 --- /dev/null +++ b/Night Reader/Night Reader/Night Reader/NightReaderViewController-ipad.xib @@ -0,0 +1,257 @@ + + + + 1552 + 12E55 + 3084 + 1187.39 + 626.00 + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + 2083 + + + IBProxyObject + IBUIButton + IBUILabel + IBUITableView + IBUIView + + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + PluginDependencyRecalculationVersion + + + + + IBFilesOwner + IBIPadFramework + + + IBFirstResponder + IBIPadFramework + + + + 292 + + + + 274 + {{0, 49}, {768, 955}} + + + + _NS:9 + + 1 + MCAwIDAAA + + YES + IBIPadFramework + NO + 1 + NO + 1 + 0 + YES + 44 + 22 + 22 + + + + 292 + {{730, 13}, {18, 19}} + + + + _NS:9 + NO + IBIPadFramework + 0 + 0 + 4 + YES + + 3 + MQA + + + 1 + MC4xOTYwNzg0MzQ2IDAuMzA5ODAzOTMyOSAwLjUyMTU2ODY1NgA + + + 3 + MC41AA + + + 2 + 15 + + + Helvetica-Bold + 15 + 16 + + + + + 292 + {{273, 11}, {222, 21}} + + + + _NS:9 + NO + YES + 7 + NO + IBIPadFramework + Night Reader Documents + + 2 + MC42NTA5ODA0MTMgMCAwAA + + + 2 + MC42NTA5ODA0MTMgMCAwAA + + 0 + + 2 + 17 + + + Helvetica-Bold + 17 + 16 + + NO + + + {768, 1004} + + + + + 1 + MC4xNTUwNzQxMzkgMC4xNTUwNzQxMzkgMC4xNTUwNzQxMzkAA + + NO + IBIPadFramework + + + + + + + view + + + + 3 + + + + MaintableView + + + + 52 + + + + + + 0 + + + + + + -1 + + + File's Owner + + + -2 + + + + + 2 + + + + + + + + + + 47 + + + + + 48 + + + + + 49 + + + + + + + NightReaderViewController + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + UIResponder + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + + + + 52 + + + + + NightReaderViewController + UIViewController + + MaintableView + UITableView + + + MaintableView + + MaintableView + UITableView + + + + IBProjectSource + ./Classes/NightReaderViewController.h + + + + + 0 + IBIPadFramework + YES + 3 + 2083 + + diff --git a/Night Reader/Night Reader/Night Reader/NightReaderViewController.h b/Night Reader/Night Reader/Night Reader/NightReaderViewController.h new file mode 100644 index 0000000..86c8390 --- /dev/null +++ b/Night Reader/Night Reader/Night Reader/NightReaderViewController.h @@ -0,0 +1,21 @@ +// +// ViewController.h +// FileSharingDemo +// +// Created by Kashif Jilani on 11/15/12. +// Copyright (c) 2012 Kashif Jilani. All rights reserved. +// + +#import +#import "ReaderViewController.h" + +@interface NightReaderViewController : UIViewController { + + IBOutlet UITableView *MaintableView; + NSArray *dataArray; + NSMutableArray *finalArray; +} + +@property (nonatomic, retain) UITableView *MaintableView; + +@end diff --git a/Night Reader/Night Reader/Night Reader/NightReaderViewController.m b/Night Reader/Night Reader/Night Reader/NightReaderViewController.m new file mode 100644 index 0000000..a5d72e0 --- /dev/null +++ b/Night Reader/Night Reader/Night Reader/NightReaderViewController.m @@ -0,0 +1,173 @@ +// +// ViewController.m +// FileSharingDemo +// +// Created by Kashif Jilani on 11/15/12. +// Copyright (c) 2012 Kashif Jilani. All rights reserved. +// + +#import "NightReaderViewController.h" + +@interface NightReaderViewController () + +@end + +@implementation NightReaderViewController +@synthesize MaintableView; + +- (void)viewDidLoad +{ + [super viewDidLoad]; + // Do any additional setup after loading the view, typically from a nib. + + [MaintableView + setBackgroundColor:[UIColor blackColor]]; + + [MaintableView setDelegate:self]; + + UIColor *NightColor=[UIColor colorWithRed:70 green:0 blue:0 alpha:0.8]; + + + + [MaintableView setSeparatorColor:NightColor]; + + NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask, YES); + NSString *documentsPath = [paths objectAtIndex:0]; + + NSFileManager *fileManager = [NSFileManager defaultManager]; + + NSArray *bundleDirectory = [fileManager contentsOfDirectoryAtPath:documentsPath error:nil]; + + NSPredicate *filter = [NSPredicate predicateWithFormat:@"self ENDSWITH '.pdf'"]; + dataArray = [bundleDirectory filteredArrayUsingPredicate:filter]; + finalArray = [dataArray copy]; + + + + NSString *valueString = [[finalArray objectAtIndex:0] stringByDeletingPathExtension]; + + NSLog(@"Finalarray count %d", finalArray.count); + NSLog (@"Valuestring %@", valueString); + + + + + +} + +#pragma mark - Table view data source + +- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView +{ + // Return the number of sections. + return 1; +} + +- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section +{ + int x=[finalArray count]; + // Return the number of rows in the section. + NSLog (@"x= %d", x); + return 2; +} + +- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath +{ + static NSString *CellIdentifier = @"Cell"; + UITableViewCell *cell = [MaintableView dequeueReusableCellWithIdentifier:CellIdentifier]; + if (cell == nil) + { + cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] ; + } + // Configure the cell... + UIFont *myFont = [ UIFont fontWithName: @"System" size: 16.0 ]; + cell.textLabel.font = myFont; + // Set up the cell... + + UIColor *NightColor=[UIColor colorWithRed:70 green:0 blue:0 alpha:0.8]; + + UIColor *DarkNightColor=[UIColor colorWithRed:70 green:0 blue:0 alpha:0.3]; + + + + cell.textLabel.highlightedTextColor =DarkNightColor; + + cell.textLabel.textColor=NightColor; +// [[cell textLabel] setText:contentForThisRow]; + + NSString *testje= [[finalArray objectAtIndex:indexPath.row] stringByDeletingPathExtension]; + + NSLog (@"Testje %@", testje); + + cell.textLabel.text = testje; + + + + + + + + return cell; +} + + + +#pragma mark - Table view delegate + +- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath +{ + + + + + + + UITableViewCell *cell; + cell = [MaintableView cellForRowAtIndexPath:indexPath]; + + UIView *bgColorView = [[UIView alloc] init]; + + UIColor *DarkNightColor=[UIColor colorWithRed:70 green:0 blue:0 alpha:0.3]; + UIColor *NightColor=[UIColor colorWithRed:70 green:0 blue:0 alpha:0.8]; + [bgColorView setBackgroundColor:DarkNightColor]; + [cell setSelectedBackgroundView:bgColorView]; + + + cell.textLabel.textColor=NightColor; + + NSString *valueString = [[finalArray objectAtIndex:indexPath.row] stringByDeletingPathExtension]; + NSString *file = [[NSBundle mainBundle] pathForResource:valueString ofType:@"pdf"]; + + + NSLog (@"Valuestring %@", file); + + + NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); + //Considering your pdf is stored in documents directory with name as "pdfFileName" + + NSString *pdfPath = [[paths objectAtIndex:0]stringByAppendingPathComponent:[NSString stringWithFormat:@"%@.pdf",valueString]]; + + + ReaderDocument *document = [ReaderDocument withDocumentFilePath:pdfPath password:nil]; + + ReaderViewController *readerViewController = [[ReaderViewController alloc] initWithReaderDocument:document]; + readerViewController.delegate = self; + + [self presentViewController:readerViewController animated:YES completion:nil]; + + +} + +- (void)dismissReaderViewController:(ReaderViewController *)viewController { + [self dismissViewControllerAnimated:YES completion:nil]; +} + + + +- (void)didReceiveMemoryWarning +{ + [super didReceiveMemoryWarning]; + // Dispose of any resources that can be recreated. +} + +@end diff --git a/Night Reader/Night Reader/Night Reader/NightReaderViewController.xib b/Night Reader/Night Reader/Night Reader/NightReaderViewController.xib new file mode 100644 index 0000000..2c4560f --- /dev/null +++ b/Night Reader/Night Reader/Night Reader/NightReaderViewController.xib @@ -0,0 +1,263 @@ + + + + 1552 + 12E55 + 3084 + 1187.39 + 626.00 + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + 2083 + + + IBProxyObject + IBUIButton + IBUILabel + IBUITableView + IBUIView + + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + PluginDependencyRecalculationVersion + + + + + IBFilesOwner + IBCocoaTouchFramework + + + IBFirstResponder + IBCocoaTouchFramework + + + + 274 + + + + 274 + {{0, 32}, {320, 428}} + + _NS:9 + + 1 + MCAwIDAAA + + YES + IBCocoaTouchFramework + NO + 1 + NO + 1 + 0 + YES + 44 + 22 + 22 + + + + 292 + {{49, 5}, {222, 21}} + + + _NS:9 + NO + YES + 7 + NO + IBCocoaTouchFramework + Night Reader Documents + + 2 + MC42NTA5ODA0MTMgMCAwAA + + + 2 + MC42NTA5ODA0MTMgMCAwAA + + 0 + + 2 + 17 + + + Helvetica-Bold + 17 + 16 + + NO + + + + 292 + {{287, 6}, {18, 19}} + + _NS:9 + NO + IBCocoaTouchFramework + 0 + 0 + 4 + YES + + 3 + MQA + + + 1 + MC4xOTYwNzg0MzQ2IDAuMzA5ODAzOTMyOSAwLjUyMTU2ODY1NgA + + + 3 + MC41AA + + + 2 + 15 + + + Helvetica-Bold + 15 + 16 + + + + {{0, 20}, {320, 460}} + + + + 1 + MC4xNTUwNzQxMzkgMC4xNTUwNzQxMzkgMC4xNTUwNzQxMzkAA + + NO + + + IBUIScreenMetrics + + YES + + + + + + {320, 480} + {480, 320} + + + IBCocoaTouchFramework + Retina 3.5 Full Screen + 0 + + IBCocoaTouchFramework + + + + + + + view + + + + 7 + + + + MaintableView + + + + 41 + + + + dataSource + + + + 22 + + + + delegate + + + + 23 + + + + + + 0 + + + + + + -1 + + + File's Owner + + + -2 + + + + + 6 + + + + + + + + + + 29 + + + + + 30 + + + + + 20 + + + + + + + NightReaderViewController + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + UIResponder + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + + + + 41 + + + 0 + IBCocoaTouchFramework + YES + 3 + 2083 + + diff --git a/Night Reader/Night Reader/Night Reader/ReaderAppDelegate.h b/Night Reader/Night Reader/Night Reader/ReaderAppDelegate.h new file mode 100644 index 0000000..dec4d33 --- /dev/null +++ b/Night Reader/Night Reader/Night Reader/ReaderAppDelegate.h @@ -0,0 +1,30 @@ +// +// ReaderAppDelegate.h +// Reader v2.6.0 +// +// Created by Julius Oklamcak on 2011-07-01. +// Copyright © 2011-2013 Julius Oklamcak. All rights reserved. +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights to +// use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +// of the Software, and to permit persons to whom the Software is furnished to +// do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in all +// copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +// CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +// + +#import + +@interface ReaderAppDelegate : NSObject + +@end diff --git a/Night Reader/Night Reader/Night Reader/ReaderAppDelegate.m b/Night Reader/Night Reader/Night Reader/ReaderAppDelegate.m new file mode 100644 index 0000000..27b7c55 --- /dev/null +++ b/Night Reader/Night Reader/Night Reader/ReaderAppDelegate.m @@ -0,0 +1,103 @@ +// +// ReaderAppDelegate.m +// Reader v2.6.0 +// +// Created by Julius Oklamcak on 2011-07-01. +// Copyright © 2011-2013 Julius Oklamcak. All rights reserved. +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights to +// use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +// of the Software, and to permit persons to whom the Software is furnished to +// do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in all +// copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +// CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +// + +#import "ReaderAppDelegate.h" +#import "ReaderDemoController.h" + +@implementation ReaderAppDelegate +{ + UIWindow *mainWindow; // Main App Window + + UINavigationController *navigationController; + + ReaderDemoController *readerDemoController; +} + +#pragma mark UIApplicationDelegate methods + +- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url +{ + return NO; +} + +- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions +{ + mainWindow = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds]; // Main application window + + readerDemoController = [[ReaderDemoController alloc] initWithNibName:nil bundle:nil]; // Demo controller + + navigationController = [[UINavigationController alloc] initWithRootViewController:readerDemoController]; + + mainWindow.backgroundColor = [UIColor blackColor]; // Window background color + + navigationController.navigationBar.barStyle = UIBarStyleBlack; navigationController.navigationBar.translucent = YES; + + mainWindow.rootViewController = navigationController; // Set the root view controller + + [mainWindow makeKeyAndVisible]; + + return YES; +} + +- (void)applicationWillResignActive:(UIApplication *)application +{ + // Sent when the application is about to move from active to inactive state. This can occur for certain types of + // temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application + // and it begins the transition to the background state. Use this method to pause ongoing tasks, disable timers, + // and throttle down OpenGL ES frame rates. Games should use this method to pause the game. +} + +- (void)applicationDidEnterBackground:(UIApplication *)application +{ + // Use this method to release shared resources, save user data, invalidate timers, and store enough + // application state information to restore your application to its current state in case it is terminated later. + // If your application supports background execution, called instead of applicationWillTerminate: when the user quits. +} + +- (void)applicationWillEnterForeground:(UIApplication *)application +{ + // Called as part of transition from the background to the inactive state: here you can undo many + // of the changes made on entering the background. +} + +- (void)applicationDidBecomeActive:(UIApplication *)application +{ + // Restart any tasks that were paused (or not yet started) while the application was inactive. + // If the application was previously in the background, optionally refresh the user interface. +} + +- (void)applicationWillTerminate:(UIApplication *)application +{ + // Called when the application is about to terminate. + // See also applicationDidEnterBackground:. +} + +- (void)applicationDidReceiveMemoryWarning:(UIApplication *)application +{ + // Free up as much memory as possible by purging cached data objects that can be recreated + // (or reloaded from disk) later. +} + +@end diff --git a/Night Reader/Night Reader/Night Reader/ReaderBookDelegate.h b/Night Reader/Night Reader/Night Reader/ReaderBookDelegate.h new file mode 100644 index 0000000..6add8b2 --- /dev/null +++ b/Night Reader/Night Reader/Night Reader/ReaderBookDelegate.h @@ -0,0 +1,30 @@ +// +// ReaderBookDelegate.h +// Reader v2.6.0 +// +// Created by Julius Oklamcak on 2011-09-01. +// Copyright © 2011-2013 Julius Oklamcak. All rights reserved. +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights to +// use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +// of the Software, and to permit persons to whom the Software is furnished to +// do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in all +// copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +// CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +// + +#import + +@interface ReaderBookDelegate : NSObject + +@end diff --git a/Night Reader/Night Reader/Night Reader/ReaderBookDelegate.m b/Night Reader/Night Reader/Night Reader/ReaderBookDelegate.m new file mode 100644 index 0000000..8e2e583 --- /dev/null +++ b/Night Reader/Night Reader/Night Reader/ReaderBookDelegate.m @@ -0,0 +1,121 @@ +// +// ReaderBookDelegate.m +// Reader v2.6.0 +// +// Created by Julius Oklamcak on 2011-09-01. +// Copyright © 2011-2013 Julius Oklamcak. All rights reserved. +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights to +// use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +// of the Software, and to permit persons to whom the Software is furnished to +// do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in all +// copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +// CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +// + +#import "ReaderBookDelegate.h" +#import "ReaderViewController.h" + +@interface ReaderBookDelegate () + +@end + +@implementation ReaderBookDelegate +{ + UIWindow *mainWindow; // Main App Window + + ReaderViewController *readerViewController; +} + +#pragma mark UIApplicationDelegate methods + +- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url +{ + return NO; +} + +- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions +{ + mainWindow = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds]; // Main application window + + mainWindow.backgroundColor = [UIColor blackColor]; // Window background color + + NSString *phrase = nil; // Document password (for unlocking most encrypted PDF files) + + NSArray *pdfs = [[NSBundle mainBundle] pathsForResourcesOfType:@"pdf" inDirectory:nil]; + + NSString *filePath = [pdfs lastObject]; assert(filePath != nil); // Path to last PDF file + + ReaderDocument *document = [ReaderDocument withDocumentFilePath:filePath password:phrase]; + + if (document != nil) // Must have a valid ReaderDocument object in order to proceed + { + readerViewController = [[ReaderViewController alloc] initWithReaderDocument:document]; + + readerViewController.delegate = self; // Set the ReaderViewController delegate to self + + mainWindow.rootViewController = readerViewController; // Set the root view controller + } + + [mainWindow makeKeyAndVisible]; + + return YES; +} + +- (void)applicationWillResignActive:(UIApplication *)application +{ + // Sent when the application is about to move from active to inactive state. This can occur for certain types of + // temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application + // and it begins the transition to the background state. Use this method to pause ongoing tasks, disable timers, + // and throttle down OpenGL ES frame rates. Games should use this method to pause the game. +} + +- (void)applicationDidEnterBackground:(UIApplication *)application +{ + // Use this method to release shared resources, save user data, invalidate timers, and store enough + // application state information to restore your application to its current state in case it is terminated later. + // If your application supports background execution, called instead of applicationWillTerminate: when the user quits. +} + +- (void)applicationWillEnterForeground:(UIApplication *)application +{ + // Called as part of transition from the background to the inactive state: here you can undo many + // of the changes made on entering the background. +} + +- (void)applicationDidBecomeActive:(UIApplication *)application +{ + // Restart any tasks that were paused (or not yet started) while the application was inactive. + // If the application was previously in the background, optionally refresh the user interface. +} + +- (void)applicationWillTerminate:(UIApplication *)application +{ + // Called when the application is about to terminate. + // See also applicationDidEnterBackground:. +} + +- (void)applicationDidReceiveMemoryWarning:(UIApplication *)application +{ + // Free up as much memory as possible by purging cached data objects that can be recreated + // (or reloaded from disk) later. +} + +#pragma mark ReaderViewControllerDelegate methods + +- (void)dismissReaderViewController:(ReaderViewController *)viewController +{ + // Do nothing +} + +@end diff --git a/Night Reader/Night Reader/Night Reader/ReaderConstants.h b/Night Reader/Night Reader/Night Reader/ReaderConstants.h new file mode 100644 index 0000000..db4f8f3 --- /dev/null +++ b/Night Reader/Night Reader/Night Reader/ReaderConstants.h @@ -0,0 +1,42 @@ +// +// ReaderConstants.h +// Reader v2.6.0 +// +// Created by Julius Oklamcak on 2011-07-01. +// Copyright © 2011-2013 Julius Oklamcak. All rights reserved. +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights to +// use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +// of the Software, and to permit persons to whom the Software is furnished to +// do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in all +// copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +// CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +// + +#if !__has_feature(objc_arc) + #error ARC (-fobjc-arc) is required to build this code. +#endif + +#import + +#define READER_BOOKMARKS FALSE +#define READER_ENABLE_MAIL FALSE +#define READER_ENABLE_PRINT FALSE +#define READER_ENABLE_THUMBS FALSE +#define READER_ENABLE_PREVIEW FALSE +#define READER_DISABLE_RETINA FALSE +#define READER_DISABLE_IDLE FALSE +#define READER_SHOW_SHADOWS FALSE +#define READER_STANDALONE FALSE + +extern NSString *const kReaderCopyrightNotice; diff --git a/Night Reader/Night Reader/Night Reader/ReaderConstants.m b/Night Reader/Night Reader/Night Reader/ReaderConstants.m new file mode 100644 index 0000000..fa5b66a --- /dev/null +++ b/Night Reader/Night Reader/Night Reader/ReaderConstants.m @@ -0,0 +1,28 @@ +// +// ReaderConstants.m +// Reader v2.6.0 +// +// Created by Julius Oklamcak on 2011-07-01. +// Copyright © 2011-2013 Julius Oklamcak. All rights reserved. +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights to +// use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +// of the Software, and to permit persons to whom the Software is furnished to +// do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in all +// copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +// CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +// + +#import "ReaderConstants.h" + +NSString *const kReaderCopyrightNotice = @"Reader v2.x • Copyright © 2011-2013 Julius Oklamcak. All rights reserved."; diff --git a/Night Reader/Night Reader/Night Reader/ReaderContentPage.h b/Night Reader/Night Reader/Night Reader/ReaderContentPage.h new file mode 100644 index 0000000..c2c3234 --- /dev/null +++ b/Night Reader/Night Reader/Night Reader/ReaderContentPage.h @@ -0,0 +1,52 @@ +// +// ReaderContentPage.h +// Reader v2.6.1 +// +// Created by Julius Oklamcak on 2011-07-01. +// Copyright © 2011-2013 Julius Oklamcak. All rights reserved. +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights to +// use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +// of the Software, and to permit persons to whom the Software is furnished to +// do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in all +// copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +// CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +// + +#import + +@interface ReaderContentPage : UIView + +- (id)initWithURL:(NSURL *)fileURL page:(NSInteger)page password:(NSString *)phrase; + +- (id)processSingleTap:(UITapGestureRecognizer *)recognizer; + +@end + +#pragma mark - + +// +// ReaderDocumentLink class interface +// + +@interface ReaderDocumentLink : NSObject + +@property (nonatomic, assign, readonly) CGRect rect; + +@property (nonatomic, assign, readonly) CGPDFDictionaryRef dictionary; + ++ (id)newWithRect:(CGRect)linkRect dictionary:(CGPDFDictionaryRef)linkDictionary; + +- (id)initWithRect:(CGRect)linkRect dictionary:(CGPDFDictionaryRef)linkDictionary; + +@end diff --git a/Night Reader/Night Reader/Night Reader/ReaderContentPage.m b/Night Reader/Night Reader/Night Reader/ReaderContentPage.m new file mode 100644 index 0000000..2bfce32 --- /dev/null +++ b/Night Reader/Night Reader/Night Reader/ReaderContentPage.m @@ -0,0 +1,602 @@ +// +// ReaderContentPage.m +// Reader v2.6.1 +// +// Created by Julius Oklamcak on 2011-07-01. +// Copyright © 2011-2013 Julius Oklamcak. All rights reserved. +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights to +// use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +// of the Software, and to permit persons to whom the Software is furnished to +// do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in all +// copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +// 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" + +@implementation ReaderContentPage +{ + NSMutableArray *_links; + + CGPDFDocumentRef _PDFDocRef; + + CGPDFPageRef _PDFPageRef; + + NSInteger _pageAngle; + + CGFloat _pageWidth; + CGFloat _pageHeight; + + CGFloat _pageOffsetX; + CGFloat _pageOffsetY; +} + +#pragma mark ReaderContentPage class methods + ++ (Class)layerClass +{ + return [ReaderContentTile class]; +} + +#pragma mark ReaderContentPage PDF link methods + +- (void)highlightPageLinks +{ + if (_links.count > 0) // Add highlight views over all links + { + UIColor *hilite = [UIColor colorWithRed:0.0f green:0.0f blue:1.0f alpha:0.15f]; + + for (ReaderDocumentLink *link in _links) // Enumerate the links array + { + UIView *highlight = [[UIView alloc] initWithFrame:link.rect]; + + highlight.autoresizesSubviews = NO; + highlight.userInteractionEnabled = NO; + highlight.contentMode = UIViewContentModeRedraw; + highlight.autoresizingMask = UIViewAutoresizingNone; + highlight.backgroundColor = hilite; // Color + + [self addSubview:highlight]; + } + } +} + +- (ReaderDocumentLink *)linkFromAnnotation:(CGPDFDictionaryRef)annotationDictionary +{ + ReaderDocumentLink *documentLink = nil; // Document link object + + CGPDFArrayRef annotationRectArray = NULL; // Annotation co-ordinates array + + if (CGPDFDictionaryGetArray(annotationDictionary, "Rect", &annotationRectArray)) + { + CGPDFReal ll_x = 0.0f; CGPDFReal ll_y = 0.0f; // PDFRect lower-left X and Y + CGPDFReal ur_x = 0.0f; CGPDFReal ur_y = 0.0f; // PDFRect upper-right X and Y + + CGPDFArrayGetNumber(annotationRectArray, 0, &ll_x); // Lower-left X co-ordinate + CGPDFArrayGetNumber(annotationRectArray, 1, &ll_y); // Lower-left Y co-ordinate + + CGPDFArrayGetNumber(annotationRectArray, 2, &ur_x); // Upper-right X co-ordinate + CGPDFArrayGetNumber(annotationRectArray, 3, &ur_y); // Upper-right Y co-ordinate + + if (ll_x > ur_x) { CGPDFReal t = ll_x; ll_x = ur_x; ur_x = t; } // Normalize Xs + if (ll_y > ur_y) { CGPDFReal t = ll_y; ll_y = ur_y; ur_y = t; } // Normalize Ys + + ll_x -= _pageOffsetX; ll_y -= _pageOffsetY; // Offset lower-left co-ordinate + ur_x -= _pageOffsetX; ur_y -= _pageOffsetY; // Offset upper-right co-ordinate + + switch (_pageAngle) // Page rotation angle (in degrees) + { + case 90: // 90 degree page rotation + { + CGPDFReal swap; + swap = ll_y; ll_y = ll_x; ll_x = swap; + swap = ur_y; ur_y = ur_x; ur_x = swap; + break; + } + + case 270: // 270 degree page rotation + { + CGPDFReal swap; + swap = ll_y; ll_y = ll_x; ll_x = swap; + swap = ur_y; ur_y = ur_x; ur_x = swap; + ll_x = ((0.0f - ll_x) + _pageWidth); + ur_x = ((0.0f - ur_x) + _pageWidth); + break; + } + + case 0: // 0 degree page rotation + { + ll_y = ((0.0f - ll_y) + _pageHeight); + ur_y = ((0.0f - ur_y) + _pageHeight); + break; + } + } + + NSInteger vr_x = ll_x; NSInteger vr_w = (ur_x - ll_x); // Integer X and width + NSInteger vr_y = ll_y; NSInteger vr_h = (ur_y - ll_y); // Integer Y and height + + CGRect viewRect = CGRectMake(vr_x, vr_y, vr_w, vr_h); // View CGRect from PDFRect + + documentLink = [ReaderDocumentLink newWithRect:viewRect dictionary:annotationDictionary]; + } + + return documentLink; +} + +- (void)buildAnnotationLinksList +{ + _links = [NSMutableArray new]; // Links list array + + CGPDFArrayRef pageAnnotations = NULL; // Page annotations array + + CGPDFDictionaryRef pageDictionary = CGPDFPageGetDictionary(_PDFPageRef); + + if (CGPDFDictionaryGetArray(pageDictionary, "Annots", &pageAnnotations) == true) + { + NSInteger count = CGPDFArrayGetCount(pageAnnotations); // Number of annotations + + for (NSInteger index = 0; index < count; index++) // Iterate through all annotations + { + CGPDFDictionaryRef annotationDictionary = NULL; // PDF annotation dictionary + + if (CGPDFArrayGetDictionary(pageAnnotations, index, &annotationDictionary) == true) + { + const char *annotationSubtype = NULL; // PDF annotation subtype string + + if (CGPDFDictionaryGetName(annotationDictionary, "Subtype", &annotationSubtype) == true) + { + if (strcmp(annotationSubtype, "Link") == 0) // Found annotation subtype of 'Link' + { + ReaderDocumentLink *documentLink = [self linkFromAnnotation:annotationDictionary]; + + if (documentLink != nil) [_links insertObject:documentLink atIndex:0]; // Add link + } + } + } + } + + //[self highlightPageLinks]; // Link support debugging + } +} + +- (CGPDFArrayRef)destinationWithName:(const char *)destinationName inDestsTree:(CGPDFDictionaryRef)node +{ + CGPDFArrayRef destinationArray = NULL; + + CGPDFArrayRef limitsArray = NULL; // Limits array + + if (CGPDFDictionaryGetArray(node, "Limits", &limitsArray) == true) + { + CGPDFStringRef lowerLimit = NULL; CGPDFStringRef upperLimit = NULL; + + if (CGPDFArrayGetString(limitsArray, 0, &lowerLimit) == true) // Lower limit + { + if (CGPDFArrayGetString(limitsArray, 1, &upperLimit) == true) // Upper limit + { + const char *ll = (const char *)CGPDFStringGetBytePtr(lowerLimit); // Lower string + const char *ul = (const char *)CGPDFStringGetBytePtr(upperLimit); // Upper string + + if ((strcmp(destinationName, ll) < 0) || (strcmp(destinationName, ul) > 0)) + { + return NULL; // Destination name is outside this node's limits + } + } + } + } + + CGPDFArrayRef namesArray = NULL; // Names array + + if (CGPDFDictionaryGetArray(node, "Names", &namesArray) == true) + { + NSInteger namesCount = CGPDFArrayGetCount(namesArray); + + for (NSInteger index = 0; index < namesCount; index += 2) + { + CGPDFStringRef destName; // Destination name string + + if (CGPDFArrayGetString(namesArray, index, &destName) == true) + { + const char *dn = (const char *)CGPDFStringGetBytePtr(destName); + + if (strcmp(dn, destinationName) == 0) // Found the destination name + { + if (CGPDFArrayGetArray(namesArray, (index + 1), &destinationArray) == false) + { + CGPDFDictionaryRef destinationDictionary = NULL; // Destination dictionary + + if (CGPDFArrayGetDictionary(namesArray, (index + 1), &destinationDictionary) == true) + { + CGPDFDictionaryGetArray(destinationDictionary, "D", &destinationArray); + } + } + + return destinationArray; // Return the destination array + } + } + } + } + + CGPDFArrayRef kidsArray = NULL; // Kids array + + if (CGPDFDictionaryGetArray(node, "Kids", &kidsArray) == true) + { + NSInteger kidsCount = CGPDFArrayGetCount(kidsArray); + + for (NSInteger index = 0; index < kidsCount; index++) + { + CGPDFDictionaryRef kidNode = NULL; // Kid node dictionary + + if (CGPDFArrayGetDictionary(kidsArray, index, &kidNode) == true) // Recurse into node + { + destinationArray = [self destinationWithName:destinationName inDestsTree:kidNode]; + + if (destinationArray != NULL) return destinationArray; // Return destination array + } + } + } + + return NULL; +} + +- (id)annotationLinkTarget:(CGPDFDictionaryRef)annotationDictionary +{ + id linkTarget = nil; // Link target object + + CGPDFStringRef destName = NULL; const char *destString = NULL; + + CGPDFDictionaryRef actionDictionary = NULL; CGPDFArrayRef destArray = NULL; + + if (CGPDFDictionaryGetDictionary(annotationDictionary, "A", &actionDictionary) == true) + { + const char *actionType = NULL; // Annotation action type string + + if (CGPDFDictionaryGetName(actionDictionary, "S", &actionType) == true) + { + if (strcmp(actionType, "GoTo") == 0) // GoTo action type + { + if (CGPDFDictionaryGetArray(actionDictionary, "D", &destArray) == false) + { + CGPDFDictionaryGetString(actionDictionary, "D", &destName); + } + } + else // Handle other link action type possibility + { + if (strcmp(actionType, "URI") == 0) // URI action type + { + CGPDFStringRef uriString = NULL; // Action's URI string + + if (CGPDFDictionaryGetString(actionDictionary, "URI", &uriString) == true) + { + const char *uri = (const char *)CGPDFStringGetBytePtr(uriString); // Destination URI string + + linkTarget = [NSURL URLWithString:[NSString stringWithCString:uri encoding:NSASCIIStringEncoding]]; + } + } + } + } + } + else // Handle other link target possibilities + { + if (CGPDFDictionaryGetArray(annotationDictionary, "Dest", &destArray) == false) + { + if (CGPDFDictionaryGetString(annotationDictionary, "Dest", &destName) == false) + { + CGPDFDictionaryGetName(annotationDictionary, "Dest", &destString); + } + } + } + + if (destName != NULL) // Handle a destination name + { + CGPDFDictionaryRef catalogDictionary = CGPDFDocumentGetCatalog(_PDFDocRef); + + CGPDFDictionaryRef namesDictionary = NULL; // Destination names in the document + + if (CGPDFDictionaryGetDictionary(catalogDictionary, "Names", &namesDictionary) == true) + { + CGPDFDictionaryRef destsDictionary = NULL; // Document destinations dictionary + + if (CGPDFDictionaryGetDictionary(namesDictionary, "Dests", &destsDictionary) == true) + { + const char *destinationName = (const char *)CGPDFStringGetBytePtr(destName); // Name + + destArray = [self destinationWithName:destinationName inDestsTree:destsDictionary]; + } + } + } + + if (destString != NULL) // Handle a destination string + { + CGPDFDictionaryRef catalogDictionary = CGPDFDocumentGetCatalog(_PDFDocRef); + + CGPDFDictionaryRef destsDictionary = NULL; // Document destinations dictionary + + if (CGPDFDictionaryGetDictionary(catalogDictionary, "Dests", &destsDictionary) == true) + { + CGPDFDictionaryRef targetDictionary = NULL; // Destination target dictionary + + if (CGPDFDictionaryGetDictionary(destsDictionary, destString, &targetDictionary) == true) + { + CGPDFDictionaryGetArray(targetDictionary, "D", &destArray); + } + } + } + + if (destArray != NULL) // Handle a destination array + { + NSInteger targetPageNumber = 0; // The target page number + + CGPDFDictionaryRef pageDictionaryFromDestArray = NULL; // Target reference + + if (CGPDFArrayGetDictionary(destArray, 0, &pageDictionaryFromDestArray) == true) + { + NSInteger pageCount = CGPDFDocumentGetNumberOfPages(_PDFDocRef); // Pages + + for (NSInteger pageNumber = 1; pageNumber <= pageCount; pageNumber++) + { + CGPDFPageRef pageRef = CGPDFDocumentGetPage(_PDFDocRef, pageNumber); + + CGPDFDictionaryRef pageDictionaryFromPage = CGPDFPageGetDictionary(pageRef); + + if (pageDictionaryFromPage == pageDictionaryFromDestArray) // Found it + { + targetPageNumber = pageNumber; break; + } + } + } + else // Try page number from array possibility + { + CGPDFInteger pageNumber = 0; // Page number in array + + if (CGPDFArrayGetInteger(destArray, 0, &pageNumber) == true) + { + targetPageNumber = (pageNumber + 1); // 1-based + } + } + + if (targetPageNumber > 0) // We have a target page number + { + linkTarget = [NSNumber numberWithInteger:targetPageNumber]; + } + } + + return linkTarget; +} + +- (id)processSingleTap:(UITapGestureRecognizer *)recognizer +{ + id result = nil; // Tap result object + + if (recognizer.state == UIGestureRecognizerStateRecognized) + { + if (_links.count > 0) // Process the single tap + { + CGPoint point = [recognizer locationInView:self]; + + for (ReaderDocumentLink *link in _links) // Enumerate links + { + if (CGRectContainsPoint(link.rect, point) == true) // Found it + { + result = [self annotationLinkTarget:link.dictionary]; break; + } + } + } + } + + return result; +} + +#pragma mark ReaderContentPage instance methods + +- (id)initWithFrame:(CGRect)frame +{ + id view = nil; // UIView + + if (CGRectIsEmpty(frame) == false) + { + if ((self = [super initWithFrame:frame])) + { + self.autoresizesSubviews = NO; + self.userInteractionEnabled = NO; + self.contentMode = UIViewContentModeRedraw; + self.autoresizingMask = UIViewAutoresizingNone; + self.backgroundColor = [UIColor blackColor]; + + view = self; // Return self + } + } + else // Handle invalid frame size + { + self = nil; + } + + return view; +} + +// VOLGENS MIJ STAAT HIER DE CODE DIE JE MOET HEBBEN //NOP + +- (id)initWithURL:(NSURL *)fileURL page:(NSInteger)page password:(NSString *)phrase +{ + CGRect viewRect = CGRectZero; // View rect + + if (fileURL != nil) // Check for non-nil file URL + { + _PDFDocRef = CGPDFDocumentCreateX((__bridge CFURLRef)fileURL, phrase); + + if (_PDFDocRef != NULL) // Check for non-NULL CGPDFDocumentRef + { + if (page < 1) page = 1; // Check the lower page bounds + + NSInteger pages = CGPDFDocumentGetNumberOfPages(_PDFDocRef); + + if (page > pages) page = pages; // Check the upper page bounds + + _PDFPageRef = CGPDFDocumentGetPage(_PDFDocRef, page); // Get page + + if (_PDFPageRef != NULL) // Check for non-NULL CGPDFPageRef + { + CGPDFPageRetain(_PDFPageRef); // Retain the PDF page + + CGRect cropBoxRect = CGPDFPageGetBoxRect(_PDFPageRef, kCGPDFCropBox); + CGRect mediaBoxRect = CGPDFPageGetBoxRect(_PDFPageRef, kCGPDFMediaBox); + CGRect effectiveRect = CGRectIntersection(cropBoxRect, mediaBoxRect); + + _pageAngle = CGPDFPageGetRotationAngle(_PDFPageRef); // Angle + + switch (_pageAngle) // Page rotation angle (in degrees) + { + default: // Default case + case 0: case 180: // 0 and 180 degrees + { + _pageWidth = effectiveRect.size.width; + _pageHeight = effectiveRect.size.height; + _pageOffsetX = effectiveRect.origin.x; + _pageOffsetY = effectiveRect.origin.y; + break; + } + + case 90: case 270: // 90 and 270 degrees + { + _pageWidth = effectiveRect.size.height; + _pageHeight = effectiveRect.size.width; + _pageOffsetX = effectiveRect.origin.y; + _pageOffsetY = effectiveRect.origin.x; + break; + } + } + + NSInteger page_w = _pageWidth; // Integer width + NSInteger page_h = _pageHeight; // Integer height + + if (page_w % 2) page_w--; if (page_h % 2) page_h--; // Even + + viewRect.size = CGSizeMake(page_w, page_h); // View size + } + else // Error out with a diagnostic + { + CGPDFDocumentRelease(_PDFDocRef), _PDFDocRef = NULL; + + NSAssert(NO, @"CGPDFPageRef == NULL"); + } + } + else // Error out with a diagnostic + { + NSAssert(NO, @"CGPDFDocumentRef == NULL"); + } + } + else // Error out with a diagnostic + { + NSAssert(NO, @"fileURL == nil"); + } + + id view = [self initWithFrame:viewRect]; // UIView setup + + if (view != nil) [self buildAnnotationLinksList]; // Links + + return view; +} + +- (void)removeFromSuperview +{ + self.layer.delegate = nil; + + //self.layer.contents = nil; + + [super removeFromSuperview]; +} + +- (void)dealloc +{ + CGPDFPageRelease(_PDFPageRef), _PDFPageRef = NULL; + + CGPDFDocumentRelease(_PDFDocRef), _PDFDocRef = NULL; +} + +#if (READER_DISABLE_RETINA == TRUE) // Option + +- (void)didMoveToWindow +{ + self.contentScaleFactor = 1.0f; // Override scale factor +} + +#endif // end of READER_DISABLE_RETINA Option + +#pragma mark CATiledLayer delegate methods + +- (void)drawLayer:(CATiledLayer *)layer inContext:(CGContextRef)context +{ + ReaderContentPage *readerContentPage = self; // Retain self + + CGContextSetRGBFillColor(context, 1.0f, 1.0f, 1.0f, 1.0f); // White + + CGContextFillRect(context, CGContextGetClipBoundingBox(context)); // Fill + + //NSLog(@"%s %@", __FUNCTION__, NSStringFromCGRect(CGContextGetClipBoundingBox(context))); + + CGContextTranslateCTM(context, 0.0f, self.bounds.size.height); CGContextScaleCTM(context, 1.0f, -1.0f); + + CGContextConcatCTM(context, CGPDFPageGetDrawingTransform(_PDFPageRef, kCGPDFCropBox, self.bounds, 0, true)); + + //CGContextSetRenderingIntent(context, kCGRenderingIntentDefault); CGContextSetInterpolationQuality(context, kCGInterpolationDefault); + + CGContextDrawPDFPage(context, _PDFPageRef); // Render the PDF page into the context + + if (readerContentPage != nil) readerContentPage = nil; // Release self +} + +@end + +#pragma mark - + +// +// ReaderDocumentLink class implementation +// + +@implementation ReaderDocumentLink +{ + CGPDFDictionaryRef _dictionary; + + CGRect _rect; +} + +#pragma mark Properties + +@synthesize rect = _rect; +@synthesize dictionary = _dictionary; + +#pragma mark ReaderDocumentLink class methods + ++ (id)newWithRect:(CGRect)linkRect dictionary:(CGPDFDictionaryRef)linkDictionary +{ + return [[ReaderDocumentLink alloc] initWithRect:linkRect dictionary:linkDictionary]; +} + +#pragma mark ReaderDocumentLink instance methods + +- (id)initWithRect:(CGRect)linkRect dictionary:(CGPDFDictionaryRef)linkDictionary +{ + if ((self = [super init])) + { + _dictionary = linkDictionary; + + _rect = linkRect; + } + + return self; +} + +@end diff --git a/Night Reader/Night Reader/Night Reader/ReaderContentTile.h b/Night Reader/Night Reader/Night Reader/ReaderContentTile.h new file mode 100644 index 0000000..7662176 --- /dev/null +++ b/Night Reader/Night Reader/Night Reader/ReaderContentTile.h @@ -0,0 +1,31 @@ +// +// ReaderContentTile.h +// Reader v2.6.0 +// +// Created by Julius Oklamcak on 2011-07-01. +// Copyright © 2011-2013 Julius Oklamcak. All rights reserved. +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights to +// use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +// of the Software, and to permit persons to whom the Software is furnished to +// do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in all +// copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +// CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +// + +#import +#import + +@interface ReaderContentTile : CATiledLayer + +@end diff --git a/Night Reader/Night Reader/Night Reader/ReaderContentTile.m b/Night Reader/Night Reader/Night Reader/ReaderContentTile.m new file mode 100644 index 0000000..3aceedb --- /dev/null +++ b/Night Reader/Night Reader/Night Reader/ReaderContentTile.m @@ -0,0 +1,72 @@ +// +// ReaderContentTile.m +// Reader v2.6.0 +// +// Created by Julius Oklamcak on 2011-07-01. +// Copyright © 2011-2013 Julius Oklamcak. All rights reserved. +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights to +// use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +// of the Software, and to permit persons to whom the Software is furnished to +// do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in all +// copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +// CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +// + +#import "ReaderContentTile.h" + +@implementation ReaderContentTile + +#pragma mark Constants + +#define LEVELS_OF_DETAIL 4 +#define LEVELS_OF_DETAIL_BIAS 3 + +#pragma mark ReaderContentTile class methods + ++ (CFTimeInterval)fadeDuration +{ + return 0.001; // iOS bug (flickering tiles) workaround +} + +#pragma mark ReaderContentTile instance methods + +- (id)init +{ + if ((self = [super init])) + { + self.levelsOfDetail = LEVELS_OF_DETAIL; // Zoom levels + + UIScreen *mainScreen = [UIScreen mainScreen]; // Main screen + + CGFloat screenScale = [mainScreen scale]; // Main screen scale + + self.levelsOfDetailBias = (screenScale > 1.0f) ? 1 : LEVELS_OF_DETAIL_BIAS; + + CGRect screenBounds = [mainScreen bounds]; // Main screen bounds + + CGFloat w_pixels = (screenBounds.size.width * screenScale); + + CGFloat h_pixels = (screenBounds.size.height * screenScale); + + CGFloat max = ((w_pixels < h_pixels) ? h_pixels : w_pixels); + + CGFloat sizeOfTiles = ((max < 512.0f) ? 512.0f : 1024.0f); + + self.tileSize = CGSizeMake(sizeOfTiles, sizeOfTiles); + } + + return self; +} + +@end diff --git a/Night Reader/Night Reader/Night Reader/ReaderContentView.h b/Night Reader/Night Reader/Night Reader/ReaderContentView.h new file mode 100644 index 0000000..878f2b7 --- /dev/null +++ b/Night Reader/Night Reader/Night Reader/ReaderContentView.h @@ -0,0 +1,66 @@ +// +// ReaderContentView.h +// Reader v2.6.0 +// +// Created by Julius Oklamcak on 2011-07-01. +// Copyright © 2011-2013 Julius Oklamcak. All rights reserved. +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights to +// use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +// of the Software, and to permit persons to whom the Software is furnished to +// do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in all +// copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +// CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +// + +#import + +#import "ReaderThumbView.h" + +@class ReaderContentView; +@class ReaderContentPage; +@class ReaderContentThumb; + +@protocol ReaderContentViewDelegate + +@required // Delegate protocols + +- (void)contentView:(ReaderContentView *)contentView touchesBegan:(NSSet *)touches; + +@end + +@interface ReaderContentView : UIScrollView + +@property (nonatomic, unsafe_unretained, readwrite) id message; + +- (id)initWithFrame:(CGRect)frame fileURL:(NSURL *)fileURL page:(NSUInteger)page password:(NSString *)phrase; + +- (void)showPageThumb:(NSURL *)fileURL page:(NSInteger)page password:(NSString *)phrase guid:(NSString *)guid; + +- (id)processSingleTap:(UITapGestureRecognizer *)recognizer; + +- (void)zoomIncrement; +- (void)zoomDecrement; +- (void)zoomReset; + +@end + +#pragma mark - + +// +// ReaderContentThumb class interface +// + +@interface ReaderContentThumb : ReaderThumbView + +@end diff --git a/Night Reader/Night Reader/Night Reader/ReaderContentView.m b/Night Reader/Night Reader/Night Reader/ReaderContentView.m new file mode 100644 index 0000000..d97ef1f --- /dev/null +++ b/Night Reader/Night Reader/Night Reader/ReaderContentView.m @@ -0,0 +1,332 @@ +// +// ReaderContentView.m +// Reader v2.6.1 +// +// Created by Julius Oklamcak on 2011-07-01. +// Copyright © 2011-2013 Julius Oklamcak. All rights reserved. +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights to +// use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +// of the Software, and to permit persons to whom the Software is furnished to +// do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in all +// copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +// CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +// + +#import "ReaderConstants.h" +#import "ReaderContentView.h" +#import "ReaderContentPage.h" +#import "ReaderThumbCache.h" + +#import + +@implementation ReaderContentView +{ + ReaderContentPage *theContentView; + + ReaderContentThumb *theThumbView; + + UIView *theContainerView; + + CGFloat zoomAmount; +} + +#pragma mark Constants + +#define ZOOM_LEVELS 4 + +#if (READER_SHOW_SHADOWS == TRUE) // Option + #define CONTENT_INSET 4.0f +#else + #define CONTENT_INSET 2.0f +#endif // end of READER_SHOW_SHADOWS Option + +#define PAGE_THUMB_LARGE 240 +#define PAGE_THUMB_SMALL 144 + +static void *ReaderContentViewContext = &ReaderContentViewContext; + +#pragma mark Properties + +@synthesize message; + +#pragma mark ReaderContentView functions + +static inline CGFloat ZoomScaleThatFits(CGSize target, CGSize source) +{ + CGFloat w_scale = (target.width / source.width); + + CGFloat h_scale = (target.height / source.height); + + return ((w_scale < h_scale) ? w_scale : h_scale); +} + +#pragma mark ReaderContentView instance methods + +- (void)updateMinimumMaximumZoom +{ + CGRect targetRect = CGRectInset(self.bounds, CONTENT_INSET, CONTENT_INSET); + + CGFloat zoomScale = ZoomScaleThatFits(targetRect.size, theContentView.bounds.size); + + self.minimumZoomScale = zoomScale; // Set the minimum and maximum zoom scales + + self.maximumZoomScale = (zoomScale * ZOOM_LEVELS); // Max number of zoom levels + + zoomAmount = ((self.maximumZoomScale - self.minimumZoomScale) / ZOOM_LEVELS); +} + +- (id)initWithFrame:(CGRect)frame fileURL:(NSURL *)fileURL page:(NSUInteger)page password:(NSString *)phrase +{ + if ((self = [super initWithFrame:frame])) + { + self.scrollsToTop = NO; + self.delaysContentTouches = NO; + self.showsVerticalScrollIndicator = NO; + self.showsHorizontalScrollIndicator = NO; + self.contentMode = UIViewContentModeRedraw; + self.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight; + self.backgroundColor = [UIColor clearColor]; + self.userInteractionEnabled = YES; + self.autoresizesSubviews = NO; + self.bouncesZoom = YES; + self.delegate = self; + + theContentView = [[ReaderContentPage alloc] initWithURL:fileURL page:page password:phrase]; + + if (theContentView != nil) // Must have a valid and initialized content view + { + theContainerView = [[UIView alloc] initWithFrame:theContentView.bounds]; + + theContainerView.autoresizesSubviews = NO; + theContainerView.userInteractionEnabled = NO; + theContainerView.contentMode = UIViewContentModeRedraw; + theContainerView.autoresizingMask = UIViewAutoresizingNone; + theContainerView.backgroundColor = [UIColor blackColor]; + +#if (READER_SHOW_SHADOWS == TRUE) // Option + + theContainerView.layer.shadowOffset = CGSizeMake(0.0f, 0.0f); + theContainerView.layer.shadowRadius = 4.0f; theContainerView.layer.shadowOpacity = 1.0f; + theContainerView.layer.shadowPath = [UIBezierPath bezierPathWithRect:theContainerView.bounds].CGPath; + +#endif // end of READER_SHOW_SHADOWS Option + + self.contentSize = theContentView.bounds.size; // Content size same as view size + self.contentOffset = CGPointMake((0.0f - CONTENT_INSET), (0.0f - CONTENT_INSET)); // Offset + self.contentInset = UIEdgeInsetsMake(CONTENT_INSET, CONTENT_INSET, CONTENT_INSET, CONTENT_INSET); + +#if (READER_ENABLE_PREVIEW == TRUE) // Option + + theThumbView = [[ReaderContentThumb alloc] initWithFrame:theContentView.bounds]; // Page thumb view + + [theContainerView addSubview:theThumbView]; // Add the thumb view to the container view + +#endif // end of READER_ENABLE_PREVIEW Option + + [theContainerView addSubview:theContentView]; // Add the content view to the container view + + [self addSubview:theContainerView]; // Add the container view to the scroll view + + [self updateMinimumMaximumZoom]; // Update the minimum and maximum zoom scales + + self.zoomScale = self.minimumZoomScale; // Set zoom to fit page content + } + + [self addObserver:self forKeyPath:@"frame" options:0 context:ReaderContentViewContext]; + + self.tag = page; // Tag the view with the page number + } + + return self; +} + +- (void)dealloc +{ +// [self removeObserver:self forKeyPath:@"frame" context:ReaderContentViewContext]; + + [self removeObserver:self forKeyPath:@"frame"]; // Maintain iOS 4.x compatability +} + +- (void)showPageThumb:(NSURL *)fileURL page:(NSInteger)page password:(NSString *)phrase guid:(NSString *)guid +{ +#if (READER_ENABLE_PREVIEW == TRUE) // Option + + BOOL large = ([UIDevice currentDevice].userInterfaceIdiom == UIUserInterfaceIdiomPad); // Page thumb size + + CGSize size = (large ? CGSizeMake(PAGE_THUMB_LARGE, PAGE_THUMB_LARGE) : CGSizeMake(PAGE_THUMB_SMALL, PAGE_THUMB_SMALL)); + + ReaderThumbRequest *request = [ReaderThumbRequest newForView:theThumbView fileURL:fileURL password:phrase guid:guid page:page size:size]; + + UIImage *image = [[ReaderThumbCache sharedInstance] thumbRequest:request priority:YES]; // Request the page thumb + + if ([image isKindOfClass:[UIImage class]]) [theThumbView showImage:image]; // Show image from cache + +#endif // end of READER_ENABLE_PREVIEW Option +} + +- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context +{ + if (context == ReaderContentViewContext) // Our context + { + if ((object == self) && [keyPath isEqualToString:@"frame"]) + { + CGFloat oldMinimumZoomScale = self.minimumZoomScale; + + [self updateMinimumMaximumZoom]; // Update zoom scale limits + + if (self.zoomScale == oldMinimumZoomScale) // Old minimum + { + self.zoomScale = self.minimumZoomScale; + } + else // Check against minimum zoom scale + { + if (self.zoomScale < self.minimumZoomScale) + { + self.zoomScale = self.minimumZoomScale; + } + else // Check against maximum zoom scale + { + if (self.zoomScale > self.maximumZoomScale) + { + self.zoomScale = self.maximumZoomScale; + } + } + } + } + } +} + +- (void)layoutSubviews +{ + [super layoutSubviews]; + + CGSize boundsSize = self.bounds.size; + CGRect viewFrame = theContainerView.frame; + + if (viewFrame.size.width < boundsSize.width) + viewFrame.origin.x = (((boundsSize.width - viewFrame.size.width) / 2.0f) + self.contentOffset.x); + else + viewFrame.origin.x = 0.0f; + + if (viewFrame.size.height < boundsSize.height) + viewFrame.origin.y = (((boundsSize.height - viewFrame.size.height) / 2.0f) + self.contentOffset.y); + else + viewFrame.origin.y = 0.0f; + + theContainerView.frame = viewFrame; +} + +- (id)processSingleTap:(UITapGestureRecognizer *)recognizer +{ + return [theContentView processSingleTap:recognizer]; +} + +- (void)zoomIncrement +{ + CGFloat zoomScale = self.zoomScale; + + if (zoomScale < self.maximumZoomScale) + { + zoomScale += zoomAmount; // += value + + if (zoomScale > self.maximumZoomScale) + { + zoomScale = self.maximumZoomScale; + } + + [self setZoomScale:zoomScale animated:YES]; + } +} + +- (void)zoomDecrement +{ + CGFloat zoomScale = self.zoomScale; + + if (zoomScale > self.minimumZoomScale) + { + zoomScale -= zoomAmount; // -= value + + if (zoomScale < self.minimumZoomScale) + { + zoomScale = self.minimumZoomScale; + } + + [self setZoomScale:zoomScale animated:YES]; + } +} + +- (void)zoomReset +{ + if (self.zoomScale > self.minimumZoomScale) + { + self.zoomScale = self.minimumZoomScale; + } +} + +#pragma mark UIScrollViewDelegate methods + +- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView +{ + return theContainerView; +} + +#pragma mark UIResponder instance methods + +- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event +{ + [super touchesBegan:touches withEvent:event]; // Message superclass + + [message contentView:self touchesBegan:touches]; // Message delegate +} + +- (void)touchesCancelled:(NSSet *)touches withEvent:(UIEvent *)event +{ + [super touchesCancelled:touches withEvent:event]; // Message superclass +} + +- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event +{ + [super touchesEnded:touches withEvent:event]; // Message superclass +} + +- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event +{ + [super touchesMoved:touches withEvent:event]; // Message superclass +} + +@end + +#pragma mark - + +// +// ReaderContentThumb class implementation +// + +@implementation ReaderContentThumb + +#pragma mark ReaderContentThumb instance methods + +- (id)initWithFrame:(CGRect)frame +{ + if ((self = [super initWithFrame:frame])) // Superclass init + { + imageView.contentMode = UIViewContentModeScaleAspectFill; + + imageView.clipsToBounds = YES; // Needed for aspect fill + } + + return self; +} + +@end diff --git a/Night Reader/Night Reader/Night Reader/ReaderDemoController.h b/Night Reader/Night Reader/Night Reader/ReaderDemoController.h new file mode 100644 index 0000000..ea96dca --- /dev/null +++ b/Night Reader/Night Reader/Night Reader/ReaderDemoController.h @@ -0,0 +1,30 @@ +// +// ReaderDemoController.h +// Reader v2.6.0 +// +// Created by Julius Oklamcak on 2011-07-01. +// Copyright © 2011-2013 Julius Oklamcak. All rights reserved. +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights to +// use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +// of the Software, and to permit persons to whom the Software is furnished to +// do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in all +// copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +// CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +// + +#import + +@interface ReaderDemoController : UIViewController + +@end diff --git a/Night Reader/Night Reader/Night Reader/ReaderDemoController.m b/Night Reader/Night Reader/Night Reader/ReaderDemoController.m new file mode 100644 index 0000000..b0fb74b --- /dev/null +++ b/Night Reader/Night Reader/Night Reader/ReaderDemoController.m @@ -0,0 +1,217 @@ +// +// ReaderDemoController.m +// Reader v2.6.0 +// +// Created by Julius Oklamcak on 2011-07-01. +// Copyright © 2011-2013 Julius Oklamcak. All rights reserved. +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights to +// use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +// of the Software, and to permit persons to whom the Software is furnished to +// do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in all +// copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +// CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +// + +#import "ReaderDemoController.h" +#import "ReaderViewController.h" + +@interface ReaderDemoController () + +@end + +@implementation ReaderDemoController + +#pragma mark Constants + +#define DEMO_VIEW_CONTROLLER_PUSH FALSE + +#pragma mark UIViewController methods + +/* +- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil +{ + if ((self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil])) + { + // Custom initialization + } + + return self; +} +*/ + +/* +- (void)loadView +{ + // Implement loadView to create a view hierarchy programmatically, without using a nib. +} +*/ + +- (void)viewDidLoad +{ + [super viewDidLoad]; + + self.view.backgroundColor = [UIColor clearColor]; // Transparent + + NSDictionary *infoDictionary = [[NSBundle mainBundle] infoDictionary]; + + NSString *name = [infoDictionary objectForKey:@"CFBundleName"]; + + NSString *version = [infoDictionary objectForKey:@"CFBundleVersion"]; + + self.title = [NSString stringWithFormat:@"%@ v%@", name, version]; + + CGSize viewSize = self.view.bounds.size; + + CGRect labelRect = CGRectMake(0.0f, 0.0f, 80.0f, 32.0f); + + UILabel *tapLabel = [[UILabel alloc] initWithFrame:labelRect]; + + tapLabel.text = @"Tap"; + tapLabel.textColor = [UIColor blackColor]; + tapLabel.textAlignment = NSTextAlignmentCenter; + tapLabel.backgroundColor = [UIColor clearColor]; + tapLabel.font = [UIFont systemFontOfSize:24.0f]; + tapLabel.autoresizingMask = UIViewAutoresizingFlexibleTopMargin | UIViewAutoresizingFlexibleBottomMargin; + tapLabel.autoresizingMask |= UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleRightMargin; + tapLabel.center = CGPointMake(viewSize.width / 2.0f, viewSize.height / 2.0f); + + [self.view addSubview:tapLabel]; + + UITapGestureRecognizer *singleTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleSingleTap:)]; + //singleTap.numberOfTouchesRequired = 1; singleTap.numberOfTapsRequired = 1; //singleTap.delegate = self; + [self.view addGestureRecognizer:singleTap]; +} + +- (void)viewWillAppear:(BOOL)animated +{ + [super viewWillAppear:animated]; + +#if (DEMO_VIEW_CONTROLLER_PUSH == TRUE) + + [self.navigationController setNavigationBarHidden:NO animated:animated]; + +#endif // DEMO_VIEW_CONTROLLER_PUSH +} + +- (void)viewDidAppear:(BOOL)animated +{ + [super viewDidAppear:animated]; +} + +- (void)viewWillDisappear:(BOOL)animated +{ + [super viewWillDisappear:animated]; + +#if (DEMO_VIEW_CONTROLLER_PUSH == TRUE) + + [self.navigationController setNavigationBarHidden:YES animated:animated]; + +#endif // DEMO_VIEW_CONTROLLER_PUSH +} + +- (void)viewDidDisappear:(BOOL)animated +{ + [super viewDidDisappear:animated]; +} + +- (void)viewDidUnload +{ +#ifdef DEBUG + NSLog(@"%s", __FUNCTION__); +#endif + + [super viewDidUnload]; +} + +- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation +{ + if ([UIDevice currentDevice].userInterfaceIdiom == UIUserInterfaceIdiomPhone) // See README + return UIInterfaceOrientationIsPortrait(interfaceOrientation); + else + return YES; +} + +/* +- (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration +{ +} + +- (void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation duration:(NSTimeInterval)duration +{ +} + +- (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation +{ + //if (fromInterfaceOrientation == self.interfaceOrientation) return; +} +*/ + +- (void)didReceiveMemoryWarning +{ +#ifdef DEBUG + NSLog(@"%s", __FUNCTION__); +#endif + + [super didReceiveMemoryWarning]; +} + +#pragma mark UIGestureRecognizer methods + +- (void)handleSingleTap:(UITapGestureRecognizer *)recognizer +{ + NSString *phrase = nil; // Document password (for unlocking most encrypted PDF files) + + NSArray *pdfs = [[NSBundle mainBundle] pathsForResourcesOfType:@"pdf" inDirectory:nil]; + + NSString *filePath = [pdfs lastObject]; assert(filePath != nil); // Path to last PDF file + + ReaderDocument *document = [ReaderDocument withDocumentFilePath:filePath password:phrase]; + + if (document != nil) // Must have a valid ReaderDocument object in order to proceed with things + { + ReaderViewController *readerViewController = [[ReaderViewController alloc] initWithReaderDocument:document]; + + readerViewController.delegate = self; // Set the ReaderViewController delegate to self + +#if (DEMO_VIEW_CONTROLLER_PUSH == TRUE) + + [self.navigationController pushViewController:readerViewController animated:YES]; + +#else // present in a modal view controller + + readerViewController.modalTransitionStyle = UIModalTransitionStyleCrossDissolve; + readerViewController.modalPresentationStyle = UIModalPresentationFullScreen; + + [self presentViewController:readerViewController animated:YES completion:nil ]; + +#endif // DEMO_VIEW_CONTROLLER_PUSH + } +} + +#pragma mark ReaderViewControllerDelegate methods + +- (void)dismissReaderViewController:(ReaderViewController *)viewController +{ +#if (DEMO_VIEW_CONTROLLER_PUSH == TRUE) + + [self.navigationController popViewControllerAnimated:YES]; + +#else // dismiss the modal view controller + + [self dismissViewControllerAnimated:YES completion:nil]; + +#endif // DEMO_VIEW_CONTROLLER_PUSH +} + +@end diff --git a/Night Reader/Night Reader/Night Reader/ReaderDocument.h b/Night Reader/Night Reader/Night Reader/ReaderDocument.h new file mode 100644 index 0000000..98768de --- /dev/null +++ b/Night Reader/Night Reader/Night Reader/ReaderDocument.h @@ -0,0 +1,51 @@ +// +// ReaderDocument.h +// Reader v2.6.0 +// +// Created by Julius Oklamcak on 2011-07-01. +// Copyright © 2011-2013 Julius Oklamcak. All rights reserved. +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights to +// use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +// of the Software, and to permit persons to whom the Software is furnished to +// do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in all +// copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +// CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +// + +#import + +@interface ReaderDocument : NSObject + +@property (nonatomic, strong, readonly) NSString *guid; +@property (nonatomic, strong, readonly) NSDate *fileDate; +@property (nonatomic, strong, readwrite) NSDate *lastOpen; +@property (nonatomic, strong, readonly) NSNumber *fileSize; +@property (nonatomic, strong, readonly) NSNumber *pageCount; +@property (nonatomic, strong, readwrite) NSNumber *pageNumber; +@property (nonatomic, strong, readonly) NSMutableIndexSet *bookmarks; +@property (nonatomic, strong, readonly) NSString *fileName; +@property (nonatomic, strong, readonly) NSString *password; +@property (nonatomic, strong, readonly) NSURL *fileURL; + ++ (ReaderDocument *)withDocumentFilePath:(NSString *)filename password:(NSString *)phrase; + ++ (ReaderDocument *)unarchiveFromFileName:(NSString *)filename password:(NSString *)phrase; + +- (id)initWithFilePath:(NSString *)fullFilePath password:(NSString *)phrase; + +- (void)saveReaderDocument; + +- (void)updateProperties; + +@end diff --git a/Night Reader/Night Reader/Night Reader/ReaderDocument.m b/Night Reader/Night Reader/Night Reader/ReaderDocument.m new file mode 100644 index 0000000..4a1f841 --- /dev/null +++ b/Night Reader/Night Reader/Night Reader/ReaderDocument.m @@ -0,0 +1,358 @@ +// +// ReaderDocument.m +// Reader v2.6.1 +// +// Created by Julius Oklamcak on 2011-07-01. +// Copyright © 2011-2013 Julius Oklamcak. All rights reserved. +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights to +// use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +// of the Software, and to permit persons to whom the Software is furnished to +// do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in all +// copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +// CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +// + +#import "ReaderDocument.h" +#import "CGPDFDocument.h" +#import + +@implementation ReaderDocument +{ + NSString *_guid; + + NSDate *_fileDate; + + NSDate *_lastOpen; + + NSNumber *_fileSize; + + NSNumber *_pageCount; + + NSNumber *_pageNumber; + + NSMutableIndexSet *_bookmarks; + + NSString *_fileName; + + NSString *_password; + + NSURL *_fileURL; +} + +#pragma mark Properties + +@synthesize guid = _guid; +@synthesize fileDate = _fileDate; +@synthesize fileSize = _fileSize; +@synthesize pageCount = _pageCount; +@synthesize pageNumber = _pageNumber; +@synthesize bookmarks = _bookmarks; +@synthesize lastOpen = _lastOpen; +@synthesize password = _password; +@dynamic fileName, fileURL; + +#pragma mark ReaderDocument class methods + ++ (NSString *)GUID +{ + CFUUIDRef theUUID = CFUUIDCreate(NULL); + + CFStringRef theString = CFUUIDCreateString(NULL, theUUID); + + NSString *unique = [NSString stringWithString:(__bridge id)theString]; + + CFRelease(theString); CFRelease(theUUID); // Cleanup CF objects + + return unique; +} + ++ (NSString *)documentsPath +{ + NSArray *documentsPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); + + return [documentsPaths objectAtIndex:0]; // Path to the application's "~/Documents" directory +} + ++ (NSString *)applicationPath +{ + NSArray *documentsPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); + + return [[documentsPaths objectAtIndex:0] stringByDeletingLastPathComponent]; // Strip "Documents" component +} + ++ (NSString *)applicationSupportPath +{ + NSFileManager *fileManager = [NSFileManager new]; // File manager instance + + NSURL *pathURL = [fileManager URLForDirectory:NSApplicationSupportDirectory inDomain:NSUserDomainMask appropriateForURL:nil create:YES error:NULL]; + + return [pathURL path]; // Path to the application's "~/Library/Application Support" directory +} + ++ (NSString *)relativeFilePath:(NSString *)fullFilePath +{ + assert(fullFilePath != nil); // Ensure that the full file path is not nil + + NSString *applicationPath = [ReaderDocument applicationPath]; // Get the application path + + NSRange range = [fullFilePath rangeOfString:applicationPath]; // Look for the application path + + assert(range.location != NSNotFound); // Ensure that the application path is in the full file path + + return [fullFilePath stringByReplacingCharactersInRange:range withString:@""]; // Strip it out +} + ++ (NSString *)archiveFilePath:(NSString *)filename +{ + assert(filename != nil); // Ensure that the archive file name is not nil + + //NSString *archivePath = [ReaderDocument documentsPath]; // Application's "~/Documents" path + + NSString *archivePath = [ReaderDocument applicationSupportPath]; // Application's "~/Library/Application Support" path + + NSString *archiveName = [[filename stringByDeletingPathExtension] stringByAppendingPathExtension:@"plist"]; + + return [archivePath stringByAppendingPathComponent:archiveName]; // "{archivePath}/'filename'.plist" +} + ++ (ReaderDocument *)unarchiveFromFileName:(NSString *)filename password:(NSString *)phrase +{ + ReaderDocument *document = nil; // ReaderDocument object + + NSString *withName = [filename lastPathComponent]; // File name only + + NSString *archiveFilePath = [ReaderDocument archiveFilePath:withName]; + + @try // Unarchive an archived ReaderDocument object from its property list + { + document = [NSKeyedUnarchiver unarchiveObjectWithFile:archiveFilePath]; + + if ((document != nil) && (phrase != nil)) // Set the document password + { + [document setValue:[phrase copy] forKey:@"password"]; + } + } + @catch (NSException *exception) // Exception handling (just in case O_o) + { + #ifdef DEBUG + NSLog(@"%s Caught %@: %@", __FUNCTION__, [exception name], [exception reason]); + #endif + } + + return document; +} + ++ (ReaderDocument *)withDocumentFilePath:(NSString *)filePath password:(NSString *)phrase +{ + ReaderDocument *document = nil; // ReaderDocument object + + document = [ReaderDocument unarchiveFromFileName:filePath password:phrase]; + + if (document == nil) // Unarchive failed so we create a new ReaderDocument object + { + document = [[ReaderDocument alloc] initWithFilePath:filePath password:phrase]; + } + + return document; +} + ++ (BOOL)isPDF:(NSString *)filePath +{ + BOOL state = NO; + + if (filePath != nil) // Must have a file path + { + const char *path = [filePath fileSystemRepresentation]; + + int fd = open(path, O_RDONLY); // Open the file + + if (fd > 0) // We have a valid file descriptor + { + const char sig[1024]; // File signature buffer + + ssize_t len = read(fd, (void *)&sig, sizeof(sig)); + + state = (strnstr(sig, "%PDF", len) != NULL); + + close(fd); // Close the file + } + } + + return state; +} + +#pragma mark ReaderDocument instance methods + +- (id)initWithFilePath:(NSString *)fullFilePath password:(NSString *)phrase +{ + id object = nil; // ReaderDocument object + + if ([ReaderDocument isPDF:fullFilePath] == YES) // File must exist + { + if ((self = [super init])) // Initialize superclass object first + { + _guid = [ReaderDocument GUID]; // Create a document GUID + + _password = [phrase copy]; // Keep copy of any document password + + _bookmarks = [NSMutableIndexSet new]; // Bookmarked pages index set + + _pageNumber = [NSNumber numberWithInteger:1]; // Start on page 1 + + _fileName = [ReaderDocument relativeFilePath:fullFilePath]; // File name + + CFURLRef docURLRef = (__bridge CFURLRef)[self fileURL]; // CFURLRef from NSURL + + CGPDFDocumentRef thePDFDocRef = CGPDFDocumentCreateX(docURLRef, _password); + + if (thePDFDocRef != NULL) // Get the number of pages in the document + { + NSInteger pageCount = CGPDFDocumentGetNumberOfPages(thePDFDocRef); + + _pageCount = [NSNumber numberWithInteger:pageCount]; + + CGPDFDocumentRelease(thePDFDocRef); // Cleanup + } + else // Cupertino, we have a problem with the document + { + NSAssert(NO, @"CGPDFDocumentRef == NULL"); + } + + NSFileManager *fileManager = [NSFileManager new]; // File manager instance + + _lastOpen = [NSDate dateWithTimeIntervalSinceReferenceDate:0.0]; // Last opened + + NSDictionary *fileAttributes = [fileManager attributesOfItemAtPath:fullFilePath error:NULL]; + + _fileDate = [fileAttributes objectForKey:NSFileModificationDate]; // File date + + _fileSize = [fileAttributes objectForKey:NSFileSize]; // File size (bytes) + + [self saveReaderDocument]; // Save the ReaderDocument object + + object = self; // Return initialized ReaderDocument object + } + } + + return object; +} + +- (NSString *)fileName +{ + return [_fileName lastPathComponent]; +} + +- (NSURL *)fileURL +{ + if (_fileURL == nil) // Create and keep the file URL the first time it is requested + { + NSString *fullFilePath = [[ReaderDocument applicationPath] stringByAppendingPathComponent:_fileName]; + + _fileURL = [[NSURL alloc] initFileURLWithPath:fullFilePath isDirectory:NO]; // File URL from full file path + } + + return _fileURL; +} + +- (BOOL)archiveWithFileName:(NSString *)filename +{ + NSString *archiveFilePath = [ReaderDocument archiveFilePath:filename]; + + return [NSKeyedArchiver archiveRootObject:self toFile:archiveFilePath]; +} + +- (void)saveReaderDocument +{ + [self archiveWithFileName:[self fileName]]; +} + +- (void)updateProperties +{ + CFURLRef docURLRef = (__bridge CFURLRef)self.fileURL; // File URL + + CGPDFDocumentRef thePDFDocRef = CGPDFDocumentCreateWithURL(docURLRef); + + if (thePDFDocRef != NULL) // Get the number of pages in the document + { + NSInteger pageCount = CGPDFDocumentGetNumberOfPages(thePDFDocRef); + + _pageCount = [NSNumber numberWithInteger:pageCount]; + + CGPDFDocumentRelease(thePDFDocRef); // Cleanup + } + + NSString *fullFilePath = [self.fileURL path]; // Full file path + + NSFileManager *fileManager = [NSFileManager new]; // File manager instance + + NSDictionary *fileAttributes = [fileManager attributesOfItemAtPath:fullFilePath error:NULL]; + + _fileDate = [fileAttributes objectForKey:NSFileModificationDate]; // File date + + _fileSize = [fileAttributes objectForKey:NSFileSize]; // File size +} + +#pragma mark NSCoding protocol methods + +- (void)encodeWithCoder:(NSCoder *)encoder +{ + [encoder encodeObject:_guid forKey:@"FileGUID"]; + + [encoder encodeObject:_fileName forKey:@"FileName"]; + + [encoder encodeObject:_fileDate forKey:@"FileDate"]; + + [encoder encodeObject:_pageCount forKey:@"PageCount"]; + + [encoder encodeObject:_pageNumber forKey:@"PageNumber"]; + + [encoder encodeObject:_bookmarks forKey:@"Bookmarks"]; + + [encoder encodeObject:_fileSize forKey:@"FileSize"]; + + [encoder encodeObject:_lastOpen forKey:@"LastOpen"]; +} + +- (id)initWithCoder:(NSCoder *)decoder +{ + if ((self = [super init])) // Superclass init + { + _guid = [decoder decodeObjectForKey:@"FileGUID"]; + + _fileName = [decoder decodeObjectForKey:@"FileName"]; + + _fileDate = [decoder decodeObjectForKey:@"FileDate"]; + + _pageCount = [decoder decodeObjectForKey:@"PageCount"]; + + _pageNumber = [decoder decodeObjectForKey:@"PageNumber"]; + + _bookmarks = [decoder decodeObjectForKey:@"Bookmarks"]; + + _fileSize = [decoder decodeObjectForKey:@"FileSize"]; + + _lastOpen = [decoder decodeObjectForKey:@"LastOpen"]; + + if (_guid == nil) _guid = [ReaderDocument GUID]; + + if (_bookmarks != nil) + _bookmarks = [_bookmarks mutableCopy]; + else + _bookmarks = [NSMutableIndexSet new]; + } + + return self; +} + +@end diff --git a/Night Reader/Night Reader/Night Reader/ReaderDocumentOutline.h b/Night Reader/Night Reader/Night Reader/ReaderDocumentOutline.h new file mode 100644 index 0000000..7a4a7ae --- /dev/null +++ b/Night Reader/Night Reader/Night Reader/ReaderDocumentOutline.h @@ -0,0 +1,47 @@ +// +// ReaderDocumentOutline.m +// Reader v2.6.1 +// +// Created by Julius Oklamcak on 2012-09-01. +// Copyright © 2011-2013 Julius Oklamcak. All rights reserved. +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights to +// use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +// of the Software, and to permit persons to whom the Software is furnished to +// do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in all +// copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +// CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +// + +#import + +@interface ReaderDocumentOutline : NSObject + ++ (NSArray *)outlineFromFileURL:(NSURL *)fileURL password:(NSString *)phrase; + ++ (void)logDocumentOutlineArray:(NSArray *)array; + +@end + +@interface DocumentOutlineEntry : NSObject + ++ (id)newWithTitle:(NSString *)title target:(id)target level:(NSInteger)level; + +- (id)initWithTitle:(NSString *)title target:(id)target level:(NSInteger)level; + +@property (nonatomic, assign, readonly) NSInteger level; +@property (nonatomic, strong, readwrite) NSMutableArray *children; +@property (nonatomic, strong, readonly) NSString *title; +@property (nonatomic, strong, readonly) id target; + +@end diff --git a/Night Reader/Night Reader/Night Reader/ReaderDocumentOutline.m b/Night Reader/Night Reader/Night Reader/ReaderDocumentOutline.m new file mode 100644 index 0000000..149eb65 --- /dev/null +++ b/Night Reader/Night Reader/Night Reader/ReaderDocumentOutline.m @@ -0,0 +1,467 @@ +// +// ReaderDocumentOutline.m +// Reader v2.6.1 +// +// Created by Julius Oklamcak on 2012-09-01. +// Copyright © 2011-2013 Julius Oklamcak. All rights reserved. +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights to +// use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +// of the Software, and to permit persons to whom the Software is furnished to +// do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in all +// copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +// CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +// + +#import "ReaderDocumentOutline.h" +#import "CGPDFDocument.h" + +@implementation ReaderDocumentOutline + +#pragma mark Build option flags + +#define HIERARCHICAL_OUTLINE TRUE + +#pragma mark ReaderDocumentOutline functions + +void logDictionaryEntry(const char *key, CGPDFObjectRef object, void *info) +{ + //CGPDFDictionaryApplyFunction(dictionary, logDictionaryEntry, NULL); + + NSString *kind = nil; // CGPDFObject type + + CGPDFObjectType type = CGPDFObjectGetType(object); + + switch (type) // CGPDFObjectTypes + { + case kCGPDFObjectTypeNull: + kind = @"CGPDFObjectTypeNull"; + NSLog(@"%s %@", key, kind); + break; + + case kCGPDFObjectTypeBoolean: + kind = @"CGPDFObjectTypeBoolean"; + NSLog(@"%s %@", key, kind); + break; + + case kCGPDFObjectTypeInteger: + kind = @"CGPDFObjectTypeInteger"; + NSLog(@"%s %@", key, kind); + break; + + case kCGPDFObjectTypeReal: + kind = @"CGPDFObjectTypeReal"; + NSLog(@"%s %@", key, kind); + break; + + case kCGPDFObjectTypeName: + { + kind = @"CGPDFObjectTypeName"; const char *pdfName = NULL; + + if (CGPDFObjectGetValue(object, kCGPDFObjectTypeName, &pdfName)) + { + if (pdfName != NULL) NSLog(@"%s %@ %s", key, kind, pdfName); + } + break; + } + + case kCGPDFObjectTypeString: + { + kind = @"CGPDFObjectTypeString"; CGPDFStringRef pdfString = NULL; + + if (CGPDFObjectGetValue(object, kCGPDFObjectTypeString, &pdfString)) + { + const unsigned char *string = CGPDFStringGetBytePtr(pdfString); + + if (string != NULL) NSLog(@"%s %@ %s", key, kind, string); + } + break; + } + + case kCGPDFObjectTypeArray: + kind = @"CGPDFObjectTypeArray"; + NSLog(@"%s %@", key, kind); + break; + + case kCGPDFObjectTypeDictionary: + kind = @"CGPDFObjectTypeDictionary"; + NSLog(@"%s %@", key, kind); + break; + + case kCGPDFObjectTypeStream: + kind = @"CGPDFObjectTypeStream"; + NSLog(@"%s %@", key, kind); + break; + } +} + +#pragma mark ReaderDocumentOutline class methods + ++ (void)logDocumentOutlineArray:(NSArray *)array +{ + for (DocumentOutlineEntry *item in array) // Enumerate array entries + { + NSInteger indent = (item.level * 2); // Indent amount for NSLog output + + NSLog(@"%@%@", [@"" stringByPaddingToLength:indent withString:@" " startingAtIndex:0], item); + + [self logDocumentOutlineArray:item.children]; // Log any child entries + } +} + ++ (CGPDFArrayRef)destinationWithName:(const char *)destinationName inDestsTree:(CGPDFDictionaryRef)node +{ + CGPDFArrayRef destinationArray = NULL; + + CGPDFArrayRef limitsArray = NULL; // Limits array + + if (CGPDFDictionaryGetArray(node, "Limits", &limitsArray) == true) + { + CGPDFStringRef lowerLimit = NULL; CGPDFStringRef upperLimit = NULL; + + if (CGPDFArrayGetString(limitsArray, 0, &lowerLimit) == true) // Lower limit + { + if (CGPDFArrayGetString(limitsArray, 1, &upperLimit) == true) // Upper limit + { + const char *ll = (const char *)CGPDFStringGetBytePtr(lowerLimit); // Lower string + const char *ul = (const char *)CGPDFStringGetBytePtr(upperLimit); // Upper string + + if ((strcmp(destinationName, ll) < 0) || (strcmp(destinationName, ul) > 0)) + { + return NULL; // Destination name is outside this node's limits + } + } + } + } + + CGPDFArrayRef namesArray = NULL; // Names array + + if (CGPDFDictionaryGetArray(node, "Names", &namesArray) == true) + { + NSInteger namesCount = CGPDFArrayGetCount(namesArray); + + for (NSInteger index = 0; index < namesCount; index += 2) + { + CGPDFStringRef destName; // Destination name string + + if (CGPDFArrayGetString(namesArray, index, &destName) == true) + { + const char *dn = (const char *)CGPDFStringGetBytePtr(destName); + + if (strcmp(dn, destinationName) == 0) // Found the destination name + { + if (CGPDFArrayGetArray(namesArray, (index + 1), &destinationArray) == false) + { + CGPDFDictionaryRef destinationDictionary = NULL; // Destination dictionary + + if (CGPDFArrayGetDictionary(namesArray, (index + 1), &destinationDictionary) == true) + { + CGPDFDictionaryGetArray(destinationDictionary, "D", &destinationArray); + } + } + + return destinationArray; // Return the destination array + } + } + } + } + + CGPDFArrayRef kidsArray = NULL; // Kids array + + if (CGPDFDictionaryGetArray(node, "Kids", &kidsArray) == true) + { + NSInteger kidsCount = CGPDFArrayGetCount(kidsArray); + + for (NSInteger index = 0; index < kidsCount; index++) + { + CGPDFDictionaryRef kidNode = NULL; // Kid node dictionary + + if (CGPDFArrayGetDictionary(kidsArray, index, &kidNode) == true) // Recurse into node + { + destinationArray = [self destinationWithName:destinationName inDestsTree:kidNode]; + + if (destinationArray != NULL) return destinationArray; // Return destination array + } + } + } + + return NULL; +} + ++ (id)outlineEntryTarget:(CGPDFDictionaryRef)outlineDictionary document:(CGPDFDocumentRef)document +{ + id entryTarget = nil; // Entry target object + + CGPDFStringRef destName = NULL; const char *destString = NULL; + + CGPDFDictionaryRef actionDictionary = NULL; CGPDFArrayRef destArray = NULL; + + if (CGPDFDictionaryGetDictionary(outlineDictionary, "A", &actionDictionary) == true) + { + const char *actionType = NULL; // Outline entry action type string + + if (CGPDFDictionaryGetName(actionDictionary, "S", &actionType) == true) + { + if (strcmp(actionType, "GoTo") == 0) // GoTo action type + { + if (CGPDFDictionaryGetArray(actionDictionary, "D", &destArray) == false) + { + CGPDFDictionaryGetString(actionDictionary, "D", &destName); + } + } + else // Handle other entry action type possibility + { + if (strcmp(actionType, "URI") == 0) // URI action type + { + CGPDFStringRef uriString = NULL; // Action's URI string + + if (CGPDFDictionaryGetString(actionDictionary, "URI", &uriString) == true) + { + const char *uri = (const char *)CGPDFStringGetBytePtr(uriString); // Destination URI string + + entryTarget = [NSURL URLWithString:[NSString stringWithCString:uri encoding:NSASCIIStringEncoding]]; + } + } + } + } + } + else // Handle other entry target possibilities + { + if (CGPDFDictionaryGetArray(outlineDictionary, "Dest", &destArray) == false) + { + if (CGPDFDictionaryGetString(outlineDictionary, "Dest", &destName) == false) + { + CGPDFDictionaryGetName(outlineDictionary, "Dest", &destString); + } + } + } + + if (destName != NULL) // Handle a destination name + { + CGPDFDictionaryRef catalogDictionary = CGPDFDocumentGetCatalog(document); + + CGPDFDictionaryRef namesDictionary = NULL; // Destination names in the document + + if (CGPDFDictionaryGetDictionary(catalogDictionary, "Names", &namesDictionary) == true) + { + CGPDFDictionaryRef destsDictionary = NULL; // Document destinations dictionary + + if (CGPDFDictionaryGetDictionary(namesDictionary, "Dests", &destsDictionary) == true) + { + const char *destinationName = (const char *)CGPDFStringGetBytePtr(destName); // Name + + destArray = [self destinationWithName:destinationName inDestsTree:destsDictionary]; + } + } + } + + if (destString != NULL) // Handle a destination string + { + CGPDFDictionaryRef catalogDictionary = CGPDFDocumentGetCatalog(document); + + CGPDFDictionaryRef destsDictionary = NULL; // Document destinations dictionary + + if (CGPDFDictionaryGetDictionary(catalogDictionary, "Dests", &destsDictionary) == true) + { + CGPDFDictionaryRef targetDictionary = NULL; // Destination target dictionary + + if (CGPDFDictionaryGetDictionary(destsDictionary, destString, &targetDictionary) == true) + { + CGPDFDictionaryGetArray(targetDictionary, "D", &destArray); + } + } + } + + if (destArray != NULL) // Handle a destination array + { + NSInteger targetPageNumber = 0; // The target page number + + CGPDFDictionaryRef pageDictionaryFromDestArray = NULL; // Target reference + + if (CGPDFArrayGetDictionary(destArray, 0, &pageDictionaryFromDestArray) == true) + { + NSInteger pageCount = CGPDFDocumentGetNumberOfPages(document); // Pages + + for (NSInteger pageNumber = 1; pageNumber <= pageCount; pageNumber++) + { + CGPDFPageRef pageRef = CGPDFDocumentGetPage(document, pageNumber); + + CGPDFDictionaryRef pageDictionaryFromPage = CGPDFPageGetDictionary(pageRef); + + if (pageDictionaryFromPage == pageDictionaryFromDestArray) // Found it + { + targetPageNumber = pageNumber; break; + } + } + } + else // Try page number from array possibility + { + CGPDFInteger pageNumber = 0; // Page number in array + + if (CGPDFArrayGetInteger(destArray, 0, &pageNumber) == true) + { + targetPageNumber = (pageNumber + 1); // 1-based + } + } + + if (targetPageNumber > 0) // We have a target page number + { + entryTarget = [NSNumber numberWithInteger:targetPageNumber]; + } + } + + return entryTarget; +} + ++ (void)outlineItems:(CGPDFDictionaryRef)outlineDictionary document:(CGPDFDocumentRef)document array:(NSMutableArray *)array level:(NSInteger)level +{ + do // Loop through current level outline entries + { + DocumentOutlineEntry *outlineEntry = nil; // An entry + + CGPDFStringRef string = NULL; // Outline entry title string + + if (CGPDFDictionaryGetString(outlineDictionary, "Title", &string) == true) + { + CFStringRef title = NULL; // Actual outline title (CFObject) string + + if ((title = CGPDFStringCopyTextString(string)) != NULL) // Copy of CFObject string + { + NSString *titleString = (__bridge NSString *)title; // CFString to NSString toll-free bridge cast + + id entryTarget = [self outlineEntryTarget:outlineDictionary document:document]; // Get target object + + NSString *trimmed = [titleString stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]]; + + outlineEntry = [DocumentOutlineEntry newWithTitle:trimmed target:entryTarget level:level]; // New entry + + [array addObject:outlineEntry]; CFRelease(title); // Add new entry and cleanup + } + } + + if (outlineEntry != nil) // Must have a current outline entry + { + CGPDFDictionaryRef childItem = NULL; // First child outline item + + if (CGPDFDictionaryGetDictionary(outlineDictionary, "First", &childItem) == true) + { +#if (HIERARCHICAL_OUTLINE == TRUE) // Option + NSMutableArray *childArray = [NSMutableArray array]; outlineEntry.children = childArray; + + [self outlineItems:childItem document:document array:childArray level:(level + 1)]; +#else // Flat + [self outlineItems:childItem document:document array:array level:(level + 1)]; + +#endif // end of HIERARCHICAL_OUTLINE Option + } + } + + } while (CGPDFDictionaryGetDictionary(outlineDictionary, "Next", &outlineDictionary) == true); +} + ++ (NSArray *)outlineFromFileURL:(NSURL *)fileURL password:(NSString *)phrase +{ + NSMutableArray *outlineArray = nil; // Mutable outline array + + if ((fileURL != nil) && [fileURL isFileURL]) // Check for valid file URL + { + CGPDFDocumentRef document = CGPDFDocumentCreateX((__bridge CFURLRef)fileURL, phrase); + + if (document != NULL) // Check for non-NULL CGPDFDocumentRef + { + CGPDFDictionaryRef outlines = NULL; // Document's outlines + + CGPDFDictionaryRef catalog = CGPDFDocumentGetCatalog(document); + + if (CGPDFDictionaryGetDictionary(catalog, "Outlines", &outlines) == true) + { + CGPDFDictionaryRef firstItem = NULL; // First outline item entry + + if (CGPDFDictionaryGetDictionary(outlines, "First", &firstItem) == true) + { + outlineArray = [NSMutableArray array]; // Top level outline entries array + + [self outlineItems:firstItem document:document array:outlineArray level:0]; + } + } + + CGPDFDocumentRelease(document); // Cleanup + } + } + + //[self logDocumentOutlineArray:outlineArray]; // Log it + + return [outlineArray copy]; // NSArray +} + +@end + +#pragma mark - + +// +// DocumentOutlineEntry class implementation +// + +@interface DocumentOutlineEntry () + +@property (nonatomic, assign, readwrite) NSInteger level; +@property (nonatomic, strong, readwrite) NSString *title; +@property (nonatomic, strong, readwrite) id target; + +@end + +@implementation DocumentOutlineEntry +{ + NSInteger _level; + + NSMutableArray *_children; + + NSString *_title; + + id _target; +} + +#pragma mark Properties + +@synthesize level = _level; +@synthesize children = _children; +@synthesize target = _target; +@synthesize title = _title; + +#pragma mark DocumentOutlineEntry class methods + ++ (id)newWithTitle:(NSString *)title target:(id)target level:(NSInteger)level +{ + return [[DocumentOutlineEntry alloc] initWithTitle:title target:target level:level]; +} + +#pragma mark DocumentOutlineEntry instance methods + +- (id)initWithTitle:(NSString *)title target:(id)target level:(NSInteger)level +{ + if ((self = [super init])) + { + self.title = title; self.target = target; self.level = level; + } + + return self; +} + +- (NSString *)description +{ + NSString *format = @"%@ Title = '%@', Target = '%@', Level = (%i)"; + + return [NSString stringWithFormat:format, [super description], _title, _target, _level]; +} + +@end diff --git a/Night Reader/Night Reader/Night Reader/ReaderMainPagebar.h b/Night Reader/Night Reader/Night Reader/ReaderMainPagebar.h new file mode 100644 index 0000000..741c9cf --- /dev/null +++ b/Night Reader/Night Reader/Night Reader/ReaderMainPagebar.h @@ -0,0 +1,88 @@ +// +// ReaderMainPagebar.h +// Reader v2.6.0 +// +// Created by Julius Oklamcak on 2011-09-01. +// Copyright © 2011-2013 Julius Oklamcak. All rights reserved. +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights to +// use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +// of the Software, and to permit persons to whom the Software is furnished to +// do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in all +// copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +// CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +// + +#import + +#import "ReaderThumbView.h" + +@class ReaderMainPagebar; +@class ReaderTrackControl; +@class ReaderPagebarThumb; +@class ReaderDocument; + +@protocol ReaderMainPagebarDelegate + +@required // Delegate protocols + +- (void)pagebar:(ReaderMainPagebar *)pagebar gotoPage:(NSInteger)page; + +@end + +@interface ReaderMainPagebar : UIView + +@property (nonatomic, unsafe_unretained, readwrite) id delegate; + +- (id)initWithFrame:(CGRect)frame document:(ReaderDocument *)object; + +- (void)updatePagebar; + +- (void)hidePagebar; +- (void)showPagebar; + +@end + +#pragma mark - + +// +// ReaderTrackControl class interface +// + +@interface ReaderTrackControl : UIControl + +@property (nonatomic, assign, readonly) CGFloat value; + +@end + +#pragma mark - + +// +// ReaderPagebarThumb class interface +// + +@interface ReaderPagebarThumb : ReaderThumbView + +- (id)initWithFrame:(CGRect)frame small:(BOOL)small; + +@end + +#pragma mark - + +// +// ReaderPagebarShadow class interface +// + +@interface ReaderPagebarShadow : UIView + +@end diff --git a/Night Reader/Night Reader/Night Reader/ReaderMainPagebar.m b/Night Reader/Night Reader/Night Reader/ReaderMainPagebar.m new file mode 100644 index 0000000..70f2b7a --- /dev/null +++ b/Night Reader/Night Reader/Night Reader/ReaderMainPagebar.m @@ -0,0 +1,625 @@ +// +// ReaderMainPagebar.m +// Reader v2.6.2 +// +// Created by Julius Oklamcak on 2011-09-01. +// Copyright © 2011-2013 Julius Oklamcak. All rights reserved. +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights to +// use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +// of the Software, and to permit persons to whom the Software is furnished to +// do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in all +// copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +// CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +// + +#import "ReaderMainPagebar.h" +#import "ReaderThumbCache.h" +#import "ReaderDocument.h" + +#import + +@implementation ReaderMainPagebar +{ + ReaderDocument *document; + + ReaderTrackControl *trackControl; + + NSMutableDictionary *miniThumbViews; + + ReaderPagebarThumb *pageThumbView; + + UILabel *pageNumberLabel; + + UIView *pageNumberView; + + NSTimer *enableTimer; + NSTimer *trackTimer; +} + +#pragma mark Constants + +#define THUMB_SMALL_GAP 2 +#define THUMB_SMALL_WIDTH 22 +#define THUMB_SMALL_HEIGHT 28 + +#define THUMB_LARGE_WIDTH 32 +#define THUMB_LARGE_HEIGHT 42 + +#define PAGE_NUMBER_WIDTH 96.0f +#define PAGE_NUMBER_HEIGHT 30.0f +#define PAGE_NUMBER_SPACE 20.0f + +#pragma mark Properties + +@synthesize delegate; + +#pragma mark ReaderMainPagebar class methods + ++ (Class)layerClass +{ + return [CAGradientLayer class]; +} + +#pragma mark ReaderMainPagebar instance methods + +- (id)initWithFrame:(CGRect)frame +{ + return [self initWithFrame:frame document:nil]; +} + +- (void)updatePageThumbView:(NSInteger)page +{ + NSInteger pages = [document.pageCount integerValue]; + + if (pages > 1) // Only update frame if more than one page + { + CGFloat controlWidth = trackControl.bounds.size.width; + + CGFloat useableWidth = (controlWidth - THUMB_LARGE_WIDTH); + + CGFloat stride = (useableWidth / (pages - 1)); // Page stride + + NSInteger X = (stride * (page - 1)); CGFloat pageThumbX = X; + + CGRect pageThumbRect = pageThumbView.frame; // Current frame + + if (pageThumbX != pageThumbRect.origin.x) // Only if different + { + pageThumbRect.origin.x = pageThumbX; // The new X position + + pageThumbView.frame = pageThumbRect; // Update the frame + } + } + + if (page != pageThumbView.tag) // Only if page number changed + { + pageThumbView.tag = page; [pageThumbView reuse]; // Reuse the thumb view + + CGSize size = CGSizeMake(THUMB_LARGE_WIDTH, THUMB_LARGE_HEIGHT); // Maximum thumb size + + NSURL *fileURL = document.fileURL; NSString *guid = document.guid; NSString *phrase = document.password; + + ReaderThumbRequest *request = [ReaderThumbRequest newForView:pageThumbView fileURL:fileURL password:phrase guid:guid page:page size:size]; + + UIImage *image = [[ReaderThumbCache sharedInstance] thumbRequest:request priority:YES]; // Request the thumb + + UIImage *thumb = ([image isKindOfClass:[UIImage class]] ? image : nil); [pageThumbView showImage:thumb]; + } +} + +- (void)updatePageNumberText:(NSInteger)page +{ + if (page != pageNumberLabel.tag) // Only if page number changed + { + NSInteger pages = [document.pageCount integerValue]; // Total pages + + NSString *format = NSLocalizedString(@"%d of %d", @"format"); // Format + + NSString *number = [NSString stringWithFormat:format, page, pages]; // Text + + pageNumberLabel.text = number; // Update the page number label text + + pageNumberLabel.tag = page; // Update the last page number tag + } +} + +- (id)initWithFrame:(CGRect)frame document:(ReaderDocument *)object +{ + assert(object != nil); // Must have a valid ReaderDocument + + + + UIColor *DarkNightColor=[UIColor colorWithRed:70 green:0 blue:0 alpha:0.3]; + + + + + + + + if ((self = [super initWithFrame:frame])) + { + self.autoresizesSubviews = YES; + self.userInteractionEnabled = YES; + self.contentMode = UIViewContentModeRedraw; + self.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleTopMargin; + self.backgroundColor = [UIColor blackColor]; + + CAGradientLayer *layer = (CAGradientLayer *)self.layer; + UIColor *liteColor = DarkNightColor; + UIColor *darkColor = DarkNightColor; + layer.colors = [NSArray arrayWithObjects:(id)liteColor.CGColor, (id)darkColor.CGColor, nil]; + + // CGRect shadowRect = self.bounds; shadowRect.size.height = 4.0f; shadowRect.origin.y -= shadowRect.size.height; + + // ReaderPagebarShadow *shadowView = [[ReaderPagebarShadow alloc] initWithFrame:shadowRect]; + + // [self addSubview:shadowView]; // Add the shadow to the view + + CGFloat numberY = (0.0f - (PAGE_NUMBER_HEIGHT + PAGE_NUMBER_SPACE)); + CGFloat numberX = ((self.bounds.size.width - PAGE_NUMBER_WIDTH) / 2.0f); + CGRect numberRect = CGRectMake(numberX, numberY, PAGE_NUMBER_WIDTH, PAGE_NUMBER_HEIGHT); + + pageNumberView = [[UIView alloc] initWithFrame:numberRect]; // Page numbers view + + pageNumberView.autoresizesSubviews = NO; + pageNumberView.userInteractionEnabled = NO; + pageNumberView.autoresizingMask = UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleRightMargin; + pageNumberView.backgroundColor = [UIColor blackColor]; + + pageNumberView.layer.shadowOffset = CGSizeMake(0.0f, 0.0f); + pageNumberView.layer.shadowColor = [UIColor colorWithWhite:0.0f alpha:0.6f].CGColor; + pageNumberView.layer.shadowPath = [UIBezierPath bezierPathWithRect:pageNumberView.bounds].CGPath; + pageNumberView.layer.shadowRadius = 2.0f; pageNumberView.layer.shadowOpacity = 1.0f; + + CGRect textRect = CGRectInset(pageNumberView.bounds, 4.0f, 2.0f); // Inset the text a bit + + pageNumberLabel = [[UILabel alloc] initWithFrame:textRect]; // Page numbers label + + pageNumberLabel.autoresizesSubviews = NO; + pageNumberLabel.autoresizingMask = UIViewAutoresizingNone; + pageNumberLabel.textAlignment = NSTextAlignmentCenter; + pageNumberLabel.backgroundColor = [UIColor clearColor]; + pageNumberLabel.textColor = [UIColor whiteColor]; + pageNumberLabel.font = [UIFont systemFontOfSize:16.0f]; + pageNumberLabel.shadowOffset = CGSizeMake(0.0f, 1.0f); + pageNumberLabel.shadowColor = [UIColor blackColor]; + pageNumberLabel.adjustsFontSizeToFitWidth = YES; + pageNumberLabel.MinimumScaleFactor = 12.0f; + + [pageNumberView addSubview:pageNumberLabel]; // Add label view + + [self addSubview:pageNumberView]; // Add page numbers display view + + trackControl = [[ReaderTrackControl alloc] initWithFrame:self.bounds]; // Track control view + + [trackControl addTarget:self action:@selector(trackViewTouchDown:) forControlEvents:UIControlEventTouchDown]; + [trackControl addTarget:self action:@selector(trackViewValueChanged:) forControlEvents:UIControlEventValueChanged]; + [trackControl addTarget:self action:@selector(trackViewTouchUp:) forControlEvents:UIControlEventTouchUpOutside]; + [trackControl addTarget:self action:@selector(trackViewTouchUp:) forControlEvents:UIControlEventTouchUpInside]; + + [self addSubview:trackControl]; // Add the track control and thumbs view + + document = object; // Retain the document object for our use + + [self updatePageNumberText:[document.pageNumber integerValue]]; + + miniThumbViews = [NSMutableDictionary new]; // Small thumbs + } + + return self; +} + +- (void)removeFromSuperview +{ + [trackTimer invalidate]; [enableTimer invalidate]; + + [super removeFromSuperview]; +} + +- (void)layoutSubviews +{ + CGRect controlRect = CGRectInset(self.bounds, 4.0f, 0.0f); + + CGFloat thumbWidth = (THUMB_SMALL_WIDTH + THUMB_SMALL_GAP); + + NSInteger thumbs = (controlRect.size.width / thumbWidth); + + NSInteger pages = [document.pageCount integerValue]; // Pages + + if (thumbs > pages) thumbs = pages; // No more than total pages + + CGFloat controlWidth = ((thumbs * thumbWidth) - THUMB_SMALL_GAP); + + controlRect.size.width = controlWidth; // Update control width + + CGFloat widthDelta = (self.bounds.size.width - controlWidth); + + NSInteger X = (widthDelta / 2.0f); controlRect.origin.x = X; + + trackControl.frame = controlRect; // Update track control frame + + if (pageThumbView == nil) // Create the page thumb view when needed + { + CGFloat heightDelta = (controlRect.size.height - THUMB_LARGE_HEIGHT); + + NSInteger thumbY = (heightDelta / 2.0f); NSInteger thumbX = 0; // Thumb X, Y + + CGRect thumbRect = CGRectMake(thumbX, thumbY, THUMB_LARGE_WIDTH, THUMB_LARGE_HEIGHT); + + pageThumbView = [[ReaderPagebarThumb alloc] initWithFrame:thumbRect]; // Create the thumb view + + pageThumbView.layer.zPosition = 1.0f; // Z position so that it sits on top of the small thumbs + + [trackControl addSubview:pageThumbView]; // Add as the first subview of the track control + } + + [self updatePageThumbView:[document.pageNumber integerValue]]; // Update page thumb view + + NSInteger strideThumbs = (thumbs - 1); if (strideThumbs < 1) strideThumbs = 1; + + CGFloat stride = ((CGFloat)pages / (CGFloat)strideThumbs); // Page stride + + CGFloat heightDelta = (controlRect.size.height - THUMB_SMALL_HEIGHT); + + NSInteger thumbY = (heightDelta / 2.0f); NSInteger thumbX = 0; // Initial X, Y + + CGRect thumbRect = CGRectMake(thumbX, thumbY, THUMB_SMALL_WIDTH, THUMB_SMALL_HEIGHT); + + NSMutableDictionary *thumbsToHide = [miniThumbViews mutableCopy]; + + for (NSInteger thumb = 0; thumb < thumbs; thumb++) // Iterate through needed thumbs + { + NSInteger page = ((stride * thumb) + 1); if (page > pages) page = pages; // Page + + NSNumber *key = [NSNumber numberWithInteger:page]; // Page number key for thumb view + + ReaderPagebarThumb *smallThumbView = [miniThumbViews objectForKey:key]; // Thumb view + + if (smallThumbView == nil) // We need to create a new small thumb view for the page number + { + CGSize size = CGSizeMake(THUMB_SMALL_WIDTH, THUMB_SMALL_HEIGHT); // Maximum thumb size + + NSURL *fileURL = document.fileURL; NSString *guid = document.guid; NSString *phrase = document.password; + + smallThumbView = [[ReaderPagebarThumb alloc] initWithFrame:thumbRect small:YES]; // Create a small thumb view + + ReaderThumbRequest *thumbRequest = [ReaderThumbRequest newForView:smallThumbView fileURL:fileURL password:phrase guid:guid page:page size:size]; + + UIImage *image = [[ReaderThumbCache sharedInstance] thumbRequest:thumbRequest priority:NO]; // Request the thumb + + if ([image isKindOfClass:[UIImage class]]) [smallThumbView showImage:image]; // Use thumb image from cache + + [trackControl addSubview:smallThumbView]; [miniThumbViews setObject:smallThumbView forKey:key]; + } + else // Resue existing small thumb view for the page number + { + smallThumbView.hidden = NO; [thumbsToHide removeObjectForKey:key]; + + if (CGRectEqualToRect(smallThumbView.frame, thumbRect) == false) + { + smallThumbView.frame = thumbRect; // Update thumb frame + } + } + + thumbRect.origin.x += thumbWidth; // Next thumb X position + } + + [thumbsToHide enumerateKeysAndObjectsUsingBlock: // Hide unused thumbs + ^(id key, id object, BOOL *stop) + { + ReaderPagebarThumb *thumb = object; thumb.hidden = YES; + } + ]; +} + +- (void)updatePagebarViews +{ + NSInteger page = [document.pageNumber integerValue]; // # + + [self updatePageNumberText:page]; // Update page number text + + [self updatePageThumbView:page]; // Update page thumb view +} + +- (void)updatePagebar +{ + if (self.hidden == NO) // Only if visible + { + [self updatePagebarViews]; // Update views + } +} + +- (void)hidePagebar +{ + if (self.hidden == NO) // Only if visible + { + [UIView animateWithDuration:0.25 delay:0.0 + options:UIViewAnimationOptionCurveLinear | UIViewAnimationOptionAllowUserInteraction + animations:^(void) + { + self.alpha = 0.0f; + } + completion:^(BOOL finished) + { + self.hidden = YES; + } + ]; + } +} + +- (void)showPagebar +{ + if (self.hidden == YES) // Only if hidden + { + [self updatePagebarViews]; // Update views first + + [UIView animateWithDuration:0.25 delay:0.0 + options:UIViewAnimationOptionCurveLinear | UIViewAnimationOptionAllowUserInteraction + animations:^(void) + { + self.hidden = NO; + self.alpha = 1.0f; + } + completion:NULL + ]; + } +} + +#pragma mark ReaderTrackControl action methods + +- (void)trackTimerFired:(NSTimer *)timer +{ + [trackTimer invalidate]; trackTimer = nil; // Cleanup timer + + if (trackControl.tag != [document.pageNumber integerValue]) // Only if different + { + [delegate pagebar:self gotoPage:trackControl.tag]; // Go to document page + } +} + +- (void)enableTimerFired:(NSTimer *)timer +{ + [enableTimer invalidate]; enableTimer = nil; // Cleanup timer + + trackControl.userInteractionEnabled = YES; // Enable track control interaction +} + +- (void)restartTrackTimer +{ + if (trackTimer != nil) { [trackTimer invalidate]; trackTimer = nil; } // Invalidate and release previous timer + + trackTimer = [NSTimer scheduledTimerWithTimeInterval:0.25 target:self selector:@selector(trackTimerFired:) userInfo:nil repeats:NO]; +} + +- (void)startEnableTimer +{ + if (enableTimer != nil) { [enableTimer invalidate]; enableTimer = nil; } // Invalidate and release previous timer + + enableTimer = [NSTimer scheduledTimerWithTimeInterval:0.25 target:self selector:@selector(enableTimerFired:) userInfo:nil repeats:NO]; +} + +- (NSInteger)trackViewPageNumber:(ReaderTrackControl *)trackView +{ + CGFloat controlWidth = trackView.bounds.size.width; // View width + + CGFloat stride = (controlWidth / [document.pageCount integerValue]); + + NSInteger page = (trackView.value / stride); // Integer page number + + return (page + 1); // + 1 +} + +- (void)trackViewTouchDown:(ReaderTrackControl *)trackView +{ + NSInteger page = [self trackViewPageNumber:trackView]; // Page + + if (page != [document.pageNumber integerValue]) // Only if different + { + [self updatePageNumberText:page]; // Update page number text + + [self updatePageThumbView:page]; // Update page thumb view + + [self restartTrackTimer]; // Start the track timer + } + + trackView.tag = page; // Start page tracking +} + +- (void)trackViewValueChanged:(ReaderTrackControl *)trackView +{ + NSInteger page = [self trackViewPageNumber:trackView]; // Page + + if (page != trackView.tag) // Only if the page number has changed + { + [self updatePageNumberText:page]; // Update page number text + + [self updatePageThumbView:page]; // Update page thumb view + + trackView.tag = page; // Update the page tracking tag + + [self restartTrackTimer]; // Restart the track timer + } +} + +- (void)trackViewTouchUp:(ReaderTrackControl *)trackView +{ + [trackTimer invalidate]; trackTimer = nil; // Cleanup + + if (trackView.tag != [document.pageNumber integerValue]) // Only if different + { + trackView.userInteractionEnabled = NO; // Disable track control interaction + + [delegate pagebar:self gotoPage:trackView.tag]; // Go to document page + + [self startEnableTimer]; // Start track control enable timer + } + + trackView.tag = 0; // Reset page tracking +} + +@end + +#pragma mark - + +// +// ReaderTrackControl class implementation +// + +@implementation ReaderTrackControl +{ + CGFloat _value; +} + +#pragma mark Properties + +@synthesize value = _value; + +#pragma mark ReaderTrackControl instance methods + +- (id)initWithFrame:(CGRect)frame +{ + if ((self = [super initWithFrame:frame])) + { + self.autoresizesSubviews = NO; + self.userInteractionEnabled = YES; + self.contentMode = UIViewContentModeRedraw; + self.autoresizingMask = UIViewAutoresizingNone; + self.backgroundColor = [UIColor clearColor]; + self.exclusiveTouch = YES; + } + + return self; +} + +- (CGFloat)limitValue:(CGFloat)valueX +{ + CGFloat minX = self.bounds.origin.x; // 0.0f; + CGFloat maxX = (self.bounds.size.width - 1.0f); + + if (valueX < minX) valueX = minX; // Minimum X + if (valueX > maxX) valueX = maxX; // Maximum X + + return valueX; +} + +#pragma mark UIControl subclass methods + +- (BOOL)beginTrackingWithTouch:(UITouch *)touch withEvent:(UIEvent *)event +{ + CGPoint point = [touch locationInView:self]; // Touch point + + _value = [self limitValue:point.x]; // Limit control value + + return YES; +} + +- (BOOL)continueTrackingWithTouch:(UITouch *)touch withEvent:(UIEvent *)event +{ + if (self.touchInside == YES) // Only if inside the control + { + CGPoint point = [touch locationInView:touch.view]; // Touch point + + CGFloat x = [self limitValue:point.x]; // Potential new control value + + if (x != _value) // Only if the new value has changed since the last time + { + _value = x; [self sendActionsForControlEvents:UIControlEventValueChanged]; + } + } + + return YES; +} + +- (void)endTrackingWithTouch:(UITouch *)touch withEvent:(UIEvent *)event +{ + CGPoint point = [touch locationInView:self]; // Touch point + + _value = [self limitValue:point.x]; // Limit control value +} + +@end + +#pragma mark - + +// +// ReaderPagebarThumb class implementation +// + +@implementation ReaderPagebarThumb + +#pragma mark ReaderPagebarThumb instance methods + +- (id)initWithFrame:(CGRect)frame +{ + return [self initWithFrame:frame small:NO]; +} + +- (id)initWithFrame:(CGRect)frame small:(BOOL)small +{ + if ((self = [super initWithFrame:frame])) // Superclass init + { + CGFloat value = (small ? 0.6f : 0.7f); // Size based alpha value + + UIColor *background = [UIColor colorWithWhite:0.8f alpha:value]; + + self.backgroundColor = background; imageView.backgroundColor = background; + + imageView.layer.borderColor = [UIColor colorWithWhite:0.4f alpha:0.6f].CGColor; + + imageView.layer.borderWidth = 1.0f; // Give the thumb image view a border + } + + return self; +} + +@end + +#pragma mark - + +// +// ReaderPagebarShadow class implementation +// + +@implementation ReaderPagebarShadow + +#pragma mark ReaderPagebarShadow class methods + ++ (Class)layerClass +{ + return [CAGradientLayer class]; +} + +#pragma mark ReaderPagebarShadow instance methods + +- (id)initWithFrame:(CGRect)frame +{ + if ((self = [super initWithFrame:frame])) + { + self.autoresizesSubviews = NO; + self.userInteractionEnabled = NO; + self.contentMode = UIViewContentModeRedraw; + self.autoresizingMask = UIViewAutoresizingFlexibleWidth; + self.backgroundColor = [UIColor clearColor]; + + CAGradientLayer *layer = (CAGradientLayer *)self.layer; + UIColor *blackColor = [UIColor colorWithWhite:0.42f alpha:1.0f]; + UIColor *clearColor = [UIColor colorWithWhite:0.42f alpha:0.0f]; + layer.colors = [NSArray arrayWithObjects:(id)clearColor.CGColor, (id)blackColor.CGColor, nil]; + } + + return self; +} + +@end diff --git a/Night Reader/Night Reader/Night Reader/ReaderMainToolbar.h b/Night Reader/Night Reader/Night Reader/ReaderMainToolbar.h new file mode 100644 index 0000000..9ca51a6 --- /dev/null +++ b/Night Reader/Night Reader/Night Reader/ReaderMainToolbar.h @@ -0,0 +1,56 @@ +// +// ReaderMainToolbar.h +// Reader v2.6.0 +// +// Created by Julius Oklamcak on 2011-07-01. +// Copyright © 2011-2013 Julius Oklamcak. All rights reserved. +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights to +// use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +// of the Software, and to permit persons to whom the Software is furnished to +// do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in all +// copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +// CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +// + +#import + +#import "UIXToolbarView.h" + +@class ReaderMainToolbar; +@class ReaderDocument; + +@protocol ReaderMainToolbarDelegate + +@required // Delegate protocols + +- (void)tappedInToolbar:(ReaderMainToolbar *)toolbar doneButton:(UIButton *)button; +- (void)tappedInToolbar:(ReaderMainToolbar *)toolbar thumbsButton:(UIButton *)button; +- (void)tappedInToolbar:(ReaderMainToolbar *)toolbar printButton:(UIButton *)button; +- (void)tappedInToolbar:(ReaderMainToolbar *)toolbar emailButton:(UIButton *)button; +- (void)tappedInToolbar:(ReaderMainToolbar *)toolbar markButton:(UIButton *)button; + +@end + +@interface ReaderMainToolbar : UIXToolbarView + +@property (nonatomic, unsafe_unretained, readwrite) id delegate; + +- (id)initWithFrame:(CGRect)frame document:(ReaderDocument *)object; + +- (void)setBookmarkState:(BOOL)state; + +- (void)hideToolbar; +- (void)showToolbar; + +@end diff --git a/Night Reader/Night Reader/Night Reader/ReaderMainToolbar.m b/Night Reader/Night Reader/Night Reader/ReaderMainToolbar.m new file mode 100644 index 0000000..3a5b43c --- /dev/null +++ b/Night Reader/Night Reader/Night Reader/ReaderMainToolbar.m @@ -0,0 +1,334 @@ +// +// ReaderMainToolbar.m +// Reader v2.6.2 +// +// Created by Julius Oklamcak on 2011-07-01. +// Copyright © 2011-2013 Julius Oklamcak. All rights reserved. +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights to +// use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +// of the Software, and to permit persons to whom the Software is furnished to +// do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in all +// copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +// CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +// + +#import "ReaderConstants.h" +#import "ReaderMainToolbar.h" +#import "ReaderDocument.h" + +#import + +@implementation ReaderMainToolbar +{ + UIButton *markButton; + + UIImage *markImageN; + UIImage *markImageY; +} + +#pragma mark Constants + +#define BUTTON_X 8.0f +#define BUTTON_Y 8.0f +#define BUTTON_SPACE 8.0f +#define BUTTON_HEIGHT 30.0f + +#define DONE_BUTTON_WIDTH 56.0f +#define THUMBS_BUTTON_WIDTH 40.0f +#define PRINT_BUTTON_WIDTH 40.0f +#define EMAIL_BUTTON_WIDTH 40.0f +#define MARK_BUTTON_WIDTH 40.0f + +#define TITLE_HEIGHT 28.0f + +#pragma mark Properties + +@synthesize delegate; + +#pragma mark ReaderMainToolbar instance methods + +- (id)initWithFrame:(CGRect)frame +{ + return [self initWithFrame:frame document:nil]; +} + +- (id)initWithFrame:(CGRect)frame document:(ReaderDocument *)object +{ + assert(object != nil); // Must have a valid ReaderDocument + + if ((self = [super initWithFrame:frame])) + { + CGFloat viewWidth = self.bounds.size.width; + + UIImage *imageH = [UIImage imageNamed:@"Reader-Button-H"]; + UIImage *imageN = [UIImage imageNamed:@"Reader-Button-N"]; + + UIImage *buttonH = [imageH stretchableImageWithLeftCapWidth:5 topCapHeight:0]; + UIImage *buttonN = [imageN stretchableImageWithLeftCapWidth:5 topCapHeight:0]; + + CGFloat titleX = BUTTON_X; CGFloat titleWidth = (viewWidth - (titleX + titleX)); + + CGFloat leftButtonX = BUTTON_X; // Left button start X position + +#if (READER_STANDALONE == FALSE) // Option + + UIButton *doneButton = [UIButton buttonWithType:UIButtonTypeCustom]; + UIColor *NightColor=[UIColor colorWithRed:70 green:0 blue:0 alpha:0.8]; + + // UIColor *DarkNightColor=[UIColor colorWithRed:70 green:0 blue:0 alpha:0.3]; + + doneButton.frame = CGRectMake(leftButtonX, BUTTON_Y, DONE_BUTTON_WIDTH, BUTTON_HEIGHT); + [doneButton setTitle:NSLocalizedString(@"Done", @"button") forState:UIControlStateNormal]; + [doneButton setTitleColor:NightColor forState:UIControlStateNormal]; + [doneButton setTitleColor:NightColor forState:UIControlStateHighlighted]; + [doneButton addTarget:self action:@selector(doneButtonTapped:) forControlEvents:UIControlEventTouchUpInside]; + [doneButton setBackgroundImage:buttonH forState:UIControlStateHighlighted]; + [doneButton setBackgroundImage:buttonN forState:UIControlStateNormal]; + doneButton.titleLabel.font = [UIFont systemFontOfSize:14.0f]; + doneButton.autoresizingMask = UIViewAutoresizingNone; + doneButton.exclusiveTouch = YES; + + [self addSubview:doneButton]; leftButtonX += (DONE_BUTTON_WIDTH + BUTTON_SPACE); + + titleX += (DONE_BUTTON_WIDTH + BUTTON_SPACE); titleWidth -= (DONE_BUTTON_WIDTH + BUTTON_SPACE); + +#endif // end of READER_STANDALONE Option + +#if (READER_ENABLE_THUMBS == TRUE) // Option + + UIButton *thumbsButton = [UIButton buttonWithType:UIButtonTypeCustom]; + + thumbsButton.frame = CGRectMake(leftButtonX, BUTTON_Y, THUMBS_BUTTON_WIDTH, BUTTON_HEIGHT); + [thumbsButton setImage:[UIImage imageNamed:@"Reader-Thumbs"] forState:UIControlStateNormal]; + [thumbsButton addTarget:self action:@selector(thumbsButtonTapped:) forControlEvents:UIControlEventTouchUpInside]; + [thumbsButton setBackgroundImage:buttonH forState:UIControlStateHighlighted]; + [thumbsButton setBackgroundImage:buttonN forState:UIControlStateNormal]; + thumbsButton.autoresizingMask = UIViewAutoresizingNone; + thumbsButton.exclusiveTouch = YES; + + [self addSubview:thumbsButton]; //leftButtonX += (THUMBS_BUTTON_WIDTH + BUTTON_SPACE); + + titleX += (THUMBS_BUTTON_WIDTH + BUTTON_SPACE); titleWidth -= (THUMBS_BUTTON_WIDTH + BUTTON_SPACE); + +#endif // end of READER_ENABLE_THUMBS Option + +#if (READER_BOOKMARKS == TRUE || READER_ENABLE_MAIL == TRUE || READER_ENABLE_PRINT == TRUE) + + CGFloat rightButtonX = viewWidth; // Right button start X position + +#endif // end of READER_BOOKMARKS || READER_ENABLE_MAIL || READER_ENABLE_PRINT Options + +#if (READER_BOOKMARKS == TRUE) // Option + + rightButtonX -= (MARK_BUTTON_WIDTH + BUTTON_SPACE); + + UIButton *flagButton = [UIButton buttonWithType:UIButtonTypeCustom]; + + flagButton.frame = CGRectMake(rightButtonX, BUTTON_Y, MARK_BUTTON_WIDTH, BUTTON_HEIGHT); + //[flagButton setImage:[UIImage imageNamed:@"Reader-Mark-N"] forState:UIControlStateNormal]; + [flagButton addTarget:self action:@selector(markButtonTapped:) forControlEvents:UIControlEventTouchUpInside]; + [flagButton setBackgroundImage:buttonH forState:UIControlStateHighlighted]; + [flagButton setBackgroundImage:buttonN forState:UIControlStateNormal]; + flagButton.autoresizingMask = UIViewAutoresizingFlexibleLeftMargin; + flagButton.exclusiveTouch = YES; + + [self addSubview:flagButton]; titleWidth -= (MARK_BUTTON_WIDTH + BUTTON_SPACE); + + markButton = flagButton; markButton.enabled = NO; markButton.tag = NSIntegerMin; + + markImageN = [UIImage imageNamed:@"Reader-Mark-N"]; // N image + markImageY = [UIImage imageNamed:@"Reader-Mark-Y"]; // Y image + +#endif // end of READER_BOOKMARKS Option + +#if (READER_ENABLE_MAIL == TRUE) // Option + + if ([MFMailComposeViewController canSendMail] == YES) // Can email + { + unsigned long long fileSize = [object.fileSize unsignedLongLongValue]; + + if (fileSize < (unsigned long long)15728640) // Check attachment size limit (15MB) + { + rightButtonX -= (EMAIL_BUTTON_WIDTH + BUTTON_SPACE); + + UIButton *emailButton = [UIButton buttonWithType:UIButtonTypeCustom]; + + emailButton.frame = CGRectMake(rightButtonX, BUTTON_Y, EMAIL_BUTTON_WIDTH, BUTTON_HEIGHT); + [emailButton setImage:[UIImage imageNamed:@"Reader-Email"] forState:UIControlStateNormal]; + [emailButton addTarget:self action:@selector(emailButtonTapped:) forControlEvents:UIControlEventTouchUpInside]; + [emailButton setBackgroundImage:buttonH forState:UIControlStateHighlighted]; + [emailButton setBackgroundImage:buttonN forState:UIControlStateNormal]; + emailButton.autoresizingMask = UIViewAutoresizingFlexibleLeftMargin; + emailButton.exclusiveTouch = YES; + + [self addSubview:emailButton]; titleWidth -= (EMAIL_BUTTON_WIDTH + BUTTON_SPACE); + } + } + +#endif // end of READER_ENABLE_MAIL Option + +#if (READER_ENABLE_PRINT == TRUE) // Option + + if (object.password == nil) // We can only print documents without passwords + { + Class printInteractionController = NSClassFromString(@"UIPrintInteractionController"); + + if ((printInteractionController != nil) && [printInteractionController isPrintingAvailable]) + { + rightButtonX -= (PRINT_BUTTON_WIDTH + BUTTON_SPACE); + + UIButton *printButton = [UIButton buttonWithType:UIButtonTypeCustom]; + + printButton.frame = CGRectMake(rightButtonX, BUTTON_Y, PRINT_BUTTON_WIDTH, BUTTON_HEIGHT); + [printButton setImage:[UIImage imageNamed:@"Reader-Print"] forState:UIControlStateNormal]; + [printButton addTarget:self action:@selector(printButtonTapped:) forControlEvents:UIControlEventTouchUpInside]; + [printButton setBackgroundImage:buttonH forState:UIControlStateHighlighted]; + [printButton setBackgroundImage:buttonN forState:UIControlStateNormal]; + printButton.autoresizingMask = UIViewAutoresizingFlexibleLeftMargin; + printButton.exclusiveTouch = YES; + + [self addSubview:printButton]; titleWidth -= (PRINT_BUTTON_WIDTH + BUTTON_SPACE); + } + } + +#endif // end of READER_ENABLE_PRINT Option + + if ([UIDevice currentDevice].userInterfaceIdiom == UIUserInterfaceIdiomPad) + { + CGRect titleRect = CGRectMake(titleX, BUTTON_Y, titleWidth, TITLE_HEIGHT); + + UILabel *titleLabel = [[UILabel alloc] initWithFrame:titleRect]; + + titleLabel.textAlignment = NSTextAlignmentCenter; + titleLabel.font = [UIFont systemFontOfSize:19.0f]; + titleLabel.autoresizingMask = UIViewAutoresizingFlexibleWidth; + titleLabel.baselineAdjustment = UIBaselineAdjustmentAlignCenters; + titleLabel.textColor = [UIColor colorWithWhite:0.0f alpha:1.0f]; + titleLabel.shadowColor = [UIColor colorWithWhite:0.65f alpha:1.0f]; + titleLabel.backgroundColor = [UIColor clearColor]; + titleLabel.shadowOffset = CGSizeMake(0.0f, 1.0f); + titleLabel.adjustsFontSizeToFitWidth = YES; + titleLabel.MinimumScaleFactor = 14.0f; + titleLabel.text = [object.fileName stringByDeletingPathExtension]; + + [self addSubview:titleLabel]; + } + } + + return self; +} + +- (void)setBookmarkState:(BOOL)state +{ +#if (READER_BOOKMARKS == TRUE) // Option + + if (state != markButton.tag) // Only if different state + { + if (self.hidden == NO) // Only if toolbar is visible + { + UIImage *image = (state ? markImageY : markImageN); + + [markButton setImage:image forState:UIControlStateNormal]; + } + + markButton.tag = state; // Update bookmarked state tag + } + + if (markButton.enabled == NO) markButton.enabled = YES; + +#endif // end of READER_BOOKMARKS Option +} + +- (void)updateBookmarkImage +{ +#if (READER_BOOKMARKS == TRUE) // Option + + if (markButton.tag != NSIntegerMin) // Valid tag + { + BOOL state = markButton.tag; // Bookmarked state + + UIImage *image = (state ? markImageY : markImageN); + + [markButton setImage:image forState:UIControlStateNormal]; + } + + if (markButton.enabled == NO) markButton.enabled = YES; + +#endif // end of READER_BOOKMARKS Option +} + +- (void)hideToolbar +{ + if (self.hidden == NO) + { + [UIView animateWithDuration:0.25 delay:0.0 + options:UIViewAnimationOptionCurveLinear | UIViewAnimationOptionAllowUserInteraction + animations:^(void) + { + self.alpha = 0.0f; + } + completion:^(BOOL finished) + { + self.hidden = YES; + } + ]; + } +} + +- (void)showToolbar +{ + if (self.hidden == YES) + { + [self updateBookmarkImage]; // First + + [UIView animateWithDuration:0.25 delay:0.0 + options:UIViewAnimationOptionCurveLinear | UIViewAnimationOptionAllowUserInteraction + animations:^(void) + { + self.hidden = NO; + self.alpha = 1.0f; + } + completion:NULL + ]; + } +} + +#pragma mark UIButton action methods + +- (void)doneButtonTapped:(UIButton *)button +{ + [delegate tappedInToolbar:self doneButton:button]; +} + +- (void)thumbsButtonTapped:(UIButton *)button +{ + [delegate tappedInToolbar:self thumbsButton:button]; +} + +- (void)printButtonTapped:(UIButton *)button +{ + [delegate tappedInToolbar:self printButton:button]; +} + +- (void)emailButtonTapped:(UIButton *)button +{ + [delegate tappedInToolbar:self emailButton:button]; +} + +- (void)markButtonTapped:(UIButton *)button +{ + [delegate tappedInToolbar:self markButton:button]; +} + +@end diff --git a/Night Reader/Night Reader/Night Reader/ReaderThumbCache.h b/Night Reader/Night Reader/Night Reader/ReaderThumbCache.h new file mode 100644 index 0000000..e06b498 --- /dev/null +++ b/Night Reader/Night Reader/Night Reader/ReaderThumbCache.h @@ -0,0 +1,54 @@ +// +// ReaderThumbCache.h +// Reader v2.6.0 +// +// Created by Julius Oklamcak on 2011-09-01. +// Copyright © 2011-2013 Julius Oklamcak. All rights reserved. +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights to +// use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +// of the Software, and to permit persons to whom the Software is furnished to +// do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in all +// copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +// CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +// + +#import + +#import "ReaderThumbRequest.h" + +@interface ReaderThumbCache : NSObject + ++ (ReaderThumbCache *)sharedInstance; + ++ (void)touchThumbCacheWithGUID:(NSString *)guid; + ++ (void)createThumbCacheWithGUID:(NSString *)guid; + ++ (void)removeThumbCacheWithGUID:(NSString *)guid; + ++ (void)purgeThumbCachesOlderThan:(NSTimeInterval)age; + ++ (NSString *)thumbCachePathForGUID:(NSString *)guid; + +- (id)thumbRequest:(ReaderThumbRequest *)request priority:(BOOL)priority; + +- (void)setObject:(UIImage *)image forKey:(NSString *)key; + +- (void)removeObjectForKey:(NSString *)key; + +- (void)removeNullForKey:(NSString *)key; + +- (void)removeAllObjects; + +@end diff --git a/Night Reader/Night Reader/Night Reader/ReaderThumbCache.m b/Night Reader/Night Reader/Night Reader/ReaderThumbCache.m new file mode 100644 index 0000000..0917365 --- /dev/null +++ b/Night Reader/Night Reader/Night Reader/ReaderThumbCache.m @@ -0,0 +1,228 @@ +// +// ReaderThumbCache.m +// Reader v2.6.0 +// +// Created by Julius Oklamcak on 2011-09-01. +// Copyright © 2011-2013 Julius Oklamcak. All rights reserved. +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights to +// use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +// of the Software, and to permit persons to whom the Software is furnished to +// do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in all +// copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +// CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +// + +#import "ReaderThumbCache.h" +#import "ReaderThumbQueue.h" +#import "ReaderThumbFetch.h" +#import "ReaderThumbView.h" + +@implementation ReaderThumbCache +{ + NSCache *thumbCache; +} + +#pragma mark Constants + +#define CACHE_SIZE 2097152 + +#pragma mark ReaderThumbCache class methods + ++ (ReaderThumbCache *)sharedInstance +{ + static dispatch_once_t predicate = 0; + + static ReaderThumbCache *object = nil; // Object + + dispatch_once(&predicate, ^{ object = [self new]; }); + + return object; // ReaderThumbCache singleton +} + ++ (NSString *)appCachesPath +{ + static dispatch_once_t predicate = 0; + + static NSString *theCachesPath = nil; // Application caches path string + + dispatch_once(&predicate, // Save a copy of the application caches path the first time it is needed + ^{ + NSArray *cachesPaths = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES); + + theCachesPath = [[cachesPaths objectAtIndex:0] copy]; // Keep a copy for later abusage + }); + + return theCachesPath; +} + ++ (NSString *)thumbCachePathForGUID:(NSString *)guid +{ + NSString *cachesPath = [ReaderThumbCache appCachesPath]; // Caches path + + return [cachesPath stringByAppendingPathComponent:guid]; // Append GUID +} + ++ (void)createThumbCacheWithGUID:(NSString *)guid +{ + NSFileManager *fileManager = [NSFileManager new]; // File manager instance + + NSString *cachePath = [ReaderThumbCache thumbCachePathForGUID:guid]; // Thumb cache path + + [fileManager createDirectoryAtPath:cachePath withIntermediateDirectories:NO attributes:nil error:NULL]; +} + ++ (void)removeThumbCacheWithGUID:(NSString *)guid +{ + dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_LOW, 0), + ^{ + NSFileManager *fileManager = [NSFileManager new]; // File manager instance + + NSString *cachePath = [ReaderThumbCache thumbCachePathForGUID:guid]; // Thumb cache path + + [fileManager removeItemAtPath:cachePath error:NULL]; // Remove thumb cache directory + }); +} + ++ (void)touchThumbCacheWithGUID:(NSString *)guid +{ + NSFileManager *fileManager = [NSFileManager new]; // File manager instance + + NSString *cachePath = [ReaderThumbCache thumbCachePathForGUID:guid]; // Thumb cache path + + NSDictionary *attributes = [NSDictionary dictionaryWithObject:[NSDate date] forKey:NSFileModificationDate]; + + [fileManager setAttributes:attributes ofItemAtPath:cachePath error:NULL]; // New modification date +} + ++ (void)purgeThumbCachesOlderThan:(NSTimeInterval)age +{ + dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_LOW, 0), + ^{ + NSDate *now = [NSDate date]; // Right about now time + + NSString *cachesPath = [ReaderThumbCache appCachesPath]; // Caches path + + NSFileManager *fileManager = [NSFileManager new]; // File manager instance + + NSArray *cachesList = [fileManager contentsOfDirectoryAtPath:cachesPath error:NULL]; + + if (cachesList != nil) // Process caches directory contents + { + for (NSString *cacheName in cachesList) // Enumerate directory contents + { + if (cacheName.length == 36) // This is a very hacky cache ident kludge + { + NSString *cachePath = [cachesPath stringByAppendingPathComponent:cacheName]; + + NSDictionary *attributes = [fileManager attributesOfItemAtPath:cachePath error:NULL]; + + NSDate *cacheDate = [attributes objectForKey:NSFileModificationDate]; // Cache date + + NSTimeInterval seconds = [now timeIntervalSinceDate:cacheDate]; // Cache age + + if (seconds > age) // Older than so remove the thumb cache + { + [fileManager removeItemAtPath:cachePath error:NULL]; + + #ifdef DEBUG + NSLog(@"%s purged %@", __FUNCTION__, cacheName); + #endif + } + } + } + } + }); +} + +#pragma mark ReaderThumbCache instance methods + +- (id)init +{ + if ((self = [super init])) // Initialize + { + thumbCache = [NSCache new]; // Cache + + [thumbCache setName:@"ReaderThumbCache"]; + + [thumbCache setTotalCostLimit:CACHE_SIZE]; + } + + return self; +} + +- (id)thumbRequest:(ReaderThumbRequest *)request priority:(BOOL)priority +{ + @synchronized(thumbCache) // Mutex lock + { + id object = [thumbCache objectForKey:request.cacheKey]; + + if (object == nil) // Thumb object does not yet exist in the cache + { + object = [NSNull null]; // Return an NSNull thumb placeholder object + + [thumbCache setObject:object forKey:request.cacheKey cost:2]; // Cache the placeholder object + + ReaderThumbFetch *thumbFetch = [[ReaderThumbFetch alloc] initWithRequest:request]; // Create a thumb fetch operation + + [thumbFetch setQueuePriority:(priority ? NSOperationQueuePriorityNormal : NSOperationQueuePriorityLow)]; // Queue priority + + request.thumbView.operation = thumbFetch; [thumbFetch setThreadPriority:(priority ? 0.55 : 0.35)]; // Thread priority + + [[ReaderThumbQueue sharedInstance] addLoadOperation:thumbFetch]; // Queue the operation + } + + return object; // NSNull or UIImage + } +} + +- (void)setObject:(UIImage *)image forKey:(NSString *)key +{ + @synchronized(thumbCache) // Mutex lock + { + NSUInteger bytes = (image.size.width * image.size.height * 4.0f); + + [thumbCache setObject:image forKey:key cost:bytes]; // Cache image + } +} + +- (void)removeObjectForKey:(NSString *)key +{ + @synchronized(thumbCache) // Mutex lock + { + [thumbCache removeObjectForKey:key]; + } +} + +- (void)removeNullForKey:(NSString *)key +{ + @synchronized(thumbCache) // Mutex lock + { + id object = [thumbCache objectForKey:key]; + + if ([object isMemberOfClass:[NSNull class]]) + { + [thumbCache removeObjectForKey:key]; + } + } +} + +- (void)removeAllObjects +{ + @synchronized(thumbCache) // Mutex lock + { + [thumbCache removeAllObjects]; + } +} + +@end diff --git a/Night Reader/Night Reader/Night Reader/ReaderThumbFetch.h b/Night Reader/Night Reader/Night Reader/ReaderThumbFetch.h new file mode 100644 index 0000000..c585bf2 --- /dev/null +++ b/Night Reader/Night Reader/Night Reader/ReaderThumbFetch.h @@ -0,0 +1,36 @@ +// +// ReaderThumbFetch.h +// Reader v2.6.1 +// +// Created by Julius Oklamcak on 2011-09-01. +// Copyright © 2011-2013 Julius Oklamcak. All rights reserved. +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights to +// use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +// of the Software, and to permit persons to whom the Software is furnished to +// do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in all +// copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +// CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +// + +#import + +#import "ReaderThumbQueue.h" + +@class ReaderThumbRequest; + +@interface ReaderThumbFetch : ReaderThumbOperation + +- (id)initWithRequest:(ReaderThumbRequest *)options; + +@end diff --git a/Night Reader/Night Reader/Night Reader/ReaderThumbFetch.m b/Night Reader/Night Reader/Night Reader/ReaderThumbFetch.m new file mode 100644 index 0000000..df74e16 --- /dev/null +++ b/Night Reader/Night Reader/Night Reader/ReaderThumbFetch.m @@ -0,0 +1,128 @@ +// +// ReaderThumbFetch.m +// Reader v2.6.1 +// +// Created by Julius Oklamcak on 2011-09-01. +// Copyright © 2011-2013 Julius Oklamcak. All rights reserved. +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights to +// use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +// of the Software, and to permit persons to whom the Software is furnished to +// do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in all +// copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +// CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +// + +#import "ReaderThumbFetch.h" +#import "ReaderThumbRender.h" +#import "ReaderThumbCache.h" +#import "ReaderThumbView.h" + +#import + +@implementation ReaderThumbFetch +{ + ReaderThumbRequest *request; +} + +#pragma mark ReaderThumbFetch instance methods + +- (id)initWithRequest:(ReaderThumbRequest *)options +{ + if ((self = [super initWithGUID:options.guid])) + { + request = options; + } + + return self; +} + +- (void)cancel +{ + [super cancel]; // Cancel the operation + + request.thumbView.operation = nil; // Break retain loop + + request.thumbView = nil; // Release target thumb view on cancel + + [[ReaderThumbCache sharedInstance] removeNullForKey:request.cacheKey]; +} + +- (NSURL *)thumbFileURL +{ + NSString *cachePath = [ReaderThumbCache thumbCachePathForGUID:request.guid]; // Thumb cache path + + NSString *fileName = [NSString stringWithFormat:@"%@.png", request.thumbName]; // Thumb file name + + return [NSURL fileURLWithPath:[cachePath stringByAppendingPathComponent:fileName]]; // File URL +} + +- (void)main +{ + CGImageRef imageRef = NULL; NSURL *thumbURL = [self thumbFileURL]; + + CGImageSourceRef loadRef = CGImageSourceCreateWithURL((__bridge CFURLRef)thumbURL, NULL); + + if (loadRef != NULL) // Load the existing thumb image + { + imageRef = CGImageSourceCreateImageAtIndex(loadRef, 0, NULL); // Load it + + CFRelease(loadRef); // Release CGImageSource reference + } + else // Existing thumb image not found - so create and queue up a thumb render operation on the work queue + { + ReaderThumbRender *thumbRender = [[ReaderThumbRender alloc] initWithRequest:request]; // Create a thumb render operation + + [thumbRender setQueuePriority:self.queuePriority]; [thumbRender setThreadPriority:(self.threadPriority - 0.1)]; // Priority + + if (self.isCancelled == NO) // We're not cancelled - so update things and add the render operation to the work queue + { + request.thumbView.operation = thumbRender; // Update the thumb view operation property to the new operation + + [[ReaderThumbQueue sharedInstance] addWorkOperation:thumbRender]; return; // Queue the operation + } + } + + if (imageRef != NULL) // Create a UIImage from a CGImage and show it + { + UIImage *image = [UIImage imageWithCGImage:imageRef scale:request.scale orientation:UIImageOrientationUp]; + + CGImageRelease(imageRef); // Release the CGImage reference from the above thumb load code + + 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]; // Cache it + + if (self.isCancelled == NO) // Show the image in the target thumb view on the main thread + { + ReaderThumbView *thumbView = request.thumbView; // Target thumb view for image show + + NSUInteger targetTag = request.targetTag; // Target reference tag for image show + + dispatch_async(dispatch_get_main_queue(), // Queue image show on main thread + ^{ + if (thumbView.targetTag == targetTag) [thumbView showImage:decoded]; + }); + } + } + + request.thumbView.operation = nil; // Break retain loop +} + +@end diff --git a/Night Reader/Night Reader/Night Reader/ReaderThumbQueue.h b/Night Reader/Night Reader/Night Reader/ReaderThumbQueue.h new file mode 100644 index 0000000..fe6c50f --- /dev/null +++ b/Night Reader/Night Reader/Night Reader/ReaderThumbQueue.h @@ -0,0 +1,54 @@ +// +// ReaderThumbQueue.h +// Reader v2.6.0 +// +// Created by Julius Oklamcak on 2011-09-01. +// Copyright © 2011-2013 Julius Oklamcak. All rights reserved. +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights to +// use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +// of the Software, and to permit persons to whom the Software is furnished to +// do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in all +// copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +// CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +// + +#import + +@interface ReaderThumbQueue : NSObject + ++ (ReaderThumbQueue *)sharedInstance; + +- (void)addLoadOperation:(NSOperation *)operation; + +- (void)addWorkOperation:(NSOperation *)operation; + +- (void)cancelOperationsWithGUID:(NSString *)guid; + +- (void)cancelAllOperations; + +@end + +#pragma mark - + +// +// ReaderThumbOperation class interface +// + +@interface ReaderThumbOperation : NSOperation + +@property (nonatomic, strong, readonly) NSString *guid; + +- (id)initWithGUID:(NSString *)guid; + +@end diff --git a/Night Reader/Night Reader/Night Reader/ReaderThumbQueue.m b/Night Reader/Night Reader/Night Reader/ReaderThumbQueue.m new file mode 100644 index 0000000..59896e3 --- /dev/null +++ b/Night Reader/Night Reader/Night Reader/ReaderThumbQueue.m @@ -0,0 +1,141 @@ +// +// ReaderThumbQueue.m +// Reader v2.6.0 +// +// Created by Julius Oklamcak on 2011-09-01. +// Copyright © 2011-2013 Julius Oklamcak. All rights reserved. +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights to +// use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +// of the Software, and to permit persons to whom the Software is furnished to +// do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in all +// copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +// CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +// + +#import "ReaderThumbQueue.h" + +@implementation ReaderThumbQueue +{ + NSOperationQueue *loadQueue; + + NSOperationQueue *workQueue; +} + +#pragma mark ReaderThumbQueue class methods + ++ (ReaderThumbQueue *)sharedInstance +{ + static dispatch_once_t predicate = 0; + + static ReaderThumbQueue *object = nil; // Object + + dispatch_once(&predicate, ^{ object = [self new]; }); + + return object; // ReaderThumbQueue singleton +} + +#pragma mark ReaderThumbQueue instance methods + +- (id)init +{ + if ((self = [super init])) // Initialize + { + loadQueue = [NSOperationQueue new]; + + [loadQueue setName:@"ReaderThumbLoadQueue"]; + + [loadQueue setMaxConcurrentOperationCount:1]; + + workQueue = [NSOperationQueue new]; + + [workQueue setName:@"ReaderThumbWorkQueue"]; + + [workQueue setMaxConcurrentOperationCount:1]; + } + + return self; +} + +- (void)addLoadOperation:(NSOperation *)operation +{ + if ([operation isKindOfClass:[ReaderThumbOperation class]]) + { + [loadQueue addOperation:operation]; // Add to load queue + } +} + +- (void)addWorkOperation:(NSOperation *)operation +{ + if ([operation isKindOfClass:[ReaderThumbOperation class]]) + { + [workQueue addOperation:operation]; // Add to work queue + } +} + +- (void)cancelOperationsWithGUID:(NSString *)guid +{ + [loadQueue setSuspended:YES]; [workQueue setSuspended:YES]; + + for (ReaderThumbOperation *operation in loadQueue.operations) + { + if ([operation isKindOfClass:[ReaderThumbOperation class]]) + { + if ([operation.guid isEqualToString:guid]) [operation cancel]; + } + } + + for (ReaderThumbOperation *operation in workQueue.operations) + { + if ([operation isKindOfClass:[ReaderThumbOperation class]]) + { + if ([operation.guid isEqualToString:guid]) [operation cancel]; + } + } + + [workQueue setSuspended:NO]; [loadQueue setSuspended:NO]; +} + +- (void)cancelAllOperations +{ + [loadQueue cancelAllOperations]; [workQueue cancelAllOperations]; +} + +@end + +#pragma mark - + +// +// ReaderThumbOperation class implementation +// + +@implementation ReaderThumbOperation +{ + NSString *_guid; +} + +@synthesize guid = _guid; + +#pragma mark ReaderThumbOperation instance methods + +- (id)initWithGUID:(NSString *)guid +{ + if ((self = [super init])) + { + _guid = guid; + } + + return self; +} + +@end diff --git a/Night Reader/Night Reader/Night Reader/ReaderThumbRender.h b/Night Reader/Night Reader/Night Reader/ReaderThumbRender.h new file mode 100644 index 0000000..2717509 --- /dev/null +++ b/Night Reader/Night Reader/Night Reader/ReaderThumbRender.h @@ -0,0 +1,36 @@ +// +// ReaderThumbRender.h +// Reader v2.6.1 +// +// Created by Julius Oklamcak on 2011-09-01. +// Copyright © 2011-2013 Julius Oklamcak. All rights reserved. +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights to +// use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +// of the Software, and to permit persons to whom the Software is furnished to +// do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in all +// copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +// CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +// + +#import + +#import "ReaderThumbQueue.h" + +@class ReaderThumbRequest; + +@interface ReaderThumbRender : ReaderThumbOperation + +- (id)initWithRequest:(ReaderThumbRequest *)options; + +@end diff --git a/Night Reader/Night Reader/Night Reader/ReaderThumbRender.m b/Night Reader/Night Reader/Night Reader/ReaderThumbRender.m new file mode 100644 index 0000000..7c0cdf2 --- /dev/null +++ b/Night Reader/Night Reader/Night Reader/ReaderThumbRender.m @@ -0,0 +1,204 @@ +// +// ReaderThumbRender.m +// Reader v2.6.1 +// +// Created by Julius Oklamcak on 2011-09-01. +// Copyright © 2011-2013 Julius Oklamcak. All rights reserved. +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights to +// use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +// of the Software, and to permit persons to whom the Software is furnished to +// do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in all +// copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +// CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +// + +#import "ReaderThumbRender.h" +#import "ReaderThumbCache.h" +#import "ReaderThumbView.h" +#import "CGPDFDocument.h" + +#import + +@implementation ReaderThumbRender +{ + ReaderThumbRequest *request; +} + +#pragma mark ReaderThumbRender instance methods + +- (id)initWithRequest:(ReaderThumbRequest *)options +{ + if ((self = [super initWithGUID:options.guid])) + { + request = options; + } + + return self; +} + +- (void)cancel +{ + [super cancel]; // Cancel the operation + + request.thumbView.operation = nil; // Break retain loop + + request.thumbView = nil; // Release target thumb view on cancel + + [[ReaderThumbCache sharedInstance] removeNullForKey:request.cacheKey]; +} + +- (NSURL *)thumbFileURL +{ + NSFileManager *fileManager = [NSFileManager new]; // File manager instance + + NSString *cachePath = [ReaderThumbCache thumbCachePathForGUID:request.guid]; // Thumb cache path + + [fileManager createDirectoryAtPath:cachePath withIntermediateDirectories:NO attributes:nil error:NULL]; + + NSString *fileName = [NSString stringWithFormat:@"%@.png", request.thumbName]; // Thumb file name + + return [NSURL fileURLWithPath:[cachePath stringByAppendingPathComponent:fileName]]; // File URL +} + +- (void)main +{ + NSInteger page = request.thumbPage; NSString *password = request.password; + + CGImageRef imageRef = NULL; CFURLRef fileURL = (__bridge CFURLRef)request.fileURL; + + CGPDFDocumentRef thePDFDocRef = CGPDFDocumentCreateX(fileURL, password); + + if (thePDFDocRef != NULL) // Check for non-NULL CGPDFDocumentRef + { + CGPDFPageRef thePDFPageRef = CGPDFDocumentGetPage(thePDFDocRef, page); + + if (thePDFPageRef != NULL) // Check for non-NULL CGPDFPageRef + { + CGFloat thumb_w = request.thumbSize.width; // Maximum thumb width + CGFloat thumb_h = request.thumbSize.height; // Maximum thumb height + + CGRect cropBoxRect = CGPDFPageGetBoxRect(thePDFPageRef, kCGPDFCropBox); + CGRect mediaBoxRect = CGPDFPageGetBoxRect(thePDFPageRef, kCGPDFMediaBox); + CGRect effectiveRect = CGRectIntersection(cropBoxRect, mediaBoxRect); + + NSInteger pageRotate = CGPDFPageGetRotationAngle(thePDFPageRef); // Angle + + CGFloat page_w = 0.0f; CGFloat page_h = 0.0f; // Rotated page size + + switch (pageRotate) // Page rotation (in degrees) + { + default: // Default case + case 0: case 180: // 0 and 180 degrees + { + page_w = effectiveRect.size.width; + page_h = effectiveRect.size.height; + break; + } + + case 90: case 270: // 90 and 270 degrees + { + page_h = effectiveRect.size.width; + page_w = effectiveRect.size.height; + break; + } + } + + CGFloat scale_w = (thumb_w / page_w); // Width scale + CGFloat scale_h = (thumb_h / page_h); // Height scale + + CGFloat scale = 0.0f; // Page to target thumb size scale + + if (page_h > page_w) + scale = ((thumb_h > thumb_w) ? scale_w : scale_h); // Portrait + else + scale = ((thumb_h < thumb_w) ? scale_h : scale_w); // Landscape + + NSInteger target_w = (page_w * scale); // Integer target thumb width + NSInteger target_h = (page_h * scale); // Integer target thumb height + + if (target_w % 2) target_w--; if (target_h % 2) target_h--; // Even + + target_w *= request.scale; target_h *= request.scale; // Screen scale + + CGColorSpaceRef rgb = CGColorSpaceCreateDeviceRGB(); // RGB color space + + CGBitmapInfo bmi = (kCGBitmapByteOrder32Little | kCGImageAlphaNoneSkipFirst); + + CGContextRef context = CGBitmapContextCreate(NULL, target_w, target_h, 8, 0, rgb, bmi); + + if (context != NULL) // Must have a valid custom CGBitmap context to draw into + { + CGRect thumbRect = CGRectMake(0.0f, 0.0f, target_w, target_h); // Target thumb rect + + CGContextSetRGBFillColor(context, 1.0f, 1.0f, 1.0f, 1.0f); CGContextFillRect(context, thumbRect); // White fill + + CGContextConcatCTM(context, CGPDFPageGetDrawingTransform(thePDFPageRef, kCGPDFCropBox, thumbRect, 0, true)); // Fit rect + + //CGContextSetRenderingIntent(context, kCGRenderingIntentDefault); CGContextSetInterpolationQuality(context, kCGInterpolationDefault); + + CGContextDrawPDFPage(context, thePDFPageRef); // Render the PDF page into the custom CGBitmap context + + imageRef = CGBitmapContextCreateImage(context); // Create CGImage from custom CGBitmap context + + CGContextRelease(context); // Release custom CGBitmap context reference + } + + CGColorSpaceRelease(rgb); // Release device RGB color space reference + } + + CGPDFDocumentRelease(thePDFDocRef); // Release CGPDFDocumentRef reference + } + + if (imageRef != NULL) // Create UIImage from CGImage and show it, then save thumb as PNG + { + UIImage *image = [UIImage imageWithCGImage:imageRef scale:request.scale orientation:UIImageOrientationUp]; + + [[ReaderThumbCache sharedInstance] setObject:image forKey:request.cacheKey]; // Update cache + + if (self.isCancelled == NO) // Show the image in the target thumb view on the main thread + { + ReaderThumbView *thumbView = request.thumbView; // Target thumb view for image show + + NSUInteger targetTag = request.targetTag; // Target reference tag for image show + + dispatch_async(dispatch_get_main_queue(), // Queue image show on main thread + ^{ + if (thumbView.targetTag == targetTag) [thumbView showImage:image]; + }); + } + + CFURLRef thumbURL = (__bridge CFURLRef)[self thumbFileURL]; // Thumb cache path with PNG file name URL + + CGImageDestinationRef thumbRef = CGImageDestinationCreateWithURL(thumbURL, (CFStringRef)@"public.png", 1, NULL); + + if (thumbRef != NULL) // Write the thumb image file out to the thumb cache directory + { + CGImageDestinationAddImage(thumbRef, imageRef, NULL); // Add the image + + CGImageDestinationFinalize(thumbRef); // Finalize the image file + + CFRelease(thumbRef); // Release CGImageDestination reference + } + + CGImageRelease(imageRef); // Release CGImage reference + } + else // No image - so remove the placeholder object from the cache + { + [[ReaderThumbCache sharedInstance] removeNullForKey:request.cacheKey]; + } + + request.thumbView.operation = nil; // Break retain loop +} + +@end diff --git a/Night Reader/Night Reader/Night Reader/ReaderThumbRequest.h b/Night Reader/Night Reader/Night Reader/ReaderThumbRequest.h new file mode 100644 index 0000000..80a8aef --- /dev/null +++ b/Night Reader/Night Reader/Night Reader/ReaderThumbRequest.h @@ -0,0 +1,47 @@ +// +// ReaderThumbRequest.h +// Reader v2.6.1 +// +// Created by Julius Oklamcak on 2011-09-01. +// Copyright © 2011-2013 Julius Oklamcak. All rights reserved. +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights to +// use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +// of the Software, and to permit persons to whom the Software is furnished to +// do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in all +// copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +// CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +// + +#import + +@class ReaderThumbView; + +@interface ReaderThumbRequest : NSObject + +@property (nonatomic, strong, readonly) NSURL *fileURL; +@property (nonatomic, strong, readonly) NSString *guid; +@property (nonatomic, strong, readonly) NSString *password; +@property (nonatomic, strong, readonly) NSString *cacheKey; +@property (nonatomic, strong, readonly) NSString *thumbName; +@property (nonatomic, strong, readwrite) ReaderThumbView *thumbView; +@property (nonatomic, assign, readonly) NSUInteger targetTag; +@property (nonatomic, assign, readonly) NSInteger thumbPage; +@property (nonatomic, assign, readonly) CGSize thumbSize; +@property (nonatomic, assign, readonly) CGFloat scale; + ++ (id)newForView:(ReaderThumbView *)view fileURL:(NSURL *)url password:(NSString *)phrase guid:(NSString *)guid page:(NSInteger)page size:(CGSize)size; + +- (id)initWithView:(ReaderThumbView *)view fileURL:(NSURL *)url password:(NSString *)phrase guid:(NSString *)guid page:(NSInteger)page size:(CGSize)size; + +@end diff --git a/Night Reader/Night Reader/Night Reader/ReaderThumbRequest.m b/Night Reader/Night Reader/Night Reader/ReaderThumbRequest.m new file mode 100644 index 0000000..4a4a3ef --- /dev/null +++ b/Night Reader/Night Reader/Night Reader/ReaderThumbRequest.m @@ -0,0 +1,96 @@ +// +// ReaderThumbRequest.m +// Reader v2.6.1 +// +// Created by Julius Oklamcak on 2011-09-01. +// Copyright © 2011-2013 Julius Oklamcak. All rights reserved. +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights to +// use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +// of the Software, and to permit persons to whom the Software is furnished to +// do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in all +// copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +// CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +// + +#import "ReaderThumbRequest.h" +#import "ReaderThumbView.h" + +@implementation ReaderThumbRequest +{ + NSURL *_fileURL; + + NSString *_guid; + + NSString *_password; + + NSString *_cacheKey; + + NSString *_thumbName; + + ReaderThumbView *_thumbView; + + NSUInteger _targetTag; + + NSInteger _thumbPage; + + CGSize _thumbSize; + + CGFloat _scale; +} + +#pragma mark Properties + +@synthesize guid = _guid; +@synthesize fileURL = _fileURL; +@synthesize password = _password; +@synthesize thumbView = _thumbView; +@synthesize thumbPage = _thumbPage; +@synthesize thumbSize = _thumbSize; +@synthesize thumbName = _thumbName; +@synthesize targetTag = _targetTag; +@synthesize cacheKey = _cacheKey; +@synthesize scale = _scale; + +#pragma mark ReaderThumbRequest class methods + ++ (id)newForView:(ReaderThumbView *)view fileURL:(NSURL *)url password:(NSString *)phrase guid:(NSString *)guid page:(NSInteger)page size:(CGSize)size +{ + return [[ReaderThumbRequest alloc] initWithView:view fileURL:url password:phrase guid:guid page:page size:size]; +} + +#pragma mark ReaderThumbRequest instance methods + +- (id)initWithView:(ReaderThumbView *)view fileURL:(NSURL *)url password:(NSString *)phrase guid:(NSString *)guid page:(NSInteger)page size:(CGSize)size +{ + if ((self = [super init])) // Initialize object + { + NSInteger w = size.width; NSInteger h = size.height; + + _thumbView = view; _thumbPage = page; _thumbSize = size; + + _fileURL = [url copy]; _password = [phrase copy]; _guid = [guid copy]; + + _thumbName = [[NSString alloc] initWithFormat:@"%07d-%04dx%04d", page, w, h]; + + _cacheKey = [[NSString alloc] initWithFormat:@"%@+%@", _thumbName, _guid]; + + _targetTag = [_cacheKey hash]; _thumbView.targetTag = _targetTag; + + _scale = [[UIScreen mainScreen] scale]; // Thumb screen scale + } + + return self; +} + +@end diff --git a/Night Reader/Night Reader/Night Reader/ReaderThumbView.h b/Night Reader/Night Reader/Night Reader/ReaderThumbView.h new file mode 100644 index 0000000..92c177d --- /dev/null +++ b/Night Reader/Night Reader/Night Reader/ReaderThumbView.h @@ -0,0 +1,45 @@ +// +// ReaderThumbView.h +// Reader v2.6.1 +// +// Created by Julius Oklamcak on 2011-09-01. +// Copyright © 2011-2013 Julius Oklamcak. All rights reserved. +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights to +// use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +// of the Software, and to permit persons to whom the Software is furnished to +// do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in all +// copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +// CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +// + +#import + +@interface ReaderThumbView : UIView +{ +@protected // Instance variables + + UIImageView *imageView; +} + +@property (atomic, strong, readwrite) NSOperation *operation; + +@property (nonatomic, assign, readwrite) NSUInteger targetTag; + +- (void)showImage:(UIImage *)image; + +- (void)showTouched:(BOOL)touched; + +- (void)reuse; + +@end diff --git a/Night Reader/Night Reader/Night Reader/ReaderThumbView.m b/Night Reader/Night Reader/Night Reader/ReaderThumbView.m new file mode 100644 index 0000000..6a7b9db --- /dev/null +++ b/Night Reader/Night Reader/Night Reader/ReaderThumbView.m @@ -0,0 +1,93 @@ +// +// ReaderThumbView.m +// Reader v2.6.1 +// +// Created by Julius Oklamcak on 2011-09-01. +// Copyright © 2011-2013 Julius Oklamcak. All rights reserved. +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights to +// use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +// of the Software, and to permit persons to whom the Software is furnished to +// do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in all +// copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +// CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +// + +#import "ReaderThumbView.h" + +@implementation ReaderThumbView +{ + NSOperation *_operation; + + NSUInteger _targetTag; +} + +#pragma mark Properties + +@synthesize operation = _operation; +@synthesize targetTag = _targetTag; + +#pragma mark ReaderThumbView instance methods + +- (id)initWithFrame:(CGRect)frame +{ + if ((self = [super initWithFrame:frame])) + { + self.autoresizesSubviews = NO; + self.userInteractionEnabled = NO; + self.contentMode = UIViewContentModeRedraw; + self.autoresizingMask = UIViewAutoresizingNone; + self.backgroundColor = [UIColor blackColor]; + + imageView = [[UIImageView alloc] initWithFrame:self.bounds]; + + imageView.autoresizesSubviews = NO; + imageView.userInteractionEnabled = NO; + imageView.autoresizingMask = UIViewAutoresizingNone; + imageView.contentMode = UIViewContentModeScaleAspectFit; + + [self addSubview:imageView]; + } + + return self; +} + +- (void)showImage:(UIImage *)image +{ + imageView.image = image; // Show image +} + +- (void)showTouched:(BOOL)touched +{ + // Implemented by ReaderThumbView subclass +} + +- (void)removeFromSuperview +{ + _targetTag = 0; // Clear target tag + + [self.operation cancel]; // Cancel operation + + [super removeFromSuperview]; // Remove view +} + +- (void)reuse +{ + _targetTag = 0; // Clear target tag + + [self.operation cancel]; // Cancel operation + + imageView.image = nil; // Release image +} + +@end diff --git a/Night Reader/Night Reader/Night Reader/ReaderThumbsView.h b/Night Reader/Night Reader/Night Reader/ReaderThumbsView.h new file mode 100644 index 0000000..eb75007 --- /dev/null +++ b/Night Reader/Night Reader/Night Reader/ReaderThumbsView.h @@ -0,0 +1,68 @@ +// +// ReaderThumbsView.h +// Reader v2.6.0 +// +// Created by Julius Oklamcak on 2011-09-01. +// Copyright © 2011-2013 Julius Oklamcak. All rights reserved. +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights to +// use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +// of the Software, and to permit persons to whom the Software is furnished to +// do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in all +// copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +// CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +// + +#import + +#import "ReaderThumbView.h" + +@class ReaderThumbsView; + +@protocol ReaderThumbsViewDelegate + +@required // Delegate protocols + +- (NSUInteger)numberOfThumbsInThumbsView:(ReaderThumbsView *)thumbsView; + +- (id)thumbsView:(ReaderThumbsView *)thumbsView thumbCellWithFrame:(CGRect)frame; + +- (void)thumbsView:(ReaderThumbsView *)thumbsView updateThumbCell:(id)thumbCell forIndex:(NSInteger)index; + +- (void)thumbsView:(ReaderThumbsView *)thumbsView didSelectThumbWithIndex:(NSInteger)index; + +@optional // Delegate protocols + +- (void)thumbsView:(ReaderThumbsView *)thumbsView refreshThumbCell:(id)thumbCell forIndex:(NSInteger)index; + +- (void)thumbsView:(ReaderThumbsView *)thumbsView didPressThumbWithIndex:(NSInteger)index; + +@end + +@interface ReaderThumbsView : UIScrollView + +@property (nonatomic, unsafe_unretained, readwrite) id delegate; + +- (void)setThumbSize:(CGSize)thumbSize; + +- (void)reloadThumbsCenterOnIndex:(NSInteger)index; + +- (void)reloadThumbsContentOffset:(CGPoint)newContentOffset; + +- (void)refreshThumbWithIndex:(NSInteger)index; + +- (void)refreshVisibleThumbs; + +- (CGPoint)insetContentOffset; + +@end diff --git a/Night Reader/Night Reader/Night Reader/ReaderThumbsView.m b/Night Reader/Night Reader/Night Reader/ReaderThumbsView.m new file mode 100644 index 0000000..950d4ed --- /dev/null +++ b/Night Reader/Night Reader/Night Reader/ReaderThumbsView.m @@ -0,0 +1,545 @@ +// +// ReaderThumbsView.m +// Reader v2.6.0 +// +// Created by Julius Oklamcak on 2011-09-01. +// Copyright © 2011-2013 Julius Oklamcak. All rights reserved. +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights to +// use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +// of the Software, and to permit persons to whom the Software is furnished to +// do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in all +// copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +// CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +// + +#import "ReaderThumbsView.h" + +@interface ReaderThumbsView () + +@end + +@implementation ReaderThumbsView +{ + CGPoint lastContentOffset; + + ReaderThumbView *touchedCell; + + NSMutableArray *thumbCellsQueue; + + NSMutableArray *thumbCellsVisible; + + NSInteger _thumbsX, _thumbsY, _thumbX; + + CGSize _thumbSize, _lastViewSize; + + NSUInteger _thumbCount; + + BOOL canUpdate; +} + +#pragma mark Properties + +@synthesize delegate; + +#pragma mark ReaderThumbsView instance methods + +- (id)initWithFrame:(CGRect)frame +{ + if ((self = [super initWithFrame:frame])) + { + self.scrollsToTop = NO; + self.autoresizesSubviews = NO; + self.delaysContentTouches = NO; + self.alwaysBounceVertical = YES; + self.contentMode = UIViewContentModeRedraw; + self.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight; + self.backgroundColor = [UIColor yellowColor]; + + [super setDelegate:self]; // Set the superclass UIScrollView delegate + + thumbCellsQueue = [NSMutableArray new]; thumbCellsVisible = [NSMutableArray new]; // Cell management arrays + + UITapGestureRecognizer *tapGesture = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleTapGesture:)]; + //tapGesture.numberOfTouchesRequired = 1; tapGesture.numberOfTapsRequired = 1; tapGesture.delegate = self; + [self addGestureRecognizer:tapGesture]; + + UILongPressGestureRecognizer *pressGesture = [[UILongPressGestureRecognizer alloc] initWithTarget:self action:@selector(handlePressGesture:)]; + pressGesture.minimumPressDuration = 0.8; //pressGesture.numberOfTouchesRequired = 1; pressGesture.delegate = self; + [self addGestureRecognizer:pressGesture]; + + lastContentOffset = CGPointMake(CGFLOAT_MIN, CGFLOAT_MIN); + } + + return self; +} + +- (void)requeueThumbCell:(ReaderThumbView *)tvCell +{ + [thumbCellsQueue addObject:tvCell]; + + [thumbCellsVisible removeObject:tvCell]; + + tvCell.tag = NSIntegerMin; tvCell.hidden = YES; + + [tvCell reuse]; // Reuse the cell +} + +- (void)requeueAllThumbCells +{ + if (thumbCellsVisible.count > 0) + { + NSArray *visible = [thumbCellsVisible copy]; + + for (ReaderThumbView *tvCell in visible) + { + [self requeueThumbCell:tvCell]; + } + } +} + +- (ReaderThumbView *)dequeueThumbCellWithFrame:(CGRect)frame +{ + ReaderThumbView *theCell = nil; + + if (thumbCellsQueue.count > 0) // Reuse existing cell + { + theCell = [thumbCellsQueue objectAtIndex:0]; + + [thumbCellsQueue removeObjectAtIndex:0]; // Dequeue it + + theCell.frame = frame; // Position the reused cell + } + else // Allocate a brand new thumb cell subclass for our use + { + theCell = [delegate thumbsView:self thumbCellWithFrame:frame]; + + //assert([theCell isKindOfClass:[ReaderThumbView class]]); + + theCell.tag = NSIntegerMin; theCell.hidden = YES; + + [self insertSubview:theCell atIndex:0]; // Add + } + + [thumbCellsVisible addObject:theCell]; + + return theCell; +} + +- (NSMutableIndexSet *)visibleIndexSetForContentOffset +{ + CGFloat minY = self.contentOffset.y; // Content offset + CGFloat maxY = (minY + self.bounds.size.height - 1.0f); + + NSInteger startRow = (minY / _thumbSize.height); // Start row + NSInteger finalRow = (maxY / _thumbSize.height); // Final row + + NSInteger startIndex = (startRow * _thumbsX); // Start index + NSInteger finalIndex = (finalRow * _thumbsX); // Final index + + finalIndex += (_thumbsX - 1); // Last index value in last row + + NSInteger maximumIndex = (_thumbCount - 1); // Maximum index value + + if (finalIndex > maximumIndex) finalIndex = maximumIndex; // Limit it + + NSRange indexRange = NSMakeRange(startIndex, (finalIndex - startIndex + 1)); + + return [NSMutableIndexSet indexSetWithIndexesInRange:indexRange]; +} + +- (ReaderThumbView *)thumbCellContainingPoint:(CGPoint)point +{ + ReaderThumbView *theCell = nil; + + for (ReaderThumbView *tvCell in thumbCellsVisible) + { + if (CGRectContainsPoint(tvCell.frame, point) == true) + { + theCell = tvCell; break; // Found it + } + } + + return theCell; +} + +- (CGRect)thumbCellFrameForIndex:(NSInteger)index +{ + CGRect thumbRect; thumbRect.size = _thumbSize; + + NSInteger thumbY = ((index / _thumbsX) * _thumbSize.height); // X, Y + + NSInteger thumbX = (((index % _thumbsX) * _thumbSize.width) + _thumbX); + + thumbRect.origin.x = thumbX; thumbRect.origin.y = thumbY; + + return thumbRect; +} + +- (void)updateContentSize:(NSUInteger)thumbCount +{ + canUpdate = NO; // Disable updates + + if (thumbCount > 0) // Have some thumbs + { + CGFloat bw = self.bounds.size.width; + + _thumbsX = (bw / _thumbSize.width); + + if (_thumbsX < 1) _thumbsX = 1; + + _thumbsY = (thumbCount / _thumbsX); + + if ((_thumbsX * _thumbsY) < thumbCount) _thumbsY++; + + CGFloat tw = (_thumbsX * _thumbSize.width); + CGFloat th = (_thumbsY * _thumbSize.height); + + if (tw < bw) + _thumbX = ((bw - tw) / 2.0f); + else + _thumbX = 0; // Reset + + if (tw < bw) tw = bw; // Limit + + [self setContentSize:CGSizeMake(tw, th)]; + } + else // Zero (0) thumbs + { + [self setContentSize:CGSizeZero]; + } + + canUpdate = YES; // Enable updates +} + +- (void)layoutSubviews +{ + if (CGSizeEqualToSize(_lastViewSize, CGSizeZero) == true) + { + _lastViewSize = self.bounds.size; // Initial view size + } + else + if (CGSizeEqualToSize(_lastViewSize, self.bounds.size) == false) + { + _lastViewSize = self.bounds.size; // Track the view size + + [self updateContentSize:_thumbCount]; // Update the content size + + NSMutableArray *requeueCells = [NSMutableArray array]; // Requeue cell list + + NSMutableIndexSet *visibleIndexSet = [self visibleIndexSetForContentOffset]; + + for (ReaderThumbView *tvCell in thumbCellsVisible) // Enumerate visible cells + { + NSInteger index = tvCell.tag; // Get the cell's index value + + if ([visibleIndexSet containsIndex:index] == YES) // Visible cell + { + tvCell.frame = [self thumbCellFrameForIndex:index]; // Frame + + [visibleIndexSet removeIndex:index]; // Remove from set + } + else // Add it to the list of cells to requeue + { + [requeueCells addObject:tvCell]; + } + } + + for (ReaderThumbView *tvCell in requeueCells) // Enumerate requeue cells + { + [self requeueThumbCell:tvCell]; // Requeue the thumb cell + } + + [visibleIndexSet enumerateIndexesUsingBlock: // Enumerate visible indexes + ^(NSUInteger index, BOOL *stop) + { + CGRect thumbRect = [self thumbCellFrameForIndex:index]; // Frame + + ReaderThumbView *tvCell = [self dequeueThumbCellWithFrame:thumbRect]; + + [delegate thumbsView:self updateThumbCell:tvCell forIndex:index]; + + tvCell.tag = index; tvCell.hidden = NO; // Tag and show it + } + ]; + } +} + +- (void)setThumbSize:(CGSize)thumbSize +{ + if (CGSizeEqualToSize(_thumbSize, CGSizeZero) == true) + { + if (CGSizeEqualToSize(thumbSize, CGSizeZero) == false) + { + _thumbSize = thumbSize; // Set the maximum thumb size + } + } +} + +- (void)reloadThumbsCenterOnIndex:(NSInteger)index +{ + assert(delegate != nil); // Check delegate + + assert(CGSizeEqualToSize(_thumbSize, CGSizeZero) == false); + + if (self.decelerating == YES) // Stop scroll view movement + { + [self setContentOffset:self.contentOffset animated:NO]; + } + + CGPoint newContentOffset = CGPointZero; // At top + + lastContentOffset = CGPointMake(CGFLOAT_MIN, CGFLOAT_MIN); + + [self requeueAllThumbCells]; // Start off fresh + + _thumbCount = 0; // Reset the thumb count to zero + + NSUInteger thumbCount = [delegate numberOfThumbsInThumbsView:self]; + + [self updateContentSize:thumbCount]; _thumbCount = thumbCount; + + if (thumbCount > 0) // Have some thumbs + { + NSInteger boundsHeight = self.bounds.size.height; + + NSInteger maxY = (self.contentSize.height - boundsHeight); + + NSInteger minY = 0; maxY--; if (maxY < minY) maxY = minY; // Limits + + if (index < 0) index = 0; else if (index > thumbCount) index = (thumbCount - 1); + + NSInteger thumbY = ((index / _thumbsX) * _thumbSize.height); // Thumb Y + + NSInteger offsetY = (thumbY - (boundsHeight / 2) + (_thumbSize.height / 2)); + + if (offsetY < minY) offsetY = minY; else if (offsetY > maxY) offsetY = maxY; + + newContentOffset.y = offsetY; // Calculated content offset Y position + } + + newContentOffset.y -= self.contentInset.top; // Content inset adjust + + if (CGPointEqualToPoint(self.contentOffset, newContentOffset) == false) + [self setContentOffset:newContentOffset animated:NO]; + else + [self scrollViewDidScroll:self]; + + [self flashScrollIndicators]; +} + +- (void)reloadThumbsContentOffset:(CGPoint)newContentOffset +{ + assert(delegate != nil); // Check delegate + + assert(CGSizeEqualToSize(_thumbSize, CGSizeZero) == false); + + if (self.decelerating == YES) // Stop scroll view movement + { + [self setContentOffset:self.contentOffset animated:NO]; + } + + lastContentOffset = CGPointMake(CGFLOAT_MIN, CGFLOAT_MIN); + + [self requeueAllThumbCells]; // Start off fresh + + _thumbCount = 0; // Reset the thumb count to zero + + NSUInteger thumbCount = [delegate numberOfThumbsInThumbsView:self]; + + [self updateContentSize:thumbCount]; _thumbCount = thumbCount; + + if (thumbCount > 0) // Have some thumbs + { + NSInteger boundsHeight = self.bounds.size.height; + + NSInteger maxY = (self.contentSize.height - boundsHeight); + + NSInteger minY = 0; maxY--; if (maxY < minY) maxY = minY; // Limits + + NSInteger offsetY = newContentOffset.y; // Requested content offset Y + + if (offsetY < minY) offsetY = minY; else if (offsetY > maxY) offsetY = maxY; + + newContentOffset.y = offsetY; newContentOffset.x = 0.0f; // Validated + } + else // Zero (0) thumbs + { + newContentOffset = CGPointZero; + } + + newContentOffset.y -= self.contentInset.top; // Content inset adjust + + if (CGPointEqualToPoint(self.contentOffset, newContentOffset) == false) + [self setContentOffset:newContentOffset animated:NO]; + else + [self scrollViewDidScroll:self]; + + [self flashScrollIndicators]; +} + +- (void)refreshThumbWithIndex:(NSInteger)index +{ + for (ReaderThumbView *tvCell in thumbCellsVisible) // Enumerate visible cells + { + if (tvCell.tag == index) // Found a visible thumb cell with the index value + { + if ([delegate respondsToSelector:@selector(thumbsView:refreshThumbCell:forIndex:)]) + { + [delegate thumbsView:self refreshThumbCell:tvCell forIndex:index]; // Refresh + } + + break; + } + } +} + +- (void)refreshVisibleThumbs +{ + for (ReaderThumbView *tvCell in thumbCellsVisible) // Enumerate visible cells + { + if ([delegate respondsToSelector:@selector(thumbsView:refreshThumbCell:forIndex:)]) + { + [delegate thumbsView:self refreshThumbCell:tvCell forIndex:tvCell.tag]; // Refresh + } + } +} + +- (CGPoint)insetContentOffset +{ + CGPoint insetContentOffset = self.contentOffset; // Offset + + insetContentOffset.y += self.contentInset.top; // Inset adjust + + return insetContentOffset; // Adjusted content offset +} + +#pragma mark UIGestureRecognizer action methods + +- (void)handleTapGesture:(UITapGestureRecognizer *)recognizer +{ + if (recognizer.state == UIGestureRecognizerStateRecognized) // Handle the tap + { + CGPoint point = [recognizer locationInView:recognizer.view]; // Tap location + + ReaderThumbView *tvCell = [self thumbCellContainingPoint:point]; // Look for cell + + if (tvCell != nil) [delegate thumbsView:self didSelectThumbWithIndex:tvCell.tag]; + } +} + +- (void)handlePressGesture:(UILongPressGestureRecognizer *)recognizer +{ + if (recognizer.state == UIGestureRecognizerStateBegan) // Handle the press + { + if ([delegate respondsToSelector:@selector(thumbsView:didPressThumbWithIndex:)]) + { + CGPoint point = [recognizer locationInView:recognizer.view]; // Press location + + ReaderThumbView *tvCell = [self thumbCellContainingPoint:point]; // Look for cell + + if (tvCell != nil) [delegate thumbsView:self didPressThumbWithIndex:tvCell.tag]; + } + } +} + +#pragma mark UIScrollViewDelegate methods + +- (void)scrollViewDidScroll:(UIScrollView *)scrollView +{ + if ((canUpdate == YES) && (_thumbCount > 0)) // Check flag and thumb count + { + if (CGPointEqualToPoint(scrollView.contentOffset, lastContentOffset) == false) + { + lastContentOffset = scrollView.contentOffset; // Work around a 'feature' + + CGRect visibleBounds = self.bounds; // Visible bounds in the scroll view + + NSMutableArray *requeueCells = [NSMutableArray array]; // Requeue cell list + + NSMutableIndexSet *visibleCellSet = [NSMutableIndexSet indexSet]; // Visible set + + for (ReaderThumbView *tvCell in thumbCellsVisible) // Enumerate visible cells + { + if (CGRectIntersectsRect(tvCell.frame, visibleBounds) == true) + [visibleCellSet addIndex:tvCell.tag]; + else + [requeueCells addObject:tvCell]; + } + + for (ReaderThumbView *tvCell in requeueCells) // Enumerate requeue cells + { + [self requeueThumbCell:tvCell]; // Requeue the thumb cell + } + + NSMutableIndexSet *visibleIndexSet = [self visibleIndexSetForContentOffset]; + + [visibleIndexSet enumerateIndexesUsingBlock: // Enumerate visible indexes + ^(NSUInteger index, BOOL *stop) + { + if ([visibleCellSet containsIndex:index] == NO) // Index not visible + { + CGRect thumbRect = [self thumbCellFrameForIndex:index]; // Frame + + ReaderThumbView *tvCell = [self dequeueThumbCellWithFrame:thumbRect]; + + [delegate thumbsView:self updateThumbCell:tvCell forIndex:index]; + + tvCell.tag = index; tvCell.hidden = NO; // Tag and show it + } + } + ]; + } + } +} + +#pragma mark UIResponder instance methods + +- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event +{ + [super touchesBegan:touches withEvent:event]; // Message superclass + + if (touchedCell != nil) { [touchedCell showTouched:NO]; touchedCell = nil; } + + if (touches.count == 1) // Show selection on single touch + { + UITouch *touch = [touches anyObject]; // Get touch from set + + CGPoint point = [touch locationInView:touch.view]; // Touch location + + ReaderThumbView *tvCell = [self thumbCellContainingPoint:point]; // Look for cell + + if (tvCell != nil) { touchedCell = tvCell; [touchedCell showTouched:YES]; } + } +} + +- (void)touchesCancelled:(NSSet *)touches withEvent:(UIEvent *)event +{ + [super touchesCancelled:touches withEvent:event]; // Message superclass + + if (touchedCell != nil) { [touchedCell showTouched:NO]; touchedCell = nil; } +} + +- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event +{ + [super touchesEnded:touches withEvent:event]; // Message superclass + + if (touchedCell != nil) { [touchedCell showTouched:NO]; touchedCell = nil; } +} + +- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event +{ + [super touchesMoved:touches withEvent:event]; // Message superclass +} + +@end diff --git a/Night Reader/Night Reader/Night Reader/ReaderViewController.h b/Night Reader/Night Reader/Night Reader/ReaderViewController.h new file mode 100644 index 0000000..456352e --- /dev/null +++ b/Night Reader/Night Reader/Night Reader/ReaderViewController.h @@ -0,0 +1,46 @@ +// +// ReaderViewController.h +// Reader v2.6.0 +// +// Created by Julius Oklamcak on 2011-07-01. +// Copyright © 2011-2013 Julius Oklamcak. All rights reserved. +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights to +// use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +// of the Software, and to permit persons to whom the Software is furnished to +// do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in all +// copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +// CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +// + +#import + +#import "ReaderDocument.h" + +@class ReaderViewController; + +@protocol ReaderViewControllerDelegate + +@optional // Delegate protocols + +- (void)dismissReaderViewController:(ReaderViewController *)viewController; + +@end + +@interface ReaderViewController : UIViewController + +@property (nonatomic, unsafe_unretained, readwrite) id delegate; + +- (id)initWithReaderDocument:(ReaderDocument *)object; + +@end diff --git a/Night Reader/Night Reader/Night Reader/ReaderViewController.m b/Night Reader/Night Reader/Night Reader/ReaderViewController.m new file mode 100644 index 0000000..cc232d4 --- /dev/null +++ b/Night Reader/Night Reader/Night Reader/ReaderViewController.m @@ -0,0 +1,916 @@ +// +// ReaderViewController.m +// Reader v2.6.0 +// +// Created by Julius Oklamcak on 2011-07-01. +// Copyright © 2011-2013 Julius Oklamcak. All rights reserved. +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights to +// use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +// of the Software, and to permit persons to whom the Software is furnished to +// do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in all +// copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +// CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +// + +#import "ReaderConstants.h" +#import "ReaderViewController.h" +#import "ThumbsViewController.h" +#import "ReaderMainToolbar.h" +#import "ReaderMainPagebar.h" +#import "ReaderContentView.h" +#import "ReaderThumbCache.h" +#import "ReaderThumbQueue.h" + +#import + +@interface ReaderViewController () +@end + +@implementation ReaderViewController +{ + ReaderDocument *document; + + UIScrollView *theScrollView; + + ReaderMainToolbar *mainToolbar; + + ReaderMainPagebar *mainPagebar; + + NSMutableDictionary *contentViews; + + UIPrintInteractionController *printInteraction; + + NSInteger currentPage; + + CGSize lastAppearSize; + + NSDate *lastHideTime; + + BOOL isVisible; +} + +#pragma mark Constants + +#define PAGING_VIEWS 3 + +#define TOOLBAR_HEIGHT 44.0f +#define PAGEBAR_HEIGHT 48.0f + +#define TAP_AREA_SIZE 48.0f + +#pragma mark Properties + +@synthesize delegate; + +#pragma mark Support methods + +- (void)updateScrollViewContentSize +{ + NSInteger count = [document.pageCount integerValue]; + + if (count > PAGING_VIEWS) count = PAGING_VIEWS; // Limit + + CGFloat contentHeight = theScrollView.bounds.size.height; + + CGFloat contentWidth = (theScrollView.bounds.size.width * count); + + theScrollView.contentSize = CGSizeMake(contentWidth, contentHeight); +} + +- (void)updateScrollViewContentViews +{ + [self updateScrollViewContentSize]; // Update the content size + + NSMutableIndexSet *pageSet = [NSMutableIndexSet indexSet]; // Page set + + [contentViews enumerateKeysAndObjectsUsingBlock: // Enumerate content views + ^(id key, id object, BOOL *stop) + { + ReaderContentView *contentView = object; [pageSet addIndex:contentView.tag]; + } + ]; + + __block CGRect viewRect = CGRectZero; viewRect.size = theScrollView.bounds.size; + + __block CGPoint contentOffset = CGPointZero; NSInteger page = [document.pageNumber integerValue]; + + [pageSet enumerateIndexesUsingBlock: // Enumerate page number set + ^(NSUInteger number, BOOL *stop) + { + NSNumber *key = [NSNumber numberWithInteger:number]; // # key + + ReaderContentView *contentView = [contentViews objectForKey:key]; + + contentView.frame = viewRect; if (page == number) contentOffset = viewRect.origin; + + viewRect.origin.x += viewRect.size.width; // Next view frame position + } + ]; + + if (CGPointEqualToPoint(theScrollView.contentOffset, contentOffset) == false) + { + theScrollView.contentOffset = contentOffset; // Update content offset + } +} + +- (void)updateToolbarBookmarkIcon +{ + NSInteger page = [document.pageNumber integerValue]; + + BOOL bookmarked = [document.bookmarks containsIndex:page]; + + [mainToolbar setBookmarkState:bookmarked]; // Update +} + +- (void)showDocumentPage:(NSInteger)page +{ + if (page != currentPage) // Only if different + { + NSInteger minValue; NSInteger maxValue; + NSInteger maxPage = [document.pageCount integerValue]; + NSInteger minPage = 1; + + if ((page < minPage) || (page > maxPage)) return; + + if (maxPage <= PAGING_VIEWS) // Few pages + { + minValue = minPage; + maxValue = maxPage; + } + else // Handle more pages + { + minValue = (page - 1); + maxValue = (page + 1); + + if (minValue < minPage) + {minValue++; maxValue++;} + else + if (maxValue > maxPage) + {minValue--; maxValue--;} + } + + NSMutableIndexSet *newPageSet = [NSMutableIndexSet new]; + + NSMutableDictionary *unusedViews = [contentViews mutableCopy]; + + CGRect viewRect = CGRectZero; viewRect.size = theScrollView.bounds.size; + + for (NSInteger number = minValue; number <= maxValue; number++) + { + NSNumber *key = [NSNumber numberWithInteger:number]; // # key + + ReaderContentView *contentView = [contentViews objectForKey:key]; + + if (contentView == nil) // Create a brand new document content view + { + NSURL *fileURL = document.fileURL; NSString *phrase = document.password; // Document properties + + contentView = [[ReaderContentView alloc] initWithFrame:viewRect fileURL:fileURL page:number password:phrase]; + + [theScrollView addSubview:contentView]; [contentViews setObject:contentView forKey:key]; + + contentView.message = self; [newPageSet addIndex:number]; + } + else // Reposition the existing content view + { + contentView.frame = viewRect; [contentView zoomReset]; + + [unusedViews removeObjectForKey:key]; + } + + viewRect.origin.x += viewRect.size.width; + } + + [unusedViews enumerateKeysAndObjectsUsingBlock: // Remove unused views + ^(id key, id object, BOOL *stop) + { + [contentViews removeObjectForKey:key]; + + ReaderContentView *contentView = object; + + [contentView removeFromSuperview]; + } + ]; + + unusedViews = nil; // Release unused views + + CGFloat viewWidthX1 = viewRect.size.width; + CGFloat viewWidthX2 = (viewWidthX1 * 2.0f); + + CGPoint contentOffset = CGPointZero; + + if (maxPage >= PAGING_VIEWS) + { + if (page == maxPage) + contentOffset.x = viewWidthX2; + else + if (page != minPage) + contentOffset.x = viewWidthX1; + } + else + if (page == (PAGING_VIEWS - 1)) + contentOffset.x = viewWidthX1; + + if (CGPointEqualToPoint(theScrollView.contentOffset, contentOffset) == false) + { + theScrollView.contentOffset = contentOffset; // Update content offset + } + + if ([document.pageNumber integerValue] != page) // Only if different + { + document.pageNumber = [NSNumber numberWithInteger:page]; // Update page number + } + + NSURL *fileURL = document.fileURL; NSString *phrase = document.password; NSString *guid = document.guid; + + if ([newPageSet containsIndex:page] == YES) // Preview visible page first + { + NSNumber *key = [NSNumber numberWithInteger:page]; // # key + + ReaderContentView *targetView = [contentViews objectForKey:key]; + + [targetView showPageThumb:fileURL page:page password:phrase guid:guid]; + + [newPageSet removeIndex:page]; // Remove visible page from set + } + + [newPageSet enumerateIndexesWithOptions:NSEnumerationReverse usingBlock: // Show previews + ^(NSUInteger number, BOOL *stop) + { + NSNumber *key = [NSNumber numberWithInteger:number]; // # key + + ReaderContentView *targetView = [contentViews objectForKey:key]; + + [targetView showPageThumb:fileURL page:number password:phrase guid:guid]; + } + ]; + + newPageSet = nil; // Release new page set + + [mainPagebar updatePagebar]; // Update the pagebar display + + [self updateToolbarBookmarkIcon]; // Update bookmark + + currentPage = page; // Track current page number + } +} + +- (void)showDocument:(id)object +{ + [self updateScrollViewContentSize]; // Set content size + + [self showDocumentPage:[document.pageNumber integerValue]]; + + document.lastOpen = [NSDate date]; // Update last opened date + + isVisible = YES; // iOS present modal bodge +} + +#pragma mark UIViewController methods + +- (id)initWithReaderDocument:(ReaderDocument *)object +{ + id reader = nil; // ReaderViewController object + + if ((object != nil) && ([object isKindOfClass:[ReaderDocument class]])) + { + if ((self = [super initWithNibName:nil bundle:nil])) // Designated initializer + { + NSNotificationCenter *notificationCenter = [NSNotificationCenter defaultCenter]; + + [notificationCenter addObserver:self selector:@selector(applicationWill:) name:UIApplicationWillTerminateNotification object:nil]; + + [notificationCenter addObserver:self selector:@selector(applicationWill:) name:UIApplicationWillResignActiveNotification object:nil]; + + [object updateProperties]; document = object; // Retain the supplied ReaderDocument object for our use + + [ReaderThumbCache touchThumbCacheWithGUID:object.guid]; // Touch the document thumb cache directory + + reader = self; // Return an initialized ReaderViewController object + } + } + + return reader; +} + +- (void)viewDidLoad +{ + [super viewDidLoad]; + + assert(document != nil); // Must have a valid ReaderDocument + + self.view.backgroundColor = [UIColor blackColor]; + + CGRect viewRect = self.view.bounds; // View controller's view bounds + + theScrollView = [[UIScrollView alloc] initWithFrame:viewRect]; // All + + theScrollView.scrollsToTop = NO; + theScrollView.pagingEnabled = YES; + theScrollView.delaysContentTouches = NO; + theScrollView.showsVerticalScrollIndicator = NO; + theScrollView.showsHorizontalScrollIndicator = NO; + theScrollView.contentMode = UIViewContentModeRedraw; + theScrollView.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight; + theScrollView.backgroundColor = [UIColor blackColor]; + theScrollView.userInteractionEnabled = YES; + theScrollView.autoresizesSubviews = NO; + theScrollView.delegate = self; + + [self.view addSubview:theScrollView]; + + CGRect toolbarRect = viewRect; + toolbarRect.size.height = TOOLBAR_HEIGHT; + + mainToolbar = [[ReaderMainToolbar alloc] initWithFrame:toolbarRect document:document]; // At top + + mainToolbar.delegate = self; + + [self.view addSubview:mainToolbar]; + + CGRect pagebarRect = viewRect; + pagebarRect.size.height = PAGEBAR_HEIGHT; + pagebarRect.origin.y = (viewRect.size.height - PAGEBAR_HEIGHT); + + mainPagebar = [[ReaderMainPagebar alloc] initWithFrame:pagebarRect document:document]; // At bottom + + mainPagebar.delegate = self; + + [self.view addSubview:mainPagebar]; + + UITapGestureRecognizer *singleTapOne = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleSingleTap:)]; + singleTapOne.numberOfTouchesRequired = 1; singleTapOne.numberOfTapsRequired = 1; singleTapOne.delegate = self; + [self.view addGestureRecognizer:singleTapOne]; + + UITapGestureRecognizer *doubleTapOne = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleDoubleTap:)]; + doubleTapOne.numberOfTouchesRequired = 1; doubleTapOne.numberOfTapsRequired = 2; doubleTapOne.delegate = self; + [self.view addGestureRecognizer:doubleTapOne]; + + UITapGestureRecognizer *doubleTapTwo = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleDoubleTap:)]; + doubleTapTwo.numberOfTouchesRequired = 2; doubleTapTwo.numberOfTapsRequired = 2; doubleTapTwo.delegate = self; + [self.view addGestureRecognizer:doubleTapTwo]; + + [singleTapOne requireGestureRecognizerToFail:doubleTapOne]; // Single tap requires double tap to fail + + contentViews = [NSMutableDictionary new]; lastHideTime = [NSDate date]; +} + +- (void)viewWillAppear:(BOOL)animated +{ + [super viewWillAppear:animated]; + + if (CGSizeEqualToSize(lastAppearSize, CGSizeZero) == false) + { + if (CGSizeEqualToSize(lastAppearSize, self.view.bounds.size) == false) + { + [self updateScrollViewContentViews]; // Update content views + } + + lastAppearSize = CGSizeZero; // Reset view size tracking + } +} + +- (void)viewDidAppear:(BOOL)animated +{ + [super viewDidAppear:animated]; + + if (CGSizeEqualToSize(theScrollView.contentSize, CGSizeZero)) // First time + { + [self performSelector:@selector(showDocument:) withObject:nil afterDelay:0.02]; + } + +#if (READER_DISABLE_IDLE == TRUE) // Option + + [UIApplication sharedApplication].idleTimerDisabled = YES; + +#endif // end of READER_DISABLE_IDLE Option +} + +- (void)viewWillDisappear:(BOOL)animated +{ + [super viewWillDisappear:animated]; + + lastAppearSize = self.view.bounds.size; // Track view size + +#if (READER_DISABLE_IDLE == TRUE) // Option + + [UIApplication sharedApplication].idleTimerDisabled = NO; + +#endif // end of READER_DISABLE_IDLE Option +} + +- (void)viewDidDisappear:(BOOL)animated +{ + [super viewDidDisappear:animated]; +} + +- (void)viewDidUnload +{ +#ifdef DEBUG + NSLog(@"%s", __FUNCTION__); +#endif + + mainToolbar = nil; mainPagebar = nil; + + theScrollView = nil; contentViews = nil; lastHideTime = nil; + + lastAppearSize = CGSizeZero; currentPage = 0; + + [super viewDidUnload]; +} + +- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation +{ + return YES; +} + +- (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration +{ + if (isVisible == NO) return; // iOS present modal bodge + + if ([UIDevice currentDevice].userInterfaceIdiom == UIUserInterfaceIdiomPad) + { + if (printInteraction != nil) [printInteraction dismissAnimated:NO]; + } +} + +- (void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation duration:(NSTimeInterval)duration +{ + if (isVisible == NO) return; // iOS present modal bodge + + [self updateScrollViewContentViews]; // Update content views + + lastAppearSize = CGSizeZero; // Reset view size tracking +} + +/* +- (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation +{ + //if (isVisible == NO) return; // iOS present modal bodge + + //if (fromInterfaceOrientation == self.interfaceOrientation) return; +} +*/ + +- (void)didReceiveMemoryWarning +{ +#ifdef DEBUG + NSLog(@"%s", __FUNCTION__); +#endif + + [super didReceiveMemoryWarning]; +} + +- (void)dealloc +{ + [[NSNotificationCenter defaultCenter] removeObserver:self]; +} + +#pragma mark UIScrollViewDelegate methods + +- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView +{ + __block NSInteger page = 0; + + CGFloat contentOffsetX = scrollView.contentOffset.x; + + [contentViews enumerateKeysAndObjectsUsingBlock: // Enumerate content views + ^(id key, id object, BOOL *stop) + { + ReaderContentView *contentView = object; + + if (contentView.frame.origin.x == contentOffsetX) + { + page = contentView.tag; *stop = YES; + } + } + ]; + + if (page != 0) [self showDocumentPage:page]; // Show the page +} + +- (void)scrollViewDidEndScrollingAnimation:(UIScrollView *)scrollView +{ + [self showDocumentPage:theScrollView.tag]; // Show page + + theScrollView.tag = 0; // Clear page number tag +} + +#pragma mark UIGestureRecognizerDelegate methods + +- (BOOL)gestureRecognizer:(UIGestureRecognizer *)recognizer shouldReceiveTouch:(UITouch *)touch +{ + if ([touch.view isKindOfClass:[UIScrollView class]]) return YES; + + return NO; +} + +#pragma mark UIGestureRecognizer action methods + +- (void)decrementPageNumber +{ + if (theScrollView.tag == 0) // Scroll view did end + { + NSInteger page = [document.pageNumber integerValue]; + NSInteger maxPage = [document.pageCount integerValue]; + NSInteger minPage = 1; // Minimum + + if ((maxPage > minPage) && (page != minPage)) + { + CGPoint contentOffset = theScrollView.contentOffset; + + contentOffset.x -= theScrollView.bounds.size.width; // -= 1 + + [theScrollView setContentOffset:contentOffset animated:YES]; + + theScrollView.tag = (page - 1); // Decrement page number + } + } +} + +- (void)incrementPageNumber +{ + if (theScrollView.tag == 0) // Scroll view did end + { + NSInteger page = [document.pageNumber integerValue]; + NSInteger maxPage = [document.pageCount integerValue]; + NSInteger minPage = 1; // Minimum + + if ((maxPage > minPage) && (page != maxPage)) + { + CGPoint contentOffset = theScrollView.contentOffset; + + contentOffset.x += theScrollView.bounds.size.width; // += 1 + + [theScrollView setContentOffset:contentOffset animated:YES]; + + theScrollView.tag = (page + 1); // Increment page number + } + } +} + +- (void)handleSingleTap:(UITapGestureRecognizer *)recognizer +{ + if (recognizer.state == UIGestureRecognizerStateRecognized) + { + CGRect viewRect = recognizer.view.bounds; // View bounds + + CGPoint point = [recognizer locationInView:recognizer.view]; + + CGRect areaRect = CGRectInset(viewRect, TAP_AREA_SIZE, 0.0f); // Area + + if (CGRectContainsPoint(areaRect, point)) // Single tap is inside the area + { + NSInteger page = [document.pageNumber integerValue]; // Current page # + + NSNumber *key = [NSNumber numberWithInteger:page]; // Page number key + + ReaderContentView *targetView = [contentViews objectForKey:key]; + + id target = [targetView processSingleTap:recognizer]; // Target + + if (target != nil) // Handle the returned target object + { + if ([target isKindOfClass:[NSURL class]]) // Open a URL + { + NSURL *url = (NSURL *)target; // Cast to a NSURL object + + if (url.scheme == nil) // Handle a missing URL scheme + { + NSString *www = url.absoluteString; // Get URL string + + if ([www hasPrefix:@"www"] == YES) // Check for 'www' prefix + { + NSString *http = [NSString stringWithFormat:@"http://%@", www]; + + url = [NSURL URLWithString:http]; // Proper http-based URL + } + } + + if ([[UIApplication sharedApplication] openURL:url] == NO) + { + #ifdef DEBUG + NSLog(@"%s '%@'", __FUNCTION__, url); // Bad or unknown URL + #endif + } + } + else // Not a URL, so check for other possible object type + { + if ([target isKindOfClass:[NSNumber class]]) // Goto page + { + NSInteger value = [target integerValue]; // Number + + [self showDocumentPage:value]; // Show the page + } + } + } + else // Nothing active tapped in the target content view + { + if ([lastHideTime timeIntervalSinceNow] < -0.75) // Delay since hide + { + if ((mainToolbar.hidden == YES) || (mainPagebar.hidden == YES)) + { + [mainToolbar showToolbar]; [mainPagebar showPagebar]; // Show + } + } + } + + return; + } + + CGRect nextPageRect = viewRect; + nextPageRect.size.width = TAP_AREA_SIZE; + nextPageRect.origin.x = (viewRect.size.width - TAP_AREA_SIZE); + + if (CGRectContainsPoint(nextPageRect, point)) // page++ area + { + [self incrementPageNumber]; return; + } + + CGRect prevPageRect = viewRect; + prevPageRect.size.width = TAP_AREA_SIZE; + + if (CGRectContainsPoint(prevPageRect, point)) // page-- area + { + [self decrementPageNumber]; return; + } + } +} + +- (void)handleDoubleTap:(UITapGestureRecognizer *)recognizer +{ + if (recognizer.state == UIGestureRecognizerStateRecognized) + { + CGRect viewRect = recognizer.view.bounds; // View bounds + + CGPoint point = [recognizer locationInView:recognizer.view]; + + CGRect zoomArea = CGRectInset(viewRect, TAP_AREA_SIZE, TAP_AREA_SIZE); + + if (CGRectContainsPoint(zoomArea, point)) // Double tap is in the zoom area + { + NSInteger page = [document.pageNumber integerValue]; // Current page # + + NSNumber *key = [NSNumber numberWithInteger:page]; // Page number key + + ReaderContentView *targetView = [contentViews objectForKey:key]; + + switch (recognizer.numberOfTouchesRequired) // Touches count + { + case 1: // One finger double tap: zoom ++ + { + [targetView zoomIncrement]; break; + } + + case 2: // Two finger double tap: zoom -- + { + [targetView zoomDecrement]; break; + } + } + + return; + } + + CGRect nextPageRect = viewRect; + nextPageRect.size.width = TAP_AREA_SIZE; + nextPageRect.origin.x = (viewRect.size.width - TAP_AREA_SIZE); + + if (CGRectContainsPoint(nextPageRect, point)) // page++ area + { + [self incrementPageNumber]; return; + } + + CGRect prevPageRect = viewRect; + prevPageRect.size.width = TAP_AREA_SIZE; + + if (CGRectContainsPoint(prevPageRect, point)) // page-- area + { + [self decrementPageNumber]; return; + } + } +} + +#pragma mark ReaderContentViewDelegate methods + +- (void)contentView:(ReaderContentView *)contentView touchesBegan:(NSSet *)touches +{ + if ((mainToolbar.hidden == NO) || (mainPagebar.hidden == NO)) + { + if (touches.count == 1) // Single touches only + { + UITouch *touch = [touches anyObject]; // Touch info + + CGPoint point = [touch locationInView:self.view]; // Touch location + + CGRect areaRect = CGRectInset(self.view.bounds, TAP_AREA_SIZE, TAP_AREA_SIZE); + + if (CGRectContainsPoint(areaRect, point) == false) return; + } + + [mainToolbar hideToolbar]; [mainPagebar hidePagebar]; // Hide + + lastHideTime = [NSDate date]; + } +} + +#pragma mark ReaderMainToolbarDelegate methods + +- (void)tappedInToolbar:(ReaderMainToolbar *)toolbar doneButton:(UIButton *)button +{ +#if (READER_STANDALONE == FALSE) // Option + + [document saveReaderDocument]; // Save any ReaderDocument object changes + + [[ReaderThumbQueue sharedInstance] cancelOperationsWithGUID:document.guid]; + + [[ReaderThumbCache sharedInstance] removeAllObjects]; // Empty the thumb cache + + if (printInteraction != nil) [printInteraction dismissAnimated:NO]; // Dismiss + + if ([delegate respondsToSelector:@selector(dismissReaderViewController:)] == YES) + { + [delegate dismissReaderViewController:self]; // Dismiss the ReaderViewController + } + else // We have a "Delegate must respond to -dismissReaderViewController: error" + { + NSAssert(NO, @"Delegate must respond to -dismissReaderViewController:"); + } + +#endif // end of READER_STANDALONE Option +} + +- (void)tappedInToolbar:(ReaderMainToolbar *)toolbar thumbsButton:(UIButton *)button +{ + if (printInteraction != nil) [printInteraction dismissAnimated:NO]; // Dismiss + + ThumbsViewController *thumbsViewController = [[ThumbsViewController alloc] initWithReaderDocument:document]; + + thumbsViewController.delegate = self; thumbsViewController.title = self.title; + + thumbsViewController.modalTransitionStyle = UIModalTransitionStyleCrossDissolve; + thumbsViewController.modalPresentationStyle = UIModalPresentationFullScreen; + + [self presentViewController:thumbsViewController animated:NO completion:nil]; +} + +- (void)tappedInToolbar:(ReaderMainToolbar *)toolbar printButton:(UIButton *)button +{ +#if (READER_ENABLE_PRINT == TRUE) // Option + + Class printInteractionController = NSClassFromString(@"UIPrintInteractionController"); + + if ((printInteractionController != nil) && [printInteractionController isPrintingAvailable]) + { + NSURL *fileURL = document.fileURL; // Document file URL + + printInteraction = [printInteractionController sharedPrintController]; + + if ([printInteractionController canPrintURL:fileURL] == YES) // Check first + { + UIPrintInfo *printInfo = [NSClassFromString(@"UIPrintInfo") printInfo]; + + printInfo.duplex = UIPrintInfoDuplexLongEdge; + printInfo.outputType = UIPrintInfoOutputGeneral; + printInfo.jobName = document.fileName; + + printInteraction.printInfo = printInfo; + printInteraction.printingItem = fileURL; + printInteraction.showsPageRange = YES; + + if ([UIDevice currentDevice].userInterfaceIdiom == UIUserInterfaceIdiomPad) + { + [printInteraction presentFromRect:button.bounds inView:button animated:YES completionHandler: + ^(UIPrintInteractionController *pic, BOOL completed, NSError *error) + { + #ifdef DEBUG + if ((completed == NO) && (error != nil)) NSLog(@"%s %@", __FUNCTION__, error); + #endif + } + ]; + } + else // Presume UIUserInterfaceIdiomPhone + { + [printInteraction presentAnimated:YES completionHandler: + ^(UIPrintInteractionController *pic, BOOL completed, NSError *error) + { + #ifdef DEBUG + if ((completed == NO) && (error != nil)) NSLog(@"%s %@", __FUNCTION__, error); + #endif + } + ]; + } + } + } + +#endif // end of READER_ENABLE_PRINT Option +} + +- (void)tappedInToolbar:(ReaderMainToolbar *)toolbar emailButton:(UIButton *)button +{ +#if (READER_ENABLE_MAIL == TRUE) // Option + + if ([MFMailComposeViewController canSendMail] == NO) return; + + if (printInteraction != nil) [printInteraction dismissAnimated:YES]; + + unsigned long long fileSize = [document.fileSize unsignedLongLongValue]; + + if (fileSize < (unsigned long long)15728640) // Check attachment size limit (15MB) + { + NSURL *fileURL = document.fileURL; NSString *fileName = document.fileName; // Document + + NSData *attachment = [NSData dataWithContentsOfURL:fileURL options:(NSDataReadingMapped|NSDataReadingUncached) error:nil]; + + if (attachment != nil) // Ensure that we have valid document file attachment data + { + MFMailComposeViewController *mailComposer = [MFMailComposeViewController new]; + + [mailComposer addAttachmentData:attachment mimeType:@"application/pdf" fileName:fileName]; + + [mailComposer setSubject:fileName]; // Use the document file name for the subject + + mailComposer.modalTransitionStyle = UIModalTransitionStyleCoverVertical; + mailComposer.modalPresentationStyle = UIModalPresentationFormSheet; + + mailComposer.mailComposeDelegate = self; // Set the delegate + + [self presentViewController:mailComposer animated:YES completion:nil]; + } + } + +#endif // end of READER_ENABLE_MAIL Option +} + +- (void)tappedInToolbar:(ReaderMainToolbar *)toolbar markButton:(UIButton *)button +{ + if (printInteraction != nil) [printInteraction dismissAnimated:YES]; + + NSInteger page = [document.pageNumber integerValue]; + + if ([document.bookmarks containsIndex:page]) // Remove bookmark + { + [mainToolbar setBookmarkState:NO]; [document.bookmarks removeIndex:page]; + } + else // Add the bookmarked page index to the bookmarks set + { + [mainToolbar setBookmarkState:YES]; [document.bookmarks addIndex:page]; + } +} + +#pragma mark MFMailComposeViewControllerDelegate methods + +- (void)mailComposeController:(MFMailComposeViewController *)controller didFinishWithResult:(MFMailComposeResult)result error:(NSError *)error +{ + #ifdef DEBUG + if ((result == MFMailComposeResultFailed) && (error != NULL)) NSLog(@"%@", error); + #endif + + [self dismissViewControllerAnimated:YES completion:nil]; // Dismiss +} + +#pragma mark ThumbsViewControllerDelegate methods + +- (void)dismissThumbsViewController:(ThumbsViewController *)viewController +{ + [self updateToolbarBookmarkIcon]; // Update bookmark icon + + [self dismissViewControllerAnimated:NO completion:nil]; // Dismiss +} + +- (void)thumbsViewController:(ThumbsViewController *)viewController gotoPage:(NSInteger)page +{ + [self showDocumentPage:page]; // Show the page +} + +#pragma mark ReaderMainPagebarDelegate methods + +- (void)pagebar:(ReaderMainPagebar *)pagebar gotoPage:(NSInteger)page +{ + [self showDocumentPage:page]; // Show the page +} + +#pragma mark UIApplication notification methods + +- (void)applicationWill:(NSNotification *)notification +{ + [document saveReaderDocument]; // Save any ReaderDocument object changes + + if ([UIDevice currentDevice].userInterfaceIdiom == UIUserInterfaceIdiomPad) + { + if (printInteraction != nil) [printInteraction dismissAnimated:NO]; + } +} + +@end diff --git a/Night Reader/Night Reader/Night Reader/ThumbsMainToolbar.h b/Night Reader/Night Reader/Night Reader/ThumbsMainToolbar.h new file mode 100644 index 0000000..6d48f17 --- /dev/null +++ b/Night Reader/Night Reader/Night Reader/ThumbsMainToolbar.h @@ -0,0 +1,47 @@ +// +// ThumbsMainToolbar.h +// Reader v2.6.0 +// +// Created by Julius Oklamcak on 2011-09-01. +// Copyright © 2011-2013 Julius Oklamcak. All rights reserved. +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights to +// use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +// of the Software, and to permit persons to whom the Software is furnished to +// do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in all +// copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +// CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +// + +#import + +#import "UIXToolbarView.h" + +@class ThumbsMainToolbar; + +@protocol ThumbsMainToolbarDelegate + +@required // Delegate protocols + +- (void)tappedInToolbar:(ThumbsMainToolbar *)toolbar doneButton:(UIButton *)button; +- (void)tappedInToolbar:(ThumbsMainToolbar *)toolbar showControl:(UISegmentedControl *)control; + +@end + +@interface ThumbsMainToolbar : UIXToolbarView + +@property (nonatomic, unsafe_unretained, readwrite) id delegate; + +- (id)initWithFrame:(CGRect)frame title:(NSString *)title; + +@end diff --git a/Night Reader/Night Reader/Night Reader/ThumbsMainToolbar.m b/Night Reader/Night Reader/Night Reader/ThumbsMainToolbar.m new file mode 100644 index 0000000..9f8755b --- /dev/null +++ b/Night Reader/Night Reader/Night Reader/ThumbsMainToolbar.m @@ -0,0 +1,149 @@ +// +// ThumbsMainToolbar.m +// Reader v2.6.2 +// +// Created by Julius Oklamcak on 2011-09-01. +// Copyright © 2011-2013 Julius Oklamcak. All rights reserved. +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights to +// use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +// of the Software, and to permit persons to whom the Software is furnished to +// do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in all +// copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +// CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +// + +#import "ReaderConstants.h" +#import "ThumbsMainToolbar.h" + +@implementation ThumbsMainToolbar + +#pragma mark Constants + +#define BUTTON_X 8.0f +#define BUTTON_Y 8.0f +#define BUTTON_SPACE 8.0f +#define BUTTON_HEIGHT 30.0f + +#define DONE_BUTTON_WIDTH 56.0f +#define SHOW_CONTROL_WIDTH 78.0f + +#define TITLE_HEIGHT 28.0f + +#pragma mark Properties + +@synthesize delegate; + +#pragma mark ThumbsMainToolbar instance methods + +- (id)initWithFrame:(CGRect)frame +{ + return [self initWithFrame:frame title:nil]; +} + +- (id)initWithFrame:(CGRect)frame title:(NSString *)title +{ + if ((self = [super initWithFrame:frame])) + { + CGFloat viewWidth = self.bounds.size.width; + + UIImage *imageH = [UIImage imageNamed:@"Reader-Button-H"]; + UIImage *imageN = [UIImage imageNamed:@"Reader-Button-N"]; + + UIImage *buttonH = [imageH stretchableImageWithLeftCapWidth:5 topCapHeight:0]; + UIImage *buttonN = [imageN stretchableImageWithLeftCapWidth:5 topCapHeight:0]; + + CGFloat titleX = BUTTON_X; CGFloat titleWidth = (viewWidth - (titleX + titleX)); + + UIButton *doneButton = [UIButton buttonWithType:UIButtonTypeCustom]; + + doneButton.frame = CGRectMake(BUTTON_X, BUTTON_Y, DONE_BUTTON_WIDTH, BUTTON_HEIGHT); + [doneButton setTitle:NSLocalizedString(@"Done", @"button") forState:UIControlStateNormal]; + [doneButton setTitleColor:[UIColor colorWithWhite:0.0f alpha:1.0f] forState:UIControlStateNormal]; + [doneButton setTitleColor:[UIColor colorWithWhite:1.0f alpha:1.0f] forState:UIControlStateHighlighted]; + [doneButton addTarget:self action:@selector(doneButtonTapped:) forControlEvents:UIControlEventTouchUpInside]; + [doneButton setBackgroundImage:buttonH forState:UIControlStateHighlighted]; + [doneButton setBackgroundImage:buttonN forState:UIControlStateNormal]; + doneButton.titleLabel.font = [UIFont systemFontOfSize:14.0f]; + doneButton.autoresizingMask = UIViewAutoresizingNone; + doneButton.exclusiveTouch = YES; + + [self addSubview:doneButton]; + + titleX += (DONE_BUTTON_WIDTH + BUTTON_SPACE); titleWidth -= (DONE_BUTTON_WIDTH + BUTTON_SPACE); + +#if (READER_BOOKMARKS == TRUE) // Option + + CGFloat showControlX = (viewWidth - (SHOW_CONTROL_WIDTH + BUTTON_SPACE)); + + UIImage *thumbsImage = [UIImage imageNamed:@"Reader-Thumbs"]; + UIImage *bookmarkImage = [UIImage imageNamed:@"Reader-Mark-Y"]; + NSArray *buttonItems = [NSArray arrayWithObjects:thumbsImage, bookmarkImage, nil]; + + UISegmentedControl *showControl = [[UISegmentedControl alloc] initWithItems:buttonItems]; + + showControl.frame = CGRectMake(showControlX, BUTTON_Y, SHOW_CONTROL_WIDTH, BUTTON_HEIGHT); + showControl.autoresizingMask = UIViewAutoresizingFlexibleLeftMargin; + // showControl.segmentedControlStyle = UISegmentedControlStyleBar; + showControl.tintColor = [UIColor blackColor]; + showControl.selectedSegmentIndex = 0; // Default segment index + showControl.exclusiveTouch = YES; + + [showControl addTarget:self action:@selector(showControlTapped:) forControlEvents:UIControlEventValueChanged]; + + [self addSubview:showControl]; + + titleWidth -= (SHOW_CONTROL_WIDTH + BUTTON_SPACE); + +#endif // end of READER_BOOKMARKS Option + + if ([UIDevice currentDevice].userInterfaceIdiom == UIUserInterfaceIdiomPad) + { + CGRect titleRect = CGRectMake(titleX, BUTTON_Y, titleWidth, TITLE_HEIGHT); + + UILabel *titleLabel = [[UILabel alloc] initWithFrame:titleRect]; + + titleLabel.textAlignment = NSTextAlignmentCenter; + titleLabel.font = [UIFont systemFontOfSize:19.0f]; + titleLabel.autoresizingMask = UIViewAutoresizingFlexibleWidth; + titleLabel.baselineAdjustment = UIBaselineAdjustmentAlignCenters; + titleLabel.textColor = [UIColor redColor]; + titleLabel.shadowColor = [UIColor colorWithWhite:0.65f alpha:1.0f]; + titleLabel.backgroundColor = [UIColor blackColor]; + titleLabel.shadowOffset = CGSizeMake(0.0f, 1.0f); + titleLabel.adjustsFontSizeToFitWidth = YES; + titleLabel.MinimumScaleFactor = 14.0f; + titleLabel.text = title; + + [self addSubview:titleLabel]; + } + } + + return self; +} + +#pragma mark UISegmentedControl action methods + +- (void)showControlTapped:(UISegmentedControl *)control +{ + [delegate tappedInToolbar:self showControl:control]; +} + +#pragma mark UIButton action methods + +- (void)doneButtonTapped:(UIButton *)button +{ + [delegate tappedInToolbar:self doneButton:button]; +} + +@end diff --git a/Night Reader/Night Reader/Night Reader/ThumbsViewController.h b/Night Reader/Night Reader/Night Reader/ThumbsViewController.h new file mode 100644 index 0000000..dc1bcaa --- /dev/null +++ b/Night Reader/Night Reader/Night Reader/ThumbsViewController.h @@ -0,0 +1,66 @@ +// +// ThumbsViewController.h +// Reader v2.6.0 +// +// Created by Julius Oklamcak on 2011-09-01. +// Copyright © 2011-2013 Julius Oklamcak. All rights reserved. +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights to +// use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +// of the Software, and to permit persons to whom the Software is furnished to +// do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in all +// copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +// CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +// + +#import + +#import "ThumbsMainToolbar.h" +#import "ReaderThumbsView.h" + +@class ReaderDocument; +@class ThumbsViewController; + +@protocol ThumbsViewControllerDelegate + +@required // Delegate protocols + +- (void)thumbsViewController:(ThumbsViewController *)viewController gotoPage:(NSInteger)page; + +- (void)dismissThumbsViewController:(ThumbsViewController *)viewController; + +@end + +@interface ThumbsViewController : UIViewController + +@property (nonatomic, unsafe_unretained, readwrite) id delegate; + +- (id)initWithReaderDocument:(ReaderDocument *)object; + +@end + +#pragma mark - + +// +// ThumbsPageThumb class interface +// + +@interface ThumbsPageThumb : ReaderThumbView + +- (CGSize)maximumContentSize; + +- (void)showText:(NSString *)text; + +- (void)showBookmark:(BOOL)show; + +@end diff --git a/Night Reader/Night Reader/Night Reader/ThumbsViewController.m b/Night Reader/Night Reader/Night Reader/ThumbsViewController.m new file mode 100644 index 0000000..cb18b99 --- /dev/null +++ b/Night Reader/Night Reader/Night Reader/ThumbsViewController.m @@ -0,0 +1,480 @@ +// +// ThumbsViewController.m +// Reader v2.6.1 +// +// Created by Julius Oklamcak on 2011-09-01. +// Copyright © 2011-2013 Julius Oklamcak. All rights reserved. +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights to +// use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +// of the Software, and to permit persons to whom the Software is furnished to +// do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in all +// copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +// CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +// + +#import "ReaderConstants.h" +#import "ThumbsViewController.h" +#import "ReaderThumbRequest.h" +#import "ReaderThumbCache.h" +#import "ReaderDocument.h" + +#import + +@interface ThumbsViewController () + +@end + +@implementation ThumbsViewController +{ + ReaderDocument *document; + + ThumbsMainToolbar *mainToolbar; + + ReaderThumbsView *theThumbsView; + + NSMutableArray *bookmarked; + + CGPoint thumbsOffset; + CGPoint markedOffset; + + BOOL updateBookmarked; + BOOL showBookmarked; +} + +#pragma mark Constants + +#define TOOLBAR_HEIGHT 44.0f + +#define PAGE_THUMB_SMALL 160 +#define PAGE_THUMB_LARGE 256 + +#pragma mark Properties + +@synthesize delegate; + +#pragma mark UIViewController methods + +- (id)initWithReaderDocument:(ReaderDocument *)object +{ + id thumbs = nil; // ThumbsViewController object + + if ((object != nil) && ([object isKindOfClass:[ReaderDocument class]])) + { + if ((self = [super initWithNibName:nil bundle:nil])) // Designated initializer + { + updateBookmarked = YES; bookmarked = [NSMutableArray new]; // Bookmarked pages + + document = object; // Retain the ReaderDocument object for our use + + thumbs = self; // Return an initialized ThumbsViewController object + } + } + + return thumbs; +} + +- (void)viewDidLoad +{ + [super viewDidLoad]; + + assert(delegate != nil); assert(document != nil); + + self.view.backgroundColor = [UIColor blackColor]; + + CGRect viewRect = self.view.bounds; // View controller's view bounds + + NSString *toolbarTitle = [document.fileName stringByDeletingPathExtension]; + + CGRect toolbarRect = viewRect; toolbarRect.size.height = TOOLBAR_HEIGHT; + + mainToolbar = [[ThumbsMainToolbar alloc] initWithFrame:toolbarRect title:toolbarTitle]; // At top + + mainToolbar.delegate = self; + + [self.view addSubview:mainToolbar]; + + CGRect thumbsRect = viewRect; UIEdgeInsets insets = UIEdgeInsetsZero; + + if ([UIDevice currentDevice].userInterfaceIdiom == UIUserInterfaceIdiomPad) + { + thumbsRect.origin.y += TOOLBAR_HEIGHT; thumbsRect.size.height -= TOOLBAR_HEIGHT; + } + else // Set UIScrollView insets for non-UIUserInterfaceIdiomPad case + { + insets.top = TOOLBAR_HEIGHT; + } + + theThumbsView = [[ReaderThumbsView alloc] initWithFrame:thumbsRect]; // Rest + + theThumbsView.contentInset = insets; theThumbsView.scrollIndicatorInsets = insets; + + theThumbsView.delegate = self; + + [self.view insertSubview:theThumbsView belowSubview:mainToolbar]; + + BOOL large = ([UIDevice currentDevice].userInterfaceIdiom == UIUserInterfaceIdiomPad); + + NSInteger thumbSize = (large ? PAGE_THUMB_LARGE : PAGE_THUMB_SMALL); // Thumb dimensions + + [theThumbsView setThumbSize:CGSizeMake(thumbSize, thumbSize)]; // Thumb size based on device +} + +- (void)viewWillAppear:(BOOL)animated +{ + [super viewWillAppear:animated]; + + [theThumbsView reloadThumbsCenterOnIndex:([document.pageNumber integerValue] - 1)]; // Page +} + +- (void)viewDidAppear:(BOOL)animated +{ + [super viewDidAppear:animated]; +} + +- (void)viewWillDisappear:(BOOL)animated +{ + [super viewWillDisappear:animated]; +} + +- (void)viewDidDisappear:(BOOL)animated +{ + [super viewDidDisappear:animated]; +} + +- (void)viewDidUnload +{ +#ifdef DEBUG + NSLog(@"%s", __FUNCTION__); +#endif + + mainToolbar = nil; theThumbsView = nil; + + [super viewDidUnload]; +} + +- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation +{ + return YES; +} + +/* +- (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration +{ +} + +- (void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation duration:(NSTimeInterval)duration +{ +} + +- (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation +{ + //if (fromInterfaceOrientation == self.interfaceOrientation) return; +} +*/ + +- (void)didReceiveMemoryWarning +{ +#ifdef DEBUG + NSLog(@"%s", __FUNCTION__); +#endif + + [super didReceiveMemoryWarning]; +} + +#pragma mark ThumbsMainToolbarDelegate methods + +- (void)tappedInToolbar:(ThumbsMainToolbar *)toolbar showControl:(UISegmentedControl *)control +{ + switch (control.selectedSegmentIndex) + { + case 0: // Show all page thumbs + { + showBookmarked = NO; // Show all thumbs + + markedOffset = [theThumbsView insetContentOffset]; + + [theThumbsView reloadThumbsContentOffset:thumbsOffset]; + + break; // We're done + } + + case 1: // Show bookmarked thumbs + { + showBookmarked = YES; // Only bookmarked + + thumbsOffset = [theThumbsView insetContentOffset]; + + if (updateBookmarked == YES) // Update bookmarked list + { + [bookmarked removeAllObjects]; // Empty the list first + + [document.bookmarks enumerateIndexesUsingBlock: // Enumerate + ^(NSUInteger page, BOOL *stop) + { + [bookmarked addObject:[NSNumber numberWithInteger:page]]; + } + ]; + + markedOffset = CGPointZero; updateBookmarked = NO; // Reset + } + + [theThumbsView reloadThumbsContentOffset:markedOffset]; + + break; // We're done + } + } +} + +- (void)tappedInToolbar:(ThumbsMainToolbar *)toolbar doneButton:(UIButton *)button +{ + [delegate dismissThumbsViewController:self]; // Dismiss thumbs display +} + +#pragma mark UIThumbsViewDelegate methods + +- (NSUInteger)numberOfThumbsInThumbsView:(ReaderThumbsView *)thumbsView +{ + return (showBookmarked ? bookmarked.count : [document.pageCount integerValue]); +} + +- (id)thumbsView:(ReaderThumbsView *)thumbsView thumbCellWithFrame:(CGRect)frame +{ + return [[ThumbsPageThumb alloc] initWithFrame:frame]; +} + +- (void)thumbsView:(ReaderThumbsView *)thumbsView updateThumbCell:(ThumbsPageThumb *)thumbCell forIndex:(NSInteger)index +{ + CGSize size = [thumbCell maximumContentSize]; // Get the cell's maximum content size + + NSInteger page = (showBookmarked ? [[bookmarked objectAtIndex:index] integerValue] : (index + 1)); + + [thumbCell showText:[NSString stringWithFormat:@"%d", page]]; // Page number place holder + + [thumbCell showBookmark:[document.bookmarks containsIndex:page]]; // Show bookmarked status + + NSURL *fileURL = document.fileURL; NSString *guid = document.guid; NSString *phrase = document.password; // Document info + + ReaderThumbRequest *thumbRequest = [ReaderThumbRequest newForView:thumbCell fileURL:fileURL password:phrase guid:guid page:page size:size]; + + UIImage *image = [[ReaderThumbCache sharedInstance] thumbRequest:thumbRequest priority:YES]; // Request the thumbnail + + if ([image isKindOfClass:[UIImage class]]) [thumbCell showImage:image]; // Show image from cache +} + +- (void)thumbsView:(ReaderThumbsView *)thumbsView refreshThumbCell:(ThumbsPageThumb *)thumbCell forIndex:(NSInteger)index +{ + NSInteger page = (showBookmarked ? [[bookmarked objectAtIndex:index] integerValue] : (index + 1)); + + [thumbCell showBookmark:[document.bookmarks containsIndex:page]]; // Show bookmarked status +} + +- (void)thumbsView:(ReaderThumbsView *)thumbsView didSelectThumbWithIndex:(NSInteger)index +{ + NSInteger page = (showBookmarked ? [[bookmarked objectAtIndex:index] integerValue] : (index + 1)); + + [delegate thumbsViewController:self gotoPage:page]; // Show the selected page + + [delegate dismissThumbsViewController:self]; // Dismiss thumbs display +} + +- (void)thumbsView:(ReaderThumbsView *)thumbsView didPressThumbWithIndex:(NSInteger)index +{ + NSInteger page = (showBookmarked ? [[bookmarked objectAtIndex:index] integerValue] : (index + 1)); + + if ([document.bookmarks containsIndex:page]) [document.bookmarks removeIndex:page]; else [document.bookmarks addIndex:page]; + + updateBookmarked = YES; [thumbsView refreshThumbWithIndex:index]; // Refresh page thumb +} + +@end + +#pragma mark - + +// +// ThumbsPageThumb class implementation +// + +@implementation ThumbsPageThumb +{ + UIView *backView; + + UIView *tintView; + + UILabel *textLabel; + + UIImageView *bookMark; + + CGSize maximumSize; + + CGRect defaultRect; +} + +#pragma mark Constants + +#define CONTENT_INSET 8.0f + +#pragma mark ThumbsPageThumb instance methods + +- (CGRect)markRectInImageView +{ + CGRect iconRect = bookMark.frame; iconRect.origin.y = (-2.0f); + + iconRect.origin.x = (imageView.bounds.size.width - bookMark.image.size.width - 8.0f); + + return iconRect; // Frame position rect inside of image view +} + +- (id)initWithFrame:(CGRect)frame +{ + if ((self = [super initWithFrame:frame])) + { + imageView.contentMode = UIViewContentModeCenter; + + defaultRect = CGRectInset(self.bounds, CONTENT_INSET, CONTENT_INSET); + + maximumSize = defaultRect.size; // Maximum thumb content size + + CGFloat newWidth = ((defaultRect.size.width / 4.0f) * 3.0f); + + CGFloat offsetX = ((defaultRect.size.width - newWidth) / 2.0f); + + defaultRect.size.width = newWidth; defaultRect.origin.x += offsetX; + + imageView.frame = defaultRect; // Update the image view frame + + CGFloat fontSize = (([UIDevice currentDevice].userInterfaceIdiom == UIUserInterfaceIdiomPad) ? 19.0f : 16.0f); + + textLabel = [[UILabel alloc] initWithFrame:defaultRect]; + + textLabel.autoresizesSubviews = NO; + textLabel.userInteractionEnabled = NO; + textLabel.contentMode = UIViewContentModeRedraw; + textLabel.autoresizingMask = UIViewAutoresizingNone; + textLabel.textAlignment = NSTextAlignmentCenter; + textLabel.font = [UIFont systemFontOfSize:fontSize]; + textLabel.textColor = [UIColor redColor]; + textLabel.backgroundColor = [UIColor blackColor]; + + [self insertSubview:textLabel belowSubview:imageView]; + + backView = [[UIView alloc] initWithFrame:defaultRect]; + + backView.autoresizesSubviews = NO; + backView.userInteractionEnabled = NO; + backView.contentMode = UIViewContentModeRedraw; + backView.autoresizingMask = UIViewAutoresizingNone; + backView.backgroundColor = [UIColor blackColor]; + +#if (READER_SHOW_SHADOWS == TRUE) // Option + + backView.layer.shadowOffset = CGSizeMake(0.0f, 1.0f); + backView.layer.shadowRadius = 3.0f; backView.layer.shadowOpacity = 1.0f; + backView.layer.shadowPath = [UIBezierPath bezierPathWithRect:backView.bounds].CGPath; + +#endif // end of READER_SHOW_SHADOWS Option + + [self insertSubview:backView belowSubview:textLabel]; +/* + tintView = [[UIView alloc] initWithFrame:imageView.bounds]; + + tintView.hidden = YES; + tintView.autoresizesSubviews = NO; + tintView.userInteractionEnabled = NO; + tintView.contentMode = UIViewContentModeRedraw; + tintView.autoresizingMask = UIViewAutoresizingNone; + tintView.backgroundColor = [UIColor colorWithWhite:0.0f alpha:0.25f]; + + [imageView addSubview:tintView]; +*/ + UIImage *image = [UIImage imageNamed:@"Reader-Mark-Y"]; + + bookMark = [[UIImageView alloc] initWithImage:image]; + + bookMark.hidden = YES; + bookMark.autoresizesSubviews = NO; + bookMark.userInteractionEnabled = NO; + bookMark.contentMode = UIViewContentModeCenter; + bookMark.autoresizingMask = UIViewAutoresizingNone; + bookMark.frame = [self markRectInImageView]; + + [imageView addSubview:bookMark]; + } + + return self; +} + +- (CGSize)maximumContentSize +{ + return maximumSize; +} + +- (void)showImage:(UIImage *)image +{ + NSInteger x = (self.bounds.size.width / 2.0f); + NSInteger y = (self.bounds.size.height / 2.0f); + + CGPoint location = CGPointMake(x, y); // Center point + + CGRect viewRect = CGRectZero; viewRect.size = image.size; + + textLabel.bounds = viewRect; textLabel.center = location; // Position + + imageView.bounds = viewRect; imageView.center = location; imageView.image = image; + + bookMark.frame = [self markRectInImageView]; // Position bookmark image + + tintView.frame = imageView.bounds; backView.bounds = viewRect; backView.center = location; + +#if (READER_SHOW_SHADOWS == TRUE) // Option + + backView.layer.shadowPath = [UIBezierPath bezierPathWithRect:backView.bounds].CGPath; + +#endif // end of READER_SHOW_SHADOWS Option +} + +- (void)reuse +{ + [super reuse]; // Reuse thumb view + + textLabel.text = nil; textLabel.frame = defaultRect; + + imageView.image = nil; imageView.frame = defaultRect; + + bookMark.hidden = YES; bookMark.frame = [self markRectInImageView]; + + tintView.hidden = YES; tintView.frame = imageView.bounds; backView.frame = defaultRect; + +#if (READER_SHOW_SHADOWS == TRUE) // Option + + backView.layer.shadowPath = [UIBezierPath bezierPathWithRect:backView.bounds].CGPath; + +#endif // end of READER_SHOW_SHADOWS Option +} + +- (void)showBookmark:(BOOL)show +{ + bookMark.hidden = (show ? NO : YES); +} + +- (void)showTouched:(BOOL)touched +{ + tintView.hidden = (touched ? NO : YES); +} + +- (void)showText:(NSString *)text +{ + textLabel.text = text; +} + +@end diff --git a/Night Reader/Night Reader/Night Reader/UIXToolbarView.h b/Night Reader/Night Reader/Night Reader/UIXToolbarView.h new file mode 100644 index 0000000..724a3b8 --- /dev/null +++ b/Night Reader/Night Reader/Night Reader/UIXToolbarView.h @@ -0,0 +1,40 @@ +// +// UIXToolbarView.h +// Reader v2.6.0 +// +// Created by Julius Oklamcak on 2011-09-01. +// Copyright © 2011-2013 Julius Oklamcak. All rights reserved. +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights to +// use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +// of the Software, and to permit persons to whom the Software is furnished to +// do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in all +// copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +// CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +// + +#import + +@interface UIXToolbarView : UIView + +@end + +#pragma mark - + +// +// UIXToolbarShadow class interface +// + +@interface UIXToolbarShadow : UIView + +@end diff --git a/Night Reader/Night Reader/Night Reader/UIXToolbarView.m b/Night Reader/Night Reader/Night Reader/UIXToolbarView.m new file mode 100644 index 0000000..7f77a9b --- /dev/null +++ b/Night Reader/Night Reader/Night Reader/UIXToolbarView.m @@ -0,0 +1,105 @@ +// +// UIXToolbarView.m +// Reader v2.6.0 +// +// Created by Julius Oklamcak on 2011-09-01. +// Copyright © 2011-2013 Julius Oklamcak. All rights reserved. +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights to +// use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +// of the Software, and to permit persons to whom the Software is furnished to +// do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in all +// copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +// CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +// + +#import "UIXToolbarView.h" + +#import + +@implementation UIXToolbarView + +#pragma mark Constants + +#define SHADOW_HEIGHT 4.0f + +#pragma mark UIXToolbarView class methods + ++ (Class)layerClass +{ + return [CAGradientLayer class]; +} + +#pragma mark UIXToolbarView instance methods + +- (id)initWithFrame:(CGRect)frame +{ + +// UIColor *NightColor=[UIColor colorWithRed:70 green:0 blue:0 alpha:0.8]; + + UIColor *DarkNightColor=[UIColor blackColor]; + + if ((self = [super initWithFrame:frame])) + { + self.autoresizesSubviews = YES; + self.userInteractionEnabled = YES; + self.contentMode = UIViewContentModeRedraw; + self.autoresizingMask = UIViewAutoresizingFlexibleWidth; + self.backgroundColor = DarkNightColor; + + } + + return self; +} + +@end + +#pragma mark - + +// +// UIXToolbarShadow class implementation +// + +@implementation UIXToolbarShadow + +#pragma mark UIXToolbarShadow class methods + ++ (Class)layerClass +{ + return [CAGradientLayer class]; +} + +#pragma mark UIXToolbarShadow instance methods + +- (id)initWithFrame:(CGRect)frame +{ + if ((self = [super initWithFrame:frame])) + { + self.autoresizesSubviews = NO; + self.userInteractionEnabled = NO; + self.contentMode = UIViewContentModeRedraw; + self.autoresizingMask = UIViewAutoresizingFlexibleWidth; + self.backgroundColor = [UIColor blackColor]; + +/* CAGradientLayer *layer = (CAGradientLayer *)self.layer; + UIColor *blackColor = [UIColor colorWithWhite:0.24f alpha:1.0f]; + UIColor *clearColor = [UIColor colorWithWhite:0.24f alpha:0.0f]; + layer.colors = [NSArray arrayWithObjects:(id)blackColor.CGColor, (id)clearColor.CGColor, nil]; + + */ + } + + return self; +} + +@end diff --git a/Night Reader/Night Reader/Night Reader/en.lproj/InfoPlist.strings b/Night Reader/Night Reader/Night Reader/en.lproj/InfoPlist.strings new file mode 100644 index 0000000..477b28f --- /dev/null +++ b/Night Reader/Night Reader/Night Reader/en.lproj/InfoPlist.strings @@ -0,0 +1,2 @@ +/* Localized versions of Info.plist keys */ + diff --git a/Night Reader/Night Reader/Night Reader/en.lproj/MTViewController_iPhone.xib b/Night Reader/Night Reader/Night Reader/en.lproj/MTViewController_iPhone.xib new file mode 100644 index 0000000..2912fa3 --- /dev/null +++ b/Night Reader/Night Reader/Night Reader/en.lproj/MTViewController_iPhone.xib @@ -0,0 +1,262 @@ + + + + 1552 + 12E55 + 3084 + 1187.39 + 626.00 + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + 2083 + + + IBNSLayoutConstraint + IBProxyObject + IBUIButton + IBUIView + + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + PluginDependencyRecalculationVersion + + + + + IBFilesOwner + IBCocoaTouchFramework + + + IBFirstResponder + IBCocoaTouchFramework + + + + 274 + + + + 292 + {{124, 252}, {73, 44}} + + + _NS:9 + NO + IBCocoaTouchFramework + 0 + 0 + 1 + Button + + 3 + MQA + + + 1 + MC4xOTYwNzg0MzQ2IDAuMzA5ODAzOTMyOSAwLjUyMTU2ODY1NgA + + + 3 + MC41AA + + + 2 + 15 + + + Helvetica-Bold + 15 + 16 + + + + {{0, 20}, {320, 548}} + + + + 3 + MC43NQA + + 2 + + + NO + + + IBUIScreenMetrics + + YES + + + + + + {320, 568} + {568, 320} + + + IBCocoaTouchFramework + Retina 4 Full Screen + 2 + + IBCocoaTouchFramework + + + + + + + view + + + + 7 + + + + didclickPDF: + + + 7 + + 11 + + + + + + 0 + + + + + + -1 + + + File's Owner + + + -2 + + + + + 6 + + + + + 3 + 0 + + 3 + 1 + + 252 + + 1000 + + 3 + 9 + 3 + + + + 9 + 0 + + 9 + 1 + + 0.0 + + 1000 + + 5 + 22 + 2 + + + + + + + 8 + + + + + 9 + + + + + 10 + + + + + + + MTViewController + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + UIResponder + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + + + + 11 + + + + + MTViewController + UIViewController + + didclickPDF: + id + + + didclickPDF: + + didclickPDF: + id + + + + IBProjectSource + ./Classes/MTViewController.h + + + + NSLayoutConstraint + NSObject + + IBProjectSource + ./Classes/NSLayoutConstraint.h + + + + + 0 + IBCocoaTouchFramework + YES + 3 + YES + 2083 + + diff --git a/Night Reader/Night Reader/Night Reader/main.m b/Night Reader/Night Reader/Night Reader/main.m new file mode 100644 index 0000000..a6763e3 --- /dev/null +++ b/Night Reader/Night Reader/Night Reader/main.m @@ -0,0 +1,18 @@ +// +// main.m +// Night Reader +// +// Created by Norbert Schmidt on 11-08-13. +// Copyright (c) 2013 Norbert Schmidt. All rights reserved. +// + +#import + +#import "AppDelegate.h" + +int main(int argc, char *argv[]) +{ + @autoreleasepool { + return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); + } +} diff --git a/Night Reader/Night Reader/Night Reader/redslider2.png b/Night Reader/Night Reader/Night Reader/redslider2.png new file mode 100644 index 0000000000000000000000000000000000000000..7ceb8b6f4bc107fd1e1c677a24899fe2be1c98fd GIT binary patch literal 2996 zcmV;l3rqBgP)4Tx07!|QmUmQB*%pV-y*Is3k`RiN&}(Q?0!R(LNRcioF$oY#z>okUHbhi# zL{X8Z2r?+(fTKf^u_B6v0a3B*1Q|rsac~qHmPur-8Q;8l@6DUvANPK1pS{oBXYYO1 zx&V;;g9XA&SP6g(p;#2*=f#MPi)Ua50Sxc}18e}`aI>>Q7WhU2nF4&+jBJ?`_!qsp z4j}paD$_rV!2tiCl(|_VF#u4QjOX(B*<2YH$v8b%oF%tU$(Xh@P0lb%&LUZYGFFpw z@+@0?_L*f5IrB1vJQ>S#&f;b8cV}o=_hCs$|GJ-ARc>v%@$zSl&FIdda6Uz_9&dgda5+tXH875p)hK-XG zi{a1DP3Mcn%rFi&jU(bQ*qIqw9N}^RX3zXt6nSkKvLZX!I5{{lZ7prSDAa#l{F{>Z zc9vd*f9@GXANa%eSALld0I;TIwb}ZIZD|z%UF!i*yZwjFU@riQvc7c=eQ_STd|pz- z;w)z?tK8gNO97v2DKF^n`kxMeLtlK)Qoh~qM8wF>;&Ay4 z=AVc79|!(*9u^V&B)*6*lto0#rc5AAmbF{R6Nm+wLWV&2pPKj&!~Ue%xt59A_z}>S zSOTRX8bE#?04OREAPIY9E70$K3&uwS`OS;bnV6mX&w~DaSGY|6$QC4jj$=neGPn{^ z&g`1}S^_j607XCp>OdRl0~5dmw!jg%01w~;0zoK<1aV+7;DQv80Yo4d6o9p$7?gso zU?->sb)XS6gEnv&bb({wG&lz?fy-b7+yPQB4xWH1@CwX85QK%u5EW8~bRa{>9I}O2 zkQ?L!1w#=~9FzzpLqbRb6+r8tQm7oNhU%ea=v(M0bQ-z<4MVq}QD_qS6?z9FFbSr? zTCfpp1+!pJI0%k}7s1K!GB_VDg15kxa07f0?u1Xnm*5dt3O|9T5r7a8I--j(5f;Km zLXmhR2@xTykP@TC$XgT!MMW`COq2`C9~Fh-qL!gnp*EwcQ3p_+ zs6NzH)F^5S^$|@*Yog83&gcMiEIJvTi!Mf2pqtPg=(Fe%^f>wz27{qvj4_TFe@q-E z6|(}f8M7PHjyZ)H#*AU6u~@7+)*S1K4aIV>Vr((C3VRTH5_<(Zj(vk8;&gDfIA2^m zPKYbSRp451CvaDA6Sx_?65bH+j1R^0@XPUK_(psWeh5E~pCKp{j0vuUNJ1)MEuoUo zMmS5jOL##f67`5q#Bid3xQ19sJVZQC93{RbQAlPaHYtH5A#EY;C!HeQBE2A!$wp)k zay(f~-a>9BpCR8TzfqtnSSkc4@Dx@n)F^Z+Tv2$Yh*vaJ^i*7|n6Fr&ctmkX@u?DC z$w-N<#8FzMRHJlM>4ws@GF90|IaE1Ad9!kh@&)Bb6fDJv;zQw4iYWUiXDDM-gsM+v zQ@PZ2)JE!A>NpKUGo}U5QfZ~MZ)k(GDHV!}ol3Myo=T0%aTO^Yp&QWy=;`z_`eFKY z`a4xERZmsE>L%4T)hnv6)#j*qsPWZG)Y{cX)ZVEx)P2;`)VHa3so&E;X_#q*YvgL| z(KxH|bPjEf%N*{Uk~xRx+}4CO%`_u4S7`3j9MGKB($@0R%F?RRI-~Veo38DlovOV< z`-JwS4pqlZN1(Gq=cLYKh6=-zkLZ@rEqJ6vJJH{f4iNjE!Q9HW+moJu+4^4lvF)ZZ*DZ zLN;+XS!U8;a?KQD$}&we-EDf=3^ubjOEIf48#0H@9n1yhyUm9!&=yV>LW>5A8%z?@ zlbOS8WsX|XErTr!ExRnASs7TxTWz!IxB6&pZ=G)4Xnn_qViRanXwzf!tF4(W*S5y? z+FbHn-?^*jcF%ooXKu&0+hcdro@yUrzrnuO{)2;~gUF%HVbamSG10Ns@dk^=3S(_% zop(Yzc{#0iI_C7&*}+-teAxLH7p6;^ON+~+dB*ej^BU)kx$3!cTZVb0Xx4mvs zcU^amdxQG}4}A}wN0Y~dr>SSE=RwbBUe;bBuMV%*Y-jdL_9<_~+t0hid(emC6XjFw zbKh6bH`%w{0a^jvfaZXyK*zw9fqg-wpantIK@Wn>fV8I2F~=-fTgudr?_nHF76Ya z2X6;&lJCkd=T9WLCY2{WN_I`&o;;c2o>GzWRKONg3!bO?r`DyuP76)jpY|y|CcQla zmywupR7eq~3Hvg&GxIWsv&^%Kv!u(Mm+f3OB?=NXWkcDEvb)7J+0WE~#6+@QGMeL- zQhTd=lZbfxFY`c=@XrK@^Z>#r_a zJ-)_o&4IOqwP|aAD6}ptFMPQ!W?fH_R?(WGvGsoITZV0)e^+=6ZO?$0o?WWq-yLr2> z?D5#sR;N{0TK8_RVDHU(zxvJwqlSuon0-0>9yUfd_J7U#y17ZCskG_Ce&K%UfrtZr z&5q5@Et)N5t#GTPb@E`s!OP!xf79K@Y^!glx0fCQha`s{f1CL2^}|7jdylY=w0&pz zU2O-oqofn+T;4g=mC_~cj_V#i8hEs~$EBy^d&}?lAJaWnb6n+k*$Kjlq7$D^=AWEC zm38Xr>EzR6y-RxUoQXYituMT9@NCf8^XGieo$2@NKY8Bu{ILtp7mi+JUF^E#aH(^^ zexTzA`yV<69R@px9EZ9uJ6-M>o;Q5riu;w*SG}*EyB2Wm(#ZUg;pqt>?FMZqM9Va~FNLGD$lbNT*KP&%S`^@CocfWZ2GB6c8HU3=m{L`|I+Sd?{wJo{Z|>UW?q-PQGavbE$eOnyO?(qGr8}v?<+r;e(3oa^zrVej8C6_ z1NVgU`|NE2YXATM32;bRa{vGf6951U69E94oEQKA0VzpDK~y-6z0|);0&y6}@z3Xb zcd5(Koj(S_Mi(8$%_)d*uuaIZKOy>Of?8UH8Z3wk`V&M5YH-MwQ#j>N`o%Te_nwxF z+V$S!v%DU7;Gu{B04_?Uj2(tMLN-ZO1;}8Pk#ofHC?}<+2d-Ur%P`GDl6zq` q>#hUN1i^?Rmvg0#_ove-0DJ@F6L1LnJjH1M0000X+uL$Nkc;* zP;zf(X>4Tx07wm;mUmQB*%pV-y*Itk5+Wca^cs2zAksTX6$DXM^`x7XQc?|s+0 z08spb1j2M!0f022SQPH-!CVp(%f$Br7!UytSOLJ{W@ZFO_(THK{JlMynW#v{v-a*T zfMmPdEWc1DbJqWVks>!kBnAKqMb$PuekK>?0+ds;#ThdH1j_W4DKdsJG8Ul;qO2n0 z#IJ1jr{*iW$(WZWsE0n`c;fQ!l&-AnmjxZO1uWyz`0VP>&nP`#itsL#`S=Q!g`M=rU9)45( zJ;-|dRq-b5&z?byo>|{)?5r=n76A4nTALlSzLiw~v~31J<>9PP?;rs31pu_(obw)r zY+jPY;tVGXi|p)da{-@gE-UCa`=5eu%D;v=_nFJ?`&K)q7e9d`Nfk3?MdhZarb|T3 z%nS~f&t(1g5dY)AIcd$w!z`Siz!&j_=v7hZlnI21XuE|xfmo0(WD10T)!}~_HYW!e zew}L+XmwuzeT6wtxJd`dZ#@7*BLgIEKY9Xv>st^p3dp{^Xswa2bB{85{^$B13tWnB z;Y>jyQ|9&zk7RNsqAVGs--K+z0uqo1bf5|}fi5rtEMN^BfHQCd-XH*kfJhJnmIE$G z0%<@5vOzxB0181d*a3EfYH$G5fqKvcPJ%XY23!PJzzuK<41h;K3WmW;Fah3yX$XSw z5EY_9s*o0>51B&N5F1(uc|$=^I1~fLLy3?Ol0f;;Ca4%HgQ}rJP(Ab`bQ-z{U4#0d z2hboi2K@njgb|nm(_szR0JebHusa+GN5aeCM0gdP2N%HG;Yzp`J`T6S7vUT504#-H z!jlL<$Or?`Mpy_N@kBz9SR?@vA#0H$qyni$nvf2p8@Y{0k#Xb$28W?xm>3qu8RLgp zjNxKdVb)?wFx8l2m{v>|<~C*!GlBVnrDD~wrdTJeKXwT=5u1%I#8zOBU|X=4u>;s) z>^mF|$G{ol9B_WP7+f-LHLe7=57&&lfa}8z;U@8Tyei%l?}87(bMRt(A-)QK9Dg3) zj~~XrCy)tR1Z#p1A(kK{Y$Q|=8VKhI{e%(1G*N-5Pjn)N5P8I0VkxnX*g?EW941ba z6iJ387g8iCnY4jaNopcpCOsy-A(P2EWJhusSwLP-t|XrzUnLKcKTwn?CKOLf97RIe zPB}`sKzTrUL#0v;sBY9)s+hW+T2H-1eM)^VN0T#`^Oxhvt&^*fYnAJldnHel*Ozyf zUoM{~Um<@={-*r60#U(0!Bc^wuvVc);k3d%g-J!4qLpHZVwz%!VuRu}#Ze`^l7W)9 z5>Kf>>9Eozr6C$Z)1`URxU@~QI@)F0FdauXr2Es8>BaOP=)Lp_WhG@>R;lZ?BJkMlIuMhw8ApiF&yDYW2hFJ?fJhni{?u z85&g@mo&yT8JcdI$(rSw=QPK(Xj%)k1X|@<=e1rim6`6$RAwc!i#egKuI;BS(LSWz zt39n_sIypSqfWEV6J3%nTQ@-4i zi$R;gsG*9XzhRzXqv2yCs*$VFDx+GXJH|L;wsDH_KI2;^u!)^Xl1YupO;gy^-c(?^ z&$Q1BYvyPsG^;hc$D**@Sy`+`)}T4VJji^bd7Jqw3q6Zii=7tT7GEswEK@D(EFW1Z zSp`^awCb?>!`j4}Yh7b~$A)U-W3$et-R8BesV(1jzwLcHnq9En7Q0Tn&-M=XBKs!$ zF$X<|c!#|X_tWYh)GZit z(Q)Cp9CDE^WG;+fcyOWARoj*0TI>4EP1lX*cEoMO-Pk?Z{kZ!p4@(b`M~lalr<3Oz z&kJ6Nm#vN_+kA5{dW4@^Vjg_`q%qU1ULk& z3Fr!>1V#i_2R;ij2@(Z$1jE4r!MlPVFVbHmT+|iPIq0wy5aS{>yK?9ZAjVh%SOwMWgFjair&;wpi!{CU}&@N=Eg#~ zLQ&zpEzVmGY{hI9Z0+4-0xS$$Xe-OToc?Y*V;rTcf_ zb_jRe-RZjXSeas3UfIyD;9afd%<`i0x4T#DzE)vdabOQ=k7SRuGN`h>O0Q~1)u-yD z>VX=Mn&!Rgd$;YK+Q-}1zu#?t(*cbG#Ronf6db&N$oEidtwC+YVcg-Y!_VuY>bk#Y ze_ww@?MU&F&qswvrN_dLb=5o6*Egs)ls3YRlE$&)amR1{;Ppd$6RYV^Go!iq1UMl% z@#4q$AMc(FJlT1QeX8jv{h#)>&{~RGq1N2iiMFIRX?sk2-|2wUogK~{EkB$8eDsX= znVPf8XG_nK&J~=SIiGia@9y}|z3FhX{g&gcj=lwb=lWgyFW&aLedUh- zof`v-2Kw$UzI*>(+&$@i-u=-BsSjR1%z8NeX#HdC`Hh-Z(6xI-`hmHDqv!v)W&&nrf>M(RhcN6(D;jNN*%^u_SYjF;2ng}*8Ow)d6M ztDk;%`@Lsk$;9w$(d(H%O5UixIr`T2ZRcd@XKZE|v%KtCvzGDL9(#<9#|+>Z@WKI`C=rZ} z2m`WYBW!_!B_SbDR;%NC@22^`|F5s=tG#!fv(LTvy?(Fz)_eO@)t~FHzrwD)&$(+? zTyet{TSvB@nGVyT2M#@O=z&8I9D3l;0}l%i9N9YZ`*v;KmNqv2L)zVaSTy>uk%t~Q z^uVD94n1(_frpC+cBj_%wY6kx{~bqCTHEo(e~Reg;-SNK9(v%=1BV_s^uVD99*Q35 zuI+0(wgEUy2jzj?wS$th2RYqN-h-_3jm37WOlwjm>@Yv{z}fOZbNBR69%FMIc$UZC z+TlU;+@6?ChdHx}W8pm90Eja#=;B!(m>0Bf4vjzbz#cuI8_vVEX^&1kWIJy?aJT_D zZ@XqS!*rrrjr07c?(JUBf6EUoyx=_`8|!)wb-}l4&kZ;ni+gt6dCB;Y*Z}m7jc_D? zP{;Cf0)H(npCTT-g}Q(L()zE{hTZiNz&lp#ODkmiDzyHtHmQ%5=E3vpzM6T+e7<`C z$No9kcV~=mZO++>$&K9|RWqZ!e6+?qS;tvV=-Fx$_3hHx2GH?M{4gKdqdY_0katmC z=R_?Z)OxZ=_u0VF7wRAAc}Q#kdY#gP@5RA%;3D2RG>iDpF0LKiI)$vasHJ8spH7yF zSW3|I<*M+diVg`5J+Qz7zW(R&vEndUAa#GJ)#tVI#q#Ct?v3x|oI$Z){wY1H`+G{t z`3ZYSZvYO`<#PgS&M-R{i|2H^%{qx>xuH)xjZwNa5J__yC*=DrcKz*k-~;z#)u;eR zy=l&V4Y>gMt5?GKhr2)a(}nQm(4TYV4ez$*@-3t5jL-#a_4KYsWUq-?J0JW=X?!h@ zUwU>AeXR4w5Z9Bj3@+1V($j!td=~=#yxah&!_S2iHE8yuPlwN1=Z)drwRInA`_V(* zsQ~u@)EhW5y83}!CyRsf3++9KJbWCV(wvyOvd_GH@!PYal zN53y+vzQwqn71!e8fh0&B{r9sAbVXz&xC)14vWIBJ@0Y98G`;>^Orz^(jTj2#O{vW znc;HERudN(#QB)^E;M#LZxS=qy}UlNamxigq$$q%24K}4_5QqHg8&oNuFp!X zLb-dK09(`BOS4Y93x`W2I|pcC(|WI)(y6sHjb>NjdfeBb4=`P@22gY?XT(T%ijImZ6_`VreKtXWP$kh4Rv&OiLn_5-(SpA7ja zzbgl~@!73rDaqU1en6E(AwRdrvdr4jFRHD$k?-2QNXG;&TRef82Wn$+IgieREj2B% zxJ5iNVZ+Muia8`MP_qH+X3Gq46z%p2K6dVsQ1T`k2n( z?=wtdbf9Q?lK5-^%?+y!rU;O;WzNCKo$jA?olqBzx@^QEzu3L)!I-)qDcT;DW2SL& zLmS*yEUb8|(`J-4TcFQuZKfT&j@tr`#q6S!C(|`oJR)87h^x}clNY6ntbE;dk4;x! zdNN&c<(27*%dbdBZNWZz{J7ySP8S_JYK!%HTHi3~YKN)724Ke)@6FBabl<)Arp+^F zOy5?z`|i8bU7!10`poC~8vz{E3S%O*cLEG3lyn zu1Sx->8AAL8*fZk+TwogBd3<|hmEIW``EI}Y}(rJZftB$)iur%&7F;B)DdpZKJ05bjQY{Kp?o?|sh)(q}&N zr|JD4`FOhPuFs}*qdT*`ZX1we$^J-LTC)=joMzZo!TZQvflZF}SLo&@fL2Z9L&Hfz zn^|Y>N^)f?E`ZY5JD0a_v~ePz8ut@q1%#&cnx|W9_J3hKiv?}Nxzu|Wn{-}_Uc2P# z$G*(Y=lEJquq(Rq{SAx+ewrQ$4a;7=Q&^bOkNPX1;Jywqi9Jp8x zV!G%ai-N8<*;WO$WWJngCwf)qRBh+Z!F0LXP)+SkgCILVg|2nZM=YXB2@7$ufgGPZ zIAXU2^|*D>@#81cEjL`3u6_LV=~+*Ca=QNd>(iqi{pj?ltFK8X>`s1-i?}i4kv{u~ zciZUQv=+zr(5e1LeU(Jn&f|||%ztnpRG^6W177H{MOkenI!9R2Av^}%iPA5*BNKbsiW7929eoA`Q)1RJh zx$&0tn8!ROow(?j(ON&*DvuL%9MA6{cCwElGm7k`+NZukX9xD;N+-)XG<7L7>8>jD zg-KxpWCFTw?c6|H?NI|Do10td<91T;z7M`Xz5CsNl-~7U-<3Z2Cm&6p{oGyYjGYJ^ zIeOe58DO;xi62OS-iAdg%A#$U6=d2_W1i)|p=}3RkA^Xh?XcXW z!>)Kby@QwRPCa0twe+}aACaD7clR%R;S19fZ+TL>@%roh?jGh~q2IFS>F@y#%Z=SP z4UmS!XWg;R7~VGm>Pe`mbuEX4`JWoAy|Tubw;c<(8^;q4^uN8Hg;N511b{~!r?{uRmdf+EHXKC^UAck_9|dsEFJ#rUxHWPD4ihGEKHR6l3C` zPXIKaR=22f$WS!k-jA%BU_d0vM4&;`bF$J@>sBwRUk*y9TcLtGX34m0DDZp!J`tE- z){DdKdlG!EZ0P+QxBFPiqu0w5h5*gQsWHwgnc2(5KC4+N2c4J`K)yNOJ0(m^u$}zwU4;m@07Rg z4j6CRGet~cp(7-^w!RDrjqQeK7>C;LifhJD72lM4^vXL`9>LrJCK?mDYrur=RakF# z{2TU7g!o3m=N`B>z4v|ZOaJ*D?@Yh_Tfddw`+*Oq(`Qbnjf+lNh-_f{;ERE{q_KHa z(b$+3ORzAkgpqX)QH>ctQdR+oY_=9q^<||p_;OK7-jth#7rv$0W-7%h4VX2S8eyek zobEHWmw6%BQ$b?_HnH6pso~a>lDz?;6>V;dVNCtq8uB5{cZv%pT1yyUpYGX zp}qlV9EAAnM7270U!5)To5hnO&P_O&f#Pk`=xrLiywcbwCSjsIs5HmCX@8pyItkC3 zoa=z?+ple#L*JKlP?)&e-%VTgmi(^W%|8AySEuJc?*+E#-=3cFw5O!2F24k~`1Ty! z?osnTD89EJ7SMkYdhOjVa1~$6;A|#4tCJ2mEu+3l8p@sGB@H${OoXA%GV&;+-)tJq z;|OiVn8izs>-Lqxd+p`NKYY)7)9=0g9qDavds}+Xhdydwb+nU#;}`qy6Zm5g8H3c> z=Bvhr(0hF5c=Djnn^d1zY8zX9wZ?W;$hf3))EGM-qMHp}Q6XPiG*93`8711(7nqA^ zlfs33Peqm0ougy}uqP#%>2L!u(|gz_F||{3g%iIp7xEfD#sRo2&>93aj&bBz1t?8d zXC;?#9o#+3CKvp0&d%oPv}<>*m)ckJ zp8K5J(w(n(MSAva&q~)`eWkZ@b92+%%j0nD0B|IZaPo~q_9t@fZpAI4_+823gbSSAesw8?4M63 z064PSYwC950)Y$ybfWJx;gFeWFZ!lMV-Vzl;CH->ZE)%i2?Kmu&lqY`X94Q*->z(c z3V{_c$xbF0(=lq2VShmN{TxZ%L1QLY56qD?gT`bwn@(kcGV?9^Y3tOPbZqBzy6O7I zraSJqBfaD$FH1MtTl`1uM{>69d-Q(Cnimexvu~M0EaA)vL(Vj$pMo!f5yxER5r&*& zNntDxaavzgrY_L}8(xBhZ^*L&Ze94USHi}K!YCp6<*Rxp17HxFGA(=`{Qq=WbAcQ9lz zD9%gGw-h>a%M3|s1ITIL3|4>irv1y9Tg0pSR?#(-x!;q4{pfaE9!eVkn+<10pmrWR z#Df~sHe@VFir1i7z_J`QQxJ9gpj&L_a-Er?r<%G(g5;O>T3nroTlm?jt!j5;olJh1 zv8>nkZDbQu6Ebo4fXx%~9Xsa7*Y=)nclmGp!p~1H`n(sUOD;ZP6RExIXD_+gdA8XD zixH1uIr@VajAj35&a&dQto#Z`nMq|3Hq3iNMBS=9jc+nSVJuJOLm2E+7|OgLI&6sk z#P0^ck62cY9z9}TGu%q=eAj|NVyjV(Y zLFxBB8MmTWtW{g}tDHR{YPZttr41Zgu%NfeP#xX!UX)J>^KPeAQv@vxr&6oVCyfL- zC1~I?Di56vK#srpZm-_4sj*bFT!6zuC2uf#cZ!L&B$=5aHUg&;KST~E$ihD{5%dD4 z@UQ^Fp}nSF`91Elxe5oL+DMTuFWc0%)9AAt&@{4~DNArfCX_pUvVy9&7vI%q^2H!4 z6vYZ0lvM#xL%$5j7gdL%NGn|x4uB3L))Nh#{P4;h%^1ogoU#|?;ALMFi6#K@Bc|;u zZTH=qExyb4OF*cDSF=v^0M|SX} zRhn^|XS8}?Bjx4Qw^UgO9aR%FXdkdVl@DQ%Nf^th6NY>Tk5~|7u!6 zmc`m`-sxjFt9^6qP=6@B%Ax#`!OAc~P6K-SNF5u1ItF?-Gt;p^DUmPJ)l#=LEdHx* z093*rTodcUg|-2}Gt^~CJ7OWNM4fH`w6ld|p{Pk@hZ*3q7Uqc@{L5Q5)U8f-)RPTzY^y8Psk z^!cxRMS9~K-k5HA!VR`|*dNI8V}96%1>Z81Z1g%Gc;yOQ5D~r%Mm$`qeg+%~a+omX z)NP~nPeql@Bxsd~yu*Cfn3D~F(nG%1A)EC%IcP{nUczb~jSD*Sj`83Jlkj6gfBK0} zr(gKxUrzu2=YB4I_@kdl$1c9id;$8Yz^n@)bTO%Z!jSjiO5E0ed#jMRhC9aQ<>oaeaWuKhLBzW ziC!;quCeu^^^*{)QBz>IQxUcOy(Z`Y?0r)pmbt84#JhAE%+)+2l6DJAB^i_&p9xOI z>oVWAM>L3D5#vRAL#P}0kbbHTUR*fF+_E3-Icb0O?$s~5J$?CCyeU2L<{Rv*eHID$ zqc`{qc&2dIVi0Ysm&IR>al#PK{<{F#cKTwJJD*w~Wo@#S!~W>KHm1;sDyNnJ)>=py zem3JzkP7D=4tFCAw^-GrzQbd}0%<5AKRuZHBg6^dW z&2PxUZs!xY%57u{O|`<>C2*z3IGI8AV+(R~kYNfG5o6`)~p^{v0ol%H-CUk8p zoD+p?Dq=*;vwnygqR>WbW$Y;L_6a!Yj!t{3@F;P7pr+*^-Bi6}-V|wtdHnD3r-0kZ zw#w|4)X5f_J+f(d=dQmyxO&DR@X@n_1W>a97~m(XQ-X|8!R&wVFAS8dKzRX*pM}YB zRP63FBFk7M8|ovk22+;?!Lw2VedU?sk2&Id8xiGgV^1*$Q^w-3ZC~YE-#(RYzx{>j ztKayBblcOPVZV`Lzs_fO{YYrt2du4E+Snk#XXZ?DF-n= zOHw?6Q!wK8noo^U%!fGjDDz?ftX@Y9%CM)v^65dTn?Wr5UEF||IOe2@2|nZo4&{)A zQ^55jN7F|>@{#nDKmD)mRNz0PySMOn7V!1Kh$2|11t({zLG2{iBu8BBCzTw!WRi`+9QMwZ&MMX8O8AiptfOMC%+jwy5q+KY=$wJ z1dBheRniRe#^Nxs?DY|V`erP73~57p`369p+0&)L(P->3V4mb=!a9X64lpO&MpD1h z(P4kYERqSYzruzI4_Y!xCM&{_4@D|Zr87B0!irp}q+(Q81E-Td* zG%9l_r&lL0@ETWi{g6*-hPZvztxwl%vfjSup7fL_UZ4KbSN?_ca{I-;qZVWSD}BJ* zX+TZ*4!=EV&l>>V;j=x%oOA(4N7NW4Enu+;Xk!fcO4H(C4{^+^jpNcBnmPSQ8s^ZX zWvwe5<(Lq$IMNT~1&rl32QB3w=OzH{@rmCVBPN{=a%{tfuMqCq-y`^MfAqfeqd)$W z={JA-w`>=1k^K>(qdsTAf??9=rp_VFqI&f)Y@UwTIdU5sYo`pkqFxsZrB`?%Ua7zl zXdY_5;#Y;t(N}#DCpzSIzvn3gzg(J&R+#D$axKn>8vv!2Z-~y)p?0gB2+#(yu<{Vy z0F>^s#%sCyf(wsLT|JUApet7{k=d#?gnXa^({##6Edh8QhzSz`%;^-|mQ*gu15-XV zsBLyH@D90(w3aHBmLW##4044PRbHT}PC;_R5Dub7pNR4{NZkcGwE}Ayb4xE_UPS^) zC9|-u702^q)jtNLVx*a(3zBO;)M$V`;2@XLut;MDx!Mdn*KKn4MIS#kd+Pplg}pfT z)qn9#>2-hZ3(^&rU79vepE4yT*Nlw$*UoV~wh&){)jNJ&;2EcylP^pPf#^T9$8kWI zJouY@G+%kAaG;}p@|^7)G1iO~Q>b;8Nk_XK4qp7r!37-4RxpeU!-vBuBfyJc_~wAq z*@=yBHLQxSWgfK!f6H*c{-1s${m4K6ztel|{eTmf+HVLL69kHO0K*s4qU+3F@MXD5(<_6YsmLIplPgb$qzmqjQRC?00LMkWtV4NxL?&B zSqVUX(_#MHMjy)fK%Y+~F||dj;eu&p3IcsNtwM-u5hH&*XI1=EsbkWZ6zzU!ZUC&U z5%=RpHxLr#4FG0u>!4=okX5y}0qAyiqf07qJXH(0`R#j!&ny>HAzOlaPC)e9pc{ZW zgAS%rmJhUSyPK5D!z`xeA#}g>+KaRY5;2@gn&TKF1{vA{Uu@gg`W|!D73mwl{%g}K z@4Pb|wFSffHoct)gq~=ZTM#=F_oJBRbkKrUt~MWt-OOU--&x8goQj$M8iE z<(WBzrp5JERqUi!NNSI=!LN;dx#A-fW5had?gl{L2Wa#)3aa+r*iv$D<&prpU^f7m zu$sxX`lcyqSL+`*QKH7-Wt9U(<@OyNdVG{7fg>uLTFWG@M{Og*4Cr-mW1cYMxUi;q zHdT6SX@{k2hcGLvtPMudvnl%(N`-muQ9W5|?}Ragi)mi0bV?BsL|WaJsV{o%m(VZ~ zRc_S9zK?zHj=vuS(Zmd#!z!e=|D9PB|b2w&3qbAdhnR zmv!cl-Xgk5K+uFN9;-vvk)vzr)TyoXV?X^f>8F0` zU)oE88+ICS%)aGeKi}*ph~|4&9r~k^%hrF0xS9wzo(gPAm7=9lxH7ozjEo-z3M|@F z5`)VD0xtxu4+Xri*ys>SUGxOJpjd6f_%myqcCMVB9gRZsf&Ub=`lTTlR;o>kS!*^c z(u>*HW#fo(7Lg(Rsw9_z#R=E4G}liyIh?%{00ep)?9*n?narCGRR$61;7R{Y0);b* zm}vby0Go*8ci2ZH4WQStjd?QA*7kF}Z%ybezVli~)9V7lRuj|aDzyfF&xV$FKQ-9L zO-UX2A(3#4SuszFt1C8U9W1q_CJKT9u)Fv*`)c3SmtK;-^{@VA`+DC?(}s2OncXd0 z?6JTasrPgEHZ}nDML!r-j{i+47kcoN7%DFc0%i=rd4^BQkDNTc+!=%iO;B0HPv!bf zfQ~upn&Kg>M;{Yh<5{wljY056+f_~>w1UbZjpi(K?0VhRhVC_crjHWon70eQZVs?1 zK;2Gw$|P@hj5hz`2b1tv;2nSP-_t+*NB=ne*Y|(W{sgi8c7VM=$mBkQLJzR8A@@Wk z3E8ASs2o2y%@k`}#87Nv7*C{Fl&@}I)ogNQVbw9VNaGX^k8@)n!j)ETluU8dKAy&A zsEx6M*#LC3zvcOT0Yv=G!+-iAA8=*Z5LQRrs`=e*cW?@up!?$gqDfBQG5 z8z1**d&v*K*Kao3Th8z?FD~+s57@9yI^;fXv$!&G$=Fm z@Cqj_a)r+s1InxAxpJt3Ib`(8JsjwHDGlWir|$+Roo)aK=V<_C_%}KX>2=!-Y}pKp z#pu}j@pRt<52Sza!~Zn>%rE^)+OZ!MvhNXkzxu8V0#WdI@=66;Z1H3vFbDHlM^C#^ z78Bg|h{8oWG2rT;qc0Y5C{F2TFGwnYWiV3!He%HzQjBudJwg&-1MeU<0LvZ?=vbiY zagJE1%^c$^%I)N%fTpAB@KC8vrZP zdI#qT8|7YVWy%m#UKQFA)XD*oG*EaL;EpXiVlfi3i6S_%Oe?9rhPaZHu?Kv=36;S$ zWJ27jPw8mDov%JkC!vXcOL^L$bIL}*03LlKwQk=xVWv~4f?U7Sv( zul@2rpWgK6zbu_NhQHE>XTf;ZZ{qD^codSNUxe^x&1dds-u%$an_VR9Rsm8J1gLnUvL8cAab*nFxm$b;69%(8{HC=AMiC`MCe_gK1%Ix72F;K*6 z{HYuvY33G%H)Yi;_JohZPuw3gd{$wf5#HEja^0@#Y9~|Q_vBJur6x>%pYD2y3q$jO-$1LbUk3kWChhSA$@Z2ErzEOwwjxBU2_e8OMv* zCvk2@#}3t}<(}a!O;y+Rn;@iE87E8CSarb^X|%1<4>ttl>DpacgLGJT==7pb*~o`& z!-RlEeCvVx)1$7uJbnMSen)!gi(Z&c+mHNg;~jvB#eeEfAF>sWdbFi(8URBAob6;; z>!i^fWu_hv@#7pDhJX&;rghp7l*IW^FxLW%{swTC7wpem?v-6|Y~b$+2~ zL)DeLEz2>YhAzO2i-pRnNGB^EaCs9#7YQ54T0}a+f!EYA*7hT6Bzp;9?UJh>`!YL| z{Et2`I>h}ztPI!y)J;Hz4@=rHbL1+&PCp8d5#2&YHF&j+oQA|t0IU<#CbhL8)=GJS z%YgfM)~|XYzNfo^Gg6$H6*aCer|-*_e_2hxDFE7GJIJq-vbI6Xq#fpZ_oKsdy2UU; z7N_PkU?@529vU|BpSk<4^z!FCBYpRGeP?>yBjZIs+_{I1v3PQE2MlE-l&9*!7kHd4 zuueYkvP>D2ha8DK%mZ3=Dh+YH+`~WL+V~&;Q3qmS%qeU_9R$^v_KO~ae!M>KA@9H%i8D4tNlQ}{pM&* z?kX3hcf+;gR10jbb~l(A?J=h*%WCE9Q)hy%8KTs$2tTb)DxYQFwBn&JC*=#!{hmcF zvg>S|0GyKzfHyEtlG?!DVj;e1i^AZY*kZk=gJy^p_8}@Jaf6m!;DDm?f}&1}1G1&n zD#vvBj6BW4(DI2xo{djaS6SdAZ;uvmeKB#)D+)bZ<;&A|eDhyTC+z26x3=v$zisZYtqooHYF{kk zkh$y%rutRDkP&Ud0!zCnNAbiF#yWGtV@1h6%NaCqQ>OHV2L($*oQ}(&;Aa->JT>ks zJv3Gtav|4oqQ|yMQ{`Y%#zw*@ZBmECBGn6RJdn?6I|~kJxR67y(wDOFqo4gBbkDdb z(_a>J!PqL9p&Lij&%Wg?=^y>@kEG9RZ`cnCSzjCejBQHsHN{mD?ROqwUDw4)Za^CP z8H!*|^=h<#8Jj*TP<_LAqMV%_`#t5HdNhq3X(#y>=DHa$!ez1`p8dQ?u6C8m?D6Oe zm_3?BaMcI8MLN-Ex_Rx%9m;IzFn8KZfCu&npb9^ngqG$u-_NfP%3w#R}ndh2D+l)ScuoEoc*x0Wv=jH?e z0}Mvz!9=4c#xzmWxiFwO)fL)VLm|RGM7eDq;2qa0@0z_Rw%63i$$puVRof9(4Qbq? z6a4VWlwXGYyPZ>os&~jST_0@#rpabN(V@JhsXYaAyF1-krRiU z7vaMNjc}eRhg6fBi%Fv^$B0KG>}H zqfV{^2iOqns@cZj;!e2cE;}JTD!;|3E&Y5>}H4c9GBsY2~=UnRMPLFD~<9hpVBBi?(C;^kPc?|Oz+99 zkB9ngpnT8ubfZCZDn9V5-D=0woB&FXt&TsbWr`O#l}}pa=kf#~^i6DJ)gUYP+TdiE z2j+eauo-(pB_;??!2qAy;r0S?Ag255xQBpE?DqZYfc^e!Usx0+FlxK8aI7}@RbK0e zJn4?wEV{7p^yrjt`Sx?Wr?;pW&d)FXY^ z=e~lB0Uu=)8fgr1&YR(crSj|@c7!hAV$|ghnvfN7Z3y=mP?|Y95pnC;RyVuDq>l+YB<91j{Ad92ft!fzU(Dd1EW_y%`=Mvw!o@Q)ssH3% z&sO9DK?_ig4An!#MrNMEk!GQM1e$FCHjbUV>;?;puOZW9o_#lks}mN8#)K6=#VxQg zYeseuGP#PB#YG=o*-n(b9xSkvcTh!0QH}5^m4aSa5b~Z60M~2Ef6zf1wYRUkZI{wf z4)SgSj+ZT@1j7ym;TNV z{y=)#EjOkI@aKFp9qqwS`Le8=0d5MI$AVlJWu*oGunx1_o}810x`;1zlY!(eEBz6R z9$JJ%TFR=nq3vdyZC-I1rPHtS0h#+t;BRH9y^d{s-}*;&(-xZKb=eRVTF8S|kqcbq z4|}vuS|f5X#6eI%99(dPzJN285aW*j68pOWx8MGfbk`^UEWP_ZAH*LLu%5uegua2D zV(XN$B7e04?F${oi+1_dk>luWQ}#iJ($~};4sabyeY)6~!M)rm+0%gZz2Eh1>Dcj0 z(~te^Thm3Cop71n@@#TwG})qhKSk{`jyK4Qmv*yc(cSh!UvqO}*E5!KdwAHvzOu5p zN|IJ62n-+;vROspS9AvbZI$`o$ZdAv7711#~gepPvwm~r$bbrmm>aJKFEMgkQB-B z0w6uGAte*yZgVn)%qi5`di}azNSmVSz;^ZhnAVahj!BB_Pte24m=j2;zOe0$(E{&F zCtl<;G$_?s@C_Gcl%0Mscc4EAXAUvgKt(dCSw8Bdr(D!g#>o+Kcpb;(yBqikVYABy z#&>?x*Qa%RA@E24_0Oe?EHvqG^ zA0k9G?6pCFs;d=O%j_ILd=jdtQc{`%92Ash+Mckci(`;Lt^}s4Q5_0jwcN;Yz12^( z)Jko5TGY~-KfBLV`bSQdF=F3f-^5Pa_7km}_k1e7`uWdEKlr`hpH7@Sl1|&Z07o$a zTY_!8xG=MhTwzX+xDXzt1)lU6u)sNw$Ujfs2cK$b`Ic zThP~}hYXYfLvnuTcbV3g_M+i;{N=B)KPq%0{j;C?Y5R+UC+%-bU~{UQCTH~z$YQGP zG>Dk7>P-se4Rb7bMMqUTB&#%rQTs-O6M!Or54;oN_5oVZzh012`Sv0;0+ znGI*YS4ovW&tF+kg*TENEI1kb4c(FoBus_3+t3=aL{cB!4CD}8h}nWwCx;L~?jp_$ z@%%c&SF&)2wq=L2Hc1=K?*weZMw_^B56h@W zn{y7Cl7b$vz*qVp3f`Dtr*On`;Xr-YW@Lv$ch=SL3LNOh7X$k;du{`TAxfqqMHT`w zu9EB9P<|Ul>#Gp8wL%w^(AL~0yj&OlshcZs(lA@c|U_j+JtNnK});3S2Z~K}z+3CPe`jMahclOi4$Iy8$G&U{E`$Q>f zbhI%LR<7`A{%z#afh&kuN~&?WP(EWuEm|sl2?1p;Av=%JXQKt(4FFw_4Snx8Waz7U zcedPA47f70i6DjhVA7zOVh~;w@wyXJYq!A*z#3H+k_v}De-oUIr=USz!~kB^S+Q39 zcyGWrtn!Wq@E8wNjLD@Qkq!A+cVDrRb4bwV_%^c*C|0O8yj2dZbV**RkWvD<@E7<% zeQkp=WXFP5eXMU4<5$<1bPf?!-V2biW_SKOcI^ME=RG6+_3!&W`%V9KJC5CsJ_g>H z_)CA7>~#a+IK$UP85@S!G(^+d4FhbdZ9#w51&XprgSV55jC>Rtys^*$=gk!T;6*Ba z)W!!&^cz*a6IYvro9N8h+Fq3u^!$Q!MD$cxjMFjNE+l!e4Dm63f=dtuC$-1f;n}#e)BhSBtNFc`~h*&7~(;L@sGb4iR3z*-%bTA z&hY5zo4)oh*bAw<=|}(Hf0IsJaiiy=~Btzr|wWF^EhYL;TYE4BkaHOa)?3=OQ`EQ=aK7(8|iM zWelcudltKU@4e}z&w5(=f$#n9bn@7S{m75KsFm9XdR_E~i@(-gt#9Vyy)}It@JHlX`6u0 z-IIReXMZtmTy{m;FyF=2P%RjjL;n~K`Aj_;GlnDwnyWswV?RpZ;j?4y-mN+t?cBRH z`{&&A2B3!j-i&zgJ9eT4HW@5U3rQ9tN1|IFRNmfhZ6u(w2&yhfE`Qd5ry%1{AI##d zs$HM*%POM-r*d>kG$*6gABt*Edol)1u)C~nJNAFh6K}S~|2xtpCoi?dAJ1CRy!Or= zb-jj*yK%&%o!iBBC=bk3IO~w5DR@AePZF}proqW5Ggp+gmWQi&ks&02m42Xf!0f+w zQj{wPN+Aen-2K_I*rI3GvO$nzSFKr@6%}28p`axRLjUZJEH7r;k3W z8c6Ggfk*5jE_mW`0Ayh!P~|`tbj5wRe_O+XRW}QW0n`}_kg@GA{+U0v&ZKYq#;;GO z?FXp-)vvrQtzCS%i93_!ThaK6(`dG9Z2cOZ!)GN@w@R~uv;az>ikK+T2LtBTUlV*| zP_-|jV@%ONtPzY}_^l=_SLohKE84U-CCj;J#z8i1xmJ4=+DSU;4oTX87-E;y=X`-N zi-4Zyh--=H`DpXDIGSx;WEyFpqt|{tzEWG1-hYHbku1A%Mgf75D?c%AkB)L8kT-*+ zBBaTKHc)Ttmv%xSjftv}rH=`LllW7rw#=d0gn31EyDKiugmnDvms^FZTiPtdllm#3%JTjazB- z+5SSGWhkGPU5BsW!Kmb}z4#++abAOQ41s@9-%%G{R@-w@qfAIK$=b|HJDFEa@OIsy z#3Jrk#B*s9dbm_7v+6P%;BPL(-hUx7yy7HQH3PvqOi)+e;8o>RL5#2`v zhL@=6+JrGcojiea(Q@pcRV~bD)7aP5?y6~lC?^-5Zr?4Cu}4&Q1F%PV=M|d|h~ifi zqT-!@4xQX{3Ihmu1|(?}M;LO24|$Yss;sC843f4=0$4Z!$$KNoe#FFH`hzYLqADYVvL;E@zYUXMOZ z>KRWs>&ScU1P;mNhKO4ClHtHioG%K>Hf3aXtO;Zlzl?yK3 zA!!z$tN?w>gz12N!iAeS=9Gs82TBefHsI5Ktl#Fu) zQ=5uTZ`O3%3e5#vIN%LH9Z>2MOw>Bq6gOFxnO!9c7^8KPwS^naMBjl^Cj^Re(yrKP z#AMJwzFH@PL-meqRi0c9Iq?ZyjSnX1M<6!N5&bq4dyRx;HybPlsO_|h7$L=hYGcgm zTwY@bNr7>!aGZ-W@BSAp{_qX2Sc!3`N&dJSbvqyt#^ADqmRG+z$Ug#RSda!J7vc^!WP?Aj zBoPTVA7`9p^f2&vInGnIAu8?Xlua!~zowIXLp2x!YExM}+~nFOmfRlY&uxGVy!7X? z>;rT|{myG}EXqT?#}bsdAmlE|H*%DNT=`s{c@Z!80q2_q_}VsIv1r4PXgMDVL@n%N znVSsz8WW@~vsWtR zG|>dUg1lsHq%Tm9_77;Rs`HxaE^3D?8h_dEAc-Cr5;sk2YzWrMrS?HLZRc=s$><{0 zPjyucA(_0+G#q;k0c1%VqThm|p;tsBKq_u@)ERrkY7F>k84;GFJ!~t%RM)hf$egz) zE(7FhRamaqfSafRcv+Qf$TjugPD5l<8Au?_0IWKem%$7d@~Rw&C0+<0Ue;6QCZorM zVgBM(Imacu1m~B??8IuzJQd_EMX8}BxEi@`E9}LU30!8WIFM~<^VcH}L; z`iA~(eTKose@E7jrsJpXPv7}1Z%!|<@B5$Hv}dXIhkkIE6$?Mq8MRzyfhWRpE$p&B z<>F5~awM&{<+e#UhQ{SQna?YO55|epWqQp1UIe?3WTnai9ApGO!mE!0n0P^rtL@xWNl?$;X zL=k$>_6_T0yO0}9NSvna+u#A8!lRGv+Xp#bAjB=n!jzW0*i4oUCG0TYY}rraKk5;e zr@#FJ-=40qZ>z*N4XVzb$D!9G#0BzlS%D3zVk+85+f*10tPHtKSuInoHSAVdLa*(y zH+HQFaphihA2Q;Zx60V=3f)sl?QXmy2q{kK0D73nGKBA^-uP@kf`k`dJWS`Y2QZFs zgw12@Ii{9Lry-tR{2G!$B^HX9xCf|N)oDAF)f$Jd-tbaXr(8BeGV1Ws-|4&WNq^zb zzdn8OtL{i=PT{Zm#Sr8~%RJzipU^Iuh^-#5z@glufoY0onI=cwXz(w~>E+~6nV>bs zrM!?omB7!o;fIjymk;t~Q%IIO#do%0)Qvx6LYrc95dF~8AMWV;1AJ4PHR@Bjg!S|2 z+bRER4AH;-HB#T)3}Xr7w)TVaQg_IRc44e-+AiSfPkKW7pTFmu(#7_IAZ+lj^ukFi zrr4O6emJj_Xb18|$?1$>F;$f?S8nAvzf0V#B7dl*l^y{s3zVL7Fj37pj+o-Fn|}(G{?-w5PO%UJbiy%cAa|6kt5zZR06}+9VdCl}C?Mi(cr={zcz` z2J0<)r5E>M@cHTMzUnK| z-~G{_Ovf+1+}Zp{tjEMA@4<`$9dW^vEne`hMQs!18$^oQ{zj&eg}v6NL&K}k zZfPj1OE^Gi8-Z%(^^P4YZ2$)PW>?i`vzam>?bd-bDT7L!ft5+h0{~9Tr>!FeOO0ASw+>(cR!^zL6pP47@Kie5RnU(@14>@Ra$O+UO&x?=;xrpr-lHOq9 zXPh-I!$XS+=0=ST<8s3yVKDqr0}i!xWcmxXsgB=`Vii7pM3A;rr5C-u{lXe)2M-xA$2lQnP8E zYNzoadP+jG?H^LJI4Mz}3rj0ugcQ1o;zGGo^uplnsrpzF3KP)Q&^o4CB4m%b`c<9Q zQ;<#KUSw$DTq_VOi(+lAoJDjoTP>n^sN<}6;AmdUo7?O4<(vmiQI7c2a6o~Di(N0+6cSU3g7iDUzZ+p&1L>F z74Dpoa5trY(w91sm&M&^;lsdzhvk}wtXc=n5M~xtUX!VEDBqd#$LNG1^P|Q7Z(xV= zYB}^kH#RRA%CIf$Q@T~lYX7R`Rdu!WwBK^~L2g@1)YL}yWgqwpcsPNv1y%j6%p+b` zoBIzvk^6dz2Qcy@o_G<)eq{gqSj}{#p^S*fx^cv~*f86_>s$Uxy7{`tr8D*yE8&l+ z@{ucA@tmO;DXoyOox6rYHE;1m@f%+2z9}Wq-$ruRpSW> zT6ih7%?KtRJbn4#!#zUWCuCA1Ut+ltA{ikj1zrJcK3xvfvf1Vkll|nr3OjHV%l97m?t}L;d}#yYF=Rt6%k|^!(eN zmQLF*tL+}KY0!4)oOC(SGUr6gx*t!PUY|bm1PffyK~}xcDAYC2l}s1y@S6qDW!jQE zaeVk)rr)t!OYDD0b;1b>kMOe8K7sER36~6J(ia;cyl}gO`XIepNf$dhW;^T z|3g2BjgSvsy9+p@HrVwr@qi$}zrwZymYY0>s0rLUr#v7-NdeFwARC!dUm&I-lUgXx8xGXDfbdY^y zxwJF#I{2$ygK#LiLPqf!6-?zLgTt(*ZEhF*hAC41nLgO!dUS!xFsHN`1M}a`{dcE3 zp8xFh`Y(EQ+O)?2nC$If)mZBtA54KfOssWs4g=$OE_{FqhII5rP{rpE2lIWCVY%Cs zb)tq;WSDOHyoG0|#j10dF+Lu|pTO{nRm^JEZr@jC7h!QERYakyU+@8KanZ)9oHXMc z@xiOgQo1R5fGJIs7ntd&+BR>eiO6AKdBrtS#D5W0hDArix%r}f%2!}n0T&UE86ylZ z`V8fWQRWWJAA})yUg<2iID*b))OZYeZQb;kpSRC!r`w)>b9%G=Wbm1L9x&J213I(= zQ6+6))hwm$W@Zr8OXh_REcoyTR13bf2^%}mtiN}6j-;*4o%Dt; z{`~aL-+x#7m3RD6+OXdXz@J-~Xf{n6<*F+-57{E=Q2m2jBLOo2jSg$eva~AwGI@vi zy?G#J#l7)57k81Xi13L_f^WnNoL${8%6RZ$;Is*Y49((|2OfEl%Rp>-qc)VO!3rES z@@n{fmNvb}nX+EWAYa)9lWtMo*iORm5&T47xooQz9Y%_Gp>Uy}!mjKWm08M^opWD> zjnDlhd8YR^6<)~4&#T(RXP4{4EQZVdA^bym!#ZR(iM$51lagciZ>4X2^Vg)uTzi%M zkZK$v!j^d6Yq^y%5o;c{=C->pLZW^R^RjuU!NXv`Nj5Z zz-s zx)?B1q&??XWtEF6DVlBTHh_dBr-WfXXb#cFSM4)knQ*da%pnLWEYbW|{Q@DHtWJX^ z7gcVApsWs^Cg1ZsU|~a66344qg3}ZfNz{N`&h&N!x@lked+jS!fbU3vL-r#y9e* zz~w=IwJF+6TO*IwLgRuYwuQ~$1-Zywt09lo&P}*X{S|ckIsx-+0|M>D#{c%hS#Sr)@~vuRBfIEkz!n*@JmrOh?9iEnOm|_GcxZLkmpo5qeEMngc)s}>&Q6} zFaR&C7NrAq<{SP~e#Q!5V!D!)b`{?>*r*h>Xv{={?qTY;drUjz)%xKh0QJTNP}YfJ zj=4Sh9=s=WE`5)#!ZBG^EuEP6$+c1i!?wNXcjL8>OyBy|ud_+f&OuF(|1&i2q>v*) zA1~H@F>szrPa4fhKZ0SJ%yKd0QMM0|N7+mDqtX_#F`YP|N3Ro2l}?$VzjwT!%~Lin z58>XH5!LE|MRF=GY=-pSiALDRwuzG#m{jFMZsk$9d96wiCn!A$T0TI9*NNJ?(nB6% zk#dpqd;f@8B*4g{Wx((a7CZ{@WOB}&*-BsZikGI}`Q5jtxBkvM?JozO9667&C_9)J ze43ux0`pgOS+Q%btd(^yFzaD~GRLdW)c5DI{j)a!ZY-lk0;Okc(>Nj0osfp#@M~bg zQi?s9=E*uX7ucr9E4m?V<+735K{(o;N=A!YwLxm-+3{H>0enoInHz%)hBgh8fs{Z#58JO3bC_ZOr>H}9a_-+Rx;FPt^tp)UE zK;fV0bhL|`xgkw&G~y-DEXVu^-vwul*LZ_IXx8lRniScKlZ!HBL_fgyUIWDb$H6#b zl?y%>dhlqBRD70a#=-{M8Te*_?+k!WWuT7{|M;zkZ~nTkPJdv(5Ad;5TWQCB>N@^r zMYLzf?TNC^OKbS%z*H)2F(e$9eFxGSccvrvgTo!?7THI57jP+>sJihHR#1U7e4Km6 z0rtW8!2CwtkO>arKt=PFVg+At7NJ^>CL(8Fs;*D!S}VR!hy5@BK7 ze&C*T$4fsiz3PQH`nSn%-Cl;u`eMO{X;nYVE^7i#JacM8J>*3@13!?B;b?TdM4ldA z;TY6Kry@G#P}}j7fq@VG^hHO|c>-2jVbZi)r`x-%2`+mP5yV<@omnw>G+{ioHo~v* zI7Mlv%7iID%g_;c_EXNYa^Mh$jBWfbz?MCbfBbciPJii*ueU#WeSbRQn_dXwWd+zj zXhRmcQbs$?Dhii;B~fRASZ!J+UTIO@Z#rms2Vu|NWvsLT*t?oT&gCAc!C6boxfW9F zK~Nd^gGpo#95hU|M95xqTOe)Xd*sPW(>Hv@m!=JS1$xJ}%l3Y>-{fF|#BpiNf|&b4 zbG5g^U;*K@W=tOwvD0QE@|3(x%;Q#)hW3Prc9N%VqW#N%`eM}L6hE3aSj+B?$=pYl}O6rb^v z0a~eigbnp6{IGoJfms^>1QrtRR@!5Tu>%=|V@yCOYmA2uUKLAuL%ujpF?zSnaz8^E z^H)ig1fI1TOvjESU=bEQj^54SILd@gqmlH-6zHoF zA!s@AIGoC!F$iU;%`k)487(kMZ zID^F%Z4V^G>P49&ev?O>6-qlrMZXABj0bjVqP(H5u+N#ms4QOY^R=WJS1l%LW4%*U z0c)eMPj`M|=u5Y*sT_#C8bGZ;b{_K9}i1Nx~?cx3vr&&Ln`*xyWrAxPGCly%Uc%!!q7 z$e5z5c%Vb3=U%j_$=OiJI+z;*mT3xE1_?1W2a(Gr!U3^SFu0=tnoOZPgw--9OspT^ z=QSzf0td2f@Gmx3NHO_Ue^meU8|!im4H@ifr!F1II0}D;%ti8y-q7VyK=y zsdY$0o!7Fu^19vN&oZ`lw$n48aclbG*SyO95Z1lfj+n})7DFR|@_bPcEI@LpQS5z^ z1UZuD_EBUK5$NL9sCGVcUqD7D(FfRUEKb0WX<)}ZTe5VD8H<`$Px@)>1p$qyxgbnE zG_vu41s^994iv|CBfdpU@|u7id}@F-_UxhJ*1K- zH*WA&ZGYuOByb~9r9`aMMZ02Z37Ze}wfCRdQu^ID;vp9?gH-4=h6Go6CB}r7GCea%y&`1>oF4U8fucVw>L1=hDwQ& zkod76?FO!_eP~N=4;U!R^I<1tq4I35j8?fN4FEd0_p%J?uU!=0BYq^`jDi&`BC=x3@a; zm(1{Zypa>_M-}{$;FlVk6%N};Vfq2jH_{fsmY`#bGHc%OGgZ_7-B_BSGWE$12zF#6@w%*!n z%OpOe@d&Xxxcg0=L(}I5#^S*{XO+&Z5@}~1sv)eRS1FMfxg^-dD||woLL@~Fu84Wk zVo2C!gVwJK7S4VVk7Dtarz1yq(pSI!3+*qX;Uy@eH#x8klOrzLInD!T1Pf?jRJ70w z`6FauShT#5rHML+aL~jgtn{!sk1z zUtsIv-_oMSenzf|HR2hYtWV|SAL0;0Lm2Ce$_-s6%=q+LD&~L*sC$vvIW&v-hd9VPM@cpp2chwBRyhbSt|Y^P zB@eol*oMR|rcN9~^s;(8cq?_7HfOO49^b8+ExK!U48{c8iF}1*C;e&r{!{7Y&wW;U z=2LIJ3O$-@O@l!a3X&Le=Z#(WtN1C7`O`L{ZaoNS` zO>cNzTEF*HY?M2pQe+99Fv^9Vl@esxB_da1KO}zeJ+Sg40N(LUnI3^O#`NHE(6*Sq zIf}tClLE%94Z5cn$5q6kJ?&xPSSV=y?b$J^KtRLEq5yLNcf-`@pgdbC%#Y(Ty}!sK zM`}94*!*_TS&ax)4zS!IHTr~Jf7mBZ>0+BHBqp`)6;%#wYc{3ggvLe+8_|cskcof0 zcIS`NwByGvPG9xa!h>C`PK6CQf4hoHuE z$B||3uPk5N2YNpe^|LwjEbNIN8-g!1*%TdmtPi;GC>~|JMLtYn%Mf~4?|A_J!Z$(D z_0j$4zv|cB-TaGsCcyhI3)-+g#3`=*4v(K$Rr%yKf%#hj+#rGmWju=VWXchLP5)*b zXrPb0q+t#mc=@A07)XfsupPX0W+KgoJ;R7{;I_AR(w#4RUiz0m`>W}XKJ|&Tb~L`7 zq-_ql*b0Vd!3 zEeJ79&~C~G3$SP*Qnb1i>^u%?;UGqfRhA3c<44S>T4Jber%>C%kP#g{IOkaBpL-RYoi+oOURzmO*PLWwuaWcF85_%fIy1Y5hL?I{~)v#d_Md zm9jJk1?5>uQKcL{m3S|hwm><^57UL?feUN{@L&bka=kO>_-BRg`TTDb_Zlr@W4>`-3Hu-WU6M~5gx!l~GneLeQhmpm^$`KBAv&Y4X+4XHLeQSSo{;nj)b z9_!xWGi}?uf`=LB{#Kr)8vqT!@GLqIY`Cl(+s!7RgKiwag!gjjntE2s0n+2cDKRcP z&uIpm()+Qx9ru(U?oi}p*#zR{GrNZ0L!~`_^oQeJT+lDck9TmchNCD9vYg0^T0?p+DV+cvm#XhOWqfjR*h5oR(st3ZCm>8q45LdjS??a-NBRr%3(2q#o@5bvt z=wy$1qSH;L^>65ies}8Jfx(%1L1*76ucUA9ZCJ5Uz3%_fxch!B({L zvP&*buYb)e(yna)EW&)OG0yz)rGa9MLEAV%AL2hQ#AsZwh4TsY)C7T?e+Kgj$GYW( z*G+{l!=D%+u*ZjO)HL*SyisawW_d6xFK{j;1Gss}x{$eM=-j-7|Tz919qhVgk&t=fjn>LN@?VXuCv zu!3a4)z-nLJZ(8lRQZ^I@RO$(* z1j=c3Q}s4_`Idf2>a3;!K2eO|id+H2E}{T0DAth_5E%4FWMdaGK{ zVeKK|f%9?$P$piFVFur70Uf>5=Y@`{F@Gbpsq}O&f z&L*+A`wzAK$q)LNSf&ktPr+bXeAge}-8NgY2=bAKa$SxQ(IbHeQ`H@`F==~0D6^NR z=z~a_FycA{?A-%X{m3{S_Z|BJu?B2^bc2$znX8o*R^yg<;Nl{r%JR))1?N(Xm5@o^ z$YZl<^8$9sX7e?dUz}e1irdrf1NIoe?oyemPBcs|5=`dckE^l>Z#ao0g*E__0^Or^ zj;r!V!)TJ7^pnULz|0T3XC>;JOFtA!{(w(M(~xJcb?RE()|I~nFf!2`8o}9O{J3e# z9!F$a!BYl;*_~xL4_rTHYGn^=X2E3Kg-lVB8EX($Nk#u4KnO3CCT{phfH)jgkzTbD z20FBk!2r114mjjekmckFTkX^B!tt3%W)Zx_ZUBjJK_YcrgdY5s_*9||z-hNZe$mh( z8oGwR+{$CYt@%ac34*LaxdVsM%;bVp613 z*lj*LdNllJcS@eJuSn~y0Sn;nkIJ7xR1w{fYuaA`;gP`f4~xLw+GYwH$|n3UKR6FC zP8fdHOZF73_V2I{QP-{_zH%6W6XhIPK6?cXE}z5fs|C&j#rbkFsRO=iU%T-c!M}cE zw8pnE5+?6cDsE z_ClJ8^<);oo>4N(5u8Y{QAir!2z*`Ufp}CF?A1=TB*Tr~#~rF>KkdR8auCL0R@}%i z{BU!o_-u6uvCoi!Ij(@BUka|mwWQ-!zfnP(Kuf&}a~WBgx6c}chcvW!eH2R$X%E}sH0G@8>@>I*q(~_e>SCe{*HZH!i;j`_9SIF6DDJ{89MAMn(4$P zDV?8fAe=u#Bt-ra@n+kVjSnf4dQkcj1)|M)jTans1J)5 zmkm4W#e>QOAqwh&4{{4^J+GU~c zs>74e8mVgjfsqQK#(7i?WQYFoJe=P@V2yTlbs*in_kG^F+I$nOwUbH+>_g+XpK-D zXkiEL%yu!!A3I^Wg*wy$=O+6HNG)ZAV*^q?m23hZO)&$uZ2{gs<+h}I?n>$7AN0vM zZJbDJC+%+esvFbpvp+ATXFe~jU1KK(2bFMFZtY9Q&Co$#9F&S_Io4(@RQB>&vJ)E* z(7Ww40(aL~q_9c2*iJ+)u?@fzpPAAvPqOP)J1w!3f(I!v>=I((xcLluN!Es`)B#6> zGeeK2EbiGqWfU8C=HYmuYSedk5VN+Sbc3sK4@HAHjnQ#@L_NN%uxank-1?-O(^GGH zeEKgR`LG>C9kVy_F;XIs{TP|LO)2dNUBwC?JGI6VWLUg;g8p2zOo}FyG={KmL9mUq z0bH09nbwWI@OS8o3|AV|fYq7Nq#3x(aV8$)A3kCV88Qz7h0_*G!0iaFw7`ayeG?4- zAXCoa%ju2D5wOcEAHe0-4QXH-+g0c%3Z)G&;DD2kfCCnND2^T|9Y{dQ(V;a!3wRF& z)iEbbxaiNJ9h#%MhB(SqxVKOS7jZFoZF6w{1L*~~Jw4s<=ttRC|4zr9jL}2S^kotX z4#jCYr*Z#=kJZy-2(4NnF9NOLW#%Ts?=Ar}51+a_rH{NLt$pY}r?p>uOiIsrWlAr* z(@q6!fxKXov=xmt@JDsu(=z^AVyq3j`_H=USVVbjek@iB)vG_+~ej&G}wOuzlE#@rM;6h%L zDm=dM!E2IgpFoq1K$c*h6i5>m-C4PuN$vo;8oV7I7ups3Rtg{RI+!@*ZEAfNbn(JU zpNA53q4ZM^`d~S0?T)cYg2QBm6BP?9ThWJw5Tfv0D7j|5}cHHjj9{6}lzy1>`{U85J zO26@2xD|TnCbSzHf}_XnF@gEvbAM`W{^^wd;SZ$rqyH?WKl#{$()Lxl)go=FjfJ8V zDoeyE>MfFTk$X9#5z9eqP=^JAF+R*88K-0r@27E=Z`(7p7d`)(>8j%={pCQH4?-r0 z^b6xPE|*JuCkIQLil8#5V}5E=rD@@{#yKr`g}yqk5|2vRsmNJ{_ee^2RyA4utqUv4kb*&XsjI+_3cag4Qn`+j?I@fTD2BYS!A_Ag24&M&Y> z1rK)nwSP;rT92TgE!oG^6rfz=?gLh3WkF-Y76LZJdT91f#CLB_^VqiqY{%ZF#~bxq zyPNhh;3L!XZ@V?U_3i&Pt>bY=HdM!S9BYStI0^8vg+|){60fag;)G1^c$ZWtKCI2){r8@e*=bpg3=Fdq~JM$QW40$1zBmku+HK;_2)S;9Co z8rVi&l}BRO>vK#2gihx}|41W1M;Y4AY9)o7y&UuGVR{I70D;77vN;m`z>}5%IK{J+ zCJ&y>B=jv@PS30*paimJg)<3M4OGn0QBS;KBBIlnRIz( zOwhBhgy+xpl4AP3pGoN_{vSIk$K>!ZNx0j>slb_gQu^h8k<$P9w^I7RN6&fV_uGZ@ z491usrIrbc+~YITX{>sjRRK=S80UtUbs(c`r)YL+`QjHn*VY^RI$*ORg+6|gcbF4D z%$074JFH)L9Rz?WjZ&k7dP4@jT#gT5b^&b*s!U8S@N4U&PqGgH? z^EvEWUJSUx(@X@F4m7?rxU*zKxs%@@~k~%(*gr}QR?;rRla2@_SQnCvo^s5 zPbm2DtH>w}Q?P=}{6=%k?tK5?=TrJQdxQSVUYBhe&>d72cR2DE`BJg$KM=AxaH3!6 z2LhK$nkMkm5JUaRyHfhce>AgZ5 zT!&SV=Y$e<5!U9QsPuX_JEqGJZc3;(gS8q`Wt?|-pxU)p6DHIG8GX7~+Tl$!% z!%nrfRe4To(WHH;I`9nugQ{_jo;$VPti~IhycO7%C}v0(^;R%oe&E7Uhk%x#hUB3f zz@~IGZ3#wvHVLw(ctJ!s%Bqua!2Gd?6XT=O`7=5n{SIyT8#+{m$!%)=LJ|$|#=y?| z4tyNq{50Gu7!InT8T^9KcGHF(``O>?9({Fs%FQ?0cbMas|NQGrwy4IR{x#X~ja^9f zJqirv7Dt(tHY>MD1LpE2EO5f=Q8MuE6JKFp*}KvTaW@_<1Fc)V~I+h~g-{w{5{*R3q&k;V)#+4d(~({KEnlx})PO3%KjN4P&Y z7P9M~ozjg@FtbJx-OBcjf-OR)?3)dzt&L~wMLzh%7NvB?+I{MQligScZ z7-`2g)K_15X?o_ZPfWk^d%vGH@H-7IJj6H=7gVo=?tohx@)(Jd>9hnrQSz$m)*ghK#*7o>k@JtUv*o5S|y<#5~7|6jVx&=h84{l_~ z8X;=CB~=I9Gj&1svS?{qoyyy&*l~vdite|9Ja<*|EP$i9zhL zWH5t*u&SS}T5R*qYrZ&bKlyr_V`Fssq~?=F=*9dARhWv`@M8rJ*jw&**;oGV`gmIV z56pMKaDO~W0rm;O4NsgNe0exzUv?XUhjdrSU1<12lFK9C|d0ME2H@Lzey z-o?QIWdm?`O8402=QE#9=|k^H>0=*B=~MPn-`%z`Kzo{v&PS3LVU=~w^1|Kc%=sP>V^VZhwslpeY2 zYcYqlhmr>tZU7iu5#JG1H4HHsN(7l#eB;uBy1p9n;<&3>l_ofcJRljue4Nsi1tHI%wPf&)%B`S(aSqVOiBxUER~OZx{?X00tm-0uTX;;%d-bWH~H5 zY*Q93J1mB1g&AQh=&(X^g#S3ge{9PR*`Xhn9JDMsOj?p-A~00RQ#fB*(F zgJl+AHqO5F%=A`O{=Rea%RG6P_wK8DRb5^Evg*FfJbRvda=Cf$yRWM|)=A$a$_9Ww zat!O4COcL9W_w0aMqFKc-P^}9ld+pzXNtO8nU3eDmyEsn5PbtQdT~)(<&N}*$tXli z@jq!AIuP=qBi_UO$cNtJ-s#dHvnFbt^2pWJ*5x*xwQKiaK-${gK6#ee=Dus_jycY zc_K97b3U+ONRQo%+W}us>3iNYhj@=@E&}$G(EhZAt92eXpxx=MF6{??%(tzd!BhT^ zK7a@OK8t($Xa{!?*shM7M@^uw`RjSV^$-1f`akxuQPO22*fb`eXIWvuAR#6!F)q{) zE>z-G8uuFQ${dtrgAn7kva{PKh1-jH_?m0Jz87^npf8tAGs=v4NVTN+HsL0i;pu%U zj&T(RDfr*P*8hjF1901^Ytjpn4<8qv&;}D5uQt_ISU`I10Mb4t(wm&@IN42H9It9C zG7|}yvTpNf)=RGyA3Krz(aIH*y$fi7v3<1J3^4|LWM`>L3fSvV|D@^yGZ{{7uv|Av z1xO={J_vv;Kl-Az@Q5zN8#9~%d!)J3Z zf~6iEi|}=5%{#CaXQl*tmfWGV>J*yFH{Cw^N(cF~S+27HB(GwYD&sRL0%szP*?axU0p(7B*qR|N;+VPNyFS(UIGw)>FW!GAdzfAheXM@lBHZcvvTpaG}NM_#Vk@=#EyA# z$4B#doGbjX_dq*|*Dj)gXE?~KTZZUNCTG$M+v&URervkp=IijarFFasV0inV(uU;B zg3AJRlxn$+4U{O7<>pk#xsG3B{ouz^`q{sQm;Ky=fw{oO` z`|ti>ND7fu4(wW>2+T!*|ujN^}CPLw)hxNujRhT0c zy3kgWWw$$MH?9Y=@uX$q6@o8cK?%DBZ)6!=l~0`8j~xDJXd%|x4jTQ@Xz4cn)SVC4 zNxkqH?9?HduB*1&b`(Hmei@{Q-jOzORbszpMk?A!J3@*u z*-Ug79$}IZX@basB79D@2yo-gwxUvKC9?oRq2kET!^NdL-j&i{{ZH`Q0GQYnq=Bzj zC)P3h;bBk+;$_C>%HKd|jw488GKO8@*9a4TVf9fT$O&0?q{ z(_nUzb9^-YKEw?8YHWD7Uc)(NALSHnea*_QpvcYoR98;du@7imkZk2-QOI;5aNVq$KMK5CAXc=>oo2p{Dys>% zw|^Ad;&}K@_mV5wK#7jPmG3i;4B)O{&<%Kq?yq7u`Ln(Vn0z|`QNi~@ z|IYuL(i8Z0!Es6pUahGwpa*0xcq|oo(|0(hdtV{db=RIw@5P%oFX5rg4QIm)&z*$Y zpNiPy7NUENt6DftYom%7B`j7=Q>y@+c-}@x~QcPY-3_ z;8fyUWFFYvpcWtXaVv}m`9>3QCfg~nD(NB!(=}c60k4y!8Y2LhoB-VmHy)sGK(QJL>!{ zJM$CxiRur&saiN_D%O zuPt_c%p;9GKVv?WeEJ1MdCWqq(5B4HXKmOPRi&tt2NOCN*g&}^8$ys`J48$jZD%q+ zG4BYCZD_|YV;lT%9=E>|xE;0LmSkUq8jRG_{T`?%#R@fw+4s^fdr6_maEdV@V3T4o}R{K(gwG!Da;UEWyyY%5jp7Nd_*%9 zkjhedMQ6O8 zb-3(dI^r;iz32T{08E+HA@e-GW6$rxAID@n0ayfZLBy|HPDvZ^-&cMcUoCuU3iSce zbc2bD!{IarkJKf8LCm-rj~(aoclE0u5JoMCd46VQeO1=$9zR@9@`YRPdiULF>oi_2 zMApn}{F&GK4$77nyb+I#X{{WmocHNAi)uW=TRJlbOr)wP9f` zJqF3`Ar1*Jc>!=p_N>$#Q4hocVycM@?ik?gJSTS6)9KTj=|dQh`~d*JiuOUvC2JsK z#}~gk{+JyV9tVl3mL3A#&A1OUDi8n3dCpx{c&qhRY0g z^>153+*YBzfkrb4p(W7!nr&TA-n``_T5UmfuhP}F(v~b++fw9{jBd`ZNIw5Xy?iUd z{0t!E&_|7@L)*9oC3&PRa;T3o%uvXo&v}5RB+52f*apN_pyV(w^yC>yItR?P9qD;% zlk4DiALw`~f`j=jYg@PgybZ7ag;|i`ujysp>hv1@vVq-Eo=-L-=*aeok2(Ftolh3M+4Xk$q|?t3ZW9cXRW`ngl{a8J@+(0o`Mz!d9K+%}@Nnc0{~&e& zCN6aNLZSOUm(tUCNb(R8L(${XmHGLu@uTz4TxC)^pTmTU_-MM}$y4Ihv32sMJoIJ@ zE(RD5^lSUedSh9#E06PYk#*B`*Q8tCay$B5wT)ZpJ2*<;1)XhQQ&1Td~-U3_muO>C#EQiaIa^IE3a?GrcGaxb4XspZo%9w zg;x9(S-bwN_*MYEAu;t8#p`&6;wyMv@}*ATT#=1m%;?%T7ULteb_?Hj+wE!Xjq}#8 zx>D>Sol6W9c&yUZ;enagBn*VIC8TBJfL|0aO}7kt9(;hsstl}f&u=YZ3%X%);f1vm zhl)#W!$_}8GJ6A0#G4uluzwQu6+3+u5c#EpIp5^XdfJ3!{76cl z{sewh=qw%(VSkvB_$`8`zlyH}zJOmg#2Xe5JhkW5L)FK`sG6~+F-d*QA6!N3tYOiT zLx>}Q=oG`;hUfS7dES9-@$6hdwseZu#!{H*WWGJld;HYl@lX390|Nzr9q^8~-j>#G zxW-`Y^R!2acH0m_UXBzQ;w%{0~Q zmL!d#tn)V_kj#JCI4=`Oiwzm9Ai(7@m*3fH5t*Ne%!%Wv+lDOrkf_Rw3b*uWCyH*7 zRZEL$e?w0JgNbq|g|aBAc*jb_xO<(3bQ$2qQ9bT^o;N>_nZKMjV=o`!OcmJD3!w>1 zm%Wfc8KQh4=4r(BG!D?KR}G*dsK@}lo664xj2+n!gjnh*F|Mj_))9tG@yVeq0FJPaR;Eq#0LK(f?hT70$|^uKaS$TC z>NjnkOn2cWKs!6Q7da(D8)a8;ROOZZ-dTd)IgwJZSWh>!fhgq;x*a%9Fr z>Zu2=uGnGI_mMcUZX>R4y7roM-8Hzq#55%qopSYgj6E>AA;|$-TN&(j`x&ckYlTk4 zay0LH_=K>4P@h2R(#&2!kxz`jl%e7X)`XKuEZ(I~?Glb~Yi|aKSGE$YZGV=9XW6!d zkeTefW#y}G!#1?07k>4vf5-E)k!N6kinLO+G?gB0&W)n2-lu~faQlE8K}wYmY!z&1 z;v$|vJ|S#ylzj)umGOP%V)u8|&p&3B~qIDYtN-faN>4D(}8;&%eDV{pv`f9}(b46EG5AW7Ftgy?Vuj7RqG?$}~6 z$h}J7!RkkjF-8)9BDgEVNpoM!aUN;9eStXjA@Z){DS2)QZ^3uBz3sO2;Qg

-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 $NSnCL?+H<5 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ℑ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 FV1hzYL=OM} literal 0 HcmV?d00001 diff --git a/Night Reader/Night Reader/iTunesArtwork@2x b/Night Reader/Night Reader/iTunesArtwork@2x new file mode 100644 index 0000000000000000000000000000000000000000..1b477aa944daf3c73091ac8e8263f25820075d26 GIT binary patch literal 516202 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 z

sPW2ndoCb>FDyZ;^563#3N;wdnR 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 tF%XMa@aa7?##N!