KMWatermarkAdjectiveBaseModel.swift 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  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 fontSize: Float = 12.0
  22. var textColor: KMWatermarkAdjectiveText!
  23. var tempTextColor: NSColor = NSColor.black
  24. var id: String = ""
  25. var pageRangeType: KMWatermarkeModelPageRangeType = .all
  26. var pageRangeString: String = ""
  27. var pageCount: Int = 0
  28. public func getTextColor() -> NSColor {
  29. var color: NSColor!
  30. switch self.textColor {
  31. case .color(red: let red, green: let green, blue: let blue, alpha: let alpha):
  32. color = NSColor(red: red, green: green, blue: blue, alpha: alpha)
  33. default:
  34. break
  35. }
  36. if (color == nil) {
  37. color = NSColor.black
  38. }
  39. return color
  40. }
  41. public func getTextFont() -> NSFont {
  42. var fontSize = 0.0
  43. var fontName: String = ""
  44. switch self.textFont {
  45. case .font(name: let name, size: let size):
  46. fontName = name
  47. fontSize = size
  48. break
  49. default:
  50. break
  51. }
  52. return NSFont(name: fontName, size: fontSize) ?? NSFont(name: "Helvetica", size: 48)!
  53. }
  54. public func getTextFontName() -> String {
  55. var fontName: String = ""
  56. switch self.textFont {
  57. case .font(name: let name, size: _):
  58. fontName = name
  59. break
  60. default:
  61. break
  62. }
  63. return fontName
  64. }
  65. public func getTextFontSize() -> CGFloat {
  66. var fontSize = 48.0
  67. switch self.textFont {
  68. case .font(name: _, size: let size):
  69. fontSize = size
  70. break
  71. default:
  72. break
  73. }
  74. return fontSize
  75. }
  76. }