From 0d478e49c97a6eda34978cfc686a08eb9ee46b3a Mon Sep 17 00:00:00 2001 From: Julius Oklamcak Date: Fri, 1 Feb 2019 16:06:07 -0500 Subject: [PATCH] 0.1.1 --- HOWTO.md | 4 +- LICENSE.md | 2 +- README.md | 7 +- Reader/Reader.xcodeproj/project.pbxproj | 26 ++++- Reader/Reader/Info.plist | 6 +- Reader/Reader/ReaderAppDelegate.h | 2 +- Reader/Reader/ReaderAppDelegate.mm | 4 +- Reader/Reader/ReaderAppearance.h | 2 +- Reader/Reader/ReaderAppearance.mm | 2 +- Reader/Reader/ReaderLowerToolbar.h | 2 +- Reader/Reader/ReaderLowerToolbar.mm | 2 +- Reader/Reader/ReaderSplitController.h | 2 +- Reader/Reader/ReaderSplitController.mm | 2 +- Reader/Reader/ReaderUpperToolbar.h | 2 +- Reader/Reader/ReaderUpperToolbar.mm | 6 +- Reader/Reader/ReaderViewController.h | 2 +- Reader/Reader/ReaderViewController.mm | 6 +- Reader/Reader/en.lproj/Localizable.strings | 2 +- Reader/Reader/main.m | 2 +- UXReader/UXReader.xcodeproj/project.pbxproj | 26 ++++- UXReader/UXReader/Info.plist | 6 +- UXReader/UXReader/UXReader.h | 2 +- UXReader/UXReader/UXReader.mm | 4 +- UXReader/UXReader/UXReaderAction.h | 2 +- UXReader/UXReader/UXReaderAction.mm | 2 +- UXReader/UXReader/UXReaderCanceller.h | 2 +- UXReader/UXReader/UXReaderCanceller.mm | 2 +- UXReader/UXReader/UXReaderDestination.h | 2 +- UXReader/UXReader/UXReaderDestination.mm | 2 +- UXReader/UXReader/UXReaderDocument.h | 2 +- UXReader/UXReader/UXReaderDocument.mm | 102 +++++++++--------- UXReader/UXReader/UXReaderDocumentPage.h | 2 +- UXReader/UXReader/UXReaderDocumentPage.mm | 54 +++++----- UXReader/UXReader/UXReaderFramework.h | 2 +- UXReader/UXReader/UXReaderFramework.mm | 2 +- UXReader/UXReader/UXReaderMainScrollView.h | 2 +- UXReader/UXReader/UXReaderMainScrollView.mm | 2 +- UXReader/UXReader/UXReaderMainToolbar.h | 2 +- UXReader/UXReader/UXReaderMainToolbar.mm | 6 +- UXReader/UXReader/UXReaderOptionsView.h | 2 +- UXReader/UXReader/UXReaderOptionsView.mm | 6 +- UXReader/UXReader/UXReaderOutline.h | 2 +- UXReader/UXReader/UXReaderOutline.mm | 2 +- UXReader/UXReader/UXReaderOutlineView.h | 2 +- UXReader/UXReader/UXReaderOutlineView.mm | 6 +- UXReader/UXReader/UXReaderPageControl.h | 2 +- UXReader/UXReader/UXReaderPageControl.mm | 4 +- UXReader/UXReader/UXReaderPageImageView.h | 2 +- UXReader/UXReader/UXReaderPageImageView.mm | 2 +- UXReader/UXReader/UXReaderPageNumbers.h | 2 +- UXReader/UXReader/UXReaderPageNumbers.mm | 2 +- UXReader/UXReader/UXReaderPageScrollView.h | 2 +- UXReader/UXReader/UXReaderPageScrollView.mm | 2 +- UXReader/UXReader/UXReaderPageThumbView.h | 2 +- UXReader/UXReader/UXReaderPageThumbView.mm | 2 +- UXReader/UXReader/UXReaderPageTiledView.h | 2 +- UXReader/UXReader/UXReaderPageTiledView.mm | 6 +- UXReader/UXReader/UXReaderPageToolbar.h | 2 +- UXReader/UXReader/UXReaderPageToolbar.mm | 8 +- UXReader/UXReader/UXReaderSearchControl.h | 2 +- UXReader/UXReader/UXReaderSearchControl.mm | 6 +- UXReader/UXReader/UXReaderSearchView.h | 2 +- UXReader/UXReader/UXReaderSearchView.mm | 2 +- UXReader/UXReader/UXReaderSelection.h | 2 +- UXReader/UXReader/UXReaderSelection.mm | 2 +- UXReader/UXReader/UXReaderShadowView.h | 2 +- UXReader/UXReader/UXReaderShadowView.mm | 2 +- UXReader/UXReader/UXReaderStuffController.h | 2 +- UXReader/UXReader/UXReaderStuffController.mm | 2 +- UXReader/UXReader/UXReaderStuffToolbar.h | 2 +- UXReader/UXReader/UXReaderStuffToolbar.mm | 2 +- UXReader/UXReader/UXReaderThumbCache.h | 2 +- UXReader/UXReader/UXReaderThumbCache.mm | 6 +- UXReader/UXReader/UXReaderThumbCell.h | 2 +- UXReader/UXReader/UXReaderThumbCell.mm | 2 +- UXReader/UXReader/UXReaderThumbShow.h | 2 +- UXReader/UXReader/UXReaderThumbShow.mm | 2 +- UXReader/UXReader/UXReaderThumbsView.h | 2 +- UXReader/UXReader/UXReaderThumbsView.mm | 10 +- UXReader/UXReader/UXReaderTiledLayer.h | 2 +- UXReader/UXReader/UXReaderTiledLayer.mm | 2 +- UXReader/UXReader/UXReaderViewController.h | 2 +- UXReader/UXReader/UXReaderViewController.mm | 32 +++--- UXReader/UXReader/UXReaderWatermark.h | 2 +- UXReader/UXReader/UXReaderWatermark.mm | 2 +- .../UXReader/en.lproj/Localizable.strings | 2 +- 86 files changed, 252 insertions(+), 217 deletions(-) diff --git a/HOWTO.md b/HOWTO.md index 3b10d19..309e1a8 100644 --- a/HOWTO.md +++ b/HOWTO.md @@ -2,8 +2,8 @@ #### Getting Started -Since the framework depends on a single large binary library file (libpdfium.a), you should download -the latest [UXReader-iOS](https://github.com/vfr/UXReader-iOS/releases/download/0.1.0/UXReader-iOS.zip) +Since the framework depends on a single large binary library file (libpdfium.a), you should download the +current [UXReader-iOS](https://github.com/vfr/UXReader-iOS/releases/download/0.1.1/UXReader-iOS.zip) release ZIP. Once extracted, open Reader.xcworkspace in Xcode and then build and run to a device (as the PDFium library does not support building for x86_64 simulator at this time). Then use iTunes to sync PDF files to the sample Reader app. diff --git a/LICENSE.md b/LICENSE.md index b46862c..651a21c 100644 --- a/LICENSE.md +++ b/LICENSE.md @@ -1,6 +1,6 @@ UXReader PDF Framework for iOS License -Copyright © 2017 Julius Oklamcak. All rights reserved. +Copyright © 2017-2019 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 diff --git a/README.md b/README.md index 474c9ea..4d5ad4c 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,9 @@ - ## UXReader PDF Framework for iOS +--- +*With the inclusion of PDFKit in iOS, this project is no longer supported or maintained. It is only here for historical reasons. +--- + ### Introduction The UXReader PDF Framework for iOS is a fully open-source iOS PDF Framework based @@ -37,8 +40,6 @@ getting started and the sample Reader project on how to use the UXReader framewo ### Contact Info -Website: [http://www.vfr.org/](http://www.vfr.org/) - Email: joklamcak(at)gmail(dot)com Twitter: [@joklamcak](https://twitter.com/joklamcak) diff --git a/Reader/Reader.xcodeproj/project.pbxproj b/Reader/Reader.xcodeproj/project.pbxproj index 3370334..ae0b6ea 100644 --- a/Reader/Reader.xcodeproj/project.pbxproj +++ b/Reader/Reader.xcodeproj/project.pbxproj @@ -243,7 +243,7 @@ 45C07DEA1E6729C10082025A /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 0820; + LastUpgradeCheck = 0940; ORGANIZATIONNAME = "Julius Oklamcak"; TargetAttributes = { 45C07DF11E6729C10082025A = { @@ -364,19 +364,27 @@ buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; CLANG_ANALYZER_NONNULL = YES; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LANGUAGE_STANDARD = "c++17"; CLANG_CXX_LIBRARY = "libc++"; CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; CLANG_WARN_DOCUMENTATION_COMMENTS = YES; CLANG_WARN_EMPTY_BODY = YES; CLANG_WARN_ENUM_CONVERSION = YES; CLANG_WARN_INFINITE_RECURSION = YES; CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; CLANG_WARN_SUSPICIOUS_MOVE = YES; CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; @@ -400,7 +408,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; + IPHONEOS_DEPLOYMENT_TARGET = 10.0; MTL_ENABLE_DEBUG_INFO = YES; ONLY_ACTIVE_ARCH = YES; SDKROOT = iphoneos; @@ -413,19 +421,27 @@ buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; CLANG_ANALYZER_NONNULL = YES; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LANGUAGE_STANDARD = "c++17"; CLANG_CXX_LIBRARY = "libc++"; CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; CLANG_WARN_DOCUMENTATION_COMMENTS = YES; CLANG_WARN_EMPTY_BODY = YES; CLANG_WARN_ENUM_CONVERSION = YES; CLANG_WARN_INFINITE_RECURSION = YES; CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; CLANG_WARN_SUSPICIOUS_MOVE = YES; CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; @@ -443,7 +459,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; + IPHONEOS_DEPLOYMENT_TARGET = 10.0; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = iphoneos; TARGETED_DEVICE_FAMILY = "1,2"; diff --git a/Reader/Reader/Info.plist b/Reader/Reader/Info.plist index 93d5015..87149e4 100644 --- a/Reader/Reader/Info.plist +++ b/Reader/Reader/Info.plist @@ -15,9 +15,9 @@ CFBundlePackageType APPL CFBundleVersion - 0.1.0 + 0.1.1 CFBundleShortVersionString - 0.1.0 + 0.1.1 LSRequiresIPhoneOS UIRequiredDeviceCapabilities @@ -53,6 +53,8 @@ UIFileSharingEnabled + LSSupportsOpeningDocumentsInPlace + CFBundleDocumentTypes diff --git a/Reader/Reader/ReaderAppDelegate.h b/Reader/Reader/ReaderAppDelegate.h index cce3c2f..de06c7a 100644 --- a/Reader/Reader/ReaderAppDelegate.h +++ b/Reader/Reader/ReaderAppDelegate.h @@ -2,7 +2,7 @@ // ReaderAppDelegate.h // Reader v0.1 // -// Copyright © 2017 Julius Oklamcak. All rights reserved. +// Copyright © 2017-2019 Julius Oklamcak. All rights reserved. // #import diff --git a/Reader/Reader/ReaderAppDelegate.mm b/Reader/Reader/ReaderAppDelegate.mm index 18e704f..91b6c10 100644 --- a/Reader/Reader/ReaderAppDelegate.mm +++ b/Reader/Reader/ReaderAppDelegate.mm @@ -2,7 +2,7 @@ // ReaderAppDelegate.mm // Reader v0.1 // -// Copyright © 2017 Julius Oklamcak. All rights reserved. +// Copyright © 2017-2019 Julius Oklamcak. All rights reserved. // #import "ReaderAppDelegate.h" @@ -75,7 +75,7 @@ - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:( } */ -- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url +- (BOOL)application:(UIApplication *)application openURL:(nonnull NSURL *)url options:(nonnull NSDictionary *)options { //NSLog(@"%s '%@'", __FUNCTION__, url); diff --git a/Reader/Reader/ReaderAppearance.h b/Reader/Reader/ReaderAppearance.h index 127e569..e01b747 100644 --- a/Reader/Reader/ReaderAppearance.h +++ b/Reader/Reader/ReaderAppearance.h @@ -2,7 +2,7 @@ // ReaderAppearance.h // Reader v0.1 // -// Copyright © 2017 Julius Oklamcak. All rights reserved. +// Copyright © 2017-2019 Julius Oklamcak. All rights reserved. // #import diff --git a/Reader/Reader/ReaderAppearance.mm b/Reader/Reader/ReaderAppearance.mm index 9a37c6d..a538a10 100644 --- a/Reader/Reader/ReaderAppearance.mm +++ b/Reader/Reader/ReaderAppearance.mm @@ -2,7 +2,7 @@ // ReaderAppearance.mm // Reader v0.1 // -// Copyright © 2017 Julius Oklamcak. All rights reserved. +// Copyright © 2017-2019 Julius Oklamcak. All rights reserved. // #import "ReaderAppearance.h" diff --git a/Reader/Reader/ReaderLowerToolbar.h b/Reader/Reader/ReaderLowerToolbar.h index 2fcd378..2bd510d 100644 --- a/Reader/Reader/ReaderLowerToolbar.h +++ b/Reader/Reader/ReaderLowerToolbar.h @@ -2,7 +2,7 @@ // ReaderLowerToolbar.h // Reader v0.1 // -// Copyright © 2017 Julius Oklamcak. All rights reserved. +// Copyright © 2017-2019 Julius Oklamcak. All rights reserved. // #import diff --git a/Reader/Reader/ReaderLowerToolbar.mm b/Reader/Reader/ReaderLowerToolbar.mm index dd6a1d2..950d614 100644 --- a/Reader/Reader/ReaderLowerToolbar.mm +++ b/Reader/Reader/ReaderLowerToolbar.mm @@ -2,7 +2,7 @@ // ReaderLowerToolbar.mm // Reader v0.1 // -// Copyright © 2017 Julius Oklamcak. All rights reserved. +// Copyright © 2017-2019 Julius Oklamcak. All rights reserved. // #import "ReaderLowerToolbar.h" diff --git a/Reader/Reader/ReaderSplitController.h b/Reader/Reader/ReaderSplitController.h index 50185c0..04861f1 100644 --- a/Reader/Reader/ReaderSplitController.h +++ b/Reader/Reader/ReaderSplitController.h @@ -2,7 +2,7 @@ // ReaderSplitController.h // Reader v0.1 // -// Copyright © 2017 Julius Oklamcak. All rights reserved. +// Copyright © 2017-2019 Julius Oklamcak. All rights reserved. // #import diff --git a/Reader/Reader/ReaderSplitController.mm b/Reader/Reader/ReaderSplitController.mm index c3aa811..b6b69c5 100644 --- a/Reader/Reader/ReaderSplitController.mm +++ b/Reader/Reader/ReaderSplitController.mm @@ -2,7 +2,7 @@ // ReaderSplitController.mm // Reader v0.1 // -// Copyright © 2017 Julius Oklamcak. All rights reserved. +// Copyright © 2017-2019 Julius Oklamcak. All rights reserved. // #import "ReaderSplitController.h" diff --git a/Reader/Reader/ReaderUpperToolbar.h b/Reader/Reader/ReaderUpperToolbar.h index bbb8206..1ec49e1 100644 --- a/Reader/Reader/ReaderUpperToolbar.h +++ b/Reader/Reader/ReaderUpperToolbar.h @@ -2,7 +2,7 @@ // ReaderUpperToolbar.h // Reader v0.1 // -// Copyright © 2017 Julius Oklamcak. All rights reserved. +// Copyright © 2017-2019 Julius Oklamcak. All rights reserved. // #import diff --git a/Reader/Reader/ReaderUpperToolbar.mm b/Reader/Reader/ReaderUpperToolbar.mm index f70ba9e..6f22221 100644 --- a/Reader/Reader/ReaderUpperToolbar.mm +++ b/Reader/Reader/ReaderUpperToolbar.mm @@ -2,7 +2,7 @@ // ReaderUpperToolbar.mm // Reader v0.1 // -// Copyright © 2017 Julius Oklamcak. All rights reserved. +// Copyright © 2017-2019 Julius Oklamcak. All rights reserved. // #import "ReaderUpperToolbar.h" @@ -246,9 +246,9 @@ - (void)toggleSearchField:(nonnull UIView *)view [UIView animateWithDuration:ti delay:0.0 options:options animations:^(void) { - [view removeConstraint:oldConstraint]; [view addConstraint:searchConstraintX]; [view layoutIfNeeded]; + [view removeConstraint:oldConstraint]; [view addConstraint:self->searchConstraintX]; [view layoutIfNeeded]; - const CGFloat a = (searchVisible ? 0.0 : 1.0); [titleLabel setAlpha:a]; + const CGFloat a = (self->searchVisible ? 0.0 : 1.0); [self->titleLabel setAlpha:a]; } completion:^(BOOL finished) { diff --git a/Reader/Reader/ReaderViewController.h b/Reader/Reader/ReaderViewController.h index 9807131..39a74f3 100644 --- a/Reader/Reader/ReaderViewController.h +++ b/Reader/Reader/ReaderViewController.h @@ -2,7 +2,7 @@ // ReaderViewController.h // Reader v0.1 // -// Copyright © 2017 Julius Oklamcak. All rights reserved. +// Copyright © 2017-2019 Julius Oklamcak. All rights reserved. // #import diff --git a/Reader/Reader/ReaderViewController.mm b/Reader/Reader/ReaderViewController.mm index 5dc75d7..76c2948 100644 --- a/Reader/Reader/ReaderViewController.mm +++ b/Reader/Reader/ReaderViewController.mm @@ -2,7 +2,7 @@ // ReaderViewController.mm // Reader v0.1 // -// Copyright © 2017 Julius Oklamcak. All rights reserved. +// Copyright © 2017-2019 Julius Oklamcak. All rights reserved. // #import "ReaderViewController.h" @@ -737,9 +737,9 @@ - (void)dismissReaderViewController:(UXReaderViewController *)viewController { [self dismissViewControllerAnimated:YES completion: ^{ - NSIndexPath *selected = [pdfTableView indexPathForSelectedRow]; + NSIndexPath *selected = [self->pdfTableView indexPathForSelectedRow]; - [pdfTableView deselectRowAtIndexPath:selected animated:NO]; + [self->pdfTableView deselectRowAtIndexPath:selected animated:NO]; }]; } else // Dismiss child UIViewController diff --git a/Reader/Reader/en.lproj/Localizable.strings b/Reader/Reader/en.lproj/Localizable.strings index d017c47..01af06a 100644 --- a/Reader/Reader/en.lproj/Localizable.strings +++ b/Reader/Reader/en.lproj/Localizable.strings @@ -2,7 +2,7 @@ // Localizable.strings - en // Reader v0.1 // -// Copyright © 2017 Julius Oklamcak. All rights reserved. +// Copyright © 2017-2019 Julius Oklamcak. All rights reserved. // "Filter" = "Filter"; diff --git a/Reader/Reader/main.m b/Reader/Reader/main.m index 23f4727..be19142 100644 --- a/Reader/Reader/main.m +++ b/Reader/Reader/main.m @@ -2,7 +2,7 @@ // main.m // Reader v0.1 // -// Copyright © 2017 Julius Oklamcak. All rights reserved. +// Copyright © 2017-2019 Julius Oklamcak. All rights reserved. // #import diff --git a/UXReader/UXReader.xcodeproj/project.pbxproj b/UXReader/UXReader.xcodeproj/project.pbxproj index 60825d0..6813009 100644 --- a/UXReader/UXReader.xcodeproj/project.pbxproj +++ b/UXReader/UXReader.xcodeproj/project.pbxproj @@ -587,7 +587,7 @@ 454179CD1E672BEB0044248A /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 0830; + LastUpgradeCheck = 1010; ORGANIZATIONNAME = "Julius Oklamcak"; TargetAttributes = { 454179D51E672BEC0044248A = { @@ -715,19 +715,27 @@ buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; CLANG_ANALYZER_NONNULL = YES; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LANGUAGE_STANDARD = "c++17"; CLANG_CXX_LIBRARY = "libc++"; CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; CLANG_WARN_DOCUMENTATION_COMMENTS = YES; CLANG_WARN_EMPTY_BODY = YES; CLANG_WARN_ENUM_CONVERSION = YES; CLANG_WARN_INFINITE_RECURSION = YES; CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; CLANG_WARN_SUSPICIOUS_MOVE = YES; CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; @@ -752,7 +760,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; + IPHONEOS_DEPLOYMENT_TARGET = 10.0; MTL_ENABLE_DEBUG_INFO = YES; ONLY_ACTIVE_ARCH = YES; SDKROOT = iphoneos; @@ -767,19 +775,27 @@ buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; CLANG_ANALYZER_NONNULL = YES; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LANGUAGE_STANDARD = "c++17"; CLANG_CXX_LIBRARY = "libc++"; CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; CLANG_WARN_DOCUMENTATION_COMMENTS = YES; CLANG_WARN_EMPTY_BODY = YES; CLANG_WARN_ENUM_CONVERSION = YES; CLANG_WARN_INFINITE_RECURSION = YES; CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; CLANG_WARN_SUSPICIOUS_MOVE = YES; CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; @@ -798,7 +814,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; + IPHONEOS_DEPLOYMENT_TARGET = 10.0; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = iphoneos; TARGETED_DEVICE_FAMILY = "1,2"; diff --git a/UXReader/UXReader/Info.plist b/UXReader/UXReader/Info.plist index 4ee201e..d2db276 100644 --- a/UXReader/UXReader/Info.plist +++ b/UXReader/UXReader/Info.plist @@ -15,11 +15,11 @@ CFBundlePackageType FMWK CFBundleVersion - 0.1.0 + 0.1.1 CFBundleShortVersionString - 0.1.0 + 0.1.1 NSHumanReadableCopyright - Copyright © 2017 Julius Oklamcak. All rights reserved. + Copyright © 2017-2019-2019 Julius Oklamcak. All rights reserved. NSPrincipalClass diff --git a/UXReader/UXReader/UXReader.h b/UXReader/UXReader/UXReader.h index 4aa4fc0..bd6693e 100644 --- a/UXReader/UXReader/UXReader.h +++ b/UXReader/UXReader/UXReader.h @@ -2,7 +2,7 @@ // UXReader.h // UXReader Framework v0.1 // -// Copyright © 2017 Julius Oklamcak. All rights reserved. +// Copyright © 2017-2019 Julius Oklamcak. All rights reserved. // #import diff --git a/UXReader/UXReader/UXReader.mm b/UXReader/UXReader/UXReader.mm index 9fa6455..9d300e2 100644 --- a/UXReader/UXReader/UXReader.mm +++ b/UXReader/UXReader/UXReader.mm @@ -2,9 +2,9 @@ // UXReader.mm // UXReader Framework v0.1 // -// Copyright © 2017 Julius Oklamcak. All rights reserved. +// Copyright © 2017-2019 Julius Oklamcak. All rights reserved. // #import "UXReader.h" -static NSString *const copyright = @"Copyright © 2017 Julius Oklamcak. All rights reserved."; +static NSString *const copyright = @"Copyright © 2017-2019 Julius Oklamcak. All rights reserved."; diff --git a/UXReader/UXReader/UXReaderAction.h b/UXReader/UXReader/UXReaderAction.h index 8a95462..e4e1730 100644 --- a/UXReader/UXReader/UXReaderAction.h +++ b/UXReader/UXReader/UXReaderAction.h @@ -2,7 +2,7 @@ // UXReaderAction.h // UXReader Framework v0.1 // -// Copyright © 2017 Julius Oklamcak. All rights reserved. +// Copyright © 2017-2019 Julius Oklamcak. All rights reserved. // #import diff --git a/UXReader/UXReader/UXReaderAction.mm b/UXReader/UXReader/UXReaderAction.mm index d17de7b..128980c 100644 --- a/UXReader/UXReader/UXReaderAction.mm +++ b/UXReader/UXReader/UXReaderAction.mm @@ -2,7 +2,7 @@ // UXReaderAction.mm // UXReader Framework v0.1 // -// Copyright © 2017 Julius Oklamcak. All rights reserved. +// Copyright © 2017-2019 Julius Oklamcak. All rights reserved. // #import "UXReaderAction.h" diff --git a/UXReader/UXReader/UXReaderCanceller.h b/UXReader/UXReader/UXReaderCanceller.h index 026303d..d325312 100644 --- a/UXReader/UXReader/UXReaderCanceller.h +++ b/UXReader/UXReader/UXReaderCanceller.h @@ -2,7 +2,7 @@ // UXReaderCanceller.h // UXReader Framework v0.1 // -// Copyright © 2017 Julius Oklamcak. All rights reserved. +// Copyright © 2017-2019 Julius Oklamcak. All rights reserved. // #import diff --git a/UXReader/UXReader/UXReaderCanceller.mm b/UXReader/UXReader/UXReaderCanceller.mm index e9a633d..9c45e6e 100644 --- a/UXReader/UXReader/UXReaderCanceller.mm +++ b/UXReader/UXReader/UXReaderCanceller.mm @@ -2,7 +2,7 @@ // UXReaderCanceller.mm // UXReader Framework v0.1 // -// Copyright © 2017 Julius Oklamcak. All rights reserved. +// Copyright © 2017-2019 Julius Oklamcak. All rights reserved. // #import "UXReaderCanceller.h" diff --git a/UXReader/UXReader/UXReaderDestination.h b/UXReader/UXReader/UXReaderDestination.h index a8fea2d..460f611 100644 --- a/UXReader/UXReader/UXReaderDestination.h +++ b/UXReader/UXReader/UXReaderDestination.h @@ -2,7 +2,7 @@ // UXReaderDestination.h // UXReader Framework v0.1 // -// Copyright © 2017 Julius Oklamcak. All rights reserved. +// Copyright © 2017-2019 Julius Oklamcak. All rights reserved. // #import diff --git a/UXReader/UXReader/UXReaderDestination.mm b/UXReader/UXReader/UXReaderDestination.mm index 39fd329..eaa9f2f 100644 --- a/UXReader/UXReader/UXReaderDestination.mm +++ b/UXReader/UXReader/UXReaderDestination.mm @@ -2,7 +2,7 @@ // UXReaderDestination.mm // UXReader Framework v0.1 // -// Copyright © 2017 Julius Oklamcak. All rights reserved. +// Copyright © 2017-2019 Julius Oklamcak. All rights reserved. // #import "UXReaderDestination.h" diff --git a/UXReader/UXReader/UXReaderDocument.h b/UXReader/UXReader/UXReaderDocument.h index f58bc38..a016f52 100644 --- a/UXReader/UXReader/UXReaderDocument.h +++ b/UXReader/UXReader/UXReaderDocument.h @@ -2,7 +2,7 @@ // UXReaderDocument.h // UXReader Framework v0.1 // -// Copyright © 2017 Julius Oklamcak. All rights reserved. +// Copyright © 2017-2019 Julius Oklamcak. All rights reserved. // #import diff --git a/UXReader/UXReader/UXReaderDocument.mm b/UXReader/UXReader/UXReaderDocument.mm index bdf5306..11d0f1a 100644 --- a/UXReader/UXReader/UXReaderDocument.mm +++ b/UXReader/UXReader/UXReaderDocument.mm @@ -2,7 +2,7 @@ // UXReaderDocument.mm // UXReader Framework v0.1 // -// Copyright © 2017 Julius Oklamcak. All rights reserved. +// Copyright © 2017-2019 Julius Oklamcak. All rights reserved. // #import "UXReaderDocument.h" @@ -136,7 +136,7 @@ - (void)dealloc { [UXReaderFramework dispatch_sync_on_work_queue: ^{ - FPDF_CloseDocument(pdfDocumentFP); pdfDocumentFP = nil; + FPDF_CloseDocument(self->pdfDocumentFP); self->pdfDocumentFP = nil; }]; } @@ -379,58 +379,58 @@ - (void)openWithPassword:(nullable NSString *)password completion:(nonnull void const char *phrase = [password UTF8String]; - if ([documentURL isFileURL]) // File NSURL + if ([self->documentURL isFileURL]) // File NSURL { - NSString *path = [documentURL path]; + NSString *path = [self->documentURL path]; const char *filepath = [path UTF8String]; - pdfDocumentFP = FPDF_LoadDocument(filepath, phrase); + self->pdfDocumentFP = FPDF_LoadDocument(filepath, phrase); } - else if ([documentData length]) // NSData + else if ([self->documentData length]) // NSData { - const void *data = [documentData bytes]; + const void *data = [self->documentData bytes]; - const int size = int([documentData length]); + const int size = int([self->documentData length]); - pdfDocumentFP = FPDF_LoadMemDocument(data, size, phrase); + self->pdfDocumentFP = FPDF_LoadMemDocument(data, size, phrase); } - else if (dataSource != nil) // UXReaderDocumentDataSource + else if (self->dataSource != nil) // UXReaderDocumentDataSource { __autoreleasing NSUUID *uuid = nil; // Data source UUID - [dataSource document:self UUID:&uuid]; UUID = [uuid copy]; + [self->dataSource document:self UUID:&uuid]; self->UUID = [uuid copy]; FPDF_FILEACCESS data; memset(&data, 0x00, sizeof(data)); - size_t length = 0; [dataSource document:self dataLength:&length]; + size_t length = 0; [self->dataSource document:self dataLength:&length]; data.m_FileLen = length; data.m_GetBlock = &GetDataBlock; data.m_Param = (__bridge void *)self; // UXReaderDocument - pdfDocumentFP = FPDF_LoadCustomDocument(&data, phrase); + self->pdfDocumentFP = FPDF_LoadCustomDocument(&data, phrase); } - else if ([documentURL host]) // HTTP NSURL + else if ([self->documentURL host]) // HTTP NSURL { - dataSource = self; // UXReaderDocumentDataSource + self->dataSource = self; // UXReaderDocumentDataSource __autoreleasing NSUUID *uuid = nil; // Data source UUID - [dataSource document:self UUID:&uuid]; UUID = [uuid copy]; + [self->dataSource document:self UUID:&uuid]; self->UUID = [uuid copy]; FPDF_FILEACCESS data; memset(&data, 0x00, sizeof(data)); - size_t length = 0; [dataSource document:self dataLength:&length]; + size_t length = 0; [self->dataSource document:self dataLength:&length]; data.m_FileLen = length; data.m_GetBlock = &GetDataBlock; data.m_Param = (__bridge void *)self; // UXReaderDocument - pdfDocumentFP = FPDF_LoadCustomDocument(&data, phrase); + self->pdfDocumentFP = FPDF_LoadCustomDocument(&data, phrase); } - if (pdfDocumentFP == nil) // Return NSError + if (self->pdfDocumentFP == nil) // Return NSError { const NSUInteger errorCode = FPDF_GetLastError(); @@ -587,7 +587,7 @@ - (CGSize)pageSize:(NSUInteger)page [UXReaderFramework dispatch_sync_on_work_queue: ^{ - if (NSValue *value = pageSizes[@(page)]) + if (NSValue *value = self->pageSizes[@(page)]) { pageSize = [value CGSizeValue]; // Cached } @@ -595,11 +595,11 @@ - (CGSize)pageSize:(NSUInteger)page { double width = 0.0; double height = 0.0; // Page size in points - if (FPDF_GetPageSizeByIndex(pdfDocumentFP, int(page), &width, &height) != FALSE) + if (FPDF_GetPageSizeByIndex(self->pdfDocumentFP, int(page), &width, &height) != FALSE) { pageSize = CGSizeMake(floor(width), floor(height)); // No fractional sizes - pageSizes[@(page)] = [NSValue valueWithCGSize:pageSize]; // Cache + self->pageSizes[@(page)] = [NSValue valueWithCGSize:pageSize]; // Cache } } }]; @@ -617,13 +617,13 @@ - (nullable UXReaderDocumentPage *)documentPage:(NSUInteger)page [UXReaderFramework dispatch_sync_on_work_queue: ^{ - documentPage = [documentPages objectForKey:@(page)]; // Use existing + documentPage = [self->documentPages objectForKey:@(page)]; // Use existing if (documentPage == nil) // Create new UXReaderDocumentPage for requested page { if ((documentPage = [[UXReaderDocumentPage alloc] initWithDocument:self page:page])) { - [documentPages setObject:documentPage forKey:@(page)]; + [self->documentPages setObject:documentPage forKey:@(page)]; } } }]; @@ -643,15 +643,15 @@ - (nullable NSString *)pageLabel:(NSUInteger)page { [UXReaderFramework dispatch_sync_on_work_queue: ^{ - label = pageLabels[@(page)]; // Get cached label + label = self->pageLabels[@(page)]; // Get cached label if (label == nil) // Extract label for page - if one exists { - if (int bytes = int(FPDF_GetPageLabel(pdfDocumentFP, int(page), nil, 0))) + if (int bytes = int(FPDF_GetPageLabel(self->pdfDocumentFP, int(page), nil, 0))) { if (NSMutableData *data = [NSMutableData dataWithLength:bytes]) // Buffer { - FPDF_GetPageLabel(pdfDocumentFP, int(page), [data mutableBytes], bytes); + FPDF_GetPageLabel(self->pdfDocumentFP, int(page), [data mutableBytes], bytes); const NSUInteger length = ((bytes / sizeof(unichar)) - 1); // No NUL @@ -659,13 +659,13 @@ - (nullable NSString *)pageLabel:(NSUInteger)page if ((label = [[NSString alloc] initWithCharacters:unicode length:length])) { - pageLabels[@(page)] = label; + self->pageLabels[@(page)] = label; } } } else // No page labels { - pageLabels = nil; + self->pageLabels = nil; } } }]; @@ -705,7 +705,7 @@ - (nullable NSString *)textForItem:(nonnull NSString *)key [UXReaderFramework dispatch_sync_on_work_queue: ^{ - if (information == nil) // Create documentation information dictionary + if (self->information == nil) // Create documentation information dictionary { NSMutableDictionary *entries = [[NSMutableDictionary alloc] init]; @@ -719,7 +719,7 @@ - (nullable NSString *)textForItem:(nonnull NSString *)key } }]; - information = [entries copy]; + self->information = [entries copy]; } }]; @@ -759,13 +759,13 @@ - (void)beginSearch:(nonnull NSString *)text options:(UXReaderSearchOptions)opti dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ - [[searchCanceller lock] lock]; NSUInteger total = 0; + [[self->searchCanceller lock] lock]; NSUInteger total = 0; dispatch_async(dispatch_get_main_queue(), ^{ - if ([search respondsToSelector:@selector(document:didBeginDocumentSearch:)]) + if ([self->search respondsToSelector:@selector(document:didBeginDocumentSearch:)]) { - [search document:self didBeginDocumentSearch:options]; + [self->search document:self didBeginDocumentSearch:options]; } }); @@ -777,15 +777,15 @@ - (void)beginSearch:(nonnull NSString *)text options:(UXReaderSearchOptions)opti { [string getCharacters:reinterpret_cast([unicode mutableBytes]) range:range]; - for (NSUInteger page = 0; page < pageCount; page++) + for (NSUInteger page = 0; page < self->pageCount; page++) { - if ([searchCanceller isCancelled]) break; + if ([self->searchCanceller isCancelled]) break; dispatch_async(dispatch_get_main_queue(), ^{ - if ([search respondsToSelector:@selector(document:didBeginPageSearch:pages:)]) + if ([self->search respondsToSelector:@selector(document:didBeginPageSearch:pages:)]) { - [search document:self didBeginPageSearch:page pages:pageCount]; + [self->search document:self didBeginPageSearch:page pages:self->pageCount]; } }); @@ -796,9 +796,9 @@ - (void)beginSearch:(nonnull NSString *)text options:(UXReaderSearchOptions)opti dispatch_async(dispatch_get_main_queue(), ^{ - if ([search respondsToSelector:@selector(document:didFinishPageSearch:total:)]) + if ([self->search respondsToSelector:@selector(document:didFinishPageSearch:total:)]) { - [search document:self didFinishPageSearch:page total:total]; + [self->search document:self didFinishPageSearch:page total:total]; } }); } @@ -806,15 +806,15 @@ - (void)beginSearch:(nonnull NSString *)text options:(UXReaderSearchOptions)opti dispatch_async(dispatch_get_main_queue(), ^{ - if ([search respondsToSelector:@selector(document:didFinishDocumentSearch:)]) + if ([self->search respondsToSelector:@selector(document:didFinishDocumentSearch:)]) { - [search document:self didFinishDocumentSearch:total]; + [self->search document:self didFinishDocumentSearch:total]; } }); - [[searchCanceller lock] unlock]; + [[self->searchCanceller lock] unlock]; - searchCanceller = nil; + self->searchCanceller = nil; }); } } @@ -878,9 +878,9 @@ - (NSUInteger)searchPage:(NSUInteger)page unicode:(nonnull NSData *)unicode opti { dispatch_async(dispatch_get_main_queue(), ^{ - if ([search respondsToSelector:@selector(document:searchDidMatch:page:)]) + if ([self->search respondsToSelector:@selector(document:searchDidMatch:page:)]) { - [search document:self searchDidMatch:selections page:page]; + [self->search document:self searchDidMatch:selections page:page]; } }); } @@ -948,7 +948,7 @@ - (void)thumbForPage:(NSUInteger)page size:(CGSize)size canceller:(nonnull UXRea ^{ if ([canceller isCancelled] == YES) return; // Is cancelled - if (UIImage *thumb = [UXReaderThumbCache loadThumbForUUID:UUID page:page size:size]) + if (UIImage *thumb = [UXReaderThumbCache loadThumbForUUID:self->UUID page:page size:size]) { if ([canceller isCancelled] == NO) // Not cancelled { @@ -964,7 +964,7 @@ - (void)thumbForPage:(NSUInteger)page size:(CGSize)size canceller:(nonnull UXRea { [documentPage thumbWithSize:size canceller:canceller completion:^(UIImage *thumb) { - block(thumb); [UXReaderThumbCache saveThumb:thumb UUID:UUID page:page size:size]; + block(thumb); [UXReaderThumbCache saveThumb:thumb UUID:self->UUID page:page size:size]; }]; } } @@ -1076,13 +1076,13 @@ - (void)addOutline:(FPDF_BOOKMARK)entry toList:(nonnull NSMutableArrayoutline == nil) // Extract outline from document { NSMutableArray *list = [[NSMutableArray alloc] init]; - const FPDF_BOOKMARK first = FPDFBookmark_GetFirstChild(pdfDocumentFP, nil); + const FPDF_BOOKMARK first = FPDFBookmark_GetFirstChild(self->pdfDocumentFP, nil); - [self addOutline:first toList:list atLevel:0]; outline = [list copy]; + [self addOutline:first toList:list atLevel:0]; self->outline = [list copy]; } }]; diff --git a/UXReader/UXReader/UXReaderDocumentPage.h b/UXReader/UXReader/UXReaderDocumentPage.h index df14364..2ce25eb 100644 --- a/UXReader/UXReader/UXReaderDocumentPage.h +++ b/UXReader/UXReader/UXReaderDocumentPage.h @@ -2,7 +2,7 @@ // UXReaderDocumentPage.h // UXReader Framework v0.1 // -// Copyright © 2017 Julius Oklamcak. All rights reserved. +// Copyright © 2017-2019 Julius Oklamcak. All rights reserved. // #import diff --git a/UXReader/UXReader/UXReaderDocumentPage.mm b/UXReader/UXReader/UXReaderDocumentPage.mm index f36ac56..f883b38 100644 --- a/UXReader/UXReader/UXReaderDocumentPage.mm +++ b/UXReader/UXReader/UXReaderDocumentPage.mm @@ -2,7 +2,7 @@ // UXReaderDocumentPage.mm // UXReader Framework v0.1 // -// Copyright © 2017 Julius Oklamcak. All rights reserved. +// Copyright © 2017-2019 Julius Oklamcak. All rights reserved. // #import "UXReaderDocument.h" @@ -84,9 +84,9 @@ - (void)dealloc [UXReaderFramework dispatch_sync_on_work_queue: ^{ - if (textPageFP != nil) { FPDFText_ClosePage(textPageFP); textPageFP = nil; }; + if (self->textPageFP != nil) { FPDFText_ClosePage(self->textPageFP); self->textPageFP = nil; }; - if (pdfPageFP != nil) { FPDF_ClosePage(pdfPageFP); pdfPageFP = nil; } + if (self->pdfPageFP != nil) { FPDF_ClosePage(self->pdfPageFP); self->pdfPageFP = nil; } }]; } @@ -96,13 +96,13 @@ - (BOOL)loadPage [UXReaderFramework dispatch_sync_on_work_queue: ^{ - if ((pdfPageFP = FPDF_LoadPage(pdfDocumentFP, int(page)))) + if ((self->pdfPageFP = FPDF_LoadPage(self->pdfDocumentFP, int(self->page)))) { - rotation = FPDFPage_GetRotation(pdfPageFP); // Rotation + self->rotation = FPDFPage_GetRotation(self->pdfPageFP); // Rotation - if (pdfDocumentCG != nil) // Native rendering mode enabled + if (self->pdfDocumentCG != nil) // Native rendering mode enabled { - pdfPageCG = CGPDFDocumentGetPage(pdfDocumentCG, (page+1)); + self->pdfPageCG = CGPDFDocumentGetPage(self->pdfDocumentCG, (self->page + 1)); } } }]; @@ -146,9 +146,9 @@ - (nullable void *)textPage [UXReaderFramework dispatch_sync_on_work_queue: ^{ - if (textPageFP == nil) // Load text on demand + if (self->textPageFP == nil) // Load text on demand { - textPageFP = FPDFText_LoadPage(pdfPageFP); + self->textPageFP = FPDFText_LoadPage(self->pdfPageFP); } }]; @@ -386,7 +386,7 @@ - (void)renderTileInContext:(nonnull CGContextRef)context const CGRect device = CGContextConvertRectToDeviceSpace(context, rect); - const CGAffineTransform m = {1.0, 0.0, 0.0, -1.0, 0.0, pageSize.height}; + const CGAffineTransform m = {1.0, 0.0, 0.0, -1.0, 0.0, self->pageSize.height}; const CGRect flip = CGRectApplyAffineTransform(rect, m); // Flip Y @@ -416,7 +416,7 @@ - (void)renderTileInContext:(nonnull CGContextRef)context const FS_RECTF clip = {0.0, 0.0, float(bw), float(bh)}; // Clip to bitmap dimensions - FPDF_RenderPageBitmapWithMatrix(pdfBitmap, pdfPageFP, &matrix, &clip, options); + FPDF_RenderPageBitmapWithMatrix(pdfBitmap, self->pdfPageFP, &matrix, &clip, options); if (CGImageRef image = CGBitmapContextCreateImage(bmc)) { @@ -535,9 +535,9 @@ - (void)thumbWithSize:(CGSize)size canceller:(nonnull UXReaderCanceller *)cancel ^{ if ([canceller isCancelled] == YES) return; // Is cancelled - const size_t tw = size.width; const CGFloat xs = (tw / pageSize.width); + const size_t tw = size.width; const CGFloat xs = (tw / self->pageSize.width); - const size_t th = size.height; const CGFloat ys = (th / pageSize.height); + const size_t th = size.height; const CGFloat ys = (th / self->pageSize.height); const CGColorSpaceRef rgb = CGColorSpaceCreateWithName(kCGColorSpaceGenericRGB); @@ -559,7 +559,7 @@ - (void)thumbWithSize:(CGSize)size canceller:(nonnull UXReaderCanceller *)cancel FS_RECTF clip = {0.0, 0.0, float(bw), float(bh)}; // Clip to bitmap - FPDF_RenderPageBitmapWithMatrix(pdfBitmap, pdfPageFP, &matrix, &clip, options); + FPDF_RenderPageBitmapWithMatrix(pdfBitmap, self->pdfPageFP, &matrix, &clip, options); if (CGImageRef image = CGBitmapContextCreateImage(bmc)) { @@ -606,9 +606,9 @@ - (void)thumbWithSize:(CGSize)size canceller:(nonnull UXReaderCanceller *)cancel CGContextSetRGBFillColor(bmc, 1.0, 1.0, 1.0, 1.0); CGContextFillRect(bmc, rect); - CGContextConcatCTM(bmc, CGPDFPageGetDrawingTransform(pdfPageCG, kCGPDFCropBox, rect, 0, true)); + CGContextConcatCTM(bmc, CGPDFPageGetDrawingTransform(self->pdfPageCG, kCGPDFCropBox, rect, 0, true)); - CGContextDrawPDFPage(bmc, pdfPageCG); + CGContextDrawPDFPage(bmc, self->pdfPageCG); if (CGImageRef image = CGBitmapContextCreateImage(bmc)) { @@ -825,13 +825,13 @@ - (BOOL)extractPageLinks [UXReaderFramework dispatch_sync_on_work_queue: ^{ - if (pageLinks == nil) // Extract + if (self->pageLinks == nil) // Extract { int entry = 0; FPDF_LINK link = nil; NSMutableArray *links = [[NSMutableArray alloc] init]; - while (FPDFLink_Enumerate(pdfPageFP, &entry, &link)) // Enumerate + while (FPDFLink_Enumerate(self->pdfPageFP, &entry, &link)) // Enumerate { if (UXReaderAction *item = [self actionForLink:link]) { @@ -841,7 +841,7 @@ - (BOOL)extractPageLinks extracted = ([links count] > 0); - pageLinks = [links copy]; + self->pageLinks = [links copy]; } }]; @@ -856,18 +856,18 @@ - (nullable UXReaderAction *)linkAction:(CGPoint)point [UXReaderFramework dispatch_sync_on_work_queue: ^{ - if (pageLinks == nil) // Get action for point + if (self->pageLinks == nil) // Get action for point { const CGPoint pt = [self convertToPageFromViewPoint:point]; - if (FPDF_LINK link = FPDFLink_GetLinkAtPoint(pdfPageFP, pt.x, pt.y)) + if (FPDF_LINK link = FPDFLink_GetLinkAtPoint(self->pdfPageFP, pt.x, pt.y)) { action = [self actionForLink:link]; } } else // Enumerate through links list { - for (UXReaderAction *pageLink in pageLinks) + for (UXReaderAction *pageLink in self->pageLinks) { if ([pageLink containsPoint:point] == YES) { @@ -888,7 +888,7 @@ - (BOOL)extractPageURLs [UXReaderFramework dispatch_sync_on_work_queue: ^{ - if (pageURLs == nil) // Extract any text-based URLs + if (self->pageURLs == nil) // Extract any text-based URLs { NSMutableArray *links = [[NSMutableArray alloc] init]; @@ -943,7 +943,7 @@ - (BOOL)extractPageURLs extracted = ([links count] > 0); - pageURLs = [links copy]; + self->pageURLs = [links copy]; } }]; @@ -958,14 +958,14 @@ - (nullable UXReaderAction *)textAction:(CGPoint)point [UXReaderFramework dispatch_sync_on_work_queue: ^{ - if (pageURLs == nil) // Extract + if (self->pageURLs == nil) // Extract { [self extractPageURLs]; } - if ([pageURLs count] > 0) // Test point + if ([self->pageURLs count] > 0) // Test point { - for (UXReaderAction *pageURL in pageURLs) + for (UXReaderAction *pageURL in self->pageURLs) { if ([pageURL containsPoint:point] == YES) { diff --git a/UXReader/UXReader/UXReaderFramework.h b/UXReader/UXReader/UXReaderFramework.h index 86033e1..8a123d9 100644 --- a/UXReader/UXReader/UXReaderFramework.h +++ b/UXReader/UXReader/UXReaderFramework.h @@ -2,7 +2,7 @@ // UXReaderFramework.h // UXReader Framework v0.1 // -// Copyright © 2017 Julius Oklamcak. All rights reserved. +// Copyright © 2017-2019 Julius Oklamcak. All rights reserved. // #import diff --git a/UXReader/UXReader/UXReaderFramework.mm b/UXReader/UXReader/UXReaderFramework.mm index bafca76..0cc6a69 100644 --- a/UXReader/UXReader/UXReaderFramework.mm +++ b/UXReader/UXReader/UXReaderFramework.mm @@ -2,7 +2,7 @@ // UXReaderFramework.mm // UXReader Framework v0.1 // -// Copyright © 2017 Julius Oklamcak. All rights reserved. +// Copyright © 2017-2019 Julius Oklamcak. All rights reserved. // #import "UXReaderFramework.h" diff --git a/UXReader/UXReader/UXReaderMainScrollView.h b/UXReader/UXReader/UXReaderMainScrollView.h index d34c445..d7b4dfb 100644 --- a/UXReader/UXReader/UXReaderMainScrollView.h +++ b/UXReader/UXReader/UXReaderMainScrollView.h @@ -2,7 +2,7 @@ // UXReaderMainScrollView.h // UXReader Framework v0.1 // -// Copyright © 2017 Julius Oklamcak. All rights reserved. +// Copyright © 2017-2019 Julius Oklamcak. All rights reserved. // #import diff --git a/UXReader/UXReader/UXReaderMainScrollView.mm b/UXReader/UXReader/UXReaderMainScrollView.mm index fd21bfd..793d33f 100644 --- a/UXReader/UXReader/UXReaderMainScrollView.mm +++ b/UXReader/UXReader/UXReaderMainScrollView.mm @@ -2,7 +2,7 @@ // UXReaderMainScrollView.mm // UXReader Framework v0.1 // -// Copyright © 2017 Julius Oklamcak. All rights reserved. +// Copyright © 2017-2019 Julius Oklamcak. All rights reserved. // #import "UXReaderMainScrollView.h" diff --git a/UXReader/UXReader/UXReaderMainToolbar.h b/UXReader/UXReader/UXReaderMainToolbar.h index 839c6b0..8bfbdcf 100644 --- a/UXReader/UXReader/UXReaderMainToolbar.h +++ b/UXReader/UXReader/UXReaderMainToolbar.h @@ -2,7 +2,7 @@ // UXReaderMainToolbar.h // UXReader Framework v0.1 // -// Copyright © 2017 Julius Oklamcak. All rights reserved. +// Copyright © 2017-2019 Julius Oklamcak. All rights reserved. // #import diff --git a/UXReader/UXReader/UXReaderMainToolbar.mm b/UXReader/UXReader/UXReaderMainToolbar.mm index 736ea86..442a563 100644 --- a/UXReader/UXReader/UXReaderMainToolbar.mm +++ b/UXReader/UXReader/UXReaderMainToolbar.mm @@ -2,7 +2,7 @@ // UXReaderMainToolbar.mm // UXReader Framework v0.1 // -// Copyright © 2017 Julius Oklamcak. All rights reserved. +// Copyright © 2017-2019 Julius Oklamcak. All rights reserved. // #import "UXReaderDocument.h" @@ -342,7 +342,7 @@ - (void)hideAnimated [UIView animateWithDuration:ti delay:0.0 options:UIViewAnimationOptionCurveEaseIn animations:^(void) { - layoutConstraintY.constant = -self.bounds.size.height; [[self superview] layoutIfNeeded]; + self->layoutConstraintY.constant = -self.bounds.size.height; [[self superview] layoutIfNeeded]; } completion:^(BOOL finished) { @@ -363,7 +363,7 @@ - (void)showAnimated [UIView animateWithDuration:ti delay:0.0 options:UIViewAnimationOptionCurveEaseOut animations:^(void) { - layoutConstraintY.constant += self.bounds.size.height; [[self superview] layoutIfNeeded]; + self->layoutConstraintY.constant += self.bounds.size.height; [[self superview] layoutIfNeeded]; } completion:^(BOOL finished) { diff --git a/UXReader/UXReader/UXReaderOptionsView.h b/UXReader/UXReader/UXReaderOptionsView.h index 60c33ed..e576e55 100644 --- a/UXReader/UXReader/UXReaderOptionsView.h +++ b/UXReader/UXReader/UXReaderOptionsView.h @@ -2,7 +2,7 @@ // UXReaderOptionsView.h // UXReader Framework v0.1 // -// Copyright © 2017 Julius Oklamcak. All rights reserved. +// Copyright © 2017-2019 Julius Oklamcak. All rights reserved. // #import diff --git a/UXReader/UXReader/UXReaderOptionsView.mm b/UXReader/UXReader/UXReaderOptionsView.mm index 420f54e..23bcafb 100644 --- a/UXReader/UXReader/UXReaderOptionsView.mm +++ b/UXReader/UXReader/UXReaderOptionsView.mm @@ -2,7 +2,7 @@ // UXReaderOptionsView.mm // UXReader Framework v0.1 // -// Copyright © 2017 Julius Oklamcak. All rights reserved. +// Copyright © 2017-2019 Julius Oklamcak. All rights reserved. // #import "UXReaderDocument.h" @@ -144,9 +144,9 @@ - (void)setCurrentPage:(NSUInteger)page ^{ NSIndexPath *indexPath = [NSIndexPath indexPathForRow:0 inSection:0]; // Dispatch hack - [optionsView scrollToRowAtIndexPath:indexPath atScrollPosition:UITableViewScrollPositionTop animated:NO]; + [self->optionsView scrollToRowAtIndexPath:indexPath atScrollPosition:UITableViewScrollPositionTop animated:NO]; - [optionsView flashScrollIndicators]; + [self->optionsView flashScrollIndicators]; }); } } diff --git a/UXReader/UXReader/UXReaderOutline.h b/UXReader/UXReader/UXReaderOutline.h index df70234..b23e683 100644 --- a/UXReader/UXReader/UXReaderOutline.h +++ b/UXReader/UXReader/UXReaderOutline.h @@ -2,7 +2,7 @@ // UXReaderOutline.h // UXReader Framework v0.1 // -// Copyright © 2017 Julius Oklamcak. All rights reserved. +// Copyright © 2017-2019 Julius Oklamcak. All rights reserved. // #import diff --git a/UXReader/UXReader/UXReaderOutline.mm b/UXReader/UXReader/UXReaderOutline.mm index dc398ad..a75fcbc 100644 --- a/UXReader/UXReader/UXReaderOutline.mm +++ b/UXReader/UXReader/UXReaderOutline.mm @@ -2,7 +2,7 @@ // UXReaderOutline.mm // UXReader Framework v0.1 // -// Copyright © 2017 Julius Oklamcak. All rights reserved. +// Copyright © 2017-2019 Julius Oklamcak. All rights reserved. // #import "UXReaderOutline.h" diff --git a/UXReader/UXReader/UXReaderOutlineView.h b/UXReader/UXReader/UXReaderOutlineView.h index 615a6d0..a16d327 100644 --- a/UXReader/UXReader/UXReaderOutlineView.h +++ b/UXReader/UXReader/UXReaderOutlineView.h @@ -2,7 +2,7 @@ // UXReaderOutlineView.h // UXReader Framework v0.1 // -// Copyright © 2017 Julius Oklamcak. All rights reserved. +// Copyright © 2017-2019 Julius Oklamcak. All rights reserved. // #import diff --git a/UXReader/UXReader/UXReaderOutlineView.mm b/UXReader/UXReader/UXReaderOutlineView.mm index 8646c0a..780988b 100644 --- a/UXReader/UXReader/UXReaderOutlineView.mm +++ b/UXReader/UXReader/UXReaderOutlineView.mm @@ -2,7 +2,7 @@ // UXReaderOutlineView.mm // UXReader Framework v0.1 // -// Copyright © 2017 Julius Oklamcak. All rights reserved. +// Copyright © 2017-2019 Julius Oklamcak. All rights reserved. // #import "UXReaderDocument.h" @@ -178,9 +178,9 @@ - (void)setCurrentPage:(NSUInteger)page ^{ NSIndexPath *indexPath = [NSIndexPath indexPathForRow:row inSection:0]; // Dispatch hack - [outlineView scrollToRowAtIndexPath:indexPath atScrollPosition:UITableViewScrollPositionMiddle animated:NO]; + [self->outlineView scrollToRowAtIndexPath:indexPath atScrollPosition:UITableViewScrollPositionMiddle animated:NO]; - dispatch_async(dispatch_get_main_queue(), ^{ updateCells = YES; [outlineView reloadData]; [outlineView flashScrollIndicators]; }); + dispatch_async(dispatch_get_main_queue(), ^{ self->updateCells = YES; [self->outlineView reloadData]; [self->outlineView flashScrollIndicators]; }); }); } } diff --git a/UXReader/UXReader/UXReaderPageControl.h b/UXReader/UXReader/UXReaderPageControl.h index be17de2..fc42231 100644 --- a/UXReader/UXReader/UXReaderPageControl.h +++ b/UXReader/UXReader/UXReaderPageControl.h @@ -2,7 +2,7 @@ // UXReaderPageControl.h // UXReader Framework v0.1 // -// Copyright © 2017 Julius Oklamcak. All rights reserved. +// Copyright © 2017-2019 Julius Oklamcak. All rights reserved. // #import diff --git a/UXReader/UXReader/UXReaderPageControl.mm b/UXReader/UXReader/UXReaderPageControl.mm index 9059c37..daa9bf3 100644 --- a/UXReader/UXReader/UXReaderPageControl.mm +++ b/UXReader/UXReader/UXReaderPageControl.mm @@ -2,7 +2,7 @@ // UXReaderPageControl.mm // UXReader Framework v0.1 // -// Copyright © 2017 Julius Oklamcak. All rights reserved. +// Copyright © 2017-2019 Julius Oklamcak. All rights reserved. // #import "UXReaderDocument.h" @@ -215,7 +215,7 @@ - (void)layoutThumbViews [pageKeys enumerateObjectsUsingBlock:^(NSNumber *key, BOOL * stop) { - if (UXReaderPageThumbView *thumbView = thumbViews[key]) + if (UXReaderPageThumbView *thumbView = self->thumbViews[key]) { [thumbView removeFromSuperview]; } diff --git a/UXReader/UXReader/UXReaderPageImageView.h b/UXReader/UXReader/UXReaderPageImageView.h index a07bb4c..a51db72 100644 --- a/UXReader/UXReader/UXReaderPageImageView.h +++ b/UXReader/UXReader/UXReaderPageImageView.h @@ -2,7 +2,7 @@ // UXReaderPageImageView.h // UXReader Framework v0.1 // -// Copyright © 2017 Julius Oklamcak. All rights reserved. +// Copyright © 2017-2019 Julius Oklamcak. All rights reserved. // #import diff --git a/UXReader/UXReader/UXReaderPageImageView.mm b/UXReader/UXReader/UXReaderPageImageView.mm index 8ac9a55..5a77bd9 100644 --- a/UXReader/UXReader/UXReaderPageImageView.mm +++ b/UXReader/UXReader/UXReaderPageImageView.mm @@ -2,7 +2,7 @@ // UXReaderPageImageView.mm // UXReader Framework v0.1 // -// Copyright © 2017 Julius Oklamcak. All rights reserved. +// Copyright © 2017-2019 Julius Oklamcak. All rights reserved. // #import "UXReaderDocument.h" diff --git a/UXReader/UXReader/UXReaderPageNumbers.h b/UXReader/UXReader/UXReaderPageNumbers.h index 62a7720..7bf3421 100644 --- a/UXReader/UXReader/UXReaderPageNumbers.h +++ b/UXReader/UXReader/UXReaderPageNumbers.h @@ -2,7 +2,7 @@ // UXReaderPageNumbers.h // UXReader Framework v0.1 // -// Copyright © 2017 Julius Oklamcak. All rights reserved. +// Copyright © 2017-2019 Julius Oklamcak. All rights reserved. // #import diff --git a/UXReader/UXReader/UXReaderPageNumbers.mm b/UXReader/UXReader/UXReaderPageNumbers.mm index 1c8352c..f8744db 100644 --- a/UXReader/UXReader/UXReaderPageNumbers.mm +++ b/UXReader/UXReader/UXReaderPageNumbers.mm @@ -2,7 +2,7 @@ // UXReaderPageNumbers.mm // UXReader Framework v0.1 // -// Copyright © 2017 Julius Oklamcak. All rights reserved. +// Copyright © 2017-2019 Julius Oklamcak. All rights reserved. // #import "UXReaderPageNumbers.h" diff --git a/UXReader/UXReader/UXReaderPageScrollView.h b/UXReader/UXReader/UXReaderPageScrollView.h index a63f464..6078a9e 100644 --- a/UXReader/UXReader/UXReaderPageScrollView.h +++ b/UXReader/UXReader/UXReaderPageScrollView.h @@ -2,7 +2,7 @@ // UXReaderPageScrollView.h // UXReader Framework v0.1 // -// Copyright © 2017 Julius Oklamcak. All rights reserved. +// Copyright © 2017-2019 Julius Oklamcak. All rights reserved. // #import diff --git a/UXReader/UXReader/UXReaderPageScrollView.mm b/UXReader/UXReader/UXReaderPageScrollView.mm index bd44f9f..5113848 100644 --- a/UXReader/UXReader/UXReaderPageScrollView.mm +++ b/UXReader/UXReader/UXReaderPageScrollView.mm @@ -2,7 +2,7 @@ // UXReaderPageScrollView.mm // UXReader Framework v0.1 // -// Copyright © 2017 Julius Oklamcak. All rights reserved. +// Copyright © 2017-2019 Julius Oklamcak. All rights reserved. // #import "UXReaderDocument.h" diff --git a/UXReader/UXReader/UXReaderPageThumbView.h b/UXReader/UXReader/UXReaderPageThumbView.h index ec5cd95..882e37c 100644 --- a/UXReader/UXReader/UXReaderPageThumbView.h +++ b/UXReader/UXReader/UXReaderPageThumbView.h @@ -2,7 +2,7 @@ // UXReaderPageThumbView.h // UXReader Framework v0.1 // -// Copyright © 2017 Julius Oklamcak. All rights reserved. +// Copyright © 2017-2019 Julius Oklamcak. All rights reserved. // #import diff --git a/UXReader/UXReader/UXReaderPageThumbView.mm b/UXReader/UXReader/UXReaderPageThumbView.mm index b011a93..a471229 100644 --- a/UXReader/UXReader/UXReaderPageThumbView.mm +++ b/UXReader/UXReader/UXReaderPageThumbView.mm @@ -2,7 +2,7 @@ // UXReaderPageThumbView.mm // UXReader Framework v0.1 // -// Copyright © 2017 Julius Oklamcak. All rights reserved. +// Copyright © 2017-2019 Julius Oklamcak. All rights reserved. // #import "UXReaderDocument.h" diff --git a/UXReader/UXReader/UXReaderPageTiledView.h b/UXReader/UXReader/UXReaderPageTiledView.h index c79acc6..3c56ddf 100644 --- a/UXReader/UXReader/UXReaderPageTiledView.h +++ b/UXReader/UXReader/UXReaderPageTiledView.h @@ -2,7 +2,7 @@ // UXReaderPageTiledView.h // UXReader Framework v0.1 // -// Copyright © 2017 Julius Oklamcak. All rights reserved. +// Copyright © 2017-2019 Julius Oklamcak. All rights reserved. // #import diff --git a/UXReader/UXReader/UXReaderPageTiledView.mm b/UXReader/UXReader/UXReaderPageTiledView.mm index 74b1ee8..812b951 100644 --- a/UXReader/UXReader/UXReaderPageTiledView.mm +++ b/UXReader/UXReader/UXReaderPageTiledView.mm @@ -2,7 +2,7 @@ // UXReaderPageTiledView.mm // UXReader Framework v0.1 // -// Copyright © 2017 Julius Oklamcak. All rights reserved. +// Copyright © 2017-2019 Julius Oklamcak. All rights reserved. // #import "UXReaderDocument.h" @@ -99,9 +99,9 @@ - (void)openPage:(NSUInteger)page document:(nonnull UXReaderDocument *)documentx [UXReaderFramework dispatch_async_on_work_queue: ^{ - documentPage = [documentx documentPage:page]; + self->documentPage = [documentx documentPage:page]; - if (documentPage != nil) // Redraw view + if (self->documentPage != nil) // Redraw view { dispatch_async(dispatch_get_main_queue(), ^{ diff --git a/UXReader/UXReader/UXReaderPageToolbar.h b/UXReader/UXReader/UXReaderPageToolbar.h index ed92e6d..44947af 100644 --- a/UXReader/UXReader/UXReaderPageToolbar.h +++ b/UXReader/UXReader/UXReaderPageToolbar.h @@ -2,7 +2,7 @@ // UXReaderPageToolbar.h // UXReader Framework v0.1 // -// Copyright © 2017 Julius Oklamcak. All rights reserved. +// Copyright © 2017-2019 Julius Oklamcak. All rights reserved. // #import diff --git a/UXReader/UXReader/UXReaderPageToolbar.mm b/UXReader/UXReader/UXReaderPageToolbar.mm index b3ac488..eecb689 100644 --- a/UXReader/UXReader/UXReaderPageToolbar.mm +++ b/UXReader/UXReader/UXReaderPageToolbar.mm @@ -2,7 +2,7 @@ // UXReaderPageToolbar.mm // UXReader Framework v0.1 // -// Copyright © 2017 Julius Oklamcak. All rights reserved. +// Copyright © 2017-2019 Julius Oklamcak. All rights reserved. // #import "UXReaderDocument.h" @@ -229,11 +229,11 @@ - (void)hideAnimated [UIView animateWithDuration:ti delay:0.0 options:UIViewAnimationOptionCurveEaseIn animations:^(void) { - layoutConstraintY.constant = +self.bounds.size.height; [[self superview] layoutIfNeeded]; pageNumbers.alpha = 0.0; + self->layoutConstraintY.constant = +self.bounds.size.height; [[self superview] layoutIfNeeded]; self->pageNumbers.alpha = 0.0; } completion:^(BOOL finished) { - pageNumbers.hidden = YES; self.hidden = YES; + self->pageNumbers.hidden = YES; self.hidden = YES; }]; } } @@ -250,7 +250,7 @@ - (void)showAnimated [UIView animateWithDuration:ti delay:0.0 options:UIViewAnimationOptionCurveEaseOut animations:^(void) { - layoutConstraintY.constant -= self.bounds.size.height; [[self superview] layoutIfNeeded]; pageNumbers.alpha = 1.0; + self->layoutConstraintY.constant -= self.bounds.size.height; [[self superview] layoutIfNeeded]; self->pageNumbers.alpha = 1.0; } completion:^(BOOL finished) { diff --git a/UXReader/UXReader/UXReaderSearchControl.h b/UXReader/UXReader/UXReaderSearchControl.h index 92bd516..8e20507 100644 --- a/UXReader/UXReader/UXReaderSearchControl.h +++ b/UXReader/UXReader/UXReaderSearchControl.h @@ -2,7 +2,7 @@ // UXReaderSearchControl.h // UXReader Framework v0.1 // -// Copyright © 2017 Julius Oklamcak. All rights reserved. +// Copyright © 2017-2019 Julius Oklamcak. All rights reserved. // #import diff --git a/UXReader/UXReader/UXReaderSearchControl.mm b/UXReader/UXReader/UXReaderSearchControl.mm index 3a02f2c..866aab0 100644 --- a/UXReader/UXReader/UXReaderSearchControl.mm +++ b/UXReader/UXReader/UXReaderSearchControl.mm @@ -2,7 +2,7 @@ // UXReaderSearchControl.mm // UXReader Framework v0.1 // -// Copyright © 2017 Julius Oklamcak. All rights reserved. +// Copyright © 2017-2019 Julius Oklamcak. All rights reserved. // #import "UXReaderSearchControl.h" @@ -142,7 +142,7 @@ - (void)showControls:(BOOL)show [UIView animateWithDuration:ti delay:0.0 options:UIViewAnimationOptionCurveLinear animations:^(void) { - [closeButton setAlpha:1.0]; [forwardButton setAlpha:1.0]; [reverseButton setAlpha:1.0]; + [self->closeButton setAlpha:1.0]; [self->forwardButton setAlpha:1.0]; [self->reverseButton setAlpha:1.0]; } completion:^(BOOL finished) { @@ -155,7 +155,7 @@ - (void)showControls:(BOOL)show [UIView animateWithDuration:ti delay:0.0 options:UIViewAnimationOptionCurveLinear animations:^(void) { - [closeButton setAlpha:0.0]; [forwardButton setAlpha:0.0]; [reverseButton setAlpha:0.0]; + [self->closeButton setAlpha:0.0]; [self->forwardButton setAlpha:0.0]; [self->reverseButton setAlpha:0.0]; } completion:^(BOOL finished) { diff --git a/UXReader/UXReader/UXReaderSearchView.h b/UXReader/UXReader/UXReaderSearchView.h index 8d755f7..2c862be 100644 --- a/UXReader/UXReader/UXReaderSearchView.h +++ b/UXReader/UXReader/UXReaderSearchView.h @@ -2,7 +2,7 @@ // UXReaderSearchView.h // UXReader Framework v0.1 // -// Copyright © 2017 Julius Oklamcak. All rights reserved. +// Copyright © 2017-2019 Julius Oklamcak. All rights reserved. // #import diff --git a/UXReader/UXReader/UXReaderSearchView.mm b/UXReader/UXReader/UXReaderSearchView.mm index 3deaa3e..28afe13 100644 --- a/UXReader/UXReader/UXReaderSearchView.mm +++ b/UXReader/UXReader/UXReaderSearchView.mm @@ -2,7 +2,7 @@ // UXReaderSearchView.mm // UXReader Framework v0.1 // -// Copyright © 2017 Julius Oklamcak. All rights reserved. +// Copyright © 2017-2019 Julius Oklamcak. All rights reserved. // #import "UXReaderSearchView.h" diff --git a/UXReader/UXReader/UXReaderSelection.h b/UXReader/UXReader/UXReaderSelection.h index 8dbcaa9..0b02096 100644 --- a/UXReader/UXReader/UXReaderSelection.h +++ b/UXReader/UXReader/UXReaderSelection.h @@ -2,7 +2,7 @@ // UXReaderSelection.h // UXReader Framework v0.1 // -// Copyright © 2017 Julius Oklamcak. All rights reserved. +// Copyright © 2017-2019 Julius Oklamcak. All rights reserved. // #import diff --git a/UXReader/UXReader/UXReaderSelection.mm b/UXReader/UXReader/UXReaderSelection.mm index bd2b626..9acd071 100644 --- a/UXReader/UXReader/UXReaderSelection.mm +++ b/UXReader/UXReader/UXReaderSelection.mm @@ -2,7 +2,7 @@ // UXReaderSelection.mm // UXReader Framework v0.1 // -// Copyright © 2017 Julius Oklamcak. All rights reserved. +// Copyright © 2017-2019 Julius Oklamcak. All rights reserved. // #import "UXReaderSelection.h" diff --git a/UXReader/UXReader/UXReaderShadowView.h b/UXReader/UXReader/UXReaderShadowView.h index 9190640..b11edd2 100644 --- a/UXReader/UXReader/UXReaderShadowView.h +++ b/UXReader/UXReader/UXReaderShadowView.h @@ -2,7 +2,7 @@ // UXReaderShadowView.h // UXReader Framework v0.1 // -// Copyright © 2017 Julius Oklamcak. All rights reserved. +// Copyright © 2017-2019 Julius Oklamcak. All rights reserved. // #import diff --git a/UXReader/UXReader/UXReaderShadowView.mm b/UXReader/UXReader/UXReaderShadowView.mm index f176cfc..e3a22d0 100644 --- a/UXReader/UXReader/UXReaderShadowView.mm +++ b/UXReader/UXReader/UXReaderShadowView.mm @@ -2,7 +2,7 @@ // UXReaderShadowView.mm // UXReader Framework v0.1 // -// Copyright © 2017 Julius Oklamcak. All rights reserved. +// Copyright © 2017-2019 Julius Oklamcak. All rights reserved. // #import "UXReaderShadowView.h" diff --git a/UXReader/UXReader/UXReaderStuffController.h b/UXReader/UXReader/UXReaderStuffController.h index 5a8c6a1..e54aa86 100644 --- a/UXReader/UXReader/UXReaderStuffController.h +++ b/UXReader/UXReader/UXReaderStuffController.h @@ -2,7 +2,7 @@ // UXReaderStuffController.h // UXReader Framework v0.1 // -// Copyright © 2017 Julius Oklamcak. All rights reserved. +// Copyright © 2017-2019 Julius Oklamcak. All rights reserved. // #import diff --git a/UXReader/UXReader/UXReaderStuffController.mm b/UXReader/UXReader/UXReaderStuffController.mm index 7dcc4a3..7005d37 100644 --- a/UXReader/UXReader/UXReaderStuffController.mm +++ b/UXReader/UXReader/UXReaderStuffController.mm @@ -2,7 +2,7 @@ // UXReaderStuffController.mm // UXReader Framework v0.1 // -// Copyright © 2017 Julius Oklamcak. All rights reserved. +// Copyright © 2017-2019 Julius Oklamcak. All rights reserved. // #import "UXReaderDocument.h" diff --git a/UXReader/UXReader/UXReaderStuffToolbar.h b/UXReader/UXReader/UXReaderStuffToolbar.h index a0fac08..01f282c 100644 --- a/UXReader/UXReader/UXReaderStuffToolbar.h +++ b/UXReader/UXReader/UXReaderStuffToolbar.h @@ -2,7 +2,7 @@ // UXReaderStuffToolbar.h // UXReader Framework v0.1 // -// Copyright © 2017 Julius Oklamcak. All rights reserved. +// Copyright © 2017-2019 Julius Oklamcak. All rights reserved. // #import diff --git a/UXReader/UXReader/UXReaderStuffToolbar.mm b/UXReader/UXReader/UXReaderStuffToolbar.mm index 16b2363..a7d91c5 100644 --- a/UXReader/UXReader/UXReaderStuffToolbar.mm +++ b/UXReader/UXReader/UXReaderStuffToolbar.mm @@ -2,7 +2,7 @@ // UXReaderStuffToolbar.mm // UXReader Framework v0.1 // -// Copyright © 2017 Julius Oklamcak. All rights reserved. +// Copyright © 2017-2019 Julius Oklamcak. All rights reserved. // #import "UXReaderDocument.h" diff --git a/UXReader/UXReader/UXReaderThumbCache.h b/UXReader/UXReader/UXReaderThumbCache.h index 4292266..03f22fe 100644 --- a/UXReader/UXReader/UXReaderThumbCache.h +++ b/UXReader/UXReader/UXReaderThumbCache.h @@ -2,7 +2,7 @@ // UXReaderThumbCache.h // UXReader Framework v0.1 // -// Copyright © 2017 Julius Oklamcak. All rights reserved. +// Copyright © 2017-2019 Julius Oklamcak. All rights reserved. // #import diff --git a/UXReader/UXReader/UXReaderThumbCache.mm b/UXReader/UXReader/UXReaderThumbCache.mm index b4c1397..38dc193 100644 --- a/UXReader/UXReader/UXReaderThumbCache.mm +++ b/UXReader/UXReader/UXReaderThumbCache.mm @@ -2,7 +2,7 @@ // UXReaderThumbCache.mm // UXReader Framework v0.1 // -// Copyright © 2017 Julius Oklamcak. All rights reserved. +// Copyright © 2017-2019 Julius Oklamcak. All rights reserved. // #import "UXReaderThumbCache.h" @@ -203,7 +203,7 @@ - (void)purgeDiskThumbCache:(NSTimeInterval)age ^{ NSDate *now = [NSDate date]; NSArray *keys = @[NSURLCreationDateKey]; - NSArray *URLs = [fileManager contentsOfDirectoryAtURL:thumbCacheURL includingPropertiesForKeys:keys options:0 error:nil]; + NSArray *URLs = [self->fileManager contentsOfDirectoryAtURL:self->thumbCacheURL includingPropertiesForKeys:keys options:0 error:nil]; [URLs enumerateObjectsUsingBlock:^(NSURL *URL, NSUInteger index, BOOL *stop) { @@ -213,7 +213,7 @@ - (void)purgeDiskThumbCache:(NSTimeInterval)age { const NSTimeInterval seconds = [now timeIntervalSinceDate:date]; - if (seconds > age) [fileManager removeItemAtURL:URL error:&error]; + if (seconds > age) [self->fileManager removeItemAtURL:URL error:&error]; } }]; }); diff --git a/UXReader/UXReader/UXReaderThumbCell.h b/UXReader/UXReader/UXReaderThumbCell.h index 59886bd..0389f16 100644 --- a/UXReader/UXReader/UXReaderThumbCell.h +++ b/UXReader/UXReader/UXReaderThumbCell.h @@ -2,7 +2,7 @@ // UXReaderThumbCell.h // UXReader Framework v0.1 // -// Copyright © 2017 Julius Oklamcak. All rights reserved. +// Copyright © 2017-2019 Julius Oklamcak. All rights reserved. // #import diff --git a/UXReader/UXReader/UXReaderThumbCell.mm b/UXReader/UXReader/UXReaderThumbCell.mm index f341b5c..a5354ab 100644 --- a/UXReader/UXReader/UXReaderThumbCell.mm +++ b/UXReader/UXReader/UXReaderThumbCell.mm @@ -2,7 +2,7 @@ // UXReaderThumbCell.mm // UXReader Framework v0.1 // -// Copyright © 2017 Julius Oklamcak. All rights reserved. +// Copyright © 2017-2019 Julius Oklamcak. All rights reserved. // #import "UXReaderDocument.h" diff --git a/UXReader/UXReader/UXReaderThumbShow.h b/UXReader/UXReader/UXReaderThumbShow.h index c1f9771..dd90a0e 100644 --- a/UXReader/UXReader/UXReaderThumbShow.h +++ b/UXReader/UXReader/UXReaderThumbShow.h @@ -2,7 +2,7 @@ // UXReaderThumbShow.h // UXReader Framework v0.1 // -// Copyright © 2017 Julius Oklamcak. All rights reserved. +// Copyright © 2017-2019 Julius Oklamcak. All rights reserved. // #import diff --git a/UXReader/UXReader/UXReaderThumbShow.mm b/UXReader/UXReader/UXReaderThumbShow.mm index 06b5208..e4f9b8d 100644 --- a/UXReader/UXReader/UXReaderThumbShow.mm +++ b/UXReader/UXReader/UXReaderThumbShow.mm @@ -2,7 +2,7 @@ // UXReaderThumbShow.mm // UXReader Framework v0.1 // -// Copyright © 2017 Julius Oklamcak. All rights reserved. +// Copyright © 2017-2019 Julius Oklamcak. All rights reserved. // #import "UXReaderThumbShow.h" diff --git a/UXReader/UXReader/UXReaderThumbsView.h b/UXReader/UXReader/UXReaderThumbsView.h index c942b95..a0802c7 100644 --- a/UXReader/UXReader/UXReaderThumbsView.h +++ b/UXReader/UXReader/UXReaderThumbsView.h @@ -2,7 +2,7 @@ // UXReaderThumbsView.h // UXReader Framework v0.1 // -// Copyright © 2017 Julius Oklamcak. All rights reserved. +// Copyright © 2017-2019 Julius Oklamcak. All rights reserved. // #import diff --git a/UXReader/UXReader/UXReaderThumbsView.mm b/UXReader/UXReader/UXReaderThumbsView.mm index 81251dc..7c27faa 100644 --- a/UXReader/UXReader/UXReaderThumbsView.mm +++ b/UXReader/UXReader/UXReaderThumbsView.mm @@ -2,7 +2,7 @@ // UXReaderThumbsView.mm // UXReader Framework v0.1 // -// Copyright © 2017 Julius Oklamcak. All rights reserved. +// Copyright © 2017-2019 Julius Oklamcak. All rights reserved. // #import "UXReaderDocument.h" @@ -134,9 +134,9 @@ - (void)setCurrentPage:(NSUInteger)page ^{ NSIndexPath *indexPath = [NSIndexPath indexPathForItem:page inSection:0]; // Dispatch hack - [thumbsView scrollToItemAtIndexPath:indexPath atScrollPosition:UICollectionViewScrollPositionCenteredVertically animated:NO]; + [self->thumbsView scrollToItemAtIndexPath:indexPath atScrollPosition:UICollectionViewScrollPositionCenteredVertically animated:NO]; - dispatch_async(dispatch_get_main_queue(), ^{ updateCells = YES; [thumbsView reloadData]; [thumbsView flashScrollIndicators]; }); + dispatch_async(dispatch_get_main_queue(), ^{ self->updateCells = YES; [self->thumbsView reloadData]; [self->thumbsView flashScrollIndicators]; }); }); } } @@ -220,9 +220,9 @@ - (void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPa { [imageView removeFromSuperview]; - if ([delegate respondsToSelector:@selector(thumbsView:dismiss:)]) + if ([self->delegate respondsToSelector:@selector(thumbsView:dismiss:)]) { - [delegate thumbsView:self dismiss:nil]; + [self->delegate thumbsView:self dismiss:nil]; } }]; } diff --git a/UXReader/UXReader/UXReaderTiledLayer.h b/UXReader/UXReader/UXReaderTiledLayer.h index 86f3fb1..e3f427a 100644 --- a/UXReader/UXReader/UXReaderTiledLayer.h +++ b/UXReader/UXReader/UXReaderTiledLayer.h @@ -2,7 +2,7 @@ // UXReaderTiledLayer.h // UXReader Framework v0.1 // -// Copyright © 2017 Julius Oklamcak. All rights reserved. +// Copyright © 2017-2019 Julius Oklamcak. All rights reserved. // #import diff --git a/UXReader/UXReader/UXReaderTiledLayer.mm b/UXReader/UXReader/UXReaderTiledLayer.mm index deed978..7feb554 100644 --- a/UXReader/UXReader/UXReaderTiledLayer.mm +++ b/UXReader/UXReader/UXReaderTiledLayer.mm @@ -2,7 +2,7 @@ // UXReaderTiledLayer.h // UXReader Framework v0.1 // -// Copyright © 2017 Julius Oklamcak. All rights reserved. +// Copyright © 2017-2019 Julius Oklamcak. All rights reserved. // #import "UXReaderTiledLayer.h" diff --git a/UXReader/UXReader/UXReaderViewController.h b/UXReader/UXReader/UXReaderViewController.h index 6b696f9..98e64fc 100644 --- a/UXReader/UXReader/UXReaderViewController.h +++ b/UXReader/UXReader/UXReaderViewController.h @@ -2,7 +2,7 @@ // UXReaderViewController.h // UXReader Framework v0.1 // -// Copyright © 2017 Julius Oklamcak. All rights reserved. +// Copyright © 2017-2019 Julius Oklamcak. All rights reserved. // #import diff --git a/UXReader/UXReader/UXReaderViewController.mm b/UXReader/UXReader/UXReaderViewController.mm index 31381b3..8c4c191 100644 --- a/UXReader/UXReader/UXReaderViewController.mm +++ b/UXReader/UXReader/UXReaderViewController.mm @@ -2,7 +2,7 @@ // UXReaderViewController.mm // UXReader Framework v0.1 // -// Copyright © 2017 Julius Oklamcak. All rights reserved. +// Copyright © 2017-2019 Julius Oklamcak. All rights reserved. // #import "UXReaderDocument.h" @@ -545,7 +545,7 @@ - (void)handleTapAction:(nonnull UXReaderAction *)action { UIApplication *application = [UIApplication sharedApplication]; - if ([application canOpenURL:URL]) [application openURL:URL]; + if ([application canOpenURL:URL]) [application openURL:URL options:@{} completionHandler:nil]; } else // Log URI error { @@ -558,7 +558,7 @@ - (void)handleTapAction:(nonnull UXReaderAction *)action { UIApplication *application = [UIApplication sharedApplication]; - if ([application canOpenURL:URL]) [application openURL:URL]; + if ([application canOpenURL:URL]) [application openURL:URL options:@{} completionHandler:nil]; } else // Log URI error { @@ -650,7 +650,7 @@ - (void)setStatusBarHidden:(BOOL)hidden [UIView animateWithDuration:ti delay:0.0 options:UIViewAnimationOptionCurveLinear animations:^(void) { - currentStatusBarState = hidden; [self setNeedsStatusBarAppearanceUpdate]; + self->currentStatusBarState = hidden; [self setNeedsStatusBarAppearanceUpdate]; } completion:^(BOOL finished) { @@ -1115,13 +1115,13 @@ - (void)updateContentViewsSinglePageScrollH { const NSUInteger page = [key unsignedIntegerValue]; // Page number - CGRect viewRect = CGRectZero; viewRect.size = mainScrollView.bounds.size; + CGRect viewRect = CGRectZero; viewRect.size = self->mainScrollView.bounds.size; - const NSUInteger flip = (showRTL ? (maximumPage - page) : page); + const NSUInteger flip = (self->showRTL ? (self->maximumPage - page) : page); viewRect.origin.x = (viewRect.size.width * flip); // Update X - contentView.frame = CGRectInset(viewRect, scrollViewOutset, 0.0); + contentView.frame = CGRectInset(viewRect, self->scrollViewOutset, 0.0); }]; const NSUInteger flip = (showRTL ? (maximumPage - currentPage) : currentPage); @@ -1374,13 +1374,13 @@ - (void)updateContentViewsSinglePageScrollV { const NSUInteger page = [key unsignedIntegerValue]; // Page number - CGRect viewRect = CGRectZero; viewRect.size = mainScrollView.bounds.size; + CGRect viewRect = CGRectZero; viewRect.size = self->mainScrollView.bounds.size; - const NSUInteger flip = (showRTL ? (maximumPage - page) : page); + const NSUInteger flip = (self->showRTL ? (self->maximumPage - page) : page); viewRect.origin.y = (viewRect.size.height * flip); // Update Y - contentView.frame = CGRectInset(viewRect, 0.0, scrollViewOutset); + contentView.frame = CGRectInset(viewRect, 0.0, self->scrollViewOutset); }]; const NSUInteger flip = (showRTL ? (maximumPage - currentPage) : currentPage); @@ -1633,13 +1633,13 @@ - (void)updateContentViewsDoublePageScrollH { const NSUInteger pair = [key unsignedIntegerValue]; // Page pair - CGRect viewRect = CGRectZero; viewRect.size = mainScrollView.bounds.size; + CGRect viewRect = CGRectZero; viewRect.size = self->mainScrollView.bounds.size; - const NSUInteger flip = (showRTL ? (maximumKey - pair) : pair); + const NSUInteger flip = (self->showRTL ? (self->maximumKey - pair) : pair); viewRect.origin.x = (viewRect.size.width * flip); // Update X - contentView.frame = CGRectInset(viewRect, scrollViewOutset, 0.0); + contentView.frame = CGRectInset(viewRect, self->scrollViewOutset, 0.0); }]; const NSUInteger flip = (showRTL ? (maximumKey - currentKey) : currentKey); @@ -1911,13 +1911,13 @@ - (void)updateContentViewsDoublePageScrollV { const NSUInteger pair = [key unsignedIntegerValue]; // Page pair - CGRect viewRect = CGRectZero; viewRect.size = mainScrollView.bounds.size; + CGRect viewRect = CGRectZero; viewRect.size = self->mainScrollView.bounds.size; - const NSUInteger flip = (showRTL ? (maximumKey - pair) : pair); + const NSUInteger flip = (self->showRTL ? (self->maximumKey - pair) : pair); viewRect.origin.y = (viewRect.size.height * flip); // Update Y - contentView.frame = CGRectInset(viewRect, 0.0, scrollViewOutset); + contentView.frame = CGRectInset(viewRect, 0.0, self->scrollViewOutset); }]; const NSUInteger flip = (showRTL ? (maximumKey - currentKey) : currentKey); diff --git a/UXReader/UXReader/UXReaderWatermark.h b/UXReader/UXReader/UXReaderWatermark.h index 3e11f38..d96e480 100644 --- a/UXReader/UXReader/UXReaderWatermark.h +++ b/UXReader/UXReader/UXReaderWatermark.h @@ -2,7 +2,7 @@ // UXReaderWatermark.h // UXReader Framework v0.1 // -// Copyright © 2017 Julius Oklamcak. All rights reserved. +// Copyright © 2017-2019 Julius Oklamcak. All rights reserved. // #import diff --git a/UXReader/UXReader/UXReaderWatermark.mm b/UXReader/UXReader/UXReaderWatermark.mm index ea718df..a42d5a7 100644 --- a/UXReader/UXReader/UXReaderWatermark.mm +++ b/UXReader/UXReader/UXReaderWatermark.mm @@ -2,7 +2,7 @@ // UXReaderWatermark.h // UXReader Framework v0.1 // -// Copyright © 2017 Julius Oklamcak. All rights reserved. +// Copyright © 2017-2019 Julius Oklamcak. All rights reserved. // #import "UXReaderWatermark.h" diff --git a/UXReader/UXReader/en.lproj/Localizable.strings b/UXReader/UXReader/en.lproj/Localizable.strings index 991b4d1..84c69f1 100644 --- a/UXReader/UXReader/en.lproj/Localizable.strings +++ b/UXReader/UXReader/en.lproj/Localizable.strings @@ -2,7 +2,7 @@ // Localizable.strings - en // UXReader Framework v0.1 // -// Copyright © 2017 Julius Oklamcak. All rights reserved. +// Copyright © 2017-2019 Julius Oklamcak. All rights reserved. // "Close" = "Close";