KMWatermarkAdjectiveBaseModel.swift 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. //
  2. // KMWatermarkAdjectiveBaseModel.swift
  3. // PDF Reader Pro
  4. //
  5. // Created by tangchao on 2022/12/27.
  6. //
  7. import Cocoa
  8. enum KMWatermarkeModelPageRangeType: Int {
  9. case all = 0
  10. case odd
  11. case even
  12. case other
  13. }
  14. /// 关联指
  15. enum KMWatermarkAdjectiveText {
  16. case font(name: String, size: CGFloat)
  17. case color(red: CGFloat, green: CGFloat, blue: CGFloat, alpha: CGFloat)
  18. }
  19. @objcMembers class KMWatermarkAdjectiveBaseModel: NSObject {
  20. var textFont: KMWatermarkAdjectiveText!
  21. var textColor: KMWatermarkAdjectiveText!
  22. var id: String = ""
  23. var pageRangeType: KMWatermarkeModelPageRangeType = .all
  24. var pageRangeString: String = ""
  25. var pageCount: Int = 0
  26. public func getTextColor() -> NSColor {
  27. var color: NSColor!
  28. switch self.textColor {
  29. case .color(red: let red, green: let green, blue: let blue, alpha: let alpha):
  30. color = NSColor(red: red, green: green, blue: blue, alpha: alpha)
  31. default:
  32. break
  33. }
  34. if (color == nil) {
  35. color = NSColor.black
  36. }
  37. return color
  38. }
  39. public func getTextFont() -> NSFont {
  40. var fontSize = 0.0
  41. var fontName: String = ""
  42. switch self.textFont {
  43. case .font(name: let name, size: let size):
  44. fontName = name
  45. fontSize = size
  46. break
  47. default:
  48. break
  49. }
  50. return NSFont(name: fontName, size: fontSize) ?? NSFont(name: "Helvetica", size: 48)!
  51. }
  52. public func getTextFontName() -> String {
  53. var fontName: String = ""
  54. switch self.textFont {
  55. case .font(name: let name, size: _):
  56. fontName = name
  57. break
  58. default:
  59. break
  60. }
  61. return fontName
  62. }
  63. public func getTextFontSize() -> CGFloat {
  64. var fontSize = 48.0
  65. switch self.textFont {
  66. case .font(name: _, size: let size):
  67. fontSize = size
  68. break
  69. default:
  70. break
  71. }
  72. return fontSize
  73. }
  74. }