Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/ios.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarino Faggiana <m.faggiana@twsweb.it>2018-11-12 13:25:57 +0300
committerMarino Faggiana <marinofaggiana@MacBook-Pro-di-Marino.local>2018-11-12 13:25:57 +0300
commit5905b007c42cf594c644b643ad7df9cf40c78286 (patch)
tree115f2921516c8576c4db0c742b110d0994fe42f5 /Libraries external
parentafa295eea14a3e527f473a50ac9e01744beb1225 (diff)
update project
Diffstat (limited to 'Libraries external')
-rwxr-xr-xLibraries external/PDFGenerator/DPIType.swift34
-rwxr-xr-xLibraries external/PDFGenerator/FilePathConvertible.swift36
-rwxr-xr-xLibraries external/PDFGenerator/PDFGenerateError.swift39
-rwxr-xr-xLibraries external/PDFGenerator/PDFGenerator.h19
-rwxr-xr-xLibraries external/PDFGenerator/PDFGenerator.swift290
-rwxr-xr-xLibraries external/PDFGenerator/PDFPage.swift77
-rwxr-xr-xLibraries external/PDFGenerator/PDFPageRenderable.swift149
-rwxr-xr-xLibraries external/PDFGenerator/PDFPassword.swift67
8 files changed, 0 insertions, 711 deletions
diff --git a/Libraries external/PDFGenerator/DPIType.swift b/Libraries external/PDFGenerator/DPIType.swift
deleted file mode 100755
index f41deadcd..000000000
--- a/Libraries external/PDFGenerator/DPIType.swift
+++ /dev/null
@@ -1,34 +0,0 @@
-//
-// DPIType.swift
-// PDFGenerator
-//
-// Created by Suguru Kishimoto on 2016/06/21.
-//
-//
-
-import Foundation
-import UIKit
-
-public enum DPIType {
- fileprivate static let defaultDpi: CGFloat = 72.0
- case `default`
- case dpi_300
- case custom(CGFloat)
-
- public var value: CGFloat {
- switch self {
- case .default:
- return type(of: self).defaultDpi
- case .dpi_300:
- return 300.0
- case .custom(let value) where value > 1.0:
- return value
- default:
- return DPIType.default.value
- }
- }
-
- public var scaleFactor: CGFloat {
- return self.value / DPIType.default.value
- }
-}
diff --git a/Libraries external/PDFGenerator/FilePathConvertible.swift b/Libraries external/PDFGenerator/FilePathConvertible.swift
deleted file mode 100755
index 396c0794b..000000000
--- a/Libraries external/PDFGenerator/FilePathConvertible.swift
+++ /dev/null
@@ -1,36 +0,0 @@
-//
-// FilePathConvertible.swift
-// PDFGenerator
-//
-// Created by Suguru Kishimoto on 7/23/16.
-//
-//
-
-import Foundation
-
-public protocol FilePathConvertible {
- var url: URL { get }
- var path: String { get }
-}
-
-extension FilePathConvertible {
- var isEmptyPath: Bool {
- return path.isEmpty
- }
-}
-
-extension String: FilePathConvertible {
- public var url: URL {
- return URL(fileURLWithPath: self)
- }
-
- public var path: String {
- return self
- }
-}
-
-extension URL: FilePathConvertible {
- public var url: URL {
- return self
- }
-}
diff --git a/Libraries external/PDFGenerator/PDFGenerateError.swift b/Libraries external/PDFGenerator/PDFGenerateError.swift
deleted file mode 100755
index e6c23258c..000000000
--- a/Libraries external/PDFGenerator/PDFGenerateError.swift
+++ /dev/null
@@ -1,39 +0,0 @@
-//
-// PDFGenerateError.swift
-// PDFGenerator
-//
-// Created by Suguru Kishimoto on 2016/06/21.
-//
-//
-
-import Foundation
-
-/**
- PDFGenerateError
-
- - ZeroSizeView: View's size is (0, 0)
- - ImageLoadFailed: Image has not been loaded from image path.
- - EmptyOutputPath: Output path is empty.
- - EmptyPage: Create PDF from no pages.
- - InvalidContext: If UIGraphicsGetCurrentContext returns nil.
- - InvalidPassword: If password cannot covert ASCII text.
- - TooLongPassword: If password too long
- */
-public enum PDFGenerateError: Error {
- /// View's size is (0, 0)
- case zeroSizeView(UIView)
- /// Image has not been loaded from image path.
- case imageLoadFailed(Any)
- /// Output path is empty
- case emptyOutputPath
- /// Attempt to create empty PDF. (no pages.)
- case emptyPage
- /// If UIGraphicsGetCurrentContext returns nil.
- case invalidContext
- /// If rendering scale factor is zero.
- case invalidScaleFactor
- /// If password cannot covert ASCII text.
- case invalidPassword(String)
- /// If password too long
- case tooLongPassword(Int)
-}
diff --git a/Libraries external/PDFGenerator/PDFGenerator.h b/Libraries external/PDFGenerator/PDFGenerator.h
deleted file mode 100755
index 9264b13c3..000000000
--- a/Libraries external/PDFGenerator/PDFGenerator.h
+++ /dev/null
@@ -1,19 +0,0 @@
-//
-// PDFGenerator.h
-// PDFGenerator
-//
-// Created by Suguru Kishimoto on 2016/02/04.
-//
-//
-
-#import <UIKit/UIKit.h>
-
-//! Project version number for PDFGenerator.
-FOUNDATION_EXPORT double PDFGeneratorVersionNumber;
-
-//! Project version string for PDFGenerator.
-FOUNDATION_EXPORT const unsigned char PDFGeneratorVersionString[];
-
-// In this header, you should import all the public headers of your framework using statements like #import <PDFGenerator/PublicHeader.h>
-
-
diff --git a/Libraries external/PDFGenerator/PDFGenerator.swift b/Libraries external/PDFGenerator/PDFGenerator.swift
deleted file mode 100755
index 8d51b8144..000000000
--- a/Libraries external/PDFGenerator/PDFGenerator.swift
+++ /dev/null
@@ -1,290 +0,0 @@
-//
-// PDFGenerator.swift
-// PDFGenerator
-//
-// Created by Suguru Kishimoto on 2016/02/04.
-//
-//
-
-import Foundation
-import UIKit
-
-/// PDFGenerator
-public final class PDFGenerator {
- fileprivate typealias Process = () throws -> Void
-
- /// Avoid creating instance.
- fileprivate init() {}
-
- /**
- Generate from page object.
-
- - parameter page: A `PDFPage`'s object.
- - parameter outputPath: An outputPath to save PDF.
-
- - throws: A `PDFGenerateError` thrown if some error occurred.
- */
- public class func generate(_ page: PDFPage, to path: FilePathConvertible, dpi: DPIType = .default, password: PDFPassword = "") throws {
- try generate([page], to: path, dpi: dpi, password: password)
- }
-
- /**
- Generate from page objects.
-
- - parameter pages: Array of `PDFPage`'s objects.
- - parameter outputPath: An outputPath to save PDF.
-
- - throws: A `PDFGenerateError` thrown if some error occurred.
- */
- public class func generate(_ pages: [PDFPage], to path: FilePathConvertible, dpi: DPIType = .default, password: PDFPassword = "") throws {
- guard !pages.isEmpty else {
- throw PDFGenerateError.emptyPage
- }
- guard !path.isEmptyPath else {
- throw PDFGenerateError.emptyOutputPath
- }
- do {
- try render(to: path, password: password) {
- try render(pages, dpi: dpi)
- }
- } catch let error {
- _ = try? FileManager.default.removeItem(at: path.url)
- throw error
- }
- }
-
- /**
- Generate from view.
-
- - parameter view: A view
- - parameter outputPath: An outputPath to save PDF.
-
- - throws: A `PDFGenerateError` thrown if some error occurred.
- */
- public class func generate(_ view: UIView, to path: FilePathConvertible, dpi: DPIType = .default, password: PDFPassword = "") throws {
- try generate([view], to: path, dpi: dpi, password: password)
- }
-
- /**
- Generate from views.
-
- - parameter views: Array of views.
- - parameter outputPath: An outputPath to save PDF.
-
- - throws: A `PDFGenerateError` thrown if some error occurred.
- */
- public class func generate(_ views: [UIView], to path: FilePathConvertible, dpi: DPIType = .default, password: PDFPassword = "") throws {
- try generate(PDFPage.pages(views), to: path, dpi: dpi, password: password)
- }
-
- /**
- Generate from image.
-
- - parameter image: An image.
- - parameter outputPath: An outputPath to save PDF.
-
- - throws: A `PDFGenerateError` thrown if some error occurred.
- */
- public class func generate(_ image: UIImage, to path: FilePathConvertible, dpi: DPIType = .default, password: PDFPassword = "") throws {
- try generate([image], to: path, dpi: dpi, password: password)
- }
-
- /**
- Generate from images.
-
- - parameter images: Array of images.
- - parameter outputPath: An outputPath to save PDF.
-
- - throws: A `PDFGenerateError` thrown if some error occurred.
- */
- public class func generate(_ images: [UIImage], to path: FilePathConvertible, dpi: DPIType = .default, password: PDFPassword = "") throws {
- try generate(PDFPage.pages(images), to: path, dpi: dpi, password: password)
- }
-
- /**
- Generate from image path.
-
- - parameter imagePath: An image path.
- - parameter outputPath: An outputPath to save PDF.
-
- - throws: A `PDFGenerateError` thrown if some error occurred.
- */
- public class func generate(_ imagePath: String, to path: FilePathConvertible, dpi: DPIType = .default, password: PDFPassword = "") throws {
- try generate([imagePath], to: path, dpi: dpi, password: password)
- }
-
- /**
- Generate from image paths.
-
- - parameter imagePaths: Arrat of image paths.
- - parameter outputPath: An outputPath to save PDF.
-
- - throws: A `PDFGenerateError` thrown if some error occurred.
- */
- public class func generate(_ imagePaths: [String], to path: FilePathConvertible, dpi: DPIType = .default, password: PDFPassword = "") throws {
- try generate(PDFPage.pages(imagePaths), to: path, dpi: dpi, password: password)
- }
-
- /**
- Generate from page object.
-
- - parameter page: A `PDFPage`'s object.
-
- - throws: A `PDFGenerateError` thrown if some error occurred.
-
- - returns: PDF's binary data (NSData)
- */
-
- public class func generated(by page: PDFPage, dpi: DPIType = .default, password: PDFPassword = "") throws -> Data {
- return try generated(by: [page], dpi: dpi, password: password)
- }
-
- /**
- Generate from page objects.
-
- - parameter pages: Array of `PDFPage`'s objects.
-
- - throws: A `PDFGenerateError` thrown if some error occurred.
-
- - returns: PDF's binary data (NSData)
- */
-
- public class func generated(by pages: [PDFPage], dpi: DPIType = .default, password: PDFPassword = "") throws -> Data {
- guard !pages.isEmpty else {
- throw PDFGenerateError.emptyPage
- }
- return try rendered(with: password) { try render(pages, dpi: dpi) }
- }
-
- /**
- Generate from view.
-
- - parameter view: A view
-
- - throws: A `PDFGenerateError` thrown if some error occurred.
-
- - returns: PDF's binary data (NSData)
- */
-
- public class func generated(by view: UIView, dpi: DPIType = .default, password: PDFPassword = "") throws -> Data {
- return try generated(by: [view], dpi: dpi, password: password)
- }
-
- /**
- Generate from views.
-
- - parameter views: Array of views.
-
- - throws: A `PDFGenerateError` thrown if some error occurred.
-
- - returns: PDF's binary data (NSData)
- */
-
- public class func generated(by views: [UIView], dpi: DPIType = .default, password: PDFPassword = "") throws -> Data {
- return try generated(by: PDFPage.pages(views), dpi: dpi, password: password)
- }
-
- /**
- Generate from image.
-
- - parameter image: An image.
-
- - throws: A `PDFGenerateError` thrown if some error occurred.
-
- - returns: PDF's binary data (NSData)
- */
-
- public class func generated(by image: UIImage, dpi: DPIType = .default, password: PDFPassword = "") throws -> Data {
- return try generated(by: [image], dpi: dpi, password: password)
- }
-
- /**
- Generate from images.
-
- - parameter images: Array of images.
-
- - throws: A `PDFGenerateError` thrown if some error occurred.
-
- - returns: PDF's binary data (NSData)
- */
-
- public class func generated(by images: [UIImage], dpi: DPIType = .default, password: PDFPassword = "") throws -> Data {
- return try generated(by: PDFPage.pages(images), dpi: dpi, password: password)
- }
-
- /**
- Generate from image path.
-
- - parameter imagePath: An image path.
-
- - throws: A `PDFGenerateError` thrown if some error occurred.
-
- - returns: PDF's binary data (NSData)
- */
-
- public class func generated(by imagePath: String, dpi: DPIType = .default, password: PDFPassword = "") throws -> Data {
- return try generated(by: [imagePath], dpi: dpi, password: password)
- }
-
- /**
- Generate from image paths.
-
- - parameter imagePaths: Arrat of image paths.
-
- - throws: A `PDFGenerateError` thrown if some error occurred.
-
- - returns: PDF's binary data (NSData)
- */
-
- public class func generated(by imagePaths: [String], dpi: DPIType = .default, password: PDFPassword = "") throws -> Data {
- return try generated(by: PDFPage.pages(imagePaths), dpi: dpi, password: password)
- }
-}
-
-// MARK: Private Extension
-
-/// PDFGenerator private extensions (render processes)
-private extension PDFGenerator {
- class func render(_ page: PDFPage, dpi: DPIType) throws {
- let scaleFactor = dpi.scaleFactor
-
- try autoreleasepool {
- switch page {
- case .whitePage(let size):
- let view = UIView(frame: CGRect(origin: .zero, size: size))
- view.backgroundColor = .white
- try view.renderPDFPage(scaleFactor: scaleFactor)
- case .view(let view):
- try view.renderPDFPage(scaleFactor: scaleFactor)
- case .image(let image):
- try image.asUIImage().renderPDFPage(scaleFactor: scaleFactor)
- case .imagePath(let ip):
- try ip.asUIImage().renderPDFPage(scaleFactor: scaleFactor)
- case .binary(let data):
- try data.asUIImage().renderPDFPage(scaleFactor: scaleFactor)
- case .imageRef(let cgImage):
- try cgImage.asUIImage().renderPDFPage(scaleFactor: scaleFactor)
- }
- }
- }
-
- class func render(_ pages: [PDFPage], dpi: DPIType) throws {
- try pages.forEach { try render($0, dpi: dpi) }
- }
-
- class func render(to path: FilePathConvertible, password: PDFPassword, process: Process) rethrows {
- try { try password.verify() }()
- UIGraphicsBeginPDFContextToFile(path.path, .zero, password.toDocumentInfo())
- try process()
- UIGraphicsEndPDFContext()
- }
-
- class func rendered(with password: PDFPassword, process: Process) rethrows -> Data {
- try { try password.verify() }()
- let data = NSMutableData()
- UIGraphicsBeginPDFContextToData(data, .zero, password.toDocumentInfo())
- try process()
- UIGraphicsEndPDFContext()
- return data as Data
- }
-}
diff --git a/Libraries external/PDFGenerator/PDFPage.swift b/Libraries external/PDFGenerator/PDFPage.swift
deleted file mode 100755
index db8547bbb..000000000
--- a/Libraries external/PDFGenerator/PDFPage.swift
+++ /dev/null
@@ -1,77 +0,0 @@
-//
-// PDFPage.swift
-// PDFGenerator
-//
-// Created by Suguru Kishimoto on 2016/06/21.
-//
-//
-
-import Foundation
-import UIKit
-
-/**
- PDF page model.
-
- - WhitePage: A white view (CGSize)
- - View: A view. (UIView)
- - Image: An image (UIImage)
- - ImagePath: ImagePath: An image path (String)
- - Binary: Binary data (NSData)
- - ImageRef: Image ref (CGImage)
- */
-public enum PDFPage {
- /// A white view (CGSize)
- case whitePage(CGSize)
- /// A view. (UIView)
- case view(UIView)
- /// An image (UIImage)
- case image(UIImage)
- /// ImagePath: An image path (String)
- case imagePath(String)
- /// Binary data (NSData)
- case binary(Data)
- /// Image ref (CGImage)
- case imageRef(CGImage)
-
- /**
- Convert views to PDFPage models.
-
- - parameter views: Array of `UIVIew`
-
- - returns: Array of `PDFPage`
- */
- static func pages(_ views: [UIView]) -> [PDFPage] {
- return views.map { .view($0) }
- }
-
- /**
- Convert images to PDFPage models.
-
- - parameter views: Array of `UIImage`
-
- - returns: Array of `PDFPage`
- */
- static func pages(_ images: [UIImage]) -> [PDFPage] {
- return images.map { .image($0) }
- }
-
- /**
- Convert image path to PDFPage models.
-
- - parameter views: Array of `String`(image path)
-
- - returns: Array of `PDFPage`
- */
- static func pages(_ imagePaths: [String]) -> [PDFPage] {
- return imagePaths.map { .imagePath($0) }
- }
-}
-
-/// PDF page size (pixel, 72dpi)
-public struct PDFPageSize {
- fileprivate init() {}
- /// A4
- public static let A4 = CGSize(width: 595.0, height: 842.0)
- /// B5
- public static let B5 = CGSize(width: 516.0, height: 729.0)
-}
diff --git a/Libraries external/PDFGenerator/PDFPageRenderable.swift b/Libraries external/PDFGenerator/PDFPageRenderable.swift
deleted file mode 100755
index 5d87c200b..000000000
--- a/Libraries external/PDFGenerator/PDFPageRenderable.swift
+++ /dev/null
@@ -1,149 +0,0 @@
-//
-// PDFPageRenderable.swift
-// PDFGenerator
-//
-// Created by Suguru Kishimoto on 2016/02/10.
-//
-//
-
-import Foundation
-import UIKit
-import WebKit
-
-protocol PDFPageRenderable {
- func renderPDFPage(scaleFactor: CGFloat) throws
-}
-
-private extension UIScrollView {
- typealias TempInfo = (frame: CGRect, offset: CGPoint, inset: UIEdgeInsets)
-
- var tempInfo: TempInfo {
- return (frame, contentOffset, contentInset)
- }
-
- func transformForRender() {
- contentOffset = .zero
- contentInset = UIEdgeInsets.zero
- frame = CGRect(origin: .zero, size: contentSize)
- }
-
- func restore(_ info: TempInfo) {
- frame = info.frame
- contentOffset = info.offset
- contentInset = info.inset
- }
-
-}
-
-extension UIView: PDFPageRenderable {
- fileprivate func _render<T: UIView>(_ view: T, scaleFactor: CGFloat, completion: (T) -> Void = { _ in }) throws {
- guard scaleFactor > 0.0 else {
- throw PDFGenerateError.invalidScaleFactor
- }
-
- let size = getPageSize()
- guard size.width > 0 && size.height > 0 else {
- throw PDFGenerateError.zeroSizeView(self)
- }
- guard let context = UIGraphicsGetCurrentContext() else {
- throw PDFGenerateError.invalidContext
- }
-
- let renderFrame = CGRect(origin: .zero, size: CGSize(width: size.width * scaleFactor, height: size.height * scaleFactor))
- autoreleasepool {
- let superView = view.superview
- view.removeFromSuperview()
- UIGraphicsBeginPDFPageWithInfo(renderFrame, nil)
- view.layer.render(in: context)
- superView?.addSubview(view)
- superView?.layoutIfNeeded()
- completion(view)
- }
- }
-
- func renderPDFPage(scaleFactor: CGFloat) throws {
- func renderScrollView(_ scrollView: UIScrollView) throws {
- let tmp = scrollView.tempInfo
- scrollView.transformForRender()
- try _render(scrollView, scaleFactor: scaleFactor) { scrollView in
- scrollView.restore(tmp)
- }
- }
-
- if let webView = self as? UIWebView {
- try renderScrollView(webView.scrollView)
- } else if let webView = self as? WKWebView {
- try renderScrollView(webView.scrollView)
- } else if let scrollView = self as? UIScrollView {
- try renderScrollView(scrollView)
- } else {
- try _render(self, scaleFactor: scaleFactor)
- }
- }
-
- fileprivate func getPageSize() -> CGSize {
- switch self {
- case (let webView as UIWebView):
- return webView.scrollView.contentSize
- case (let webView as WKWebView):
- return webView.scrollView.contentSize
- case (let scrollView as UIScrollView):
- return scrollView.contentSize
- default:
- return self.frame.size
- }
- }
-}
-
-extension UIImage: PDFPageRenderable {
- func renderPDFPage(scaleFactor: CGFloat) throws {
- guard scaleFactor > 0.0 else {
- throw PDFGenerateError.invalidScaleFactor
- }
- autoreleasepool {
- let bounds = CGRect(
- origin: .zero,
- size: CGSize(
- width: size.width * scaleFactor,
- height: size.height * scaleFactor
- )
- )
- UIGraphicsBeginPDFPageWithInfo(bounds, nil)
- draw(in: bounds)
- }
- }
-}
-
-protocol UIImageConvertible {
- func asUIImage() throws -> UIImage
-}
-
-extension UIImage: UIImageConvertible {
- func asUIImage() throws -> UIImage {
- return self
- }
-}
-
-extension String: UIImageConvertible {
- func asUIImage() throws -> UIImage {
- guard let image = UIImage(contentsOfFile: self) else{
- throw PDFGenerateError.imageLoadFailed(self)
- }
- return image
- }
-}
-
-extension Data: UIImageConvertible {
- func asUIImage() throws -> UIImage {
- guard let image = UIImage(data: self) else {
- throw PDFGenerateError.imageLoadFailed(self)
- }
- return image
- }
-}
-
-extension CGImage: UIImageConvertible {
- func asUIImage() throws -> UIImage {
- return UIImage(cgImage: self)
- }
-}
diff --git a/Libraries external/PDFGenerator/PDFPassword.swift b/Libraries external/PDFGenerator/PDFPassword.swift
deleted file mode 100755
index a863d8dfa..000000000
--- a/Libraries external/PDFGenerator/PDFPassword.swift
+++ /dev/null
@@ -1,67 +0,0 @@
-//
-// PDFPassword.swift
-// PDFGenerator
-//
-// Created by Suguru Kishimoto on 2016/07/08.
-//
-//
-
-import Foundation
-import UIKit
-
-public struct PDFPassword {
- static let NoPassword = ""
- fileprivate static let PasswordLengthMax = 32
- let userPassword: String
- let ownerPassword: String
-
- public init(user userPassword: String, owner ownerPassword: String) {
- self.userPassword = userPassword
- self.ownerPassword = ownerPassword
- }
-
- public init(_ password: String) {
- self.init(user: password, owner: password)
- }
-
- func toDocumentInfo() -> [AnyHashable : Any] {
- var info: [AnyHashable : Any] = [:]
- if userPassword != type(of: self).NoPassword {
- info[String(kCGPDFContextUserPassword)] = userPassword
- }
- if ownerPassword != type(of: self).NoPassword {
- info[String(kCGPDFContextOwnerPassword)] = ownerPassword
- }
- return info
- }
-
- func verify() throws {
- guard userPassword.canBeConverted(to: String.Encoding.ascii) else {
- throw PDFGenerateError.invalidPassword(userPassword)
- }
- guard userPassword.count <= type(of: self).PasswordLengthMax else {
- throw PDFGenerateError.tooLongPassword(userPassword.count)
- }
-
- guard ownerPassword.canBeConverted(to: String.Encoding.ascii) else {
- throw PDFGenerateError.invalidPassword(ownerPassword)
- }
- guard ownerPassword.count <= type(of: self).PasswordLengthMax else {
- throw PDFGenerateError.tooLongPassword(ownerPassword.count)
- }
- }
-}
-
-extension PDFPassword: ExpressibleByStringLiteral {
- public init(unicodeScalarLiteral value: String) {
- self.init(value)
- }
-
- public init(extendedGraphemeClusterLiteral value: String) {
- self.init(value)
- }
-
- public init(stringLiteral value: String) {
- self.init(value)
- }
-}