CPDFTextProperty.swift 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128
  1. //
  2. // CPDFTextProperty.swift
  3. // PDFViewer-Swift
  4. //
  5. // Copyright © 2014-2024 PDF Technologies, Inc. All Rights Reserved.
  6. //
  7. // THIS SOURCE CODE AND ANY ACCOMPANYING DOCUMENTATION ARE PROTECTED BY INTERNATIONAL COPYRIGHT LAW
  8. // AND MAY NOT BE RESOLD OR REDISTRIBUTED. USAGE IS BOUND TO THE ComPDFKit LICENSE AGREEMENT.
  9. // UNAUTHORIZED REPRODUCTION OR DISTRIBUTION IS SUBJECT TO CIVIL AND CRIMINAL PENALTIES.
  10. // This notice may not be removed from this file.
  11. //
  12. import UIKit
  13. public class CPDFTextProperty: NSObject {
  14. public override init() {
  15. super.init()
  16. }
  17. public static let shared = CPDFTextProperty()
  18. public var fontColor: UIColor? {
  19. get {
  20. let userDefaults = UserDefaults.standard
  21. if (userDefaults.object(forKey: CPDFContentEditTextCreateFontColorKey) != nil) {
  22. return userDefaults.PDFListViewColorForKey(CPDFContentEditTextCreateFontColorKey) ?? UIColor.black
  23. } else {
  24. return UIColor.black
  25. }
  26. }
  27. set {
  28. let userDefaults = UserDefaults.standard
  29. if(newValue != nil) {
  30. userDefaults.setPDFListViewColor(newValue, forKey: CPDFContentEditTextCreateFontColorKey)
  31. }
  32. userDefaults.synchronize()
  33. }
  34. }
  35. public var textOpacity: CGFloat {
  36. get {
  37. let userDefaults = UserDefaults.standard
  38. if userDefaults.bool(forKey: CPDFContentEditTextCreateFontOpacityKey) {
  39. return CGFloat(userDefaults.float(forKey: CPDFContentEditTextCreateFontOpacityKey))
  40. } else {
  41. return 1
  42. }
  43. }
  44. set {
  45. let userDefaults = UserDefaults.standard
  46. userDefaults.set(Float(newValue), forKey: CPDFContentEditTextCreateFontOpacityKey)
  47. userDefaults.synchronize()
  48. }
  49. }
  50. public var fontNewFamilyName: String {
  51. get {
  52. let userDefaults = UserDefaults.standard
  53. if (userDefaults.object(forKey: CPDFContentEditTextCreateFontNewNameKey) != nil) {
  54. return (userDefaults.object(forKey: CPDFContentEditTextCreateFontNewNameKey) ?? "Helvetica") as! String
  55. } else {
  56. return "Helvetica"
  57. }
  58. }
  59. set {
  60. let userDefaults = UserDefaults.standard
  61. userDefaults.set(newValue, forKey: CPDFContentEditTextCreateFontNewNameKey)
  62. userDefaults.synchronize()
  63. }
  64. }
  65. public var fontNewStyle: String {
  66. get {
  67. let userDefaults = UserDefaults.standard
  68. if (userDefaults.object(forKey: CPDFContentEditTextCreateFontNewStyleKey) != nil) {
  69. return (userDefaults.object(forKey: CPDFContentEditTextCreateFontNewStyleKey) ?? "") as! String
  70. } else {
  71. return ""
  72. }
  73. }
  74. set {
  75. let userDefaults = UserDefaults.standard
  76. userDefaults.set(newValue, forKey: CPDFContentEditTextCreateFontNewStyleKey)
  77. userDefaults.synchronize()
  78. }
  79. }
  80. public var fontSize: CGFloat {
  81. get {
  82. let userDefaults = UserDefaults.standard
  83. if userDefaults.bool(forKey: CPDFContentEditTextCreateFontSizeKey) {
  84. return CGFloat(userDefaults.float(forKey: CPDFContentEditTextCreateFontSizeKey))
  85. } else {
  86. return 12
  87. }
  88. }
  89. set {
  90. let userDefaults = UserDefaults.standard
  91. userDefaults.set(Float(newValue), forKey: CPDFContentEditTextCreateFontSizeKey)
  92. userDefaults.synchronize()
  93. }
  94. }
  95. public var textAlignment: NSTextAlignment {
  96. get {
  97. let userDefaults = UserDefaults.standard
  98. if userDefaults.bool(forKey: CPDFContentEditTextCreateFontAlignmentKey) {
  99. return NSTextAlignment(rawValue: userDefaults.integer(forKey: CPDFContentEditTextCreateFontAlignmentKey)) ?? .center
  100. } else {
  101. return .left
  102. }
  103. }
  104. set {
  105. let userDefaults = UserDefaults.standard
  106. userDefaults.set(newValue.rawValue, forKey: CPDFContentEditTextCreateFontAlignmentKey)
  107. userDefaults.synchronize()
  108. }
  109. }
  110. }